|
@@ -1,34 +1,33 @@
|
|
|
-/******************************************************************************
|
|
|
+/*
|
|
|
+ * Copyright(c) 2004 Intel Corporation. All rights reserved.
|
|
|
+ *
|
|
|
+ * Portions of this file are based on the WEP enablement code provided by the
|
|
|
+ * Host AP project hostap-drivers v0.1.3
|
|
|
+ * Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen
|
|
|
+ * <jkmaline@cc.hut.fi>
|
|
|
+ * Copyright (c) 2002-2003, Jouni Malinen <jkmaline@cc.hut.fi>
|
|
|
+ *
|
|
|
+ * This program is free software; you can redistribute it and/or modify it
|
|
|
+ * under the terms of version 2 of the GNU General Public License as
|
|
|
+ * published by the Free Software Foundation.
|
|
|
+ *
|
|
|
+ * This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
|
+ * more details.
|
|
|
+ *
|
|
|
+ * You should have received a copy of the GNU General Public License along with
|
|
|
+ * this program; if not, write to the Free Software Foundation, Inc., 59
|
|
|
+ * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
+ *
|
|
|
+ * The full GNU General Public License is included in this distribution in the
|
|
|
+ * file called LICENSE.
|
|
|
+ *
|
|
|
+ * Contact Information:
|
|
|
+ * James P. Ketrenos <ipw2100-admin@linux.intel.com>
|
|
|
+ * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
|
|
|
+ */
|
|
|
|
|
|
- Copyright(c) 2004 Intel Corporation. All rights reserved.
|
|
|
-
|
|
|
- Portions of this file are based on the WEP enablement code provided by the
|
|
|
- Host AP project hostap-drivers v0.1.3
|
|
|
- Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen
|
|
|
- <jkmaline@cc.hut.fi>
|
|
|
- Copyright (c) 2002-2003, Jouni Malinen <jkmaline@cc.hut.fi>
|
|
|
-
|
|
|
- This program is free software; you can redistribute it and/or modify it
|
|
|
- under the terms of version 2 of the GNU General Public License as
|
|
|
- published by the Free Software Foundation.
|
|
|
-
|
|
|
- This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
|
- more details.
|
|
|
-
|
|
|
- You should have received a copy of the GNU General Public License along with
|
|
|
- this program; if not, write to the Free Software Foundation, Inc., 59
|
|
|
- Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
-
|
|
|
- The full GNU General Public License is included in this distribution in the
|
|
|
- file called LICENSE.
|
|
|
-
|
|
|
- Contact Information:
|
|
|
- James P. Ketrenos <ipw2100-admin@linux.intel.com>
|
|
|
- Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
|
|
|
-
|
|
|
-******************************************************************************/
|
|
|
#include <linux/wireless.h>
|
|
|
#include <linux/kmod.h>
|
|
|
#include <linux/slab.h>
|
|
@@ -181,7 +180,8 @@ static inline char *rtl818x_translate_scan(struct ieee80211_device *ieee,
|
|
|
}
|
|
|
|
|
|
/* Add EXTRA: Age to display seconds since last beacon/probe response
|
|
|
- * for given network. */
|
|
|
+ * for given network.
|
|
|
+ */
|
|
|
iwe.cmd = IWEVCUSTOM;
|
|
|
p = custom;
|
|
|
p += snprintf(p, MAX_CUSTOM_LEN - (p - custom),
|
|
@@ -277,7 +277,8 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|
|
IEEE80211_DEBUG_WX("Disabling encryption.\n");
|
|
|
|
|
|
/* Check all the keys to see if any are still configured,
|
|
|
- * and if no key index was provided, de-init them all */
|
|
|
+ * and if no key index was provided, de-init them all.
|
|
|
+ */
|
|
|
for (i = 0; i < WEP_KEYS; i++) {
|
|
|
if (ieee->crypt[i] != NULL) {
|
|
|
if (key_provided)
|
|
@@ -302,7 +303,8 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|
|
if (*crypt != NULL && (*crypt)->ops != NULL &&
|
|
|
strcmp((*crypt)->ops->name, "WEP") != 0) {
|
|
|
/* changing to use WEP; deinit previously used algorithm
|
|
|
- * on this key */
|
|
|
+ * on this key.
|
|
|
+ */
|
|
|
ieee80211_crypt_delayed_deinit(ieee, crypt);
|
|
|
}
|
|
|
|
|
@@ -347,7 +349,8 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|
|
(*crypt)->priv);
|
|
|
sec.flags |= (1 << key);
|
|
|
/* This ensures a key will be activated if no key is
|
|
|
- * explicitly set */
|
|
|
+ * explicitly set.
|
|
|
+ */
|
|
|
if (key == sec.active_key)
|
|
|
sec.flags |= SEC_ACTIVE_KEY;
|
|
|
ieee->tx_keyidx = key;
|
|
@@ -383,7 +386,8 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|
|
"OPEN" : "SHARED KEY");
|
|
|
|
|
|
/* For now we just support WEP, so only set that security level...
|
|
|
- * TODO: When WPA is added this is one place that needs to change */
|
|
|
+ * TODO: When WPA is added this is one place that needs to change
|
|
|
+ */
|
|
|
sec.flags |= SEC_LEVEL;
|
|
|
sec.level = SEC_LEVEL_1; /* 40 and 104 bit WEP */
|
|
|
|
|
@@ -394,7 +398,8 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|
|
* generate new IEEE 802.11 authentication which may end up in looping
|
|
|
* with IEEE 802.1X. If your hardware requires a reset after WEP
|
|
|
* configuration (for example... Prism2), implement the reset_port in
|
|
|
- * the callbacks structures used to initialize the 802.11 stack. */
|
|
|
+ * the callbacks structures used to initialize the 802.11 stack.
|
|
|
+ */
|
|
|
if (ieee->reset_on_keychange &&
|
|
|
ieee->iw_mode != IW_MODE_INFRA &&
|
|
|
ieee->reset_port && ieee->reset_port(dev)) {
|
|
@@ -436,7 +441,8 @@ int ieee80211_wx_get_encode(struct ieee80211_device *ieee,
|
|
|
|
|
|
if (strcmp(crypt->ops->name, "WEP") != 0) {
|
|
|
/* only WEP is supported with wireless extensions, so just
|
|
|
- * report that encryption is used */
|
|
|
+ * report that encryption is used.
|
|
|
+ */
|
|
|
erq->length = 0;
|
|
|
erq->flags |= IW_ENCODE_ENABLED;
|
|
|
return 0;
|
|
@@ -634,15 +640,14 @@ int ieee80211_wx_set_auth(struct ieee80211_device *ieee,
|
|
|
{
|
|
|
switch (data->flags & IW_AUTH_INDEX) {
|
|
|
case IW_AUTH_WPA_VERSION:
|
|
|
- /*need to support wpa2 here*/
|
|
|
+ /* need to support wpa2 here */
|
|
|
break;
|
|
|
case IW_AUTH_CIPHER_PAIRWISE:
|
|
|
case IW_AUTH_CIPHER_GROUP:
|
|
|
case IW_AUTH_KEY_MGMT:
|
|
|
- /*
|
|
|
- * * Host AP driver does not use these parameters and allows
|
|
|
- * * wpa_supplicant to control them internally.
|
|
|
- * */
|
|
|
+ /* Host AP driver does not use these parameters and allows
|
|
|
+ * wpa_supplicant to control them internally.
|
|
|
+ */
|
|
|
break;
|
|
|
case IW_AUTH_TKIP_COUNTERMEASURES:
|
|
|
ieee->tkip_countermeasures = data->value;
|