New commits:
commit 8c7726812ad1be28467b120af1e43c0ef51ff39e
Author: Nupur Agrawal <[email protected]>
Date:   Mon Jun 8 11:15:00 2020 +0530

    IKEv2: Adds preliminary support for session resumption (rfc-5723)
    
    Some notes on the merge (by Andrew Cagney):
    
    - the original patch was forced to heavily modify the
      IKE_SA_INIT code in ikev2_parent.[hc]
    
      Since then the IKE_SA_INIT code had been overhauled and
      moved to ikev2_ike_sa_init.[hc].  Before the merge, the code
      was further refactored, creating ikev2_unsecured.[hc].
    
      Consequently, most of the original changes to IKE_SA_INIT
      in ikev2_parent.[hc] could be eliminated making
      ikev2_ike_session_resume.c is much smaller.
    
    - consistent with the times, the original patch
      added states and transitions to the IKEv2 state m/c
    
      Since then states and transitions have been wrapped
      in exchanges.
    
      Consequently, the patch's states and transitions
      needed a v2_IKE_SESSION_RESUME_exchange wrapper.
    
    - the original patch had to sprinkle .st_resuming over
      the IKE_AUTH code in ikev2_parent.[hc]
    
      While much of the IKE_AUTH code has moved to
      ikev2_ike_auth.c the PSK/PPK/NULL code is little
      changed (it could do with an overhaul, see #1947).
    
      Consequently, the .st_resuming changes were
      moved straight over.
    
    - the original patch, just like the PPK code,
      had its own version of the KEYMAT code
    
      Before merging, the existing KEYMAT code was
      re-structured with the duplicate PPK code
      eliminated.
    
      Consequently, the SKEYSEED code was greatly
      simplified.
    
    Known limitations:
    
    - the ticket is neither protected nor encrypted
      A PEXPECT to this effect is logged
      see: double encrypt the resume payload #1940
    
    - the ticket expiration isn't perfect
      for instance, when to discard tickets has edge cases
      see: session resume would like to know the re-authentication time #1935
    
    - the ticket format needs a review
      for instance, the ID needs to be a proper string
      see: rework str_id() when serializing the ID #1934
    
    - NSS's SKEYSEED isn't being used
      instead the NSS code uses the MAC SKEYSEED et.al.
      see: SKEYSEED = prf(SK_d (old), "Resumption" | Ni | Nr) #1931
    
    - the IKE_SESSION_RESUME request is missing most notifies
      for instance, REDIRECT, it's a consequence of separating out the code
      see: refactor record_v2_{IKE_SA_INIT,IKE_SESSION_RESUME}_request() notify 
code (ditto receivers) #1941
    
    - COOKIE and REDIRECT need work
      minimally, the code needs to trade notifies and be tested
      see: handle cookie response when IKE_SESSION_RESUME request #1932
      see: handle redirect response when an IKE_SESSION_RESUME request #1948
    
    - there's no `ipsec suspend <connection>` command
      the new command set post-dates the patch
      see: ipsec suspend connection #1942
    
    close #436 Merge GSoC IKE RESUME Exchange code
    close #1941 refactor record_v2_{IKE_SA_INIT,IKE_SESSION_RESUME}_request() 
notify code (ditto receivers)
    
    Signed-off-by: Andrew Cagney <[email protected]>

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

Reply via email to