login_core only cleared leftover session state on the failed-auth branch. The earlier 'SIP access not authorized' return (unknown terminal id) left any account/ils/institution/policy/credentials from a prior connection on a reused prefork worker in place. Move the reset to the top of login_core so every non-success exit path leaves clean state, and only a successful api_auth re-establishes the session. This keeps the no-authenticated-state-until-auth invariant in a single place rather than duplicating the key list per branch. Also extend the unit test to cover the unknown-terminal path on a reused worker. Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> (cherry picked from commit c375a5cd34e88b0a1d2d0109a523199ef9a6dc06) Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> |
||
|---|---|---|
| .. | ||
| ILS.t | ||
| Message.t | ||
| MsgType.t | ||
| Patron.t | ||
| SIPServer.t | ||
| Transaction.t | ||