[PATCH 3/3] hs20-client: Fix hostname extraction from url.

greearb at candelatech.com greearb at candelatech.com
Tue May 26 16:47:34 EDT 2015


From: Ben Greear <greearb at candelatech.com>

It was not properly handling cases like this:

https://foo.local:443

Signed-off-by: Ben Greear <greearb at candelatech.com>
---
 hs20/client/osu_client.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hs20/client/osu_client.c b/hs20/client/osu_client.c
index 40d5c61..c37f1df 100644
--- a/hs20/client/osu_client.c
+++ b/hs20/client/osu_client.c
@@ -2712,7 +2712,9 @@ static char * get_hostname(const char *url)
 
 	end = os_strchr(pos, '/');
 	end2 = os_strchr(pos, ':');
-	if (end && end2 && end2 < end)
+
+	if ((end && end2 && (end2 < end)) ||
+	    ((!end) && end2))
 		end = end2;
 	if (end)
 		end--;
@@ -2742,8 +2744,8 @@ static int osu_cert_cb(void *_ctx, struct http_cert *cert)
 	int found;
 	char *host = NULL;
 
-	wpa_printf(MSG_INFO, "osu_cert_cb(osu_cert_validation=%d)",
-		   !ctx->no_osu_cert_validation);
+	wpa_printf(MSG_INFO, "osu_cert_cb(osu_cert_validation=%d, url=%s)",
+		   !ctx->no_osu_cert_validation, ctx->server_url);
 
 	host = get_hostname(ctx->server_url);
 
-- 
1.9.3



More information about the HostAP mailing list