aboutsummaryrefslogtreecommitdiff
path: root/security/wpa_supplicant/files
diff options
context:
space:
mode:
Diffstat (limited to 'security/wpa_supplicant/files')
-rw-r--r--security/wpa_supplicant/files/patch-src_common_dhcp.h4
-rw-r--r--security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c60
-rw-r--r--security/wpa_supplicant/files/patch-src_drivers_driver__ndis.c18
-rw-r--r--security/wpa_supplicant/files/patch-src_l2__packet_l2__packet__freebsd.c4
-rw-r--r--security/wpa_supplicant/files/patch-src_utils_os__unix.c9
-rw-r--r--security/wpa_supplicant/files/patch-src_wps_wps__upnp.c6
-rw-r--r--security/wpa_supplicant/files/patch-wpa__supplicant_Makefile13
-rw-r--r--security/wpa_supplicant/files/patch-wpa__supplicant_ctrl__iface__unix.c8
-rw-r--r--security/wpa_supplicant/files/patch-wpa__supplicant_main.c12
-rw-r--r--security/wpa_supplicant/files/patch-wpa__supplicant_wpa__supplicant.c6
10 files changed, 75 insertions, 65 deletions
diff --git a/security/wpa_supplicant/files/patch-src_common_dhcp.h b/security/wpa_supplicant/files/patch-src_common_dhcp.h
index f88d1921a380..d25233a070b7 100644
--- a/security/wpa_supplicant/files/patch-src_common_dhcp.h
+++ b/security/wpa_supplicant/files/patch-src_common_dhcp.h
@@ -1,5 +1,5 @@
---- src/common/dhcp.h.orig 2018-12-02 11:34:59.000000000 -0800
-+++ src/common/dhcp.h 2018-12-06 00:01:11.429254000 -0800
+--- src/common/dhcp.h.orig 2024-07-20 18:04:37 UTC
++++ src/common/dhcp.h
@@ -9,6 +9,22 @@
#ifndef DHCP_H
#define DHCP_H
diff --git a/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c b/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c
index 7c22ee2a372c..6e83ddc25b46 100644
--- a/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c
+++ b/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c
@@ -1,5 +1,5 @@
---- src/drivers/driver_bsd.c.orig 2024-07-20 11:04:37.000000000 -0700
-+++ src/drivers/driver_bsd.c 2025-04-07 12:47:28.984390000 -0700
+--- src/drivers/driver_bsd.c.orig 2024-07-20 18:04:37 UTC
++++ src/drivers/driver_bsd.c
@@ -9,11 +9,13 @@
#include "includes.h"
@@ -14,7 +14,7 @@
#include "common/wpa_common.h"
#include <ifaddrs.h>
-@@ -293,8 +295,9 @@
+@@ -293,8 +295,9 @@ static int
}
static int
@@ -25,7 +25,7 @@
struct ifreq ifr;
os_memset(&ifr, 0, sizeof(ifr));
-@@ -306,7 +309,34 @@
+@@ -306,7 +309,34 @@ bsd_get_iface_flags(struct bsd_driver_data *drv)
return -1;
}
drv->flags = ifr.ifr_flags;
@@ -60,7 +60,7 @@
}
static int
-@@ -349,6 +379,20 @@
+@@ -349,6 +379,20 @@ bsd_set_key(void *priv, struct wpa_driver_set_key_para
case WPA_ALG_CCMP:
wk.ik_type = IEEE80211_CIPHER_AES_CCM;
break;
@@ -81,7 +81,7 @@
default:
wpa_printf(MSG_ERROR, "%s: unknown alg=%d", __func__, alg);
return -1;
-@@ -413,13 +457,34 @@
+@@ -413,13 +457,34 @@ bsd_configure_wpa(void *priv, struct wpa_bss_params *p
{
#ifndef IEEE80211_IOC_APPIE
static const char *ciphernames[] =
@@ -116,7 +116,7 @@
case WPA_CIPHER_TKIP:
v = IEEE80211_CIPHER_TKIP;
break;
-@@ -456,8 +521,18 @@
+@@ -456,8 +521,18 @@ bsd_configure_wpa(void *priv, struct wpa_bss_params *p
}
v = 0;
@@ -135,7 +135,7 @@
if (params->wpa_pairwise & WPA_CIPHER_TKIP)
v |= 1<<IEEE80211_CIPHER_TKIP;
if (params->wpa_pairwise & WPA_CIPHER_NONE)
-@@ -525,7 +600,7 @@
+@@ -525,7 +600,7 @@ bsd_set_ieee8021x(void *priv, struct wpa_bss_params *p
__func__);
return -1;
}
@@ -144,7 +144,7 @@
}
static void
-@@ -586,6 +661,7 @@
+@@ -586,6 +661,7 @@ bsd_set_freq(void *priv, struct hostapd_freq_params *f
mode = IFM_IEEE80211_11B;
} else {
mode =
@@ -152,7 +152,7 @@
freq->ht_enabled ? IFM_IEEE80211_11NA :
IFM_IEEE80211_11A;
}
-@@ -853,14 +929,18 @@
+@@ -853,14 +929,18 @@ bsd_wireless_event_receive(int sock, void *ctx, void *
drv = bsd_get_drvindex(global, ifm->ifm_index);
if (drv == NULL)
return;
@@ -174,7 +174,7 @@
wpa_printf(MSG_DEBUG, "RTM_IFINFO: Interface '%s' UP",
drv->ifname);
wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_ENABLED,
-@@ -1027,7 +1107,8 @@
+@@ -1027,7 +1107,8 @@ bsd_init(struct hostapd_data *hapd, struct wpa_init_pa
if (l2_packet_get_own_addr(drv->sock_xmit, params->own_addr))
goto bad;
@@ -184,7 +184,7 @@
goto bad;
if (bsd_set_mediaopt(drv, IFM_OMASK, IFM_IEEE80211_HOSTAP) < 0) {
-@@ -1052,12 +1133,13 @@
+@@ -1052,12 +1133,13 @@ bsd_deinit(void *priv)
{
struct bsd_driver_data *drv = priv;
@@ -199,7 +199,7 @@
static int
bsd_set_sta_authorized(void *priv, const u8 *addr,
unsigned int total_flags, unsigned int flags_or,
-@@ -1199,13 +1281,41 @@
+@@ -1199,13 +1281,41 @@ static int
}
static int
@@ -242,7 +242,7 @@
wpa_printf(MSG_DEBUG,
"%s: ssid '%.*s' wpa ie len %u pairwise %u group %u key mgmt %u"
-@@ -1222,7 +1332,10 @@
+@@ -1222,7 +1332,10 @@ wpa_driver_bsd_associate(void *priv, struct wpa_driver
mode = 0 /* STA */;
break;
case IEEE80211_MODE_IBSS:
@@ -253,7 +253,7 @@
break;
case IEEE80211_MODE_AP:
mode = IFM_IEEE80211_HOSTAP;
-@@ -1251,22 +1364,31 @@
+@@ -1251,24 +1364,33 @@ wpa_driver_bsd_associate(void *priv, struct wpa_driver
ret = -1;
if (wpa_driver_bsd_set_auth_alg(drv, params->auth_alg) < 0)
ret = -1;
@@ -266,9 +266,6 @@
- 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);
@@ -288,9 +285,7 @@
+ }
+ }
-- if (params->wpa_ie_len &&
-- set80211param(drv, IEEE80211_IOC_WPA,
-- params->wpa_ie[0] == WLAN_EID_RSN ? 2 : 1) < 0)
+- if (set80211param(drv, IEEE80211_IOC_PRIVACY, privacy) < 0)
+ /*
+ * NB: interface must be marked UP for association
+ * or scanning (ap_scan=2)
@@ -298,8 +293,15 @@
+ 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));
-@@ -1311,11 +1433,8 @@
+ mlme.im_op = IEEE80211_MLME_ASSOC;
+ if (params->ssid != NULL)
+@@ -1311,11 +1433,8 @@ wpa_driver_bsd_scan(void *priv, struct wpa_driver_scan
}
/* NB: interface must be marked UP to do a scan */
@@ -312,7 +314,7 @@
#ifdef IEEE80211_IOC_SCAN_MAX_SSID
os_memset(&sr, 0, sizeof(sr));
-@@ -1495,6 +1614,12 @@
+@@ -1495,6 +1614,12 @@ static int wpa_driver_bsd_capa(struct bsd_driver_data
drv->capa.enc |= WPA_DRIVER_CAPA_ENC_TKIP;
if (devcaps.dc_cryptocaps & IEEE80211_CRYPTO_AES_CCM)
drv->capa.enc |= WPA_DRIVER_CAPA_ENC_CCMP;
@@ -325,7 +327,7 @@
if (devcaps.dc_drivercaps & IEEE80211_C_HOSTAP)
drv->capa.flags |= WPA_DRIVER_FLAGS_AP;
-@@ -1547,6 +1672,8 @@
+@@ -1547,6 +1672,8 @@ get80211opmode(struct bsd_driver_data *drv)
}
if (ifmr.ifm_current & IFM_IEEE80211_HOSTAP)
return IEEE80211_M_HOSTAP;
@@ -334,7 +336,7 @@
if (ifmr.ifm_current & IFM_IEEE80211_MONITOR)
return IEEE80211_M_MONITOR;
#ifdef IEEE80211_M_MBSS
-@@ -1607,7 +1734,7 @@
+@@ -1607,7 +1734,7 @@ wpa_driver_bsd_init(void *ctx, const char *ifname, voi
drv->capa.key_mgmt_iftype[i] = drv->capa.key_mgmt;
/* Down interface during setup. */
@@ -343,13 +345,13 @@
goto fail;
/* Proven to work, lets go! */
-@@ -1631,6 +1758,9 @@
+@@ -1630,6 +1757,9 @@ wpa_driver_bsd_deinit(void *priv)
+
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);
-
diff --git a/security/wpa_supplicant/files/patch-src_drivers_driver__ndis.c b/security/wpa_supplicant/files/patch-src_drivers_driver__ndis.c
index 5c58337c4b3d..3fa5a11bd8e2 100644
--- a/security/wpa_supplicant/files/patch-src_drivers_driver__ndis.c
+++ b/security/wpa_supplicant/files/patch-src_drivers_driver__ndis.c
@@ -1,6 +1,6 @@
---- src/drivers/driver_ndis.c.orig 2019-08-07 13:25:25 UTC
+--- src/drivers/driver_ndis.c.orig 2024-07-20 18:04:37 UTC
+++ src/drivers/driver_ndis.c
-@@ -504,13 +504,13 @@ static int ndis_get_oid(struct wpa_drive
+@@ -504,13 +504,13 @@ static int ndis_get_oid(struct wpa_driver_ndis_data *d
o->Length = len;
if (!PacketRequest(drv->adapter, FALSE, o)) {
@@ -16,7 +16,7 @@
__func__, oid, (unsigned int) o->Length, len);
os_free(buf);
return -1;
-@@ -573,7 +573,7 @@ static int ndis_set_oid(struct wpa_drive
+@@ -573,7 +573,7 @@ static int ndis_set_oid(struct wpa_driver_ndis_data *d
os_memcpy(o->Data, data, len);
if (!PacketRequest(drv->adapter, TRUE, o)) {
@@ -25,7 +25,7 @@
__func__, oid, len);
os_free(buf);
return -1;
-@@ -1531,7 +1531,7 @@ static void wpa_driver_ndis_event_auth(s
+@@ -1543,7 +1543,7 @@ static void wpa_driver_ndis_event_auth(struct wpa_driv
if (data_len < sizeof(*req)) {
wpa_printf(MSG_DEBUG, "NDIS: Too short Authentication Request "
@@ -34,7 +34,7 @@
return;
}
req = (NDIS_802_11_AUTHENTICATION_REQUEST *) data;
-@@ -1565,7 +1565,7 @@ static void wpa_driver_ndis_event_pmkid(
+@@ -1577,7 +1577,7 @@ static void wpa_driver_ndis_event_pmkid(struct wpa_dri
if (data_len < 8) {
wpa_printf(MSG_DEBUG, "NDIS: Too short PMKID Candidate List "
@@ -43,7 +43,7 @@
return;
}
pmkid = (NDIS_802_11_PMKID_CANDIDATE_LIST *) data;
-@@ -1587,7 +1587,7 @@ static void wpa_driver_ndis_event_pmkid(
+@@ -1599,7 +1599,7 @@ static void wpa_driver_ndis_event_pmkid(struct wpa_dri
os_memset(&event, 0, sizeof(event));
for (i = 0; i < pmkid->NumCandidates; i++) {
PMKID_CANDIDATE *p = &pmkid->CandidateList[i];
@@ -52,7 +52,7 @@
i, MAC2STR(p->BSSID), (int) p->Flags);
os_memcpy(event.pmkid_candidate.bssid, p->BSSID, ETH_ALEN);
event.pmkid_candidate.index = i;
-@@ -1778,7 +1778,7 @@ static void wpa_driver_ndis_get_capabili
+@@ -1790,7 +1790,7 @@ static void wpa_driver_ndis_get_capability(struct wpa_
"overflow");
break;
}
@@ -61,7 +61,7 @@
i, (int) ae->AuthModeSupported,
(int) ae->EncryptStatusSupported);
switch (ae->AuthModeSupported) {
-@@ -2106,7 +2106,11 @@ static int wpa_driver_ndis_get_names(str
+@@ -2118,7 +2118,11 @@ static int wpa_driver_ndis_get_names(struct wpa_driver
dlen = dpos - desc;
else
dlen = os_strlen(desc);
@@ -74,7 +74,7 @@
os_free(b);
if (drv->adapter_desc == NULL)
return -1;
-@@ -2274,7 +2278,11 @@ static int wpa_driver_ndis_get_names(str
+@@ -2286,7 +2290,11 @@ static int wpa_driver_ndis_get_names(struct wpa_driver
} else {
dlen = os_strlen(desc[i]);
}
diff --git a/security/wpa_supplicant/files/patch-src_l2__packet_l2__packet__freebsd.c b/security/wpa_supplicant/files/patch-src_l2__packet_l2__packet__freebsd.c
index 2ec52fcdcd85..cd0c9a56f055 100644
--- a/security/wpa_supplicant/files/patch-src_l2__packet_l2__packet__freebsd.c
+++ b/security/wpa_supplicant/files/patch-src_l2__packet_l2__packet__freebsd.c
@@ -1,5 +1,5 @@
---- src/l2_packet/l2_packet_freebsd.c.orig 2023-10-30 10:53:18.000000000 -0700
-+++ src/l2_packet/l2_packet_freebsd.c 2023-10-30 14:10:36.396969000 -0700
+--- src/l2_packet/l2_packet_freebsd.c.orig 2024-07-20 18:04:37 UTC
++++ src/l2_packet/l2_packet_freebsd.c
@@ -8,7 +8,10 @@
*/
diff --git a/security/wpa_supplicant/files/patch-src_utils_os__unix.c b/security/wpa_supplicant/files/patch-src_utils_os__unix.c
index d3ebadbba827..3feccd7f0b28 100644
--- a/security/wpa_supplicant/files/patch-src_utils_os__unix.c
+++ b/security/wpa_supplicant/files/patch-src_utils_os__unix.c
@@ -1,6 +1,6 @@
---- src/utils/os_unix.c.orig 2024-05-10 09:57:55.000000000 -0700
-+++ src/utils/os_unix.c 2024-06-01 22:18:54.999484000 -0700
-@@ -103,10 +103,12 @@
+--- src/utils/os_unix.c.orig 2024-07-20 18:04:37 UTC
++++ src/utils/os_unix.c
+@@ -103,9 +103,11 @@ int os_get_reltime(struct os_reltime *t)
break;
#endif
#ifdef CLOCK_MONOTONIC
@@ -8,8 +8,7 @@
case CLOCK_MONOTONIC:
clock_id = CLOCK_REALTIME;
break;
- #endif
+#endif
+ #endif
case CLOCK_REALTIME:
return -1;
- }
diff --git a/security/wpa_supplicant/files/patch-src_wps_wps__upnp.c b/security/wpa_supplicant/files/patch-src_wps_wps__upnp.c
index ee10b79e48aa..2a0e56329a07 100644
--- a/security/wpa_supplicant/files/patch-src_wps_wps__upnp.c
+++ b/security/wpa_supplicant/files/patch-src_wps_wps__upnp.c
@@ -1,6 +1,6 @@
---- src/wps/wps_upnp.c.orig 2021-03-16 13:50:10.000000000 -0700
-+++ src/wps/wps_upnp.c 2021-03-18 12:49:19.537874000 -0700
-@@ -963,7 +963,8 @@
+--- src/wps/wps_upnp.c.orig 2024-07-20 18:04:37 UTC
++++ src/wps/wps_upnp.c
+@@ -963,7 +963,8 @@ int get_netif_info(const char *net_if, unsigned *ip_ad
goto fail;
}
os_memcpy(mac, req.ifr_addr.sa_data, 6);
diff --git a/security/wpa_supplicant/files/patch-wpa__supplicant_Makefile b/security/wpa_supplicant/files/patch-wpa__supplicant_Makefile
index 9f1393fb85da..1efb42a0844f 100644
--- a/security/wpa_supplicant/files/patch-wpa__supplicant_Makefile
+++ b/security/wpa_supplicant/files/patch-wpa__supplicant_Makefile
@@ -1,6 +1,6 @@
---- wpa_supplicant/Makefile.orig 2015-03-15 17:30:39 UTC
+--- wpa_supplicant/Makefile.orig 2024-07-20 18:04:37 UTC
+++ wpa_supplicant/Makefile
-@@ -99,6 +99,14 @@ OBJS += ../src/utils/os_$(CONFIG_OS).o
+@@ -140,6 +140,14 @@ OBJS_c += ../src/utils/os_$(CONFIG_OS).o
OBJS_p += ../src/utils/os_$(CONFIG_OS).o
OBJS_c += ../src/utils/os_$(CONFIG_OS).o
@@ -15,3 +15,12 @@
ifdef CONFIG_WPA_TRACE
CFLAGS += -DWPA_TRACE
OBJS += ../src/utils/trace.o
+@@ -2050,7 +2058,7 @@ libwpa_client.so: $(LIBCTRLSO)
+
+ libwpa_client.so: $(LIBCTRLSO)
+ @$(E) " CC $@ ($^)"
+- $(Q)$(CC) $(LDFLAGS) -o $@ $(CFLAGS) -shared -fPIC $^
++ $(Q)$(CC) $(LDFLAGS) -o $@ $(CFLAGS) -Wl,-soname,$@.2 -shared -fPIC $^
+
+ OBJS_wpatest := libwpa_test.o
+ _OBJS_VAR := OBJS_wpatest
diff --git a/security/wpa_supplicant/files/patch-wpa__supplicant_ctrl__iface__unix.c b/security/wpa_supplicant/files/patch-wpa__supplicant_ctrl__iface__unix.c
index cc73ac35cd35..80a0c9d7cf1a 100644
--- a/security/wpa_supplicant/files/patch-wpa__supplicant_ctrl__iface__unix.c
+++ b/security/wpa_supplicant/files/patch-wpa__supplicant_ctrl__iface__unix.c
@@ -1,6 +1,6 @@
---- wpa_supplicant/ctrl_iface_unix.c.orig 2022-01-16 12:51:29.000000000 -0800
-+++ wpa_supplicant/ctrl_iface_unix.c 2023-11-29 08:12:07.843443000 -0800
-@@ -506,6 +506,10 @@
+--- wpa_supplicant/ctrl_iface_unix.c.orig 2024-07-20 18:04:37 UTC
++++ wpa_supplicant/ctrl_iface_unix.c
+@@ -509,6 +509,10 @@ static int wpas_ctrl_iface_open_sock(struct wpa_suppli
struct group *grp;
char *endp;
int flags;
@@ -11,7 +11,7 @@
buf = os_strdup(wpa_s->conf->ctrl_interface);
if (buf == NULL)
-@@ -678,6 +682,22 @@
+@@ -681,6 +685,22 @@ havesock:
/* Not fatal, continue on.*/
}
}
diff --git a/security/wpa_supplicant/files/patch-wpa__supplicant_main.c b/security/wpa_supplicant/files/patch-wpa__supplicant_main.c
index 3042768f44d9..f9db90635a4c 100644
--- a/security/wpa_supplicant/files/patch-wpa__supplicant_main.c
+++ b/security/wpa_supplicant/files/patch-wpa__supplicant_main.c
@@ -1,6 +1,6 @@
---- wpa_supplicant/main.c.orig 2016-11-05 20:56:30 UTC
+--- wpa_supplicant/main.c.orig 2024-07-20 18:04:37 UTC
+++ wpa_supplicant/main.c
-@@ -66,7 +66,7 @@ static void usage(void)
+@@ -67,7 +67,7 @@ static void usage(void)
" -c = Configuration file\n"
" -C = ctrl_interface parameter (only used if -c is not)\n"
" -d = increase debugging verbosity (-dd even more)\n"
@@ -9,7 +9,7 @@
" -e = entropy file\n"
#ifdef CONFIG_DEBUG_FILE
" -f = log output to debug file instead of stdout\n"
-@@ -105,8 +105,7 @@ static void usage(void)
+@@ -106,8 +106,7 @@ static void usage(void)
" -W = wait for a control interface monitor before starting\n");
printf("example:\n"
@@ -20,14 +20,14 @@
}
@@ -199,6 +198,11 @@ int main(int argc, char *argv[])
+ iface_count = 1;
wpa_supplicant_fd_workaround(1);
-
++
+#ifdef CONFIG_DRIVER_NDIS
+ void driver_ndis_init_ops(void);
+ driver_ndis_init_ops();
+#endif /* CONFIG_DRIVER_NDIS */
-+
+
for (;;) {
c = getopt(argc, argv,
- "b:Bc:C:D:de:f:g:G:hi:I:KLMm:No:O:p:P:qsTtuvW");
diff --git a/security/wpa_supplicant/files/patch-wpa__supplicant_wpa__supplicant.c b/security/wpa_supplicant/files/patch-wpa__supplicant_wpa__supplicant.c
index 42f150b3595c..8013244d9f7f 100644
--- a/security/wpa_supplicant/files/patch-wpa__supplicant_wpa__supplicant.c
+++ b/security/wpa_supplicant/files/patch-wpa__supplicant_wpa__supplicant.c
@@ -1,6 +1,6 @@
---- wpa_supplicant/wpa_supplicant.c.orig 2019-04-21 03:10:22.000000000 -0400
-+++ wpa_supplicant/wpa_supplicant.c 2019-05-15 22:44:44.919859000 -0400
-@@ -6357,13 +6357,6 @@
+--- wpa_supplicant/wpa_supplicant.c.orig 2024-07-20 18:04:37 UTC
++++ wpa_supplicant/wpa_supplicant.c
+@@ -7983,13 +7983,6 @@ struct wpa_global * wpa_supplicant_init(struct wpa_par
if (params == NULL)
return NULL;