diff options
author | Zhu Yi <yi.zhu@intel.com> | 2006-01-24 03:36:52 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-01-30 20:35:33 -0500 |
commit | 3e234b4e5768b4f783fc45f20be8c6515b875f17 (patch) | |
tree | f4c52593b5a7bb92dcdb966066c8d73b99209b4e /drivers/net/wireless/ipw2200.c | |
parent | f516dbcd7df76d468be98c343bc22e86ab7207fc (diff) |
[PATCH] ipw2200: Add LEAP authentication algorithm support
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index b40bfa063725..671631831226 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -6256,6 +6256,9 @@ static int ipw_wpa_set_auth_algs(struct ipw_priv *priv, int value) | |||
6256 | } else if (value & IW_AUTH_ALG_OPEN_SYSTEM) { | 6256 | } else if (value & IW_AUTH_ALG_OPEN_SYSTEM) { |
6257 | sec.auth_mode = WLAN_AUTH_OPEN; | 6257 | sec.auth_mode = WLAN_AUTH_OPEN; |
6258 | ieee->open_wep = 1; | 6258 | ieee->open_wep = 1; |
6259 | } else if (value & IW_AUTH_ALG_LEAP) { | ||
6260 | sec.auth_mode = WLAN_AUTH_LEAP; | ||
6261 | ieee->open_wep = 1; | ||
6259 | } else | 6262 | } else |
6260 | return -EINVAL; | 6263 | return -EINVAL; |
6261 | 6264 | ||
@@ -7116,19 +7119,22 @@ static int ipw_associate_network(struct ipw_priv *priv, | |||
7116 | 7119 | ||
7117 | memset(&priv->assoc_request, 0, sizeof(priv->assoc_request)); | 7120 | memset(&priv->assoc_request, 0, sizeof(priv->assoc_request)); |
7118 | priv->assoc_request.channel = network->channel; | 7121 | priv->assoc_request.channel = network->channel; |
7122 | priv->assoc_request.auth_key = 0; | ||
7123 | |||
7119 | if ((priv->capability & CAP_PRIVACY_ON) && | 7124 | if ((priv->capability & CAP_PRIVACY_ON) && |
7120 | (priv->capability & CAP_SHARED_KEY)) { | 7125 | (priv->ieee->sec.auth_mode == WLAN_AUTH_SHARED_KEY)) { |
7121 | priv->assoc_request.auth_type = AUTH_SHARED_KEY; | 7126 | priv->assoc_request.auth_type = AUTH_SHARED_KEY; |
7122 | priv->assoc_request.auth_key = priv->ieee->sec.active_key; | 7127 | priv->assoc_request.auth_key = priv->ieee->sec.active_key; |
7123 | 7128 | ||
7124 | if ((priv->capability & CAP_PRIVACY_ON) && | 7129 | if ((priv->ieee->sec.level == SEC_LEVEL_1) && |
7125 | (priv->ieee->sec.level == SEC_LEVEL_1) && | ||
7126 | !(priv->ieee->host_encrypt || priv->ieee->host_decrypt)) | 7130 | !(priv->ieee->host_encrypt || priv->ieee->host_decrypt)) |
7127 | ipw_send_wep_keys(priv, DCW_WEP_KEY_SEC_TYPE_WEP); | 7131 | ipw_send_wep_keys(priv, DCW_WEP_KEY_SEC_TYPE_WEP); |
7128 | } else { | 7132 | |
7133 | } else if ((priv->capability & CAP_PRIVACY_ON) && | ||
7134 | (priv->ieee->sec.auth_mode == WLAN_AUTH_LEAP)) | ||
7135 | priv->assoc_request.auth_type = AUTH_LEAP; | ||
7136 | else | ||
7129 | priv->assoc_request.auth_type = AUTH_OPEN; | 7137 | priv->assoc_request.auth_type = AUTH_OPEN; |
7130 | priv->assoc_request.auth_key = 0; | ||
7131 | } | ||
7132 | 7138 | ||
7133 | if (priv->ieee->wpa_ie_len) { | 7139 | if (priv->ieee->wpa_ie_len) { |
7134 | priv->assoc_request.policy_support = 0x02; /* RSN active */ | 7140 | priv->assoc_request.policy_support = 0x02; /* RSN active */ |