[PATCH] Omit P2P Group Info, in case of no connected peers
Chaitanya TK
chaitanya.mgit
Tue Mar 19 00:26:40 PDT 2013
As per P2P-sec V1.2: "The P2P Group
Info attribute shall be omitted if there are zero
connected P2P Clients."
Don't add the IE, if the no of peers are zero.
Signed-off-by: T Krushna Chaitanya <chaitanyatk at posedge.com>
---
src/p2p/p2p_group.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/p2p/p2p_group.c b/src/p2p/p2p_group.c
index 9559e44..7adab90 100644
--- a/src/p2p/p2p_group.c
+++ b/src/p2p/p2p_group.c
@@ -413,14 +413,16 @@ static struct wpabuf * p2p_group_build_probe_resp_ie(struct p2p_group *group)
/* P2P Device Info */
p2p_buf_add_device_info(p2p_subelems, group->p2p, NULL);
- /* P2P Group Info */
- group_info = wpabuf_put(p2p_subelems, 0);
- wpabuf_put_u8(p2p_subelems, P2P_ATTR_GROUP_INFO);
- wpabuf_put_le16(p2p_subelems, 0); /* Length to be filled */
- for (m = group->members; m; m = m->next)
- p2p_client_info(p2p_subelems, m);
- WPA_PUT_LE16(group_info + 1,
+ /* P2P Group Info: Only when at least 1 P2P CLI is connected */
+ if (group->members != 0) {
+ group_info = wpabuf_put(p2p_subelems, 0);
+ wpabuf_put_u8(p2p_subelems, P2P_ATTR_GROUP_INFO);
+ wpabuf_put_le16(p2p_subelems, 0); /* Length to be filled */
+ for (m = group->members; m; m = m->next)
+ p2p_client_info(p2p_subelems, m);
+ WPA_PUT_LE16(group_info + 1,
(u8 *) wpabuf_put(p2p_subelems, 0) - group_info - 3);
+ }
ie = p2p_group_encaps_probe_resp(p2p_subelems);
wpabuf_free(p2p_subelems);
More information about the Hostap
mailing list