From nobody Fri Sep 13 23:06:24 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4X590c54v7z5WCy2; Fri, 13 Sep 2024 23:06:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4X590c2qL2z4YM8; Fri, 13 Sep 2024 23:06:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726268784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NTZXC8p3JH4OenZ20COOnFZJkdsuDALY6fU/42ut63E=; b=nvLRp0ifunEfbUsOAiDkNkq+S7pfXj0Fyon/MKKjBjIqpgRAVKYqUDITsb2bcOKhXLxVvI HTkLuktKcbvemWu4A5Ye1H3Usi4gj84itGFlOp+deveQG/9c8n/xGe+rer9vLCyYdwvleX e1klIC7c2gcMDlvxwa3h4S6SRnU33PH2MYAvYgPk1gyV8KDxGsHdCMb3eyMUTQ2oX6lLKd ufvBH3+pV0thrje5dy1S5klv98aIPaOzGxjSjW8M7ZVSjZ3dKqqj8LTGTdznMwGOMrEDRw vuEjHBRvqZe1kworhgm5XjBu/lbR2OCazMoLGWxEhA2lmBoBT3YUvc1xU1cBaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1726268784; a=rsa-sha256; cv=none; b=JOVGEWfXAaFloTi8uW8pX7NXzlWjruGpSKgXtBwZ7ZD94LZw7QXcv5+8sNs9csSyt10EC2 uKZIrfNK4ZlzSENHagG2JO0dMA5sDkg/I1RcErpU8E/TemA9ko1ohPHKEZ93Jv6fWa5vc8 b+OeWOan85ZNM5S2Q1NJXMUrZGhb1QGntS5SDHG2IuTHWXKSs+nsCnUbyuK9UvyxdeBvSV tVD0SlvBbaTuA7Am8UfY5+R79WstGG9dVbQKCLw/eDtuwvYVq+t3+QhCClHhWMIp/0BguF C2ezjGNZaP2oCEmNSmNSNIO3q/q2ae+kmy9au5KrUEjLnkTzF5+AZ1Jc8lN82g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1726268784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NTZXC8p3JH4OenZ20COOnFZJkdsuDALY6fU/42ut63E=; b=PJPu4PBKV3go1/ERdaVpH2khT3JN74c7TlkttSgWEd2+hXKmcctptETgeW9+uY3dfNAu8A I51E7+58FLXb/yYzEW3x7/8lWn5avj4VUjiHpiwdnstOZAHHemG+jOPCnD79X6HQjV03Pm K/aUW3KjCOeWT4668rj3HXw65rZgBMt3jyroso8Kn3PdmT1s2lyxW7TiZlobRgY7SBuP5I 5NVPkNwHuxT6I9tumJejOvw5W59zcG8a7BenNLrRNw3GxL3QzkLPZGL9cLgStx6NvV2TEk YmU94IOkgRUApYP8ruBdDHhVOKzixjD+V+Ke6lL2byTYjd39MYjZ9RCbOrNTRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4X590c2Rhlz12wG; Fri, 13 Sep 2024 23:06:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48DN6Onf068282; Fri, 13 Sep 2024 23:06:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48DN6OaA068279; Fri, 13 Sep 2024 23:06:24 GMT (envelope-from git) Date: Fri, 13 Sep 2024 23:06:24 GMT Message-Id: <202409132306.48DN6OaA068279@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Cy Schubert Subject: git: d2399d0b089b - main - net/hostapd-devel: Sync driver_bsd.c with base system List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2399d0b089b9524d2a39f0680fe20e482497796 Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/ports/commit/?id=d2399d0b089b9524d2a39f0680fe20e482497796 commit d2399d0b089b9524d2a39f0680fe20e482497796 Author: Cy Schubert AuthorDate: 2024-09-13 23:05:28 +0000 Commit: Cy Schubert CommitDate: 2024-09-13 23:05:28 +0000 net/hostapd-devel: Sync driver_bsd.c with base system Replace driver_bsd.c with the one from src. It utilizes facilities and features already in FreeBSD. --- net/hostapd-devel/Makefile | 1 + .../files/patch-src_drivers_driver__bsd.c | 83 ++++++++-------------- 2 files changed, 30 insertions(+), 54 deletions(-) diff --git a/net/hostapd-devel/Makefile b/net/hostapd-devel/Makefile index e0e0b89fc968..a84831f9c0f6 100644 --- a/net/hostapd-devel/Makefile +++ b/net/hostapd-devel/Makefile @@ -1,5 +1,6 @@ PORTNAME= hostapd PORTVERSION= ${COMMIT_DATE} +PORTREVISION= 1 CATEGORIES= net PKGNAMESUFFIX= -devel diff --git a/net/hostapd-devel/files/patch-src_drivers_driver__bsd.c b/net/hostapd-devel/files/patch-src_drivers_driver__bsd.c index af68d8957755..eab6a22e82f3 100644 --- a/net/hostapd-devel/files/patch-src_drivers_driver__bsd.c +++ b/net/hostapd-devel/files/patch-src_drivers_driver__bsd.c @@ -1,5 +1,5 @@ ---- src/drivers/driver_bsd.c.orig 2023-09-05 10:38:47.000000000 -0700 -+++ src/drivers/driver_bsd.c 2023-09-10 23:12:00.594370000 -0700 +--- src/drivers/driver_bsd.c.orig 2024-09-01 06:39:57.000000000 -0700 ++++ src/drivers/driver_bsd.c 2024-09-13 15:40:52.262309000 -0700 @@ -14,6 +14,7 @@ #include "driver.h" #include "eloop.h" @@ -19,10 +19,14 @@ struct ifreq ifr; os_memset(&ifr, 0, sizeof(ifr)); -@@ -306,7 +308,34 @@ - return -1; - } - drv->flags = ifr.ifr_flags; +@@ -302,10 +304,37 @@ + + if (ioctl(drv->global->sock, SIOCGIFFLAGS, &ifr) < 0) { + wpa_printf(MSG_ERROR, "ioctl[SIOCGIFFLAGS]: %s", ++ strerror(errno)); ++ return -1; ++ } ++ drv->flags = ifr.ifr_flags; + + + if (enable) { @@ -37,23 +41,22 @@ + + if (ioctl(drv->global->sock, SIOCSIFFLAGS, &ifr) < 0) { + wpa_printf(MSG_ERROR, "ioctl[SIOCSIFFLAGS]: %s", -+ strerror(errno)); -+ return -1; -+ } + strerror(errno)); + return -1; + } + + wpa_printf(MSG_DEBUG, "%s: if %s (changed) enable %d IFF_UP %d ", + __func__, drv->ifname, enable, ((ifr.ifr_flags & IFF_UP) != 0)); + -+ drv->flags = ifr.ifr_flags; - return 0; + drv->flags = ifr.ifr_flags; ++ return 0; + +nochange: + wpa_printf(MSG_DEBUG, "%s: if %s (no change) enable %d IFF_UP %d ", + __func__, drv->ifname, enable, ((ifr.ifr_flags & IFF_UP) != 0)); -+ return 0; + return 0; } - static int @@ -525,7 +554,7 @@ __func__); return -1; @@ -164,7 +167,7 @@ break; case IEEE80211_MODE_AP: mode = IFM_IEEE80211_HOSTAP; -@@ -1251,24 +1317,33 @@ +@@ -1251,22 +1317,31 @@ ret = -1; if (wpa_driver_bsd_set_auth_alg(drv, params->auth_alg) < 0) ret = -1; @@ -177,6 +180,9 @@ - params->key_mgmt_suite == WPA_KEY_MGMT_NONE && - params->wpa_ie_len == 0); - wpa_printf(MSG_DEBUG, "%s: set PRIVACY %u", __func__, privacy); +- +- if (set80211param(drv, IEEE80211_IOC_PRIVACY, privacy) < 0) +- return -1; + if (params->wpa_ie_len) { + rsn_ie = get_ie(params->wpa_ie, params->wpa_ie_len, + WLAN_EID_RSN); @@ -196,7 +202,9 @@ + } + } -- if (set80211param(drv, IEEE80211_IOC_PRIVACY, privacy) < 0) +- if (params->wpa_ie_len && +- set80211param(drv, IEEE80211_IOC_WPA, +- params->wpa_ie[0] == WLAN_EID_RSN ? 2 : 1) < 0) + /* + * NB: interface must be marked UP for association + * or scanning (ap_scan=2) @@ -204,14 +212,7 @@ + if (bsd_ctrl_iface(drv, 1) < 0) return -1; -- if (params->wpa_ie_len && -- set80211param(drv, IEEE80211_IOC_WPA, -- params->wpa_ie[0] == WLAN_EID_RSN ? 2 : 1) < 0) -- return -1; -- os_memset(&mlme, 0, sizeof(mlme)); - mlme.im_op = IEEE80211_MLME_ASSOC; - if (params->ssid != NULL) @@ -1311,11 +1386,8 @@ } @@ -225,33 +226,7 @@ #ifdef IEEE80211_IOC_SCAN_MAX_SSID os_memset(&sr, 0, sizeof(sr)); -@@ -1487,6 +1559,17 @@ - if (devcaps.dc_drivercaps & IEEE80211_C_WPA2) - drv->capa.key_mgmt = WPA_DRIVER_CAPA_KEY_MGMT_WPA2 | - WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK; -+#ifdef __FreeBSD__ -+ drv->capa.enc |= WPA_DRIVER_CAPA_ENC_WEP40 | -+ WPA_DRIVER_CAPA_ENC_WEP104 | -+ WPA_DRIVER_CAPA_ENC_TKIP | -+ WPA_DRIVER_CAPA_ENC_CCMP; -+#else -+ /* -+ * XXX -+ * FreeBSD exports hardware cryptocaps. These have no meaning for wpa -+ * since net80211 performs software crypto. -+ */ - - if (devcaps.dc_cryptocaps & IEEE80211_CRYPTO_WEP) - drv->capa.enc |= WPA_DRIVER_CAPA_ENC_WEP40 | -@@ -1495,6 +1578,7 @@ - drv->capa.enc |= WPA_DRIVER_CAPA_ENC_TKIP; - if (devcaps.dc_cryptocaps & IEEE80211_CRYPTO_AES_CCM) - drv->capa.enc |= WPA_DRIVER_CAPA_ENC_CCMP; -+#endif - - if (devcaps.dc_drivercaps & IEEE80211_C_HOSTAP) - drv->capa.flags |= WPA_DRIVER_FLAGS_AP; -@@ -1547,6 +1631,8 @@ +@@ -1547,6 +1619,8 @@ } if (ifmr.ifm_current & IFM_IEEE80211_HOSTAP) return IEEE80211_M_HOSTAP; @@ -260,7 +235,7 @@ if (ifmr.ifm_current & IFM_IEEE80211_MONITOR) return IEEE80211_M_MONITOR; #ifdef IEEE80211_M_MBSS -@@ -1607,7 +1693,7 @@ +@@ -1607,7 +1681,7 @@ drv->capa.key_mgmt_iftype[i] = drv->capa.key_mgmt; /* Down interface during setup. */ @@ -269,13 +244,13 @@ goto fail; /* Proven to work, lets go! */ -@@ -1630,6 +1716,9 @@ - +@@ -1631,6 +1705,9 @@ if (drv->ifindex != 0 && !drv->if_removed) { wpa_driver_bsd_set_wpa(drv, 0); -+ + + /* NB: mark interface down */ + bsd_ctrl_iface(drv, 0); - ++ wpa_driver_bsd_set_wpa_internal(drv, drv->prev_wpa, drv->prev_privacy); +