HS 2.0R2: Add more logging for hs20-osu-client icon matching

Add some more verbose logging, and make sure logging
messages are unique for easier debugging.

Signed-off-by: Ben Greear <greearb@candelatech.com>
This commit is contained in:
Ben Greear 2015-03-26 17:39:55 -04:00 committed by Jouni Malinen
parent 8e31cd2cf6
commit 270427ea3f

View File

@ -2810,17 +2810,21 @@ static int osu_cert_cb(void *_ctx, struct http_cert *cert)
char *name = ctx->icon_filename[j]; char *name = ctx->icon_filename[j];
size_t name_len = os_strlen(name); size_t name_len = os_strlen(name);
wpa_printf(MSG_INFO, "Looking for icon file name '%s' match", wpa_printf(MSG_INFO,
name); "[%i] Looking for icon file name '%s' match",
j, name);
for (i = 0; i < cert->num_logo; i++) { for (i = 0; i < cert->num_logo; i++) {
struct http_logo *logo = &cert->logo[i]; struct http_logo *logo = &cert->logo[i];
size_t uri_len = os_strlen(logo->uri); size_t uri_len = os_strlen(logo->uri);
char *pos; char *pos;
wpa_printf(MSG_INFO, "Comparing to '%s' uri_len=%d name_len=%d", wpa_printf(MSG_INFO,
logo->uri, (int) uri_len, (int) name_len); "[%i] Comparing to '%s' uri_len=%d name_len=%d",
if (uri_len < 1 + name_len) i, logo->uri, (int) uri_len, (int) name_len);
if (uri_len < 1 + name_len) {
wpa_printf(MSG_INFO, "URI Length is too short");
continue; continue;
}
pos = &logo->uri[uri_len - name_len - 1]; pos = &logo->uri[uri_len - name_len - 1];
if (*pos != '/') if (*pos != '/')
continue; continue;
@ -2847,17 +2851,30 @@ static int osu_cert_cb(void *_ctx, struct http_cert *cert)
for (i = 0; i < cert->num_logo; i++) { for (i = 0; i < cert->num_logo; i++) {
struct http_logo *logo = &cert->logo[i]; struct http_logo *logo = &cert->logo[i];
if (logo->hash_len != 32) if (logo->hash_len != 32) {
wpa_printf(MSG_INFO,
"[%i][%i] Icon hash length invalid (should be 32): %d",
j, i, (int) logo->hash_len);
continue; continue;
}
if (os_memcmp(logo->hash, ctx->icon_hash[j], 32) == 0) { if (os_memcmp(logo->hash, ctx->icon_hash[j], 32) == 0) {
found = 1; found = 1;
break; break;
} }
wpa_printf(MSG_DEBUG,
"[%u][%u] Icon hash did not match", j, i);
wpa_hexdump_ascii(MSG_DEBUG, "logo->hash",
logo->hash, 32);
wpa_hexdump_ascii(MSG_DEBUG, "ctx->icon_hash[j]",
ctx->icon_hash[j], 32);
} }
if (!found) { if (!found) {
wpa_printf(MSG_INFO, "No icon hash match found"); wpa_printf(MSG_INFO,
write_result(ctx, "No icon hash match found"); "No icon hash match (by hash) found");
write_result(ctx,
"No icon hash match (by hash) found");
return -1; return -1;
} }
} }