Staging: wlan-ng: p80211wext.c add latest changes & remove extra nulls from wext_handlers

add the latest changes from wlan-ng-devel
remove 2 stray nulls from the wext_handler table introduced
by the tidy up patch.

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Richard Kennedy 2008-11-03 11:20:04 +00:00 committed by Greg Kroah-Hartman
parent 7b7e7e84bd
commit 46fa61f360

View file

@ -548,10 +548,13 @@ static int p80211wext_giwencode(netdevice_t *dev,
DBFENTER;
i = (erq->flags & IW_ENCODE_INDEX) - 1;
erq->flags = 0;
if (wlandev->hostwep & HOSTWEP_PRIVACYINVOKED)
erq->flags = IW_ENCODE_ENABLED;
erq->flags |= IW_ENCODE_ENABLED;
else
erq->flags = IW_ENCODE_DISABLED;
erq->flags |= IW_ENCODE_DISABLED;
if (wlandev->hostwep & HOSTWEP_EXCLUDEUNENCRYPTED)
erq->flags |= IW_ENCODE_RESTRICTED;
@ -614,17 +617,24 @@ static int p80211wext_siwencode(netdevice_t *dev,
err = -EFAULT;
goto exit;
}
else {
enable = 1;
/* Set current key number only if no keys are given */
if (erq->flags & IW_ENCODE_NOKEY) {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11WEPDefaultKeyID, i);
if (result) {
err = -EFAULT;
goto exit;
}
}
}
else {
// Do not thing when no Key Index
} else {
// Use defaultkey if no Key Index
i = wlandev->hostwep & HOSTWEP_DEFAULTKEY_MASK;
}
/* Check if there is no key information in the iwconfig request */
if((erq->flags & IW_ENCODE_NOKEY) == 0 && enable == 1) {
if((erq->flags & IW_ENCODE_NOKEY) == 0 ) {
/*------------------------------------------------------------
* If there is WEP Key for setting, check the Key Information
@ -679,8 +689,7 @@ static int p80211wext_siwencode(netdevice_t *dev,
/* Check the PrivacyInvoked flag */
if (erq->flags & IW_ENCODE_DISABLED) {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, P80211ENUM_truth_false);
}
else if((erq->flags & IW_ENCODE_ENABLED) || enable == 1) {
} else {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, P80211ENUM_truth_true);
}
@ -689,7 +698,13 @@ static int p80211wext_siwencode(netdevice_t *dev,
goto exit;
}
/* Check the ExcludeUnencrypted flag */
/* The security mode may be open or restricted, and its meaning
depends on the card used. With most cards, in open mode no
authentication is used and the card may also accept non-
encrypted sessions, whereas in restricted mode only encrypted
sessions are accepted and the card will use authentication if
available.
*/
if (erq->flags & IW_ENCODE_RESTRICTED) {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11ExcludeUnencrypted, P80211ENUM_truth_true);
}
@ -1746,8 +1761,6 @@ static iw_handler p80211wext_handlers[] = {
(iw_handler) NULL, /* SIOCGIWAPLIST */
(iw_handler) p80211wext_siwscan, /* SIOCSIWSCAN */
(iw_handler) p80211wext_giwscan, /* SIOCGIWSCAN */
(iw_handler) NULL, /* null */ /* SIOCSIWSCAN */
(iw_handler) NULL, /* null */ /* SIOCGIWSCAN */
(iw_handler) p80211wext_siwessid, /* SIOCSIWESSID */
(iw_handler) p80211wext_giwessid, /* SIOCGIWESSID */
(iw_handler) NULL, /* SIOCSIWNICKN */