diff options
author | Erik Fonnesbeck <efonnes@gmail.com> | 2010-03-02 16:32:56 -0700 |
---|---|---|
committer | Erik Fonnesbeck <efonnes@gmail.com> | 2010-03-02 16:41:17 -0700 |
commit | 263e2b7e1dd79db2af7659a1a11406eedad48a2b (patch) | |
tree | 9c9a0995b17b081049b3d6273d60c9e39832f99d /etc | |
parent | 54b9de56fecdfeb8848bbe65e28401e8c73ac367 (diff) | |
download | pfsense-263e2b7e1dd79db2af7659a1a11406eedad48a2b.zip pfsense-263e2b7e1dd79db2af7659a1a11406eedad48a2b.tar.gz |
Sync the mode of an assigned wireless clone with the mode on the page for creating them.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/interfaces.inc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index e5515bf..43ec0e9 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -1428,7 +1428,7 @@ function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) { $shared_settings = array('standard', 'turbo', 'protmode', 'channel', 'txpower'); - if(!is_array($ifcfg['wireless'])) + if(!is_interface_wireless($ifcfg['if'])) return; $baseif = interface_get_wireless_base($ifcfg['if']); @@ -1449,6 +1449,19 @@ function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) { } } } + + if (interface_is_wireless_clone($ifcfg['if'])) { + foreach ($config['wireless']['clone'] as &$clone) { + if ($clone['cloneif'] == $ifcfg['if']) { + if ($sync_changes) { + $clone['mode'] = $ifcfg['wireless']['mode']; + } else { + $ifcfg['wireless']['mode'] = $clone['mode']; + } + break; + } + } + } } function interface_wireless_configure($if, &$wl, &$wlcfg) { @@ -2402,6 +2415,14 @@ function interface_translate_type_to_real($interface) { return $interface; } +function interface_is_wireless_clone($wlif) { + if(!stristr($wlif, "_wlan")) { + return false; + } else { + return true; + } +} + function interface_get_wireless_base($wlif) { if(!stristr($wlif, "_wlan")) { return $wlif; |