[PATCH] Add support of Passphrase Param in P2P group add command

Jouni Malinen j at w1.fi
Wed Jun 10 13:03:26 EDT 2015


On Mon, Jun 08, 2015 at 09:48:52AM +0530, Maneesh Jain wrote:
> This patch is to add "passphrase" parameter in
> "p2p_group_add" command. It helps application
> to configure its own passphrase while creating
> the group.
> It is most usefull in p2p legacy connection

> diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
> @@ -5532,16 +5533,30 @@ static int p2p_ctrl_group_add(struct wpa_supplicant *wpa_s, char *cmd)
> +	pos = os_strstr(cmd, "passphrase");

I'd assume that should be "passphrase=".

> +		passphrase = pos + 11;
> +		pos = os_strchr(passphrase, ' ');

Please note that ' ' is a valid character in a passphrase.. This type of
parsing would not work for such a case.

> +		if(pos != NULL)
> +			*pos = '\0';

This termination of the string can break the following steps:

>  	if (os_strncmp(cmd, "persistent=", 11) == 0)
...

This argument could have been after the passphrase= parameter.

> diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
> @@ -5365,13 +5365,14 @@ wpas_p2p_get_group_iface(struct wpa_supplicant *wpa_s, int addr_allocated,
> + * @passphrase : Start GO with assigned passphrase

>  int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
> -		       int freq, int ht40, int vht)
> +		       int freq, int ht40, int vht,  char *passphrase)

That should be "const char *".

> @@ -5412,6 +5413,10 @@ int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
> +	if(passphrase != NULL) {
> +		os_strlcpy(params.passphrase, passphrase, 64);

sizeof(params.passphrase) would be better than 64 here. In addition, it
would be good to verify somewhere (likely here) that
os_strlen(passphrase) is 8..63.

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list