Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46fa61f3 authored by Richard Kennedy's avatar Richard Kennedy Committed by Greg Kroah-Hartman
Browse files

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: default avatarRichard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 7b7e7e84
Loading
Loading
Loading
Loading
+26 −13
Original line number Diff line number Diff line
@@ -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 */