Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102103277
D36183.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D36183.diff
View Options
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -196,6 +196,9 @@
#define IEEE80211_FC1_PROTECTED 0x40
#define IEEE80211_FC1_ORDER 0x80
+#define IEEE80211_IS_PROTECTED(wh) \
+ ((wh)->i_fc[1] & IEEE80211_FC1_PROTECTED)
+
#define IEEE80211_HAS_SEQ(type, subtype) \
((type) != IEEE80211_FC0_TYPE_CTL && \
!((type) == IEEE80211_FC0_TYPE_DATA && \
diff --git a/sys/net80211/ieee80211_adhoc.c b/sys/net80211/ieee80211_adhoc.c
--- a/sys/net80211/ieee80211_adhoc.c
+++ b/sys/net80211/ieee80211_adhoc.c
@@ -495,7 +495,7 @@
* crypto cipher modules used to do delayed update
* of replay sequence numbers.
*/
- if (is_hw_decrypted || wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (is_hw_decrypted || IEEE80211_IS_PROTECTED(wh)) {
if ((vap->iv_flags & IEEE80211_F_PRIVACY) == 0) {
/*
* Discard encrypted frames when privacy is off.
@@ -655,7 +655,7 @@
ether_sprintf(wh->i_addr2), rssi);
}
#endif
- if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (IEEE80211_IS_PROTECTED(wh)) {
IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT,
wh, NULL, "%s", "WEP set but not permitted");
vap->iv_stats.is_rx_mgtdiscard++; /* XXX */
diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c
--- a/sys/net80211/ieee80211_hostap.c
+++ b/sys/net80211/ieee80211_hostap.c
@@ -683,7 +683,7 @@
* crypto cipher modules used to do delayed update
* of replay sequence numbers.
*/
- if (is_hw_decrypted || wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (is_hw_decrypted || IEEE80211_IS_PROTECTED(wh)) {
if ((vap->iv_flags & IEEE80211_F_PRIVACY) == 0) {
/*
* Discard encrypted frames when privacy is off.
@@ -849,7 +849,7 @@
ether_sprintf(wh->i_addr2), rssi);
}
#endif
- if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (IEEE80211_IS_PROTECTED(wh)) {
if (subtype != IEEE80211_FC0_SUBTYPE_AUTH) {
/*
* Only shared key auth frames with a challenge
diff --git a/sys/net80211/ieee80211_mesh.c b/sys/net80211/ieee80211_mesh.c
--- a/sys/net80211/ieee80211_mesh.c
+++ b/sys/net80211/ieee80211_mesh.c
@@ -1797,7 +1797,7 @@
ether_sprintf(wh->i_addr2), rssi);
}
#endif
- if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (IEEE80211_IS_PROTECTED(wh)) {
IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT,
wh, NULL, "%s", "WEP set but not permitted");
vap->iv_stats.is_rx_mgtdiscard++; /* XXX */
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -622,7 +622,7 @@
}
if ((params && (params->ibp_flags & IEEE80211_BPF_CRYPTO) != 0) ||
- (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) != 0) {
+ (IEEE80211_IS_PROTECTED(wh))) {
int subtype;
subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -602,7 +602,7 @@
printf(" QoS [TID %u%s]", qwh->i_qos[0] & IEEE80211_QOS_TID,
qwh->i_qos[0] & IEEE80211_QOS_ACKPOLICY ? " ACM" : "");
}
- if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (IEEE80211_IS_PROTECTED(wh)) {
int off;
off = ieee80211_anyhdrspace(ic, wh);
diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c
--- a/sys/net80211/ieee80211_sta.c
+++ b/sys/net80211/ieee80211_sta.c
@@ -767,7 +767,7 @@
* crypto cipher modules used to do delayed update
* of replay sequence numbers.
*/
- if (is_hw_decrypted || wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (is_hw_decrypted || IEEE80211_IS_PROTECTED(wh)) {
if ((vap->iv_flags & IEEE80211_F_PRIVACY) == 0) {
/*
* Discard encrypted frames when privacy is off.
@@ -939,7 +939,7 @@
* Again, having encrypted flag set check would be good, but
* then we have to also handle crypto_decap() like above.
*/
- if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (IEEE80211_IS_PROTECTED(wh)) {
if (subtype != IEEE80211_FC0_SUBTYPE_AUTH) {
/*
* Only shared key auth frames with a challenge
diff --git a/sys/net80211/ieee80211_wds.c b/sys/net80211/ieee80211_wds.c
--- a/sys/net80211/ieee80211_wds.c
+++ b/sys/net80211/ieee80211_wds.c
@@ -556,7 +556,7 @@
* crypto cipher modules used to do delayed update
* of replay sequence numbers.
*/
- if (is_hw_decrypted || wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (is_hw_decrypted || IEEE80211_IS_PROTECTED(wh)) {
if ((vap->iv_flags & IEEE80211_F_PRIVACY) == 0) {
/*
* Discard encrypted frames when privacy is off.
@@ -712,7 +712,7 @@
ether_sprintf(wh->i_addr2), rssi);
}
#endif
- if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
+ if (IEEE80211_IS_PROTECTED(wh)) {
IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT,
wh, NULL, "%s", "WEP set but not permitted");
vap->iv_stats.is_rx_mgtdiscard++; /* XXX */
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Nov 8, 3:53 PM (8 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14537964
Default Alt Text
D36183.diff (4 KB)
Attached To
Mode
D36183: net80211: add an IEEE80211_IS_PROTECTED() macro
Attached
Detach File
Event Timeline
Log In to Comment