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

Commit fd67b064 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

/spare/repo/netdev-2.6 branch 'ieee80211'

parents 831a179f 91cb70c1
Loading
Loading
Loading
Loading
+3 −43
Original line number Diff line number Diff line
@@ -24,15 +24,6 @@
#include <linux/kernel.h>   /* ARRAY_SIZE */
#include <linux/wireless.h>

#if WIRELESS_EXT < 17
#define IW_QUAL_QUAL_INVALID   0x10
#define IW_QUAL_LEVEL_INVALID  0x20
#define IW_QUAL_NOISE_INVALID  0x40
#define IW_QUAL_QUAL_UPDATED   0x1
#define IW_QUAL_LEVEL_UPDATED  0x2
#define IW_QUAL_NOISE_UPDATED  0x4
#endif

#define IEEE80211_DATA_LEN		2304
/* Maximum size for the MA-UNITDATA primitive, 802.11 standard section
   6.2.1.1.2.
@@ -65,35 +56,6 @@ struct ieee80211_hdr_3addr {
	__le16 seq_ctl;
} __attribute__ ((packed));

enum eap_type {
	EAP_PACKET = 0,
	EAPOL_START,
	EAPOL_LOGOFF,
	EAPOL_KEY,
	EAPOL_ENCAP_ASF_ALERT
};

static const char *eap_types[] = {
	[EAP_PACKET]		= "EAP-Packet",
	[EAPOL_START]		= "EAPOL-Start",
	[EAPOL_LOGOFF]		= "EAPOL-Logoff",
	[EAPOL_KEY]		= "EAPOL-Key",
	[EAPOL_ENCAP_ASF_ALERT]	= "EAPOL-Encap-ASF-Alert"
};

static inline const char *eap_get_type(int type)
{
	return (type >= ARRAY_SIZE(eap_types)) ? "Unknown" : eap_types[type];
}

struct eapol {
	u8 snap[6];
	__be16 ethertype;
	u8 version;
	u8 type;
	__be16 length;
} __attribute__ ((packed));

#define IEEE80211_1ADDR_LEN 10
#define IEEE80211_2ADDR_LEN 16
#define IEEE80211_3ADDR_LEN 24
@@ -196,11 +158,11 @@ const char *escape_essid(const char *essid, u8 essid_len);
 *
 * To add your debug level to the list of levels seen when you perform
 *
 * % cat /proc/net/ipw/debug_level
 * % cat /proc/net/ieee80211/debug_level
 *
 * you simply need to add your entry to the ipw_debug_levels array.
 * you simply need to add your entry to the ieee80211_debug_level array.
 *
 * If you do not see debug_level in /proc/net/ipw then you do not have
 * If you do not see debug_level in /proc/net/ieee80211 then you do not have
 * CONFIG_IEEE80211_DEBUG defined in your kernel configuration
 *
 */
@@ -211,7 +173,6 @@ const char *escape_essid(const char *essid, u8 essid_len);
#define IEEE80211_DL_STATE         (1<<3)
#define IEEE80211_DL_MGMT          (1<<4)
#define IEEE80211_DL_FRAG          (1<<5)
#define IEEE80211_DL_EAP           (1<<6)
#define IEEE80211_DL_DROP          (1<<7)

#define IEEE80211_DL_TX            (1<<8)
@@ -226,7 +187,6 @@ const char *escape_essid(const char *essid, u8 essid_len);
#define IEEE80211_DEBUG_STATE(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_STATE, f, ## a)
#define IEEE80211_DEBUG_MGMT(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_MGMT, f, ## a)
#define IEEE80211_DEBUG_FRAG(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_FRAG, f, ## a)
#define IEEE80211_DEBUG_EAP(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_EAP, f, ## a)
#define IEEE80211_DEBUG_DROP(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_DROP, f, ## a)
#define IEEE80211_DEBUG_TX(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_TX, f, ## a)
#define IEEE80211_DEBUG_RX(f, a...)  IEEE80211_DEBUG(IEEE80211_DL_RX, f, ## a)
+0 −16
Original line number Diff line number Diff line
@@ -628,14 +628,8 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
	if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep) {
		if (/*ieee->ieee802_1x &&*/
		    ieee80211_is_eapol_frame(ieee, skb)) {
#ifdef CONFIG_IEEE80211_DEBUG
			/* pass unencrypted EAPOL frames even if encryption is
			 * configured */
			struct eapol *eap = (struct eapol *)(skb->data +
				24);
			IEEE80211_DEBUG_EAP("RX: IEEE 802.1X EAPOL frame: %s\n",
						eap_get_type(eap->type));
#endif
		} else {
			IEEE80211_DEBUG_DROP(
				"encryption configured, but RX "
@@ -645,16 +639,6 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
		}
	}

#ifdef CONFIG_IEEE80211_DEBUG
	if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) &&
	    ieee80211_is_eapol_frame(ieee, skb)) {
			struct eapol *eap = (struct eapol *)(skb->data +
				24);
			IEEE80211_DEBUG_EAP("RX: IEEE 802.1X EAPOL frame: %s\n",
						eap_get_type(eap->type));
	}
#endif

	if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep &&
	    !ieee80211_is_eapol_frame(ieee, skb)) {
		IEEE80211_DEBUG_DROP(
+0 −9
Original line number Diff line number Diff line
@@ -292,15 +292,6 @@ int ieee80211_xmit(struct sk_buff *skb,
		goto success;
	}

#ifdef CONFIG_IEEE80211_DEBUG
	if (crypt && !encrypt && ether_type == ETH_P_PAE) {
		struct eapol *eap = (struct eapol *)(skb->data +
			sizeof(struct ethhdr) - SNAP_SIZE - sizeof(u16));
		IEEE80211_DEBUG_EAP("TX: IEEE 802.11 EAPOL frame: %s\n",
			eap_get_type(eap->type));
	}
#endif

	/* Save source and destination addresses */
	memcpy(&dest, skb->data, ETH_ALEN);
	memcpy(&src, skb->data+ETH_ALEN, ETH_ALEN);