Defines | |
| #define | __setting __table_entry ( SETTINGS, 01 ) |
| Declare a configuration setting. | |
Functions | |
| static int | net80211_check_settings_update (void) |
| Check for 802.11 SSID or key updates. | |
Variables | |
| struct settings_applicator net80211_applicator | __settings_applicator |
| 802.11 settings applicator | |
| struct setting net80211_ssid_setting | __setting |
| The network name to associate with. | |
Declare a configuration setting.
Domain name setting.
Use cached network settings.
DHCP user class setting.
iSCSI reverse password setting
iSCSI reverse username setting
Default gateway setting.
IPv4 subnet mask setting.
The cryptographic key to use.
Whether to use active scanning.
Priority setting.
Password setting.
Username setting.
Root path setting.
Filename setting.
In order to associate with a hidden SSID, it's necessary to use an active scan (send probe packets). If this setting is nonzero, an active scan on the 2.4GHz band will be used to associate.
For hex WEP keys, as is common, this must be entered using the normal gPXE method for entering hex settings; an ASCII string of hex characters will not behave as expected.
Definition at line 44 of file settings.h.
| static int net80211_check_settings_update | ( | void | ) | [static] |
Check for 802.11 SSID or key updates.
This acts as a settings applicator; if the user changes netX/ssid, and netX is currently open, the association task will be invoked again. If the user changes the encryption key, the current security handshaker will be asked to update its state to match; if that is impossible without reassociation, we reassociate.
Definition at line 1904 of file net80211.c.
References net80211_handshaker::change_key, DBGC, net80211_device::essid, fetch_string_setting(), net80211_device::handshaker, IEEE80211_MAX_SSID_LEN, net80211_device::list, list_for_each_entry, NET80211_AUTO_SSID, net80211_autoassociate(), net80211_device::netdev, netdev_is_open(), netdev_settings(), net80211_device::state, and strcmp().
01905 { 01906 struct net80211_device *dev; 01907 char ssid[IEEE80211_MAX_SSID_LEN + 1]; 01908 int key_reassoc; 01909 01910 list_for_each_entry ( dev, &net80211_devices, list ) { 01911 if ( ! netdev_is_open ( dev->netdev ) ) 01912 continue; 01913 01914 key_reassoc = 0; 01915 if ( dev->handshaker && dev->handshaker->change_key && 01916 dev->handshaker->change_key ( dev ) < 0 ) 01917 key_reassoc = 1; 01918 01919 fetch_string_setting ( netdev_settings ( dev->netdev ), 01920 &net80211_ssid_setting, ssid, 01921 IEEE80211_MAX_SSID_LEN + 1 ); 01922 01923 if ( key_reassoc || 01924 ( ! ( ! ssid[0] && ( dev->state & NET80211_AUTO_SSID ) ) && 01925 strcmp ( ssid, dev->essid ) != 0 ) ) { 01926 DBGC ( dev, "802.11 %p updating association: " 01927 "%s -> %s\n", dev, dev->essid, ssid ); 01928 net80211_autoassociate ( dev ); 01929 } 01930 } 01931 01932 return 0; 01933 }
| struct settings_applicator net80211_applicator __settings_applicator |
Initial value:
{
.apply = net80211_check_settings_update,
}
When the SSID is changed, this will cause any open devices to re-associate; when the encryption key is changed, we similarly update their state.
Definition at line 221 of file net80211.c.
Initial value:
{
.name = "ssid",
.description = "802.11 SSID (network name)",
.type = &setting_type_string,
}
Hostname setting.
802.11 encryption key setting
The cryptographic key to use.
Whether to use active scanning.
If this is blank, we scan for all networks and use the one with the greatest signal strength.
In order to associate with a hidden SSID, it's necessary to use an active scan (send probe packets). If this setting is nonzero, an active scan on the 2.4GHz band will be used to associate.
For hex WEP keys, as is common, this must be entered using the normal gPXE method for entering hex settings; an ASCII string of hex characters will not behave as expected.
Definition at line 230 of file net80211.c.
1.5.7.1