Hi Jouni,<br><br><div class="gmail_quote">On Sat, Dec 10, 2011 at 8:51 PM, Jouni Malinen <span dir="ltr">&lt;<a href="mailto:j@w1.fi">j@w1.fi</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br></div><div class="im">
&gt; Let&#39;s fill in this address and also clean up WPS PBC sessions<br>
&gt; on WSC process completion if UUID was changed.<br>
<br>
</div>This part did not even compile cleanly.. And well, the patch did not<br>
apply either due to some whitespace damage. Did this miss some changes<br>
since one of the wps_registrar_remove_pbc_session() calls was not<br>
updated with the new argument. I would assume you mean to do something<br>
like this:<br>
<br>
<br>
diff --git a/src/wps/wps_registrar.c b/src/wps/wps_registrar.c<br>
index e59edb8..eda1c70 100644<br>
--- a/src/wps/wps_registrar.c<br>
+++ b/src/wps/wps_registrar.c<br>
@@ -310,13 +310,17 @@ static void wps_registrar_add_pbc_session(struct wps_registrar *reg,<br>
<div class="im"><br>
<br>
 static void wps_registrar_remove_pbc_session(struct wps_registrar *reg,<br>
-                                            const u8 *uuid_e)<br>
+                                            const u8 *uuid_e,<br>
+                                            const u8 *p2p_dev_addr)<br>
 {<br>
        struct wps_pbc_session *pbc, *prev = NULL, *tmp;<br>
<br>
        pbc = reg-&gt;pbc_sessions;<br>
        while (pbc) {<br>
-               if (os_memcmp(pbc-&gt;uuid_e, uuid_e, WPS_UUID_LEN) == 0) {<br>
+               if (os_memcmp(pbc-&gt;uuid_e, uuid_e, WPS_UUID_LEN) == 0 ||<br>
</div>+                   (p2p_dev_addr &amp;&amp; !is_zero_ether_addr(reg-&gt;p2p_dev_addr) &amp;&amp;<br>
+                    os_memcmp(reg-&gt;p2p_dev_addr, p2p_dev_addr, ETH_ALEN) ==<br>
+                    0)) {<br>
<div class="im">                        if (prev)<br>
                                prev-&gt;next = pbc-&gt;next;<br>
                        else<br>
</div>@@ -945,7 +949,7 @@ void wps_registrar_complete(struct wps_registrar *registrar, const u8 *uuid_e)<br>
 {<br>
        if (registrar-&gt;pbc) {<br>
                wps_registrar_remove_pbc_session(registrar,<br>
-                                                uuid_e);<br>
+                                                uuid_e, NULL);<br>
                wps_registrar_pbc_completed(registrar);<br>
        } else {<br>
                wps_registrar_pin_completed(registrar);<br>
@@ -3047,7 +3051,8 @@ static enum wps_process_res wps_process_wsc_done(struct wps_data *wps,<br>
<div class="im"><br>
        if (wps-&gt;pbc) {<br>
                wps_registrar_remove_pbc_session(wps-&gt;wps-&gt;registrar,<br>
-                                                wps-&gt;uuid_e);<br>
+                                                wps-&gt;uuid_e,<br>
+                                                wps-&gt;p2p_dev_addr);<br>
                wps_registrar_pbc_completed(wps-&gt;wps-&gt;registrar);<br>
        } else {<br>
                wps_registrar_pin_completed(wps-&gt;wps-&gt;registrar);<br>
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c<br>
</div>index c2095ea..a1c8791 100644<br>
--- a/wpa_supplicant/p2p_supplicant.c<br>
+++ b/wpa_supplicant/p2p_supplicant.c<br>
@@ -689,7 +689,7 @@ static void p2p_go_configured(void *ctx, void *data)<br>
<div class="HOEnZb"><div class="h5">        }<br>
        if (params-&gt;wps_method == WPS_PBC)<br>
                wpa_supplicant_ap_wps_pbc(wpa_s, params-&gt;peer_interface_addr,<br>
-                                         NULL);<br>
+                                         params-&gt;peer_device_addr);<br>
        else if (wpa_s-&gt;p2p_pin[0])<br>
                wpa_supplicant_ap_wps_pin(wpa_s, params-&gt;peer_interface_addr,<br>
                                          wpa_s-&gt;p2p_pin, NULL, 0);<br><br></div></div></blockquote><div><br></div><div>Right. Sorry about that. I&#39;ve used the patch I had as an RFC and I totally forgot to check if there were changes to this code since Nov 29, and now I can see that there was the commit on Nov 30 adding one more call to wpa_supplicant_ap_wps_pbc().</div>
<div><br></div><div>So once again sorry for the mess and thanks for taking care of fixing it,</div><div><br></div><div>Thanks,</div><div>   Vitaly</div></div>