diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c index dbbf5eb5b..790816a7a 100644 --- a/wpa_supplicant/config.c +++ b/wpa_supplicant/config.c @@ -2376,10 +2376,10 @@ static const struct global_parse_data global_fields[] = { #ifdef CONFIG_WPS { FUNC(uuid), CFG_CHANGED_UUID }, { STR_RANGE(device_name, 0, 32), CFG_CHANGED_DEVICE_NAME }, - { STR_RANGE(manufacturer, 0, 64), 0 }, - { STR_RANGE(model_name, 0, 32), 0 }, - { STR_RANGE(model_number, 0, 32), 0 }, - { STR_RANGE(serial_number, 0, 32), 0 }, + { STR_RANGE(manufacturer, 0, 64), CFG_CHANGED_WPS_STRING }, + { STR_RANGE(model_name, 0, 32), CFG_CHANGED_WPS_STRING }, + { STR_RANGE(model_number, 0, 32), CFG_CHANGED_WPS_STRING }, + { STR_RANGE(serial_number, 0, 32), CFG_CHANGED_WPS_STRING }, { STR(device_type), CFG_CHANGED_DEVICE_TYPE }, { FUNC(os_version), CFG_CHANGED_OS_VERSION }, { STR(config_methods), CFG_CHANGED_CONFIG_METHODS }, diff --git a/wpa_supplicant/config.h b/wpa_supplicant/config.h index 9faa4f9e5..d3291cd05 100644 --- a/wpa_supplicant/config.h +++ b/wpa_supplicant/config.h @@ -36,6 +36,7 @@ #define CFG_CHANGED_COUNTRY BIT(5) #define CFG_CHANGED_SEC_DEVICE_TYPE BIT(6) #define CFG_CHANGED_P2P_SSID_POSTFIX BIT(7) +#define CFG_CHANGED_WPS_STRING BIT(8) /** * struct wpa_config - wpa_supplicant configuration data diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index 9ded028c7..c955e9ffb 100644 --- a/wpa_supplicant/wps_supplicant.c +++ b/wpa_supplicant/wps_supplicant.c @@ -1387,7 +1387,8 @@ void wpas_wps_update_config(struct wpa_supplicant *wpa_s) os_memcpy(wps->uuid, wpa_s->conf->uuid, WPS_UUID_LEN); } - if (wpa_s->conf->changed_parameters & CFG_CHANGED_DEVICE_NAME) { + if (wpa_s->conf->changed_parameters & + (CFG_CHANGED_DEVICE_NAME | CFG_CHANGED_WPS_STRING)) { /* Update pointers to make sure they refer current values */ wps->dev.device_name = wpa_s->conf->device_name; wps->dev.manufacturer = wpa_s->conf->manufacturer;