irods / python-irodsclient

A Python API for iRODS
Other
62 stars 73 forks source link

Cannot connect with "=" or ";" characters in PAM passwords #650

Open llp-rug opened 3 weeks ago

llp-rug commented 3 weeks ago

Using a PAM password that includes either = or ; to connect to iRODS 4.3.2 and 4.3.3 fails with this error:

[...]
  File "/usr/local/lib/python3.12/site-packages/irods/pool.py", line 87, in get_connection
    conn = Connection(self, self.account)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/irods/connection.py", line 77, in __init__
    auth_module.login(self)
  File "/usr/local/lib/python3.12/site-packages/irods/auth/pam_password.py", line 2, in login
    conn._login_pam()
  File "/usr/local/lib/python3.12/site-packages/irods/connection.py", line 513, in _login_pam
    output_message = self.recv()
                     ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/irods/connection.py", line 154, in recv
    raise exc
irods.exception.PAM_AUTH_PASSWORD_FAILED: None

We are using PRC version 2.2.0 . The same credentials successfully authenticate the user using iCommands.

trel commented 3 weeks ago

feels VERY similar / related to https://github.com/irods/python-irodsclient/issues/649

llp-rug commented 3 weeks ago

We did test for the @ character as well after #649 was reported. As far as we can tell we are not experiencing that issue with version 2.2.0 of the PRC.

trel commented 3 weeks ago

okay - so we need a few more cases in our testing to make sure we're checking all the combinations.