#6718 SessionMaxAge in /etc/httpd/conf.d/ipa.conf introduces regression
Closed: fixed 7 years ago Opened 7 years ago by frenaud.

With IPA from the master repo, all the ipa commands log an error message:

$ ipa ping
ipa: ERROR: unable to parse cookie header '['ipa_session=MagBearerToken=jn4vzHhwPRoupz8S8%2f5PhISpjMn%2fgbYYdq5PuzTadegT1HrOoIsLcjvae1FTPNQMMq7FFsbjdTZYM2GJpNzAbNoFQ9edtsyKY7D3Q3KyqfHPfrwTgpcDYcCmtNvoPg4UBVcYOk24yfKgnLIKvUdIdrnpC7YJ9W9OlyK4dgvOiPY2X3R2aKajWhhMEmUrkfGuZG%2bj6H8eL6wJWvoMJ1WTYDxs1V0E1lPY0aM6cD3GcIsm925jQl4A7t1Yp9TUF15avlLedrc48TFnCfyrpLMBL7XKGRT2ogtnZKXz6eoEN8s%3d&expiry=1488443041387925;Max-Age=1800;path=/ipa;httponly;secure;']': unsupported operand type(s) for +: 'NoneType' and 'datetime.timedelta'
-----------------------------------------------------------------------
IPA server version 4.4.90.dev201703020633+gita7c8077. API version 2.218
-----------------------------------------------------------------------

The issue happens since commit d5e7a57 which defines SessionMaxAge 1800 in /etc/httpd/conf.d/ipa.conf

The cookie contains Max-Age=1800, which sets self.max_age.
When cookie.get_expiration() is called, the following code gets executed (in ipapython/cookie.py):

if self.max_age is not None:
    return self.timestamp + datetime.timedelta(seconds=self.max_age)

but self.timestamp has not been initialized and is None.


master:

  • 24eeb4d Fix cookie with Max-Age processing

Metadata Update from @jcholast:
- Custom field tester adjusted to wanted

7 years ago

Metadata Update from @jcholast:
- Issue close_status updated to: fixed
- Issue set to the milestone: FreeIPA 4.5
- Issue status updated to: Closed (was: Open)

7 years ago

Login to comment on this ticket.

Metadata