From: Szymon Bigos Date: Fri, 2 Dec 2011 21:04:39 +0000 (+0200) Subject: Fix generated WPS PIN values to use zero-padding X-Git-Tag: aosp-jb-start~216 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=9337e876ab677facc850f4db682a7a8d9aed018c;p=mech_eap.git Fix generated WPS PIN values to use zero-padding The dynamically generated PINs are supposed to have 8 digits, but some PIN generatation cases were not zero-padding these properly. --- diff --git a/src/ap/wps_hostapd.c b/src/ap/wps_hostapd.c index 60961fd..817012e 100644 --- a/src/ap/wps_hostapd.c +++ b/src/ap/wps_hostapd.c @@ -1350,7 +1350,7 @@ const char * hostapd_wps_ap_pin_random(struct hostapd_data *hapd, int timeout) struct wps_ap_pin_data data; pin = wps_generate_pin(); - os_snprintf(data.pin_txt, sizeof(data.pin_txt), "%u", pin); + os_snprintf(data.pin_txt, sizeof(data.pin_txt), "%08u", pin); data.timeout = timeout; hostapd_wps_for_each(hapd, wps_ap_pin_set, &data); return hapd->conf->ap_pin; diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index db0259d..4d186b9 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -711,7 +711,7 @@ int wpa_supplicant_ap_wps_pin(struct wpa_supplicant *wpa_s, const u8 *bssid, if (pin == NULL) { unsigned int rpin = wps_generate_pin(); - ret_len = os_snprintf(buf, buflen, "%d", rpin); + ret_len = os_snprintf(buf, buflen, "%08d", rpin); pin = buf; } else ret_len = os_snprintf(buf, buflen, "%s", pin); @@ -772,7 +772,7 @@ const char * wpas_wps_ap_pin_random(struct wpa_supplicant *wpa_s, int timeout) return NULL; hapd = wpa_s->ap_iface->bss[0]; pin = wps_generate_pin(); - os_snprintf(pin_txt, sizeof(pin_txt), "%u", pin); + os_snprintf(pin_txt, sizeof(pin_txt), "%08u", pin); os_free(hapd->conf->ap_pin); hapd->conf->ap_pin = os_strdup(pin_txt); if (hapd->conf->ap_pin == NULL)