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: Pedro Amorim <pedro.amorim@openfifth.co.uk> |
||
|---|---|---|
| .. | ||
| ILS | ||
| Sip | ||
| ILS.pm | ||
| Logger.pm | ||
| Makefile | ||
| README | ||
| SIPServer.pm | ||
| Sip.pm | ||
| Trapper.pm | ||
README
README for Open NSIP 3M-SIP Server
DEPENDENCIES
SIPServer is written entirely in Perl, but it require these CPAN
perl modules to run:
Net::Server - The SIP server is a Net::Server::Prefork server
XML::LibXML
XML::Parser
XML::Simple - for parsing the config file
UNIVERSAL::require - for loading the correct ILS interface module
Clone - for running the test cases
LOGGING
SIPServer uses Koha::Logger for status and debugging messages.