diff options
Diffstat (limited to 'usr.sbin/hostapd/handle.c')
-rw-r--r-- | usr.sbin/hostapd/handle.c | 13 |
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) == |