<div dir="ltr"><div></div>Heads up.  The way the IKEv2 responder behaves (at least for IKE_AUTH) has changed:<br><div><div><br>    ikev2: in IKE_AUTH responder, handle child sa as a nested state transition<br>    <br>    i.e., in IKE_AUTH responder, don't switch to the child part way through<br>    the transition<br>    <br>    - add v2_child_sa_established() to perform transition<br>    - change the existing half IKE / half CHILD state transition to strictly IKE<br>    - drop code pexpecting next state to be a child</div><div><br></div><div>Since there's no IKE->CHILD switch it is, in theory, possible to create a childless IKE SA.</div><div>Realty will beg to differ.  Anyone looking at the code will see that the IKE and CHILD code paths are still not well separated.  I'm planning on looking at that once I've an initiator capable of sending childess IKE_AUTH requests.<br></div><div><br></div><div>Before/after test results are:<br></div><div><a href="https://testing.libreswan.org/?run=v4.4-198-g09b9822207-main&run=v4.4-191-g90cbaef4ac-main">https://testing.libreswan.org/?run=v4.4-198-g09b9822207-main&run=v4.4-191-g90cbaef4ac-main</a></div><div>and there seems to be a few regressioins:</div><div>- looks like I drop an audit record</div><div>- informational exchanges aren't quite right<br></div><div><div>I was going to look at those once the initiator is updated.<br></div></div></div></div>