Release 2.11 has been quite a few new features and fixes since the 2.10 release. The following ChangeLog entries highlight some of the main changes: * Wi-Fi Easy Connect - add support for DPP release 3 - allow Configurator parameters to be provided during config exchange * HE/IEEE 802.11ax/Wi-Fi 6 - various fixes * EHT/IEEE 802.11be/Wi-Fi 7 - add preliminary support * SAE: add support for fetching the password from a RADIUS server * support OpenSSL 3.0 API changes * support background radar detection and CAC with some additional drivers * support RADIUS ACL/PSK check during 4-way handshake (wpa_psk_radius=3) * EAP-SIM/AKA: support IMSI privacy * improve 4-way handshake operations - use Secure=1 in message 3 during PTK rekeying ...and many more Remove upstreamed patches: 023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch 030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch 040-mesh-allow-processing-authentication-frames-in-block.patch 181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch 182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch 183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch 210-build-de-duplicate-_DIRS-before-calling-mkdir.patch 253-qos_map_set_without_interworking.patch 751-qos_map_ignore_when_unsupported.patch 800-SAE-Check-for-invalid-Rejected-Groups-element-length.patch 801-SAE-Check-for-invalid-Rejected-Groups-element-length.patch 802-SAE-Reject-invalid-Rejected-Groups-element-in-the-pa.patch Other patches has been updated. Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16338 Signed-off-by: Robert Marko <robimarko@gmail.com>
42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Fri, 26 May 2023 10:23:59 +0200
|
|
Subject: [PATCH] Add ucode support, use ucode for the main ubus object #2
|
|
|
|
This implements vastly improved dynamic configuration reload support.
|
|
It can handle configuration changes on individual wifi interfaces, as well
|
|
as adding/removing interfaces.
|
|
|
|
--- a/hostapd/config_file.c
|
|
+++ b/hostapd/config_file.c
|
|
@@ -5132,7 +5132,12 @@ struct hostapd_config * hostapd_config_r
|
|
int errors = 0;
|
|
size_t i;
|
|
|
|
- f = fopen(fname, "r");
|
|
+ if (!strncmp(fname, "data:", 5)) {
|
|
+ f = fmemopen((void *)(fname + 5), strlen(fname + 5), "r");
|
|
+ fname = "<inline>";
|
|
+ } else {
|
|
+ f = fopen(fname, "r");
|
|
+ }
|
|
if (f == NULL) {
|
|
wpa_printf(MSG_ERROR, "Could not open configuration file '%s' "
|
|
"for reading.", fname);
|
|
--- a/wpa_supplicant/config_file.c
|
|
+++ b/wpa_supplicant/config_file.c
|
|
@@ -326,8 +326,13 @@ struct wpa_config * wpa_config_read(cons
|
|
while (cred_tail && cred_tail->next)
|
|
cred_tail = cred_tail->next;
|
|
|
|
+ if (!strncmp(name, "data:", 5)) {
|
|
+ f = fmemopen((void *)(name + 5), strlen(name + 5), "r");
|
|
+ name = "<inline>";
|
|
+ } else {
|
|
+ f = fopen(name, "r");
|
|
+ }
|
|
wpa_printf(MSG_DEBUG, "Reading configuration file '%s'", name);
|
|
- f = fopen(name, "r");
|
|
if (f == NULL) {
|
|
wpa_printf(MSG_ERROR, "Failed to open config file '%s', "
|
|
"error: %s", name, strerror(errno));
|