New commits:
commit 8cf8b4d57a2d7ed01138119fe7c3df70d87c1877
Merge: e856bedb55 f578c4a4e3
Author: Andrew Cagney <[email protected]>
Date:   Thu Jun 19 11:18:20 2025 -0400

    Merge connections: better handle crossing-stream's double-crossed IKE SA
    
    (for want of a better term)
    
    Given an established IKE SA + Child SA for a connection ("a"), a
    double-cross happens when the PEER initiates a new IKE SA for that
    same connection ("a") but with a Child SA for some different
    connection ("b").  The result is:
    
    - IKE SA "a" #1 while established isn't "a" established IKE SA
    - Child SA "a" #2 is both established and "a"'s established Child SA
    - IKE SA "a" #3 is both established and "a"'s established IKE SA
    - Child SA "b" #2 is both established and "b"'s established Child SA
    
    close #2101 ipsec delete: EXPECTATION FAILED: ike == ((void *)0)
    close #2305 check that when a connection gets a new IKE SA, is the old one 
is viable=false
    see also #2123 Expect no IKE only for orphan child

commit f578c4a4e339f4d45ce8e1bcda798452e578b97a
Author: Andrew Cagney <[email protected]>
Date:   Thu Jun 19 11:17:35 2025 -0400

    CHANGES: IKEv2: fix PEXPECT when deleting crossed IKE SA
    
    Andrew, Ilya Maximets #2101, Ondrej Moris #2123

commit 6db963f50df1e47641d55a71e63cfb64f5da2631
Author: Andrew Cagney <[email protected]>
Date:   Thu Jun 19 11:12:42 2025 -0400

    testing: update ipsec down/delete output

commit 7887ace70b835d1414f8ae4dcd40f585a93c37cd
Author: Andrew Cagney <[email protected]>
Date:   Thu Jun 19 11:02:43 2025 -0400

    connections: another visit_connections.[hc] overhaul
    
    - replace callback CONNECTION_PREP_IKE with the callbacks:
        NUDGE_CONNECTION_PRINCIPAL_IKE_SA
          the established IKE SA that "owns" the connection
        NUDGE_CONNECTION_CROSSED_IKE_SA
          any other established IKE SA that has lost
          ownership (presumably double-crossed by PRINCIPAL!)
      (callback order is not defined; can probably be merged)
    
      For `ipsec delete` record'n'send a delete for the double-crossed
      IKE SAs (previously both the IKEv1 and IKEv2 peers were
      left hanging).  This shows up in the logs.
    
    - replace callbacks CONNECTION_IKE_CHILD, CONNECTION_ORPHAN_CHILD,
      CONNECTION_CUCKOO_CHILD that vist the connection's (principal
      or owning) Child SA with:
        VISIT_CONNECTION_CHILD_OF_PRINCIPAL_IKE_SA
          the Child SA and IKE SA are connection owners
        VISIT_CONNECTION_CHILD_OF_CROSSED_IKE_SA
          while the Child SA and it's IKE SA are for the
          connection, only the Child SA is an owner (presumably
          the IKE SA was double crossed)
        VISIT_CONNECTION_CHILD_OF_CUCKOLD_IKE_SA
          while the Child SA is the connection owner,
          the Child SA's IKE SA is completly unrelated
        VISIT_CONNECTION_CHILD_OF_NONE
          (IKEv1) the Child SA's IKE SA has been deleted
    
      For `ipsec down`, like for the basic case, only delete
      the double-crossed or cuckold IKE SA, when it has no
      other children.  This shows up in the logs.

commit 5ccf17dd558914b7238f30193d61277d563c2113
Author: Andrew Cagney <[email protected]>
Date:   Wed Jun 18 13:09:07 2025 -0400

    testing: crossing-streams-24-ikev2-delete-connswitch-github-2101 is good

_______________________________________________
Swan-commit mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to