diff options
| author | Dmitry Shmidt <dimitrysh@google.com> | 2015-01-21 13:19:05 -0800 |
|---|---|---|
| committer | Dmitry Shmidt <dimitrysh@google.com> | 2015-01-21 13:19:05 -0800 |
| commit | 432d603c922e970f55866c63212d29c997438977 (patch) | |
| tree | 96bd946a062b0841fe98b765235cc28f9a0bf6db /hs20 | |
| parent | 746bde5f922dfd627d25111da4313395bc4ed6af (diff) | |
| download | android_external_wpa_supplicant_8-432d603c922e970f55866c63212d29c997438977.tar.gz android_external_wpa_supplicant_8-432d603c922e970f55866c63212d29c997438977.tar.bz2 android_external_wpa_supplicant_8-432d603c922e970f55866c63212d29c997438977.zip | |
Cumulative patch from commit fb09ed338919db09f3990196171fa73b37e7a17f
fb09ed3 Interworking: Notify the ANQP parsing status
d10b01d HS20: Provide appropriate permission to the OSU related files
73f1ee0 HS20: Fix TrustRoot path for PolicyUpdate node in PPS MO
54a0ac0 HS20: Return result of cmd_sub_rem in hs20-osu-client
b62b0cb WNM: Fix possible memory leak by free buf
9bd0273 EAP: Fix possible memory leak in eap_ttls_process_decrypted()
b760e64 eap_server: Avoid NULL pointer dereference in eap_fast_encrypt_phase2()
948d3a8 hostapd: Remove unused variable from hostapd_get_hw_features
dd09e42 Fix memory leak in wpa_supplicant global bgscan configuration
30f459c wpa_cli: Fix NULL dereference on printf string argument
414f23d Avoid NULL string in printf on EAP method names in authenticator
b72b2ad P2P: Stop p2p_listen/find on wpas_p2p_invite
7b7b444 nl80211: Fix reading of the extended capabilities mask
7e608d1 P2P: Use the correct wpa_s interface to handle P2P state flush
fd83335 AP: Enable HT Tx STBC for AP/GO if supported by driver
d90bfa9 Move external_scan_running to wpa_radio
0c5f01f Clear reattach flag in fast associate flow
8ad8bc5 NFC: Redirect NFC commands on global control interface
57ae1f5 P2P: Fix P2P invitation with NFC
07565ab WNM: Fix the length of WNM_BSS_QUERY control interface command
2d9c99e Retry scan-for-connect if driver trigger fails
911942e Add a test framework for various wpa_supplicant failure cases
6b46bfa WPS: Re-fix an interoperability issue with mixed mode and AP Settings
1648cc6 ACS: Allow subset of channels to be configured
95ff306 nl80211: Allow HT/VHT to be disabled for IBSS
7451a21 mesh: Return negative value on join failed
5a2a6de mesh: Make inactivity timer configurable
b9749ba AP: Expire STA without entry in kernel
a114c72 AP: Remove redundant condition for STA expiration
0d787f0 Fix RADIUS client with out-of-memory and missing shared secret
0efcad2 Print in debug log whether attached monitor is for global interface
8266e6c HS 2.0: Try to use same BSS entry for storing GAS results
6c69991 Make wpa_supplicant FLUSH command more likely to clear all BSS entries
2dbe63a Write reason for scan only_new_results into debug log
242b83a eapol_test: Fix cert_cb() function arguments
a8826b1 Interworking: Avoid busy loop in scan result mismatch corner cases
edd5939 Interworking: Start ANQP fetch from eloop callback
cbc210d RADIUS DAS: Allow PMKSA cache entry to be removed without association
4e871ed RADIUS DAS: Support Acct-Multi-Session-Id as a session identifier
b52c0d4 Add authMultiSessionId into hostapd STA info
861beb7 RADIUS DAS: Check for single session match for Disconnect-Request
783b2a9 Interworking: Fix INTERWORKING_CONNECT with zero-length SSID BSS entry
1fef85c nl80211: Fix AP-scan-in-STA-mode error path behavior
cebee30 Add domain_match network profile parameter
d07d3fb Add peer certificate alt subject name information to EAP events
98a4cd4 D-Bus: Clear cached EAP data on network profile changes
483dd6a Include peer certificate always in EAP events
dd5f902 Get rid of a compiler warning
d29fa3a Extend VENDOR_ELEM parameters to cover non-P2P Association Request
e7d0e97 hostapd: Add vendor specific VHT extension for the 2.4 GHz band
Change-Id: I45436c49986cd6bddbd869db3f474871a29ce1dc
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'hs20')
| -rw-r--r-- | hs20/client/osu_client.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/hs20/client/osu_client.c b/hs20/client/osu_client.c index a439bdeb..e452aa70 100644 --- a/hs20/client/osu_client.c +++ b/hs20/client/osu_client.c @@ -397,9 +397,9 @@ static int cmd_dl_polupd_ca(struct hs20_osu_client *ctx, const char *pps_fname, } node = get_child_node(ctx->xml, pps, - "PolicyUpdate/TrustRoot"); + "Policy/PolicyUpdate/TrustRoot"); if (node == NULL) { - wpa_printf(MSG_INFO, "No PolicyUpdate/TrustRoot/CertURL found from PPS"); + wpa_printf(MSG_INFO, "No Policy/PolicyUpdate/TrustRoot/CertURL found from PPS"); xml_node_free(ctx->xml, pps); return -1; } @@ -2343,8 +2343,8 @@ static int cmd_signup(struct hs20_osu_client *ctx, int no_prod_assoc, } -static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, - const char *pps_fname, const char *ca_fname) +static int cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, + const char *pps_fname, const char *ca_fname) { xml_node_t *pps, *node; char pps_fname_buf[300]; @@ -2371,12 +2371,12 @@ static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, } else if (get_wpa_status(ctx->ifname, "provisioning_sp", buf, sizeof(buf)) < 0) { wpa_printf(MSG_INFO, "Could not get provisioning Home SP FQDN from wpa_supplicant"); - return; + return -1; } os_free(ctx->fqdn); ctx->fqdn = os_strdup(buf); if (ctx->fqdn == NULL) - return; + return -1; wpa_printf(MSG_INFO, "Home SP FQDN for current credential: %s", buf); os_snprintf(pps_fname_buf, sizeof(pps_fname_buf), @@ -2391,14 +2391,14 @@ static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, if (!os_file_exists(pps_fname)) { wpa_printf(MSG_INFO, "PPS file '%s' does not exist or is not accessible", pps_fname); - return; + return -1; } wpa_printf(MSG_INFO, "Using PPS file: %s", pps_fname); if (ca_fname && !os_file_exists(ca_fname)) { wpa_printf(MSG_INFO, "CA file '%s' does not exist or is not accessible", ca_fname); - return; + return -1; } wpa_printf(MSG_INFO, "Using server trust root: %s", ca_fname); ctx->ca_fname = ca_fname; @@ -2406,7 +2406,7 @@ static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, pps = node_from_file(ctx->xml, pps_fname); if (pps == NULL) { wpa_printf(MSG_INFO, "Could not read PPS MO"); - return; + return -1; } if (!ctx->fqdn) { @@ -2414,18 +2414,18 @@ static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, node = get_child_node(ctx->xml, pps, "HomeSP/FQDN"); if (node == NULL) { wpa_printf(MSG_INFO, "No HomeSP/FQDN found from PPS"); - return; + return -1; } tmp = xml_node_get_text(ctx->xml, node); if (tmp == NULL) { wpa_printf(MSG_INFO, "No HomeSP/FQDN text found from PPS"); - return; + return -1; } ctx->fqdn = os_strdup(tmp); xml_node_get_text_free(ctx->xml, tmp); if (!ctx->fqdn) { wpa_printf(MSG_INFO, "No FQDN known"); - return; + return -1; } } @@ -2474,7 +2474,7 @@ static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, } if (!address) { wpa_printf(MSG_INFO, "Server URL not known"); - return; + return -1; } write_summary(ctx, "Wait for IP address for subscriptiom remediation"); @@ -2497,6 +2497,7 @@ static void cmd_sub_rem(struct hs20_osu_client *ctx, const char *address, xml_node_get_text_free(ctx->xml, cred_username); str_clear_free(cred_password); xml_node_free(ctx->xml, pps); + return 0; } @@ -3066,10 +3067,11 @@ int main(int argc, char *argv[]) if (argc - optind < 2) wpa_printf(MSG_ERROR, "Server URL missing from command line"); else - cmd_sub_rem(&ctx, argv[optind + 1], - argc > optind + 2 ? argv[optind + 2] : NULL, - argc > optind + 3 ? argv[optind + 3] : - NULL); + ret = cmd_sub_rem(&ctx, argv[optind + 1], + argc > optind + 2 ? + argv[optind + 2] : NULL, + argc > optind + 3 ? + argv[optind + 3] : NULL); } else if (strcmp(argv[optind], "pol_upd") == 0) { if (argc - optind < 2) { usage(); |
