mirror of
https://git.freebsd.org/ports.git
synced 2025-05-29 17:36:28 -04:00
Use IFM_IEEE80211_ADHOC for now on FreeBSD for IBSS operation. Base commit by adrian@ on Nov 26, 2015. This commit syncs ports with base. PR: 203086 Submitted by: avos MFH: 2020Q2
60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
--- src/drivers/driver_bsd.c.orig 2019-08-07 06:25:25.000000000 -0700
|
|
+++ src/drivers/driver_bsd.c 2021-06-13 23:10:12.570253000 -0700
|
|
@@ -649,7 +649,7 @@
|
|
len = 2048;
|
|
}
|
|
|
|
- return len;
|
|
+ return (len == 0) ? 2048 : len;
|
|
}
|
|
|
|
#ifdef HOSTAPD
|
|
@@ -665,7 +665,11 @@
|
|
static int bsd_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr,
|
|
u16 reason_code);
|
|
|
|
+#ifdef __DragonFly__
|
|
+const char *
|
|
+#else
|
|
static const char *
|
|
+#endif
|
|
ether_sprintf(const u8 *addr)
|
|
{
|
|
static char buf[sizeof(MACSTR)];
|
|
@@ -1080,7 +1084,14 @@
|
|
mode = 0 /* STA */;
|
|
break;
|
|
case IEEE80211_MODE_IBSS:
|
|
+ /*
|
|
+ * Ref bin/203086 - FreeBSD's net80211 currently uses
|
|
+ * IFM_IEEE80211_ADHOC.
|
|
+ */
|
|
+#if 0
|
|
mode = IFM_IEEE80211_IBSS;
|
|
+#endif
|
|
+ mode = IFM_IEEE80211_ADHOC;
|
|
break;
|
|
case IEEE80211_MODE_AP:
|
|
mode = IFM_IEEE80211_HOSTAP;
|
|
@@ -1336,14 +1347,18 @@
|
|
drv = bsd_get_drvindex(global, ifm->ifm_index);
|
|
if (drv == NULL)
|
|
return;
|
|
- if ((ifm->ifm_flags & IFF_UP) == 0 &&
|
|
- (drv->flags & IFF_UP) != 0) {
|
|
+ if (((ifm->ifm_flags & IFF_UP) == 0 ||
|
|
+ (ifm->ifm_flags & IFF_RUNNING) == 0) &&
|
|
+ (drv->flags & IFF_UP) != 0 &&
|
|
+ (drv->flags & IFF_RUNNING) != 0) {
|
|
wpa_printf(MSG_DEBUG, "RTM_IFINFO: Interface '%s' DOWN",
|
|
drv->ifname);
|
|
wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_DISABLED,
|
|
NULL);
|
|
} else if ((ifm->ifm_flags & IFF_UP) != 0 &&
|
|
- (drv->flags & IFF_UP) == 0) {
|
|
+ (ifm->ifm_flags & IFF_RUNNING) != 0 &&
|
|
+ ((drv->flags & IFF_UP) == 0 ||
|
|
+ (drv->flags & IFF_RUNNING) == 0)) {
|
|
wpa_printf(MSG_DEBUG, "RTM_IFINFO: Interface '%s' UP",
|
|
drv->ifname);
|
|
wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_ENABLED,
|