Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-23621

Pagure #9519: session cookie can't be read

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Normal Normal
    • rhel-9.4
    • rhel-9.4
    • ipa
    • ipa-4.11.0-6.el9
    • None
    • None
    • ZStream
    • 2
    • rhel-sst-idm-ipa
    • ssg_idm
    • 24
    • 26
    • 1
    • QE ack, Dev ack
    • False
    • Hide

      None

      Show
      None
    • No
    • 2024-Q1-Alpha-S3, 2024-Q1-Alpha-S4
    • Approved Blocker
    • Unspecified Release Note Type - Unknown
    • None

      Cloned from: https://pagure.io/freeipa/issue/9519
      
      Session cookie related tests fail with:
      
      ```
      FAILED test_ipalib/test_rpc.py::test_rpcclient_context::test_context_request_url - AssertionError: 'https://master1.ipa.test/ipa/json' != 'https://master1.ipa...
      FAILED test_ipalib/test_rpc.py::test_rpcclient_context::test_context_session_cookie - TypeError: argument of type 'NoneType' is not iterable
      FAILED test_ipapython/test_session_storage.py::test_session_storage::test_02 - AssertionError: assert None == b'Test Data'
      ```
      
      ```
      _________________________ test_session_storage.test_02 _________________________ 
                                                                                       
      self = <ipatests.test_ipapython.test_session_storage.test_session_storage object at 0x7fcbd4dab4d0>
                                                                                       
          def test_02(self):                                                           
              data = session_storage.get_data(self.principal, self.key)                
      >       assert(data == self.data)                                                
      E       AssertionError: assert None == b'Test Data'                              
      E        +  where b'Test Data' = <ipatests.test_ipapython.test_session_storage.test_session_storage object at 0x7fcbd4dab4d0>.data                                    
                                                                                       
      test_ipapython/test_session_storage.py:34: AssertionError
      ```
      
      The following code can reproduce the problem:
      ```python
      from ipapython import session_storage
      
      CCACHE_COOKIE_KEY = "X-IPA-Session-Cookie"
      
      principal = "admin@IPA.TEST"
      data = "test"
      
      session_storage.remove_data(principal, CCACHE_COOKIE_KEY)
      session_storage.store_data(principal, CCACHE_COOKIE_KEY, data)
      print(session_storage.get_data(principal, CCACHE_COOKIE_KEY))
      ```
      
      output:
      
      ```console
      [user@host /dir# KRB5_TRACE=/dev/stdout python3 test.py
      [22297] 1706109672.564323: Storing config in FILE:/tmp/krb5cc_0 for admin@IPA.TEST: X-IPA-Session-Cookie: (null)
      [22297] 1706109672.564324: Removing admin@IPA.TEST -> krb5_ccache_conf_data/X-IPA-Session-Cookie/admin\@IPA.TEST@X-CACHECONF: from FILE:/tmp/krb5cc_0
      2 krb5_free_cred_contents (<ipapython.session_storage.LP__krb5_context object at 0x7f535553cb90>, <cparam 'P' (0x7f53553d43b0)>)
      [22297] 1706109672.564325: Storing config in FILE:/tmp/krb5cc_0 for admin@IPA.TEST: X-IPA-Session-Cookie: test\x00
      [22297] 1706109672.564326: Storing admin@IPA.TEST -> krb5_ccache_conf_data/X-IPA-Session-Cookie/admin\@IPA.TEST@X-CACHECONF: in FILE:/tmp/krb5cc_0
      2 krb5_free_cred_contents (<ipapython.session_storage.LP__krb5_context object at 0x7f535553ccb0>, <cparam 'P' (0x7f53553d4430)>)
      None
      ```
      
      ```console
      [root@master1 /]# ipa --version
      VERSION: 4.11.1, API_VERSION: 2.253
      ```
      

              frenaud@redhat.com Florence Renaud
              frenaud@redhat.com Florence Renaud
              Florence Renaud Florence Renaud
              Sudhir Menon Sudhir Menon
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: