aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd/config_file.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2015-02-06 10:50:36 -0800
committerDmitry Shmidt <dimitrysh@google.com>2015-02-06 12:19:20 -0800
commit216983bceec7c450951e2fbcd076b5c75d432e57 (patch)
tree1403584f3ccd0a1fecafb41f25228834b8ea9f20 /hostapd/config_file.c
parent210706032dc5e1eedda5db1465f68a804b2a1e11 (diff)
downloadandroid_external_wpa_supplicant_8-216983bceec7c450951e2fbcd076b5c75d432e57.tar.gz
android_external_wpa_supplicant_8-216983bceec7c450951e2fbcd076b5c75d432e57.tar.bz2
android_external_wpa_supplicant_8-216983bceec7c450951e2fbcd076b5c75d432e57.zip
Cumulative patch from commit 2c0efd9e49b15da163cee659409eee85390620c3
2c0efd9 P2P: Fix stopping on search after SD callback db3168d OpenSSL: Use SSL_cache_hit() when available 68ae477 OpenSSL: Use library wrapper functions to access cert store abe96d0 P2P: Clean up Listen channel optimization debug prints d2ca6ba Fix hostapd obss_interval documentation d027c7b Fix 20/40 MHz co-ex report processing with obss_interval=0 93eca61 P2PS: Do not remove pending interface on p2p_stop_find ae2dd83 P2PS: Allow PD retry in SEARCH and LISTEN_ONLY also 87d5ef5 P2PS: Add commands to control interface redir list 0cf12b3 P2PS: Send P2P_FIND_STOPPED event during P2P SD also 306aaf4 P2PS: Start WPS registrar upon GO formation 9e96e46 P2PS: PD Response processing ab8ee77 P2PS: Provision Discovery fail event 1300cc8 P2PS: PD Request processing and PD Response building 5fefce2 P2PS: Callback to send P2PS provisioning events 9a58e52 P2PS: Callback to create pending group after sending PD Response 895d94d P2PS: Callback to remove stale persistent groups f309c18 P2PS: ASP provisioning commands to control interface 6d90851 P2PS: Process P2PS provisioning commands 369678a P2PS: Add P2PS attributes into PD Request if requested 59fec34 P2PS: Allow p2p_build_ssid() to use pre-set SSID d4b43b5 P2PS: Add support to send ASP-RESP events 6df08d0 P2PS: Logic to parse GAS requests for ASP services 5a4102c P2PS: Add support to send ASP service requests 095b3c4 P2PS: Add Application Service Info to device found events 4660e73 P2PS: Add Advertised Service Info into Probe Response frames 9e7321e P2PS: Parse Probe Request frames for matching ASP hashes ae9d45f P2PS: Extend add/del services logic to support ASP ea8e033 P2P: Allow p2p_get_group_num_members() to be called with NULL 4f88fc0 P2PS: WPS changes needed for P2PS default PIN 1a94b0a P2PS: Add service hash to Probe Request frames 5177509 P2PS: Add option to specify seek strings into P2P_FIND 5f18501 P2PS: Helper functions to build new P2P attributes 60d1148 P2PS: Add parsing of new P2P attributes b9348be P2PS: Add new P2P identifier assignments from P2P spec v1.5 c3d6c71 Add helper functions for escaping and unescaping UTF-8 66eaf8a Fix driver-offloaded offchannel TX done processing c5e154c P2P: Add P2P state into p2p_send_action_cb() debug entry f2dc06e P2P: Ignore remain-on-channel callback event if not waiting for one 6a6569b HS 2.0R2: Add password to DB in case of machine managed subscription f0d0a5d Improve BSS selection with default noise floor values 7f7bfba Add an option allow canned EAP-Success for wired IEEE 802.1X 49fcc32 EAP-MSCHAPv2 peer: Add option to disable password retry query 66bc683 hostapd: Simplify vlan_add_dynamic error paths 99805a0 Interworking: Convert wpa_printf() to wpa_msg() b42f539 Add a variable to handle extra CFLAGS values e6dd819 Work around Linux packet socket regression 7650f9e Fix resource leaks on rsn_preauth_init() error paths a565e03 dhcp_snoop: Make IPv4 addresses human readable in debug log 2dd4f3a Fix STA re-bind to another VLAN on reauthentication 4437f8f Free old eap_user_file data on configuration change 1180dd6 WPA auth: Disconnect STA if MSK cannot be fetched 40aaa64 WPA auth: Clear temporary MSK storage from stack explicitly 01b481a Convert couple of remaining printf to wpa_printf in ap_list bfaefd5 EAP-PEAP server: Fix Phase 2 TLV length in error case 745d936 mesh: Create new station entry on popen frames 41bff86 mesh: Always free the station if peering failed 871ff0b mesh: Sync plink state with kernel ba42261 Simplify eapol_sm_notify_pmkid_attempt() 993a865 Add eap_session_id to wpa_supplicant STATUS output f19c907 OpenSSL: Implement aes_wrap() and aes_unwrap() fee31f7 OpenSSL: Remove support for versions older than 0.9.8 8bf3030 OpenSSL: Use a common helper function for HMAC 983c6a6 OpenSSL: Replace internal HMAC-MD5 implementation Change-Id: I5743003f14efae324537f7dc2c5e6ada892a33a7 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'hostapd/config_file.c')
-rw-r--r--hostapd/config_file.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index 7cbb46b4..e3cad7c9 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -216,7 +216,7 @@ static int hostapd_config_read_eap_user(const char *fname,
FILE *f;
char buf[512], *pos, *start, *pos2;
int line = 0, ret = 0, num_methods;
- struct hostapd_eap_user *user = NULL, *tail = NULL;
+ struct hostapd_eap_user *user = NULL, *tail = NULL, *new_user = NULL;
if (!fname)
return 0;
@@ -494,7 +494,7 @@ static int hostapd_config_read_eap_user(const char *fname,
done:
if (tail == NULL) {
- tail = conf->eap_user = user;
+ tail = new_user = user;
} else {
tail->next = user;
tail = user;
@@ -510,6 +510,18 @@ static int hostapd_config_read_eap_user(const char *fname,
fclose(f);
+ if (ret == 0) {
+ user = conf->eap_user;
+ while (user) {
+ struct hostapd_eap_user *prev;
+
+ prev = user;
+ user = user->next;
+ hostapd_config_free_eap_user(prev);
+ }
+ conf->eap_user = new_user;
+ }
+
return ret;
}
#endif /* EAP_SERVER */