Browse Source

P2P: Allow advertisement config methods to be limited

The default config methods was hardcoded to claim support for
PushButton, Display, and Keypad. While these are supported by
most P2P devices, there may be some cases where it is convenient
to be able to disable a specific config method. Use config_methods
configuration parameter to set the default values for Config Methods
in the P2P Device Info attribute.
Jouni Malinen 13 years ago
parent
commit
25e5d5bc08
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/p2p/p2p_build.c

+ 4 - 0
src/p2p/p2p_build.c

@@ -174,6 +174,10 @@ void p2p_buf_add_device_info(struct wpabuf *buf, struct p2p_data *p2p,
 		else if (peer->wps_method == WPS_PIN_DISPLAY ||
 			 peer->wps_method == WPS_PIN_KEYPAD)
 			methods |= WPS_CONFIG_DISPLAY | WPS_CONFIG_KEYPAD;
+	} else if (p2p->cfg->config_methods) {
+		methods |= p2p->cfg->config_methods &
+			(WPS_CONFIG_PUSHBUTTON | WPS_CONFIG_DISPLAY |
+			 WPS_CONFIG_KEYPAD);
 	} else {
 		methods |= WPS_CONFIG_PUSHBUTTON;
 		methods |= WPS_CONFIG_DISPLAY | WPS_CONFIG_KEYPAD;