From 1b748e67aeedf90855331eef6ef837e90dc51a23 Mon Sep 17 00:00:00 2001 From: Ben Greear Date: Tue, 26 May 2015 16:47:34 -0400 Subject: [PATCH] HS 2.0: hs20-client: Fix hostname extraction from URL It was not properly handling cases like this: https://foo.local:443 Signed-off-by: Ben Greear --- hs20/client/osu_client.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hs20/client/osu_client.c b/hs20/client/osu_client.c index 5cd823eeb..478d940e2 100644 --- a/hs20/client/osu_client.c +++ b/hs20/client/osu_client.c @@ -2704,7 +2704,7 @@ 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--; @@ -2734,8 +2734,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);