// print_r($pconfig); $pconfig['blockpriv'] = isset($wancfg['blockpriv']); $pconfig['blockbogons'] = isset($wancfg['blockbogons']); $pconfig['spoofmac'] = $wancfg['spoofmac']; $pconfig['mtu'] = $wancfg['mtu']; $pconfig['mss'] = $wancfg['mss']; /* Wireless interface? */ if (isset($wancfg['wireless'])) { /* Sync first to be sure it displays the actual settings that will be used */ interface_sync_wireless_clones($wancfg, false); /* Get wireless modes */ $wlanif = get_real_interface($if); if (!does_interface_exist($wlanif)) { interface_wireless_clone($wlanif, $wancfg); } $wlanbaseif = interface_get_wireless_base($wancfg['if']); preg_match("/^(.*?)([0-9]*)\$/", $wlanbaseif, $wlanbaseif_split); $wl_modes = get_wireless_modes($if); $wl_chaninfo = get_wireless_channel_info($if); $wl_sysctl_prefix = 'dev.' . $wlanbaseif_split[1] . '.' . $wlanbaseif_split[2]; $wl_sysctl = get_sysctl(array("{$wl_sysctl_prefix}.diversity", "{$wl_sysctl_prefix}.txantenna", "{$wl_sysctl_prefix}.rxantenna", "{$wl_sysctl_prefix}.slottime", "{$wl_sysctl_prefix}.acktimeout", "{$wl_sysctl_prefix}.ctstimeout")); $wl_regdomain_xml_attr = array(); $wl_regdomain_xml = parse_xml_regdomain($wl_regdomain_xml_attr); $wl_regdomains =& $wl_regdomain_xml['regulatory-domains']['rd']; $wl_regdomains_attr =& $wl_regdomain_xml_attr['regulatory-domains']['rd']; $wl_countries =& $wl_regdomain_xml['country-codes']['country']; $wl_countries_attr =& $wl_regdomain_xml_attr['country-codes']['country']; $pconfig['persistcommonwireless'] = isset($config['wireless']['interfaces'][$wlanbaseif]); $pconfig['standard'] = $wancfg['wireless']['standard']; $pconfig['mode'] = $wancfg['wireless']['mode']; $pconfig['protmode'] = $wancfg['wireless']['protmode'];
$toapplylist[$if]['ifcfg'] = $old_config; $toapplylist[$if]['ppps'] = $old_ppps; file_put_contents('/tmp/.interfaces.apply', serialize($toapplylist)); mark_subsystem_dirty('interfaces'); /* regenerate cron settings/crontab file */ configure_cron(); header("Location: interfaces.php?if={$if}"); exit; } } } legacy_html_escape_form_data($pconfig); // some wireless settings require additional details to build the listbox if (isset($a_interfaces[$if]['wireless'])) { $wl_modes = get_wireless_modes($if); $wlanbaseif = interface_get_wireless_base($a_interfaces[$if]['if']); preg_match("/^(.*?)([0-9]*)\$/", $wlanbaseif, $wlanbaseif_split); $wl_sysctl_prefix = 'dev.' . $wlanbaseif_split[1] . '.' . $wlanbaseif_split[2]; $wl_sysctl = get_sysctl(array("{$wl_sysctl_prefix}.diversity", "{$wl_sysctl_prefix}.txantenna", "{$wl_sysctl_prefix}.rxantenna", "{$wl_sysctl_prefix}.slottime", "{$wl_sysctl_prefix}.acktimeout", "{$wl_sysctl_prefix}.ctstimeout")); $wl_regdomain_xml_attr = array(); $wl_regdomain_xml = parse_xml_regdomain($wl_regdomain_xml_attr); $wl_regdomains =& $wl_regdomain_xml['regulatory-domains']['rd']; $wl_regdomains_attr =& $wl_regdomain_xml_attr['regulatory-domains']['rd']; $wl_countries =& $wl_regdomain_xml['country-codes']['country']; $wl_countries_attr =& $wl_regdomain_xml_attr['country-codes']['country']; } // Find all possible media options for the interface $mediaopts_list = array(); exec("/sbin/ifconfig -m {$pconfig['if']} | grep \"media \"", $mediaopts); foreach ($mediaopts as $mediaopt) { preg_match("/media (.*)/", $mediaopt, $matches);