Top |
NMSettingWirelessSecurityNMSettingWirelessSecurity — Describes connection properties for Wi-Fi networks that use WEP, LEAP, WPA or WPA2/RSN security |
GEnum ├── NMSettingWirelessSecurityFils ├── NMSettingWirelessSecurityPmf ╰── NMWepKeyType GFlags ╰── NMSettingWirelessSecurityWpsMethod
The NMSettingWirelessSecurity object is a NMSetting subclass that describes properties necessary for connection to encrypted Wi-Fi networks.
It's a good idea to read up on wpa_supplicant configuration before using this setting extensively, since most of the options here correspond closely with the relevant wpa_supplicant configuration options. To get a better overview of how Wi-Fi security works, you may want to get copies of the following books.
802.11 Wireless Networks: The Definitive Guide, Second Edition Author: Matthew Gast ISBN: 978-0596100520
Cisco Wireless LAN Security Authors: Krishna Sankar, Sri Sundaralingam, Darrin Miller, and Andrew Balinsky ISBN: 978-1587051548
NMSetting *
nm_setting_wireless_security_new (void
);
Creates a new NMSettingWirelessSecurity object with default values.
const char *
nm_setting_wireless_security_get_key_mgmt
(NMSettingWirelessSecurity *setting
);
guint32
nm_setting_wireless_security_get_num_protos
(NMSettingWirelessSecurity *setting
);
const char * nm_setting_wireless_security_get_proto (NMSettingWirelessSecurity *setting
,guint32 i
);
gboolean nm_setting_wireless_security_add_proto (NMSettingWirelessSecurity *setting
,const char *proto
);
Adds a Wi-Fi security protocol (one of "wpa" or "rsn") to the allowed list; only protocols in this list will be used when finding and connecting to the Wi-Fi network specified by this connection. For example, if the protocol list contains only "wpa" but the access point for the SSID specified by this connection only supports WPA2/RSN, the connection cannot be used with the access point.
void nm_setting_wireless_security_remove_proto (NMSettingWirelessSecurity *setting
,guint32 i
);
Removes a protocol from the allowed protocol list.
gboolean nm_setting_wireless_security_remove_proto_by_value (NMSettingWirelessSecurity *setting
,const char *proto
);
Removes a protocol from the allowed protocol list.
void
nm_setting_wireless_security_clear_protos
(NMSettingWirelessSecurity *setting
);
Removes all protocols from the allowed list. If there are no protocols specified then all protocols are allowed.
guint32
nm_setting_wireless_security_get_num_pairwise
(NMSettingWirelessSecurity *setting
);
const char * nm_setting_wireless_security_get_pairwise (NMSettingWirelessSecurity *setting
,guint32 i
);
Returns the allowed pairwise encryption algorithm from allowed algorithm list.
gboolean nm_setting_wireless_security_add_pairwise (NMSettingWirelessSecurity *setting
,const char *pairwise
);
Adds an encryption algorithm to the list of allowed pairwise encryption algorithms. If the list is not empty, then only access points that support one or more of the encryption algorithms in the list will be considered compatible with this connection.
void nm_setting_wireless_security_remove_pairwise (NMSettingWirelessSecurity *setting
,guint32 i
);
Removes an encryption algorithm from the allowed pairwise encryption algorithm list.
gboolean nm_setting_wireless_security_remove_pairwise_by_value (NMSettingWirelessSecurity *setting
,const char *pairwise
);
Removes an encryption algorithm from the allowed pairwise encryption algorithm list.
void
nm_setting_wireless_security_clear_pairwise
(NMSettingWirelessSecurity *setting
);
Removes all algorithms from the allowed list. If there are no algorithms specified then all pairwise encryption algorithms are allowed.
guint32
nm_setting_wireless_security_get_num_groups
(NMSettingWirelessSecurity *setting
);
const char * nm_setting_wireless_security_get_group (NMSettingWirelessSecurity *setting
,guint32 i
);
Returns the allowed groupwise encryption algorithm from allowed algorithm list.
gboolean nm_setting_wireless_security_add_group (NMSettingWirelessSecurity *setting
,const char *group
);
Adds an encryption algorithm to the list of allowed groupwise encryption algorithms. If the list is not empty, then only access points that support one or more of the encryption algorithms in the list will be considered compatible with this connection.
void nm_setting_wireless_security_remove_group (NMSettingWirelessSecurity *setting
,guint32 i
);
Removes an encryption algorithm from the allowed groupwise encryption algorithm list.
gboolean nm_setting_wireless_security_remove_group_by_value (NMSettingWirelessSecurity *setting
,const char *group
);
Removes an encryption algorithm from the allowed groupwise encryption algorithm list.
void
nm_setting_wireless_security_clear_groups
(NMSettingWirelessSecurity *setting
);
Removes all algorithms from the allowed list. If there are no algorithms specified then all groupwise encryption algorithms are allowed.
NMSettingWirelessSecurityPmf
nm_setting_wireless_security_get_pmf (NMSettingWirelessSecurity *setting
);
Since: 1.10
const char *
nm_setting_wireless_security_get_psk (NMSettingWirelessSecurity *setting
);
NMSettingSecretFlags
nm_setting_wireless_security_get_psk_flags
(NMSettingWirelessSecurity *setting
);
const char *
nm_setting_wireless_security_get_leap_username
(NMSettingWirelessSecurity *setting
);
const char *
nm_setting_wireless_security_get_leap_password
(NMSettingWirelessSecurity *setting
);
NMSettingSecretFlags
nm_setting_wireless_security_get_leap_password_flags
(NMSettingWirelessSecurity *setting
);
const char * nm_setting_wireless_security_get_wep_key (NMSettingWirelessSecurity *setting
,guint32 idx
);
void nm_setting_wireless_security_set_wep_key (NMSettingWirelessSecurity *setting
,guint32 idx
,const char *key
);
Sets a WEP key in the given index.
guint32
nm_setting_wireless_security_get_wep_tx_keyidx
(NMSettingWirelessSecurity *setting
);
const char *
nm_setting_wireless_security_get_auth_alg
(NMSettingWirelessSecurity *setting
);
NMSettingSecretFlags
nm_setting_wireless_security_get_wep_key_flags
(NMSettingWirelessSecurity *setting
);
NMWepKeyType
nm_setting_wireless_security_get_wep_key_type
(NMSettingWirelessSecurity *setting
);
NMSettingWirelessSecurityWpsMethod
nm_setting_wireless_security_get_wps_method
(NMSettingWirelessSecurity *setting
);
Since: 1.10
NMSettingWirelessSecurityFils
nm_setting_wireless_security_get_fils (NMSettingWirelessSecurity *setting
);
Since: 1.12
#define NM_SETTING_WIRELESS_SECURITY_SETTING_NAME "802-11-wireless-security"
The NMWepKeyType values specify how any WEP keys present in the setting are interpreted. There are no standards governing how to hash the various WEP key/passphrase formats into the actual WEP key. Unfortunately some WEP keys can be interpreted in multiple ways, requiring the setting to specify how to interpret the any WEP keys. For example, the key "732f2d712e4a394a375d366931" is both a valid Hexadecimal WEP key and a WEP passphrase. Further, many ASCII keys are also valid WEP passphrases, but since passphrases and ASCII keys are hashed differently to determine the actual WEP key the type must be specified.
unknown WEP key type |
||
indicates a hexadecimal or ASCII formatted WEP key. Hex keys are either 10 or 26 hexadecimal characters (ie "5f782f2f5f" or "732f2d712e4a394a375d366931"), while ASCII keys are either 5 or 13 ASCII characters (ie "abcde" or "blahblah99$*1"). |
||
indicates a WEP passphrase (ex "I bought a duck on my way back from the market 235Q&^%^*%") instead of a hexadecimal or ASCII key. Passphrases are between 8 and 64 characters inclusive and are hashed the actual WEP key using the MD5 hash algorithm. |
||
placeholder value for bounds-checking |
These flags indicate whether PMF must be enabled.
use the default value |
||
disable PMF |
||
enable PMF if the supplicant and the AP support it |
||
require PMF and fail if not available |
||
Since: 1.10
Configure the use of WPS by a connection while it activates.
Note: prior to 1.16, this was a GEnum type instead of a GFlags type although, with the same numeric values.
Attempt whichever method AP supports |
||
WPS can not be used. |
||
Use WPS, any method |
||
use WPS push-button method |
||
use PIN method |
Since: 1.10
These flags indicate whether FILS must be enabled.
use the default value |
||
disable FILS |
||
enable FILS if the supplicant and the AP support it |
||
require FILS and fail if not available |
||
placeholder value for bounds-checking |
||
placeholder value for bounds-checking |
Since: 1.12
#define NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX "wep-tx-keyidx"
#define NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME "leap-username"
#define NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS "wep-key-flags"
#define NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE "wep-key-type"
#define NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD "leap-password"
#define NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS "leap-password-flags"
#define NM_SETTING_WIRELESS_SECURITY_WPS_METHOD "wps-method"