1. 22 Feb, 2024 7 commits
    • Cedric Roux's avatar
      nrUE: check integrity of SecurityModeCommand · d55b6d25
      Cedric Roux authored
      We AssertFatal() if integrity fails. To be refined if needed.
      d55b6d25
    • Cedric Roux's avatar
      884127c3
    • Cedric Roux's avatar
      nrUE: simplify nr_rrc_ue_process_securityModeCommand() · ec917d4d
      Cedric Roux authored
      The case securityModeFailure didn't seem to be implemented
      properly, so I just removed it entirely.
      
      The variable 'securityMode' did not make much sense, removed as well.
      Plus for integrity, there was: securityMode |= 1 << 5 for nea1
      and << 6 for nea2, which does not seem correct (I would expect << 4
      and << 5 respectively), so it was properly incorrect.
      
      'securityModeCommand->criticalExtensions.choice.securityModeCommand'
      was accessed before checking that
      'securityModeCommand->criticalExtensions.present'
      is 'NR_SecurityModeCommand__criticalExtensions_PR_securityModeCommand',
      which is wrong.
      
      The tests 'securityMode >= NO_SECURITY_MODE' and 'securityMode != 0xff'
      don't make sense/are unclear, so removed too.
      
      So let's simplify this function, wrong in several places. And put
      some AssertFatal() so that the code won't do weird things. The
      AssertFatal() can be removed later and the function improved later
      if needed. The case securityModeFailure can also be handled later,
      but I think there is more work to do than just encoding the message
      and send it to the gNB, so it's not bad to remove it for the moment.
      ec917d4d
    • Cedric Roux's avatar
      nr pdcp: pass MAC-I and header to upper layers · 50cea9cf
      Cedric Roux authored
      Needed by some RRC procedures to validate the integrity of a message
      before accepting it.
      50cea9cf
    • Cedric Roux's avatar
    • Cedric Roux's avatar
      nrUE: bugfix/improvement in security mode handling · 06357e97
      Cedric Roux authored
      The use of security_mode_completed in the PDCP entity was a hack.
      
      Plus it was not working at all with the deregistration request
      when nea2 is used, sent when doing ctrl+c in the nrUE.
      
      So let's remove it.
      
      And let's handle activation of integrity and ciphering more in
      accordance with what 38.331 says. SecurityModeComplete has to
      be sent integrity protected, but not ciphered. Only after should
      the ciphering be activated. (See 38.331 5.3.4.3.)
      06357e97
    • Cedric Roux's avatar
      76815ed5
  2. 16 Feb, 2024 1 commit
  3. 15 Feb, 2024 4 commits
  4. 14 Feb, 2024 6 commits
  5. 13 Feb, 2024 8 commits
  6. 12 Feb, 2024 14 commits