The 'summary' field in the patron information request specifies if detail information should be send for holds, overdues, fines, etc. The field is 10 characters in length (0-9). However, the SIP2 spec only defines indexes 0 though 5, leave 6 though 9 undefined. Some ILSs specify behavior for these undefined indexes. Apparently the 7th field is often used to request 'Fees', as opposed to 'Fines' in some ILS. Some software that integrate via SIP try both the 5th and 7th indexes to ensure they get all fines and fees. The problem is that Koha's SIP server crashes if any 'summary' index beyond 5 is flagged. We should simply ignore flags beyond 5 and act as if no flags were sent. Test Plan: 1) Enable SIP for your instance 2) Send a patron information request with a summary flag in any index beyond 5. i.e.: 6300120200617 124846 Y AOMIDAY|AA21030050054321 3) Note the SIP server just closes the connection without a response 4) Apply this patch 5) Restart the SIP server 6) Send the same request 7) Note you get back the patron information response! Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jeff Gaines <jgaine@arlingtonva.us> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
||
|---|---|---|
| .. | ||
| ILS | ||
| Sip | ||
| t | ||
| ILS.pm | ||
| ILS.pod | ||
| Logger.pm | ||
| Makefile | ||
| README | ||
| SIPServer.pm | ||
| Sip.pm | ||
| Trapper.pm | ||
| acstest.py | ||
| example_institution_dump.sh | ||
| interactive_item_dump.pl | ||
| interactive_patron_check_password.pl | ||
| interactive_patron_dump.pl | ||
| interactive_renew_all_dump.pl | ||
| test.txt | ||
| xmlparse.pl | ||
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.