Hello,<br><br>Version: openswan-2.4.9<br><br>Motivated by <a href="http://lists.openswan.org/pipermail/dev/2008-December/001994.html" target="_blank">http://lists.openswan.org/pipermail/dev/2008-December/001994.html</a>,<br>
I tried multiple road warrior connection in aggressive mode with different pre-shared secrets.<br>
<br>I found it not working as it does not allow the newly chosen connection to have different PSK than the current one.<br><br>programs/pluto/connections.c::3778<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch (auth)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case OAKLEY_PRESHARED_KEY:<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* secret must match the one we already used */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const chunk_t *dpsk = get_preshared_secret(d);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (dpsk == NULL)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* no secret */<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (psk != dpsk)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (psk-&gt;len != dpsk-&gt;len<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || memcmp(psk-&gt;ptr, dpsk-&gt;ptr, psk-&gt;len) != 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;&nbsp;&nbsp; /* different secret */<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br><br><br>Should I bypass the check for Aggressive mode?<br>

<br>

--- connections.c.orig&nbsp; 2008-12-30 18:42:26.000000000 +0530<br>

+++ connections.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2008-12-30 21:28:10.000000000 +0530<br>

@@ -3785,7 +3785,7 @@ refine_host_connection(const struct stat<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (dpsk == NULL)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* no secret */<br>

&nbsp;<br>

-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (psk != dpsk)<br>

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(d-&gt;policy &amp; POLICY_AGGRESSIVE) &amp;&amp; psk != dpsk)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (psk-&gt;len != dpsk-&gt;len<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || memcmp(psk-&gt;ptr, dpsk-&gt;ptr, psk-&gt;len) != 0)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;&nbsp;&nbsp; /* different secret */<br>

<br><br>Thanks for your time.<br>-hiren<br><br>------------------details----------------<br><br>Configuration:<br><br>version 2<br>config setup<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; interfaces=&quot;ipsec0=eth1 ipsec1=eth2 &quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; klipsdebug=none<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plutodebug=&quot;none&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uniqueids=no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nat_traversal=yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crlcheckinterval=3600<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nhelpers=0<br><br><br>conn %default<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftupdown=/usr/lib/ipsec/_updown<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightupdown=/usr/lib/ipsec/_updown<br>
<br>conn aggr-1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aggrmode=yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left=172.16.1.2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftsubnet=<a href="http://192.168.3.1/32">192.168.3.1/32</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftid=&quot;@local&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; right=%any<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightsubnet=&quot;vhost:%v4:<a href="http://0.0.0.0/0">0.0.0.0/0</a>&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightid=&quot;@rw-1&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; authby=secret<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ike=3des-md5<br><br>conn aggr-2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aggrmode=yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left=172.16.1.2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftsubnet=<a href="http://192.168.3.2/32">192.168.3.2/32</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftid=&quot;@local&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; right=%any<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightsubnet=&quot;vhost:%v4:<a href="http://0.0.0.0/0">0.0.0.0/0</a>&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightid=&quot;@rw-2&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; authby=secret<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ike=3des-md5<br>
<br>secrets:<br><br>@local @rw-1 : PSK &quot;psk-1&quot;<br>@local @rw-2 : PSK &quot;psk-2&quot;<br><br><br>------------failed to switch with different PSKs------------------<br><br>| *received 324 bytes from <a href="http://172.16.1.1:500">172.16.1.1:500</a> on eth1 (port=500)<br>
|&nbsp;&nbsp; 6d 23 1d 5b&nbsp; e8 24 89 9c&nbsp; 00 00 00 00&nbsp; 00 00 00 00<br>|&nbsp;&nbsp; 01 10 04 00&nbsp; 00 00 00 00&nbsp; 00 00 01 44&nbsp; 0d 00 00 34<br>|&nbsp;&nbsp; 00 00 00 01&nbsp; 00 00 00 01&nbsp; 00 00 00 28&nbsp; 01 01 00 01<br>|&nbsp;&nbsp; 00 00 00 20&nbsp; 00 01 00 00&nbsp; 80 01 00 05&nbsp; 80 02 00 01<br>
|&nbsp;&nbsp; 80 03 00 01&nbsp; 80 04 00 02&nbsp; 80 0b 00 01&nbsp; 80 0c 0e 10<br>|&nbsp;&nbsp; 0d 00 00 14&nbsp; 44 85 15 2d&nbsp; 18 b6 bb cd&nbsp; 0b e8 a8 46<br>|&nbsp;&nbsp; 95 79 dd cc&nbsp; 0d 00 00 14&nbsp; 90 cb 80 91&nbsp; 3e bb 69 6e<br>|&nbsp;&nbsp; 08 63 81 b5&nbsp; ec 42 7b 1f&nbsp; 0d 00 00 14&nbsp; 7d 94 19 a6<br>
|&nbsp;&nbsp; 53 10 ca 6f&nbsp; 2c 17 9d 92&nbsp; 15 52 9d 56&nbsp; 04 00 00 14<br>|&nbsp;&nbsp; af ca d7 13&nbsp; 68 a1 f1 c9&nbsp; 6b 86 96 fc&nbsp; 77 57 01 00<br>|&nbsp;&nbsp; 0a 00 00 84&nbsp; 23 45 f8 0f&nbsp; cb 45 61 3b&nbsp; 46 9e b7 a8<br>|&nbsp;&nbsp; cd 42 ee 58&nbsp; 46 77 30 34&nbsp; d2 47 5c 13&nbsp; c3 af 8c c1<br>
|&nbsp;&nbsp; cd 6a fa 2c&nbsp; 8a 32 c9 35&nbsp; 49 b8 3f dc&nbsp; 92 f4 63 e6<br>|&nbsp;&nbsp; df 72 0b a4&nbsp; 06 13 72 d7&nbsp; 58 94 9e c1&nbsp; 55 11 48 e8<br>|&nbsp;&nbsp; 92 90 c2 bc&nbsp; 32 ac a1 d3&nbsp; f9 51 82 8b&nbsp; a1 a6 8a 3f<br>|&nbsp;&nbsp; 3c 99 d7 44&nbsp; 28 49 1d 8d&nbsp; ae a3 58 cb&nbsp; 06 10 8b d4<br>
|&nbsp;&nbsp; 9a d9 5f 00&nbsp; c9 b8 5a 89&nbsp; 79 7b fd 0b&nbsp; 52 a1 29 c4<br>|&nbsp;&nbsp; 09 96 3e 1e&nbsp; 27 62 f2 0a&nbsp; 70 36 41 4c&nbsp; 03 48 e2 8f<br>|&nbsp;&nbsp; 7a 3c db 9a&nbsp; 05 00 00 14&nbsp; f9 36 74 46&nbsp; 95 e1 d7 ed<br>|&nbsp;&nbsp; 98 2b 53 8c&nbsp; 5c 1c 69 da&nbsp; 00 00 00 0c&nbsp; 02 00 00 00<br>
|&nbsp;&nbsp; 72 77 2d 31<br>| **parse ISAKMP Message:<br>|&nbsp;&nbsp;&nbsp; initiator cookie:<br>|&nbsp;&nbsp; 6d 23 1d 5b&nbsp; e8 24 89 9c<br>|&nbsp;&nbsp;&nbsp; responder cookie:<br>|&nbsp;&nbsp; 00 00 00 00&nbsp; 00 00 00 00<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_SA<br>|&nbsp;&nbsp;&nbsp; ISAKMP version: ISAKMP Version 1.0<br>
|&nbsp;&nbsp;&nbsp; exchange type: ISAKMP_XCHG_AGGR<br>|&nbsp;&nbsp;&nbsp; flags: none<br>|&nbsp;&nbsp;&nbsp; message ID:&nbsp; 00 00 00 00<br>|&nbsp;&nbsp;&nbsp; length: 324<br>|&nbsp; processing packet with exchange type=ISAKMP_XCHG_AGGR (4)<br>| np=1 and sd=0x80c198c<br>| ***parse ISAKMP Security Association Payload:<br>
|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>|&nbsp;&nbsp;&nbsp; length: 52<br>|&nbsp;&nbsp;&nbsp; DOI: ISAKMP_DOI_IPSEC<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>
| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>
|&nbsp;&nbsp;&nbsp; length: 20<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_KE<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=4 and sd=0x80c1c40<br>| ***parse ISAKMP Key Exchange Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_NONCE<br>
|&nbsp;&nbsp;&nbsp; length: 132<br>| np=10 and sd=0x80c1e14<br>| ***parse ISAKMP Nonce Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_ID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=5 and sd=(nil)<br>| ***parse ISAKMP Identification Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_NONE<br>
|&nbsp;&nbsp;&nbsp; length: 12<br>|&nbsp;&nbsp;&nbsp; ID type: ID_FQDN<br>|&nbsp;&nbsp;&nbsp; DOI specific A: 0<br>|&nbsp;&nbsp;&nbsp; DOI specific B: 0<br>packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-00]<br>
packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] method set to=106<br>packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03] method set to=108<br>
packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [Dead Peer Detection]<br>| find_host_connection called from aggr_inI1_outR1_common<br>| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://0.0.0.0:500">0.0.0.0:500</a><br>
| find_host_pair_conn (find_host_connection2): <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://172.16.1.1:500">172.16.1.1:500</a> -&gt; hp:none<br>| find_host_connection called from aggr_inI1_outR1_common<br>
| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://0.0.0.0:500">0.0.0.0:500</a><br>| find_host_pair_conn (find_host_connection2): <a href="http://172.16.1.2:500">172.16.1.2:500</a> %any:500 -&gt; hp:aggr-2<br>
| alg_info_addref() alg_info-&gt;ref_cnt=3<br>| alg_info_addref() alg_info-&gt;ref_cnt=4<br>| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://0.0.0.0:500">0.0.0.0:500</a><br>
| connect_to_host_pair: <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://172.16.1.1:500">172.16.1.1:500</a> -&gt; hp:none<br>| instantiated &quot;aggr-2&quot; for 172.16.1.1<br>| creating state object #29 at 0x8117dd0<br>
&quot;aggr-2&quot;[1] 172.16.1.1 #29: Aggressive mode peer ID is ID_FQDN: &#39;@rw-1&#39;<br>| refine_connection: starting with aggr-2<br>| started looking for secret for @local-&gt;@rw-2 of kind PPK_PSK<br>| actually looking for secret for @local-&gt;@rw-2 of kind PPK_PSK<br>
| 1: compared PSK @rw-2 to @local / @rw-2 -&gt; 2<br>| 2: compared PSK @local to @local / @rw-2 -&gt; 6<br>| best_match 0&gt;6 best=0x810bcf0 (line=2)<br>| 1: compared PSK @rw-1 to @local / @rw-2 -&gt; 0<br>| 2: compared PSK @local to @local / @rw-2 -&gt; 4<br>
| concluding with best_match=6 best=0x810bcf0 (lineno=2)<br>|&nbsp;&nbsp;&nbsp; match_id a=@rw-1<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b=@rw-2<br>|&nbsp;&nbsp;&nbsp; results&nbsp; fail<br>|&nbsp;&nbsp; trusted_ca called with a=(empty) b=(empty)<br>| refine_connection: checking aggr-2 against aggr-2, best=(none) with match=0(id=0/ca=1/reqca=1)<br>
| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://172.16.1.1:500">172.16.1.1:500</a><br>| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://0.0.0.0:500">0.0.0.0:500</a><br>
| find_host_pair_conn (refine_host_connection): <a href="http://172.16.1.2:500">172.16.1.2:500</a> %any:500 -&gt; hp:aggr-2<br>|&nbsp;&nbsp;&nbsp; match_id a=@rw-1<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b=@rw-2<br>|&nbsp;&nbsp;&nbsp; results&nbsp; fail<br>|&nbsp;&nbsp; trusted_ca called with a=(empty) b=(empty)<br>
| refine_connection: checking aggr-2 against aggr-2, best=(none) with match=0(id=0/ca=1/reqca=1)<br>|&nbsp;&nbsp;&nbsp; match_id a=@rw-1<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b=@rw-1<br>|&nbsp;&nbsp;&nbsp; results&nbsp; matched<br>|&nbsp;&nbsp; trusted_ca called with a=(empty) b=(empty)<br>
| refine_connection: checking aggr-2 against aggr-1, best=(none) with match=1(id=1/ca=1/reqca=1)<br>| refine_connection: checked aggr-2 against aggr-1, now for see if best<br>| started looking for secret for @local-&gt;@rw-1 of kind PPK_PSK<br>
| actually looking for secret for @local-&gt;@rw-1 of kind PPK_PSK<br>| 1: compared PSK @rw-2 to @local / @rw-1 -&gt; 0<br>| 2: compared PSK @local to @local / @rw-1 -&gt; 4<br>| 1: compared PSK @rw-1 to @local / @rw-1 -&gt; 2<br>
| 2: compared PSK @local to @local / @rw-1 -&gt; 6<br>| best_match 0&gt;6 best=0x8103d68 (line=1)<br>| concluding with best_match=6 best=0x8103d68 (lineno=1)<br>&quot;aggr-2&quot;[1] 172.16.1.1 #29: no suitable connection for peer &#39;@rw-1&#39;<br>
<br><br>------------------successful switching after making all PSKs the same----------------------<br><br>| *received 324 bytes from <a href="http://172.16.1.1:500">172.16.1.1:500</a> on eth1 (port=500)<br>|&nbsp;&nbsp; d1 78 1f 02&nbsp; 1e d9 36 19&nbsp; 00 00 00 00&nbsp; 00 00 00 00<br>
|&nbsp;&nbsp; 01 10 04 00&nbsp; 00 00 00 00&nbsp; 00 00 01 44&nbsp; 0d 00 00 34<br>|&nbsp;&nbsp; 00 00 00 01&nbsp; 00 00 00 01&nbsp; 00 00 00 28&nbsp; 01 01 00 01<br>|&nbsp;&nbsp; 00 00 00 20&nbsp; 00 01 00 00&nbsp; 80 01 00 05&nbsp; 80 02 00 01<br>|&nbsp;&nbsp; 80 03 00 01&nbsp; 80 04 00 02&nbsp; 80 0b 00 01&nbsp; 80 0c 0e 10<br>
|&nbsp;&nbsp; 0d 00 00 14&nbsp; 44 85 15 2d&nbsp; 18 b6 bb cd&nbsp; 0b e8 a8 46<br>|&nbsp;&nbsp; 95 79 dd cc&nbsp; 0d 00 00 14&nbsp; 90 cb 80 91&nbsp; 3e bb 69 6e<br>|&nbsp;&nbsp; 08 63 81 b5&nbsp; ec 42 7b 1f&nbsp; 0d 00 00 14&nbsp; 7d 94 19 a6<br>|&nbsp;&nbsp; 53 10 ca 6f&nbsp; 2c 17 9d 92&nbsp; 15 52 9d 56&nbsp; 04 00 00 14<br>
|&nbsp;&nbsp; af ca d7 13&nbsp; 68 a1 f1 c9&nbsp; 6b 86 96 fc&nbsp; 77 57 01 00<br>|&nbsp;&nbsp; 0a 00 00 84&nbsp; 3a 34 7b 5f&nbsp; c0 17 28 88&nbsp; 2d 7f aa 57<br>|&nbsp;&nbsp; e6 39 49 20&nbsp; ca 08 d5 40&nbsp; dd 6b de 11&nbsp; e3 7a 99 ec<br>|&nbsp;&nbsp; b7 cc 81 8a&nbsp; f2 ae 20 d2&nbsp; 9d c9 4b bd&nbsp; 62 5e 5a ab<br>
|&nbsp;&nbsp; 95 a9 18 2e&nbsp; be 87 43 29&nbsp; c6 d5 5d cd&nbsp; d7 78 bb a7<br>|&nbsp;&nbsp; f6 f7 e6 3d&nbsp; 00 c6 ee 7a&nbsp; 7b 98 f0 2a&nbsp; e5 f5 e1 d0<br>|&nbsp;&nbsp; 2b 2a ad a1&nbsp; 5b f8 d9 4d&nbsp; 81 3c 51 e6&nbsp; 29 29 36 89<br>|&nbsp;&nbsp; 59 71 e9 fc&nbsp; 62 68 93 0b&nbsp; 8a 1c d9 05&nbsp; 93 b9 b4 58<br>
|&nbsp;&nbsp; 92 43 48 ea&nbsp; a6 36 f6 0a&nbsp; 74 c9 2b 0d&nbsp; cb a6 ee 41<br>|&nbsp;&nbsp; 17 d1 97 e3&nbsp; 05 00 00 14&nbsp; 57 b1 3d 7c&nbsp; 9e 69 04 86<br>|&nbsp;&nbsp; 16 ca 84 72&nbsp; 86 7c 10 50&nbsp; 00 00 00 0c&nbsp; 02 00 00 00<br>|&nbsp;&nbsp; 72 77 2d 31<br>| **parse ISAKMP Message:<br>
|&nbsp;&nbsp;&nbsp; initiator cookie:<br>|&nbsp;&nbsp; d1 78 1f 02&nbsp; 1e d9 36 19<br>|&nbsp;&nbsp;&nbsp; responder cookie:<br>|&nbsp;&nbsp; 00 00 00 00&nbsp; 00 00 00 00<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_SA<br>|&nbsp;&nbsp;&nbsp; ISAKMP version: ISAKMP Version 1.0<br>|&nbsp;&nbsp;&nbsp; exchange type: ISAKMP_XCHG_AGGR<br>
|&nbsp;&nbsp;&nbsp; flags: none<br>|&nbsp;&nbsp;&nbsp; message ID:&nbsp; 00 00 00 00<br>|&nbsp;&nbsp;&nbsp; length: 324<br>|&nbsp; processing packet with exchange type=ISAKMP_XCHG_AGGR (4)<br>| np=1 and sd=0x80c198c<br>| ***parse ISAKMP Security Association Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>
|&nbsp;&nbsp;&nbsp; length: 52<br>|&nbsp;&nbsp;&nbsp; DOI: ISAKMP_DOI_IPSEC<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>
|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_VID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=13 and sd=0x80c1f38<br>| ***parse ISAKMP Vendor ID Payload:<br>
|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_KE<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=4 and sd=0x80c1c40<br>| ***parse ISAKMP Key Exchange Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_NONCE<br>|&nbsp;&nbsp;&nbsp; length: 132<br>| np=10 and sd=0x80c1e14<br>
| ***parse ISAKMP Nonce Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_ID<br>|&nbsp;&nbsp;&nbsp; length: 20<br>| np=5 and sd=(nil)<br>| ***parse ISAKMP Identification Payload:<br>|&nbsp;&nbsp;&nbsp; next payload type: ISAKMP_NEXT_NONE<br>|&nbsp;&nbsp;&nbsp; length: 12<br>
|&nbsp;&nbsp;&nbsp; ID type: ID_FQDN<br>|&nbsp;&nbsp;&nbsp; DOI specific A: 0<br>|&nbsp;&nbsp;&nbsp; DOI specific B: 0<br>packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-00]<br>packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] method set to=106<br>
packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03] method set to=108<br>packet from <a href="http://172.16.1.1:500">172.16.1.1:500</a>: received Vendor ID payload [Dead Peer Detection]<br>
| find_host_connection called from aggr_inI1_outR1_common<br>| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://0.0.0.0:500">0.0.0.0:500</a><br>| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://172.16.1.1:500">172.16.1.1:500</a><br>
| find_host_pair_conn (find_host_connection2): <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://172.16.1.1:500">172.16.1.1:500</a> -&gt; hp:aggr-2<br>| creating state object #31 at 0x8118510<br>&quot;aggr-2&quot;[1] 172.16.1.1 #31: Aggressive mode peer ID is ID_FQDN: &#39;@rw-1&#39;<br>
| refine_connection: starting with aggr-2<br>| started looking for secret for @local-&gt;@rw-2 of kind PPK_PSK<br>| actually looking for secret for @local-&gt;@rw-2 of kind PPK_PSK<br>| 1: compared PSK @rw-2 to @local / @rw-2 -&gt; 2<br>
| 2: compared PSK @local to @local / @rw-2 -&gt; 6<br>| best_match 0&gt;6 best=0x81098a0 (line=2)<br>| 1: compared PSK @rw-1 to @local / @rw-2 -&gt; 0<br>| 2: compared PSK @local to @local / @rw-2 -&gt; 4<br>| concluding with best_match=6 best=0x81098a0 (lineno=2)<br>
|&nbsp;&nbsp;&nbsp; match_id a=@rw-1<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b=@rw-2<br>|&nbsp;&nbsp;&nbsp; results&nbsp; fail<br>|&nbsp;&nbsp; trusted_ca called with a=(empty) b=(empty)<br>| refine_connection: checking aggr-2 against aggr-2, best=(none) with match=0(id=0/ca=1/reqca=1)<br>
| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://172.16.1.1:500">172.16.1.1:500</a><br>| find_host_pair: comparing to <a href="http://172.16.1.2:500">172.16.1.2:500</a> <a href="http://0.0.0.0:500">0.0.0.0:500</a><br>
| find_host_pair_conn (refine_host_connection): <a href="http://172.16.1.2:500">172.16.1.2:500</a> %any:500 -&gt; hp:aggr-2<br>|&nbsp;&nbsp;&nbsp; match_id a=@rw-1<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b=@rw-2<br>|&nbsp;&nbsp;&nbsp; results&nbsp; fail<br>|&nbsp;&nbsp; trusted_ca called with a=(empty) b=(empty)<br>
| refine_connection: checking aggr-2 against aggr-2, best=(none) with match=0(id=0/ca=1/reqca=1)<br>|&nbsp;&nbsp;&nbsp; match_id a=@rw-1<br>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b=@rw-1<br>|&nbsp;&nbsp;&nbsp; results&nbsp; matched<br>|&nbsp;&nbsp; trusted_ca called with a=(empty) b=(empty)<br>
| refine_connection: checking aggr-2 against aggr-1, best=(none) with match=1(id=1/ca=1/reqca=1)<br>| refine_connection: checked aggr-2 against aggr-1, now for see if best<br>| started looking for secret for @local-&gt;@rw-1 of kind PPK_PSK<br>
| actually looking for secret for @local-&gt;@rw-1 of kind PPK_PSK<br>| 1: compared PSK @rw-2 to @local / @rw-1 -&gt; 0<br>| 2: compared PSK @local to @local / @rw-1 -&gt; 4<br>| 1: compared PSK @rw-1 to @local / @rw-1 -&gt; 2<br>
| 2: compared PSK @local to @local / @rw-1 -&gt; 6<br>| best_match 0&gt;6 best=0x8103d68 (line=1)<br>| concluding with best_match=6 best=0x8103d68 (lineno=1)<br>| offered CA: &#39;%none&#39;<br>&quot;aggr-2&quot;[1] 172.16.1.1 #31: switched from &quot;aggr-2&quot; to &quot;aggr-1&quot;<br>