/** * wpas_dbus_setter_wps_device_model_number - Set current device model number * @iter: Pointer to incoming dbus message iter * @error: Location to store error on failure * @user_data: Function specific data * Returns: TRUE on success, FALSE on failure * * Setter for "ModelNumber" property. */ dbus_bool_t wpas_dbus_setter_wps_device_model_number( const struct wpa_dbus_property_desc *property_desc, DBusMessageIter *iter, DBusError *error, void *user_data) { struct wpa_supplicant *wpa_s = user_data; char *methods, *model_number; if (!wpas_dbus_simple_property_setter(iter, error, DBUS_TYPE_STRING, &methods)) return FALSE; if (os_strlen(methods) > WPS_MODEL_NUMBER_MAX_LEN) return FALSE; model_number = os_strdup(methods); if (!model_number) return FALSE; os_free(wpa_s->conf->model_number); wpa_s->conf->model_number = model_number; wpa_s->conf->changed_parameters |= CFG_CHANGED_WPS_STRING; wpa_supplicant_update_config(wpa_s); return TRUE; }
/** * wpas_dbus_setter_wps_device_name - Set current WPS device name * @iter: Pointer to incoming dbus message iter * @error: Location to store error on failure * @user_data: Function specific data * Returns: TRUE on success, FALSE on failure * * Setter for "DeviceName" property. */ dbus_bool_t wpas_dbus_setter_wps_device_name( const struct wpa_dbus_property_desc *property_desc, DBusMessageIter *iter, DBusError *error, void *user_data) { struct wpa_supplicant *wpa_s = user_data; char *methods, *devname; if (!wpas_dbus_simple_property_setter(iter, error, DBUS_TYPE_STRING, &methods)) return FALSE; if (os_strlen(methods) > WPS_DEV_NAME_MAX_LEN) return FALSE; devname = os_strdup(methods); if (!devname) return FALSE; os_free(wpa_s->conf->device_name); wpa_s->conf->device_name = devname; wpa_s->conf->changed_parameters |= CFG_CHANGED_DEVICE_NAME; wpa_supplicant_update_config(wpa_s); return TRUE; }
/** * wpas_dbus_setter_config_methods - Set WPS configuration methods * @iter: Pointer to incoming dbus message iter * @error: Location to store error on failure * @user_data: Function specific data * Returns: TRUE on success, FALSE on failure * * Setter for "ConfigMethods" property. Sets the methods string, apply such * change and returns true on success. Returns false otherwise. */ dbus_bool_t wpas_dbus_setter_config_methods(DBusMessageIter *iter, DBusError *error, void *user_data) { struct wpa_supplicant *wpa_s = user_data; char *methods, *new_methods; if (!wpas_dbus_simple_property_setter(iter, error, DBUS_TYPE_STRING, &methods)) return FALSE; new_methods = os_strdup(methods); if (!new_methods) return FALSE; os_free(wpa_s->conf->config_methods); wpa_s->conf->config_methods = new_methods; wpa_s->conf->changed_parameters |= CFG_CHANGED_CONFIG_METHODS; wpa_supplicant_update_config(wpa_s); return TRUE; }
/** * wpas_dbus_setter_process_credentials - Set credentials_processed conf param * @iter: Pointer to incoming dbus message iter * @error: Location to store error on failure * @user_data: Function specific data * Returns: TRUE on success, FALSE on failure * * Setter for "ProcessCredentials" property. Sets credentials_processed on 2 * if boolean argument is true or on 1 if otherwise. */ dbus_bool_t wpas_dbus_setter_process_credentials(DBusMessageIter *iter, DBusError *error, void *user_data) { struct wpa_supplicant *wpa_s = user_data; dbus_bool_t process_credentials, old_pc; if (!wpa_s->dbus_new_path) return FALSE; if (!wpas_dbus_simple_property_setter(iter, error, DBUS_TYPE_BOOLEAN, &process_credentials)) return FALSE; old_pc = wpa_s->conf->wps_cred_processing != 1; wpa_s->conf->wps_cred_processing = (process_credentials ? 2 : 1); if ((wpa_s->conf->wps_cred_processing != 1) != old_pc) wpa_dbus_mark_property_changed(wpa_s->global->dbus, wpa_s->dbus_new_path, WPAS_DBUS_NEW_IFACE_WPS, "ProcessCredentials"); return TRUE; }