git: f37b72501299 - main - net/hostapd: Update to 2.12

From: Cy Schubert <cy_at_FreeBSD.org>
Date: Mon, 10 Aug 2026 15:38:05 UTC
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f37b725012993163cf14edb15a727ef25df25318

commit f37b725012993163cf14edb15a727ef25df25318
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2026-08-10 15:27:41 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2026-08-10 15:37:54 +0000

    net/hostapd: Update to 2.12
    
    This includes the following changes:
    
    * support RSN overriding (e.g., WPA3-Personal Compatibility Mode)
    * EHT/IEEE 802.11be/Wi-Fi 7
      - more complete support
      - fix message validation issues that could enable DoS attacks
      - fix group key rekeying
    * enable SAE group 20 by default if SAE-EXT-KEY is enabled
    * reject unexpected SAE password identifier to avoid DoS attack against
      a specific STA
    * mandate use of SAE H2E when using password identifiers
    * assign VLAN when using SAE with PMKSA caching
    * support SPP A-MSDU negotiation
    * support IEEE 802.11bi functionality
      - changing SAE password identifiers
      - EPPKE
      - IEEE 802.1X/EAP in Authentication frames
      - Association frame encryption
      - PMKID privacy
    * remove the driver interface for now obsolete Host AP driver
    * remove the driver interface for now obsolete Atheros WEXT interface
    * move supported, basic, and Beacon TX rate configuration to be at BSS
      level instead of per-radio for all BSSs
    * fix various issues in Multiple-BSSID functionality
    * support OpenSSL 3.0 API changes
    * EAP-TEAP: protocol changes based on RFC 9930; this is not compatible
      with previous versions
    * support Automated Frequency Coordination (AFC) on the 6 GHz band
    * improve GAS/ANQP processing to support larger ANQP responses
    * a large number of other fixes, cleanup, and extensions
---
 net/hostapd/Makefile                         | 14 +++++++++++---
 net/hostapd/distinfo                         |  6 +++---
 net/hostapd/files/patch-src_utils_os__unix.c | 19 ++++++++++---------
 3 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/net/hostapd/Makefile b/net/hostapd/Makefile
index be1ce57829b3..aa9cbe4b7c10 100644
--- a/net/hostapd/Makefile
+++ b/net/hostapd/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	hostapd
-PORTVERSION=	2.11
-PORTREVISION=	3
+PORTVERSION=	2.12
 CATEGORIES=	net
 MASTER_SITES=	https://w1.fi/releases/
 
@@ -13,8 +12,11 @@ LICENSE=	BSD3CLAUSE
 USES=		cpe gmake ssl
 CPE_VENDOR=	w1.fi
 BUILD_WRKSRC=	${WRKSRC}/hostapd
+CFLAGS+=	-Wno-incompatible-function-pointer-types
+CFLAGS+=	-Wno-int-conversion
 CFLAGS+=	-I${OPENSSLINC}
 LDFLAGS+=	-L${OPENSSLLIB}
+MAKE_JOBS_UNSAFE=	yes
 
 PLIST_FILES=	sbin/hostapd sbin/hostapd_cli share/man/man1/hostapd_cli.1.gz \
 		share/man/man8/hostapd.8.gz
@@ -25,8 +27,14 @@ USE_RC_SUBR=	hostapd
 post-patch:
 	@${REINPLACE_CMD} -e 's|@$$(E) "  CC " $$<|@$$(E) "  $$(CC) " $$<|' \
 		${BUILD_WRKSRC}/Makefile
-	@${SED} -e 's|@PREFIX@|${PREFIX}|g' ${FILESDIR}/config \
+	@${SED} -e 's|/usr/local|${PREFIX}|g;s|^CONFIG_DRIVER_NL80211|#CONFIG_DRIVER_NL80211|' ${BUILD_WRKSRC}/defconfig \
 		>> ${WRKSRC}/hostapd/.config
+	@${ECHO_CMD} 'CONFIG_L2_FREEBSD=y' >> ${WRKSRC}/hostapd/.config
+	@${ECHO_CMD} 'CONFIG_DNET_PCAP=y' >> ${WRKSRC}/hostapd/.config
+	@${ECHO_CMD} 'CONFIG_IEEE80211BE=y' >> ${WRKSRC}/hostapd/.config
+	@${ECHO_CMD} 'CONFIG_IEEE80211AC=y' >> ${WRKSRC}/hostapd/.config
+	@${ECHO_CMD} 'CONFIG_SAE=y' >> ${WRKSRC}/hostapd/.config
+	@${ECHO_CMD} 'NEED_AP_MLME=y' >> ${WRKSRC}/hostapd/.config
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/hostapd/hostapd ${STAGEDIR}${PREFIX}/sbin
diff --git a/net/hostapd/distinfo b/net/hostapd/distinfo
index 9034618f0bb4..3b5b85144c03 100644
--- a/net/hostapd/distinfo
+++ b/net/hostapd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1721564130
-SHA256 (hostapd-2.11.tar.gz) = 2b3facb632fd4f65e32f4bf82a76b4b72c501f995a4f62e330219fe7aed1747a
-SIZE (hostapd-2.11.tar.gz) = 2708343
+TIMESTAMP = 1786369578
+SHA256 (hostapd-2.12.tar.gz) = f43502561c28ba47ab77e18e1a973d07361c68cc8b14178e619bd5796b70eabd
+SIZE (hostapd-2.12.tar.gz) = 3037984
diff --git a/net/hostapd/files/patch-src_utils_os__unix.c b/net/hostapd/files/patch-src_utils_os__unix.c
index 140db6151f76..cb8af8330819 100644
--- a/net/hostapd/files/patch-src_utils_os__unix.c
+++ b/net/hostapd/files/patch-src_utils_os__unix.c
@@ -1,15 +1,16 @@
---- src/utils/os_unix.c.orig	2024-05-10 09:57:55.000000000 -0700
-+++ src/utils/os_unix.c	2024-06-01 22:28:22.467129000 -0700
-@@ -103,10 +103,12 @@
- 			break;
+--- src/utils/os_unix.c.orig	2026-08-07 06:10:53.000000000 -0700
++++ src/utils/os_unix.c	2026-08-10 08:16:05.134675000 -0700
+@@ -124,11 +124,13 @@
  #endif
+ 
  #ifdef CLOCK_MONOTONIC
 +#if !(defined(CLOCK_BOOTTIME) && CLOCK_BOOTTIME == CLOCK_MONOTONIC)
- 		case CLOCK_MONOTONIC:
+ 		if (clock_id == CLOCK_MONOTONIC) {
  			clock_id = CLOCK_REALTIME;
- 			break;
+ 			continue;
+ 		}
  #endif
 +#endif
- 		case CLOCK_REALTIME:
- 			return -1;
- 		}
+ 
+ 		/* No additional clockid_t values to fall back to */
+ 		return -1;