summaryrefslogtreecommitdiff
path: root/usr.sbin/hostapd/handle.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/hostapd/handle.c')
-rw-r--r--usr.sbin/hostapd/handle.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/usr.sbin/hostapd/handle.c b/usr.sbin/hostapd/handle.c
index 8a1f71197de..656b3beeffb 100644
--- a/usr.sbin/hostapd/handle.c
+++ b/usr.sbin/hostapd/handle.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: handle.c,v 1.5 2005/11/20 12:02:04 reyk Exp $ */
+/* $OpenBSD: handle.c,v 1.6 2005/11/23 20:40:38 reyk Exp $ */
/*
* Copyright (c) 2005 Reyk Floeter <reyk@vantronix.net>
@@ -148,6 +148,17 @@ hostapd_handle_frame(struct hostapd_apme *apme, struct hostapd_frame *frame,
return (0);
}
+ if (flags & HOSTAPD_FRAME_F_APME_M) {
+ if (frame->f_apme == NULL)
+ return (0);
+ /* Match hostap interface */
+ if ((flags & HOSTAPD_FRAME_F_APME &&
+ apme == frame->f_apme) ||
+ (flags & HOSTAPD_FRAME_F_APME_N &&
+ apme != frame->f_apme))
+ flags &= ~HOSTAPD_FRAME_F_APME_M;
+ }
+
if (flags & HOSTAPD_FRAME_F_TYPE) {
/* type $type */
if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) ==