| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- From: Felix Fietkau <[email protected]>
- 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
- @@ -5207,7 +5207,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));
|