Koha/C4/SIP
Colin Campbell 4f0fd3db55 Bug 15006 Drop raw connection if login fails
raw_connection was not behaving correctly if an invalid string was
passed or a login failed.
It was not checking that the login succeeded ( it checked that account
existed not that it contained data and it existed even if login failed)
and so failed logins instead of aborting immediately fell through into
the sip_protocol_loop, forcing that to timeout invalid connections.
It now checks that account has id set and returns if not.

The timeout alarm is now set on the while loop, in normal running this
should not be triggered as the socket is opened and the first data
should be a login message and the while loop should only iterate once,
but lets not go into an infinite loop due to unforeseen circumstances.

I have reindented the routine as the flow was not clear (the while was
not indented at all.

Also if using Net::Server::PreFork when a new connection comes in you
may be handed the the successful login parameters from a preceding call.
Because of this you could successfully transmit transactions and Koha
would carry them out without having received a valid login ( and
possibly with the wrong account details!) We now delete any existing
account for new connections.

NB: This patch requires that the patch for bug 13807 has been applied

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2016-07-15 14:11:04 +00:00
..
ILS Bug 16492 - Checkouts ( and possibly checkins and other actions ) will use the patron home branch as the logged in library 2016-06-10 17:31:19 +00:00
Sip Bug 13871: [QA Follow-up] Fix small regression on AF with branchcode in Patron Info request 2016-05-11 13:02:25 +00:00
t Bug 16011: $VERSION - remove use vars $VERSION 2016-03-24 17:20:26 +00:00
acstest.py adding openncip / opensip SIP2 service 2007-11-06 06:32:53 -06:00
example_institution_dump.sh Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
ILS.pm Bug 15479 [QA Followup] - Tidy sub to remove tabs causing qa script to fail 2016-02-23 23:19:57 +00:00
ILS.pod Bug 13506 [QA Follouwp] - Fix POD 2015-02-20 11:54:41 -03:00
interactive_item_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_members_dump.pl Modifying Members : Add Mod and GetMember 2009-09-30 11:29:23 +02:00
interactive_patron_check_password.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_patron_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_renew_all_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
Makefile bug 3435: SIP2 - 3M extension for SmartChute checkin. 2009-07-30 11:06:53 -04:00
README bug 2509: fix file permissions 2008-08-21 18:55:02 -05:00
Sip.pm Bug 13807 Rework main input loop in SIPServer 2016-07-08 14:59:50 +00:00
SIPServer.pm Bug 15006 Drop raw connection if login fails 2016-07-15 14:11:04 +00:00
test.txt updating ILS::Patron for Koha. 2007-11-06 06:32:55 -06:00
xmlparse.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00

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 syslog() for status and debugging messages.  All
syslog messages are logged using the syslog facility 'local6'.
If you need to change this, because something else on your system
is already using that facililty, just change the definition of
'LOG_SIP' at the top of the file SIPServer.pm

Make sure to update your syslog configuration to capture facility
'local6' and record it.