summaryrefslogtreecommitdiffstats
path: root/usr.sbin/hostapd/handle.c
diff options
context:
space:
mode:
authorreyk <reyk@openbsd.org>2005-11-23 20:40:38 +0000
committerreyk <reyk@openbsd.org>2005-11-23 20:40:38 +0000
commit5058e1766b7616a14122f59aba7edf246016b755 (patch)
tree9ff4009f14690055224bdd3f3d4bf60b344e4a80 /usr.sbin/hostapd/handle.c
parentTest "inline" keyword (diff)
downloadwireguard-openbsd-5058e1766b7616a14122f59aba7edf246016b755.tar.xz
wireguard-openbsd-5058e1766b7616a14122f59aba7edf246016b755.zip
add optional interface rule for event rules
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) ==