Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 21190
b: refs/heads/master
c: dd5eeb4
h: refs/heads/master
v: v3
  • Loading branch information
Larry Finger authored and John W. Linville committed Jan 31, 2006
1 parent 1b2b750 commit fa804b9
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bde37d037715bef4a67d58d00fecbe4c71836cab
refs/heads/master: dd5eeb461ea572f82d34e1f2c4b88037df5afedb
8 changes: 8 additions & 0 deletions trunk/include/net/ieee80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -1285,6 +1285,14 @@ extern int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
extern int ieee80211_wx_get_encodeext(struct ieee80211_device *ieee,
struct iw_request_info *info,
union iwreq_data *wrqu, char *extra);
extern int ieee80211_wx_set_auth(struct net_device *dev,
struct iw_request_info *info,
union iwreq_data *wrqu,
char *extra);
extern int ieee80211_wx_get_auth(struct net_device *dev,
struct iw_request_info *info,
union iwreq_data *wrqu,
char *extra);

static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
{
Expand Down
89 changes: 89 additions & 0 deletions trunk/net/ieee80211/ieee80211_wx.c
Original file line number Diff line number Diff line change
Expand Up @@ -761,9 +761,98 @@ int ieee80211_wx_get_encodeext(struct ieee80211_device *ieee,
return 0;
}

int ieee80211_wx_set_auth(struct net_device *dev,
struct iw_request_info *info,
union iwreq_data *wrqu,
char *extra)
{
struct ieee80211_device *ieee = netdev_priv(dev);
unsigned long flags;
int err = 0;

spin_lock_irqsave(&ieee->lock, flags);

switch (wrqu->param.flags & IW_AUTH_INDEX) {
case IW_AUTH_WPA_VERSION:
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.
*/
break;
case IW_AUTH_TKIP_COUNTERMEASURES:
break; /* FIXME */
case IW_AUTH_DROP_UNENCRYPTED:
ieee->drop_unencrypted = !!wrqu->param.value;
break;
case IW_AUTH_80211_AUTH_ALG:
break; /* FIXME */
case IW_AUTH_WPA_ENABLED:
ieee->privacy_invoked = ieee->wpa_enabled = !!wrqu->param.value;
break;
case IW_AUTH_RX_UNENCRYPTED_EAPOL:
ieee->ieee802_1x = !!wrqu->param.value;
break;
case IW_AUTH_PRIVACY_INVOKED:
ieee->privacy_invoked = !!wrqu->param.value;
break;
default:
err = -EOPNOTSUPP;
break;
}
spin_unlock_irqrestore(&ieee->lock, flags);
return err;
}

int ieee80211_wx_get_auth(struct net_device *dev,
struct iw_request_info *info,
union iwreq_data *wrqu,
char *extra)
{
struct ieee80211_device *ieee = netdev_priv(dev);
unsigned long flags;
int err = 0;

spin_lock_irqsave(&ieee->lock, flags);

switch (wrqu->param.flags & IW_AUTH_INDEX) {
case IW_AUTH_WPA_VERSION:
case IW_AUTH_CIPHER_PAIRWISE:
case IW_AUTH_CIPHER_GROUP:
case IW_AUTH_KEY_MGMT:
case IW_AUTH_TKIP_COUNTERMEASURES: /* FIXME */
case IW_AUTH_80211_AUTH_ALG: /* FIXME */
/*
* Host AP driver does not use these parameters and allows
* wpa_supplicant to control them internally.
*/
err = -EOPNOTSUPP;
break;
case IW_AUTH_DROP_UNENCRYPTED:
wrqu->param.value = ieee->drop_unencrypted;
break;
case IW_AUTH_WPA_ENABLED:
wrqu->param.value = ieee->wpa_enabled;
break;
case IW_AUTH_RX_UNENCRYPTED_EAPOL:
wrqu->param.value = ieee->ieee802_1x;
break;
default:
err = -EOPNOTSUPP;
break;
}
spin_unlock_irqrestore(&ieee->lock, flags);
return err;
}

EXPORT_SYMBOL(ieee80211_wx_set_encodeext);
EXPORT_SYMBOL(ieee80211_wx_get_encodeext);

EXPORT_SYMBOL(ieee80211_wx_get_scan);
EXPORT_SYMBOL(ieee80211_wx_set_encode);
EXPORT_SYMBOL(ieee80211_wx_get_encode);

EXPORT_SYMBOL_GPL(ieee80211_wx_set_auth);
EXPORT_SYMBOL_GPL(ieee80211_wx_get_auth);

0 comments on commit fa804b9

Please sign in to comment.