working/SIPServer.git
14 years agoCleanup and more paranoid whitespace filtering
Joe Atzberger [Tue, 11 May 2010 15:25:01 +0000 (15:25 +0000)]
Cleanup and more paranoid whitespace filtering

14 years agoKill useless sub _count_tests
Joe Atzberger [Tue, 11 May 2010 04:55:33 +0000 (04:55 +0000)]
Kill useless sub _count_tests

14 years agoCorrect log message: Sip::MsgType::_initialize
Joe Atzberger [Tue, 11 May 2010 03:09:29 +0000 (03:09 +0000)]
Correct log message: Sip::MsgType::_initialize

not Sip::MsgType:_initialize (one colon)

14 years agoGet rid of weird evals, useless use's
Joe Atzberger [Tue, 11 May 2010 01:56:37 +0000 (01:56 +0000)]
Get rid of weird evals, useless use's

There are no scripts committed that use DATA handles, so those
eval blocks are not part of a known application.  And that
behavior is super sketchy, especially with multiple scripts, likely
in combination!

14 years agoLOG_ERROR is not a valid loglevel.
Joe Atzberger [Mon, 10 May 2010 22:27:12 +0000 (22:27 +0000)]
LOG_ERROR is not a valid loglevel.

LOG_ERR is.

14 years agoAppend extensions fields to checkin response
Joe Atzberger [Mon, 10 May 2010 22:11:18 +0000 (22:11 +0000)]
Append extensions fields to checkin response

14 years agoAdd back FID_HOME_LIBRARY
Joe Atzberger [Mon, 10 May 2010 22:10:07 +0000 (22:10 +0000)]
Add back FID_HOME_LIBRARY

14 years agoPatron password is a required field
Joe Atzberger [Mon, 10 May 2010 21:47:59 +0000 (21:47 +0000)]
Patron password is a required field

Alert type is part of the checkin extensions

14 years agoAdd 3M extension constants and structuralize EXPORT_TAGS
Joe Atzberger [Mon, 10 May 2010 21:37:13 +0000 (21:37 +0000)]
Add 3M extension constants and structuralize EXPORT_TAGS

14 years agoLOG_WARN is not a valid syslog loglevel
Joe Atzberger [Fri, 7 May 2010 01:22:35 +0000 (01:22 +0000)]
LOG_WARN is not a valid syslog loglevel

LOG_WARNING is.

14 years agoProper id (copy/paste error)
Joe Atzberger [Fri, 7 May 2010 01:09:27 +0000 (01:09 +0000)]
Proper id (copy/paste error)

14 years agoScript should be executable.
Joe Atzberger [Fri, 7 May 2010 00:11:08 +0000 (00:11 +0000)]
Script should be executable.

14 years agoAlarm messages that mean something.
Joe Atzberger [Fri, 7 May 2010 00:09:22 +0000 (00:09 +0000)]
Alarm messages that mean something.

Additional log messages, or log message content borrowed from my work on Koha.
Also some blasts of perltidy.

14 years agoAllow log ident string to be pulled from ENV
Joe Atzberger [Fri, 7 May 2010 00:02:24 +0000 (00:02 +0000)]
Allow log ident string to be pulled from ENV

This supports running multiple SIP interfaces on the same box,
even as the same user.

14 years agoInitial Commit
Joe Atzberger [Tue, 4 May 2010 19:21:23 +0000 (19:21 +0000)]
Initial Commit

From openncip.cvs.sourceforge.net:/cvsroot/openncip
.gitignore added

15 years agoDan Scott's patch:
djfiander [Wed, 13 Jan 2010 01:39:30 +0000 (01:39 +0000)]
Dan Scott's patch:

Item status response 18 was returning CJ0|CM0| which are invalid
according to the SIP2 specification; they should either be
18-char fixed fields or not there at all (as they're optional).

It looks like it was just a reversed test. In looking through
Sip/MsgType.pm in that area, I put together a patch which
prevents those fields from being generated if the incoming value
is 0 - and separates out the value assignment & test into
separate statements, which should make the code a bit easier to
read.

As an aside, I believe the same problem was preventing the due
date (AH) from being returned in the item status response.

15 years agoMinor fix to UTF8 support
djfiander [Wed, 13 Jan 2010 01:38:31 +0000 (01:38 +0000)]
Minor fix to UTF8 support

15 years agoVarious utf8 fixes
djfiander [Fri, 8 Jan 2010 23:46:07 +0000 (23:46 +0000)]
Various utf8 fixes

15 years agoRestore the byte-by-byte checksum method, since the Unicode-aware
djfiander [Thu, 7 Jan 2010 01:24:02 +0000 (01:24 +0000)]
Restore the byte-by-byte checksum method, since the Unicode-aware
version breaks with very new 3M self-check units, according to dbs.

15 years agoFix missing parens in hash dereference
djfiander [Tue, 9 Jun 2009 01:43:07 +0000 (01:43 +0000)]
Fix missing parens in hash dereference

15 years agoLog incoming connections promptly
djfiander [Wed, 11 Feb 2009 01:05:04 +0000 (01:05 +0000)]
Log incoming connections promptly

16 years agoOnly try to strip off the leading newline if there's actually
djfiander [Fri, 17 Oct 2008 23:57:52 +0000 (23:57 +0000)]
Only try to strip off the leading newline if there's actually
content in the record at all (eliminate perl 'Use of
uninitialized value' warning).

16 years agoUntested fix for dealing with the incorrect record terminators
djfiander [Fri, 17 Oct 2008 23:48:02 +0000 (23:48 +0000)]
Untested fix for dealing with the incorrect record terminators
transmitted by Cen-Tec self-check hardware.

16 years agoHandle various dates associated with items consistently.
djfiander [Wed, 18 Jun 2008 22:25:52 +0000 (22:25 +0000)]
Handle various dates associated with items consistently.

16 years agoAdd copyright statements
djfiander [Wed, 19 Mar 2008 01:26:00 +0000 (01:26 +0000)]
Add copyright statements

16 years agoUpdate dependencies
djfiander [Wed, 19 Mar 2008 01:23:43 +0000 (01:23 +0000)]
Update dependencies

16 years agoAdd support for PINES requested extension: Patron Info Response
djfiander [Tue, 11 Mar 2008 21:37:05 +0000 (21:37 +0000)]
Add support for PINES requested extension: Patron Info Response
now includes AQ "Home Library" field.

16 years agoAdd support for "home_library" field in patron database
djfiander [Tue, 11 Mar 2008 21:35:22 +0000 (21:35 +0000)]
Add support for "home_library" field in patron database

16 years agoCheck the protocol of the client connection properly.
djfiander [Tue, 11 Mar 2008 21:32:54 +0000 (21:32 +0000)]
Check the protocol of the client connection properly.

17 years agoClean up field parsing so it's more perlish and less C-ish
djfiander [Fri, 27 Apr 2007 00:46:04 +0000 (00:46 +0000)]
Clean up field parsing so it's more perlish and less C-ish

17 years agoForce the key to the 'listeners' hash to be all lowercase, and
djfiander [Tue, 24 Apr 2007 23:05:31 +0000 (23:05 +0000)]
Force the key to the 'listeners' hash to be all lowercase, and
force the key for which we search at runtime to be lowercase, so
that searches of the hash are case-insensitive.

17 years agoFix code so that it will run with Net::Server 0.96. This is just
djfiander [Tue, 24 Apr 2007 23:00:39 +0000 (23:00 +0000)]
Fix code so that it will run with Net::Server 0.96.  This is just
eliminating a dependency on the internals of the Net::Server
object, so this code will continue to run with older versions of
Net::Server as well.

17 years agoApply Bill Erickson's patch to clean up matching an incoming
djfiander [Fri, 6 Apr 2007 20:49:06 +0000 (20:49 +0000)]
Apply Bill Erickson's patch to clean up matching an incoming
connection against the configuration file.  There's no longer a
special case for 127.0.0.1, so it will not longer match
'localhost', but it doesn't match any other hostnames anyway.

18 years agoMove code that connects to ILS back end out of
djfiander [Sat, 16 Sep 2006 13:50:14 +0000 (13:50 +0000)]
Move code that connects to ILS back end out of
sip_protocol_loop() and into handle_login().  This way, if
there's a problem loading or initializing the ILS implementation,
the client will be told that login failed, rather than
"successfully" logging in and then having the server die later.

18 years agoTest logging in with invalid username and invalid password
djfiander [Sat, 16 Sep 2006 13:04:13 +0000 (13:04 +0000)]
Test logging in with invalid username and invalid password

18 years agoLog both raw input and raw output messages.
djfiander [Thu, 31 Aug 2006 23:06:14 +0000 (23:06 +0000)]
Log both raw input and raw output messages.

Zero-pad the checksum that we transmit.

18 years agoCope with trailing whitespace on the titles returned from the
djfiander [Thu, 31 Aug 2006 21:53:18 +0000 (21:53 +0000)]
Cope with trailing whitespace on the titles returned from the
ILS, since that seems to be a problem for PINES

18 years agoProperly transmit the patron's fee amount and currency. Make a
djfiander [Wed, 30 Aug 2006 23:48:12 +0000 (23:48 +0000)]
Properly transmit the patron's fee amount and currency.  Make a
note of the missing limit fields until the OPAC supports them.

18 years agoTighten up test for value of the BX field in the ACS status message
djfiander [Mon, 28 Aug 2006 22:01:54 +0000 (22:01 +0000)]
Tighten up test for value of the BX field in the ACS status message

18 years agoAdded missing value for whether the server supports the SC/ACS
djfiander [Mon, 28 Aug 2006 22:01:17 +0000 (22:01 +0000)]
Added missing value for whether the server supports the SC/ACS
resend messages.

18 years agoTransmit screen message and print line in Patron Information
djfiander [Sun, 27 Aug 2006 11:49:52 +0000 (11:49 +0000)]
Transmit screen message and print line in Patron Information
Response messages.

18 years agoGo back to using unpack to generate the checksums, except that
djfiander [Sat, 26 Aug 2006 18:50:42 +0000 (18:50 +0000)]
Go back to using unpack to generate the checksums, except that
I'm using the 'U'TF encoding instead of the 'C'har encoding.
This seems to work, at least in my test environment.

18 years agoAdd test case for checking titles that have a diacritical in the title.
djfiander [Fri, 25 Aug 2006 01:23:11 +0000 (01:23 +0000)]
Add test case for checking titles that have a diacritical in the title.

18 years agoAdd entry to "catalogue" that has a diacritical in the title, for
djfiander [Fri, 25 Aug 2006 01:22:20 +0000 (01:22 +0000)]
Add entry to "catalogue" that has a diacritical in the title, for
testing the checksum algorithm.

18 years agoReplace idiomatic perl checksum code, which seems to fail on
djfiander [Fri, 25 Aug 2006 01:21:37 +0000 (01:21 +0000)]
Replace idiomatic perl checksum code, which seems to fail on
strings with diacriticals in them, with an explicit sum of the
ordinal values of the characters in the string, which seems to cope.

18 years agoMake two shut down messages different, to simplify debugging
djfiander [Tue, 22 Aug 2006 23:16:41 +0000 (23:16 +0000)]
Make two shut down messages different, to simplify debugging

18 years agoUse correct boolean format for 'OK' field of Checkin Response
djfiander [Thu, 3 Aug 2006 00:05:41 +0000 (00:05 +0000)]
Use correct boolean format for 'OK' field of Checkin Response
message.

18 years agoDon't rely on clients sending the exactly protocol strings '1.00'
djfiander [Sat, 29 Jul 2006 18:45:55 +0000 (18:45 +0000)]
Don't rely on clients sending the exactly protocol strings '1.00'
and '2.00'.  Anything that starts with a '1.' is a "revision 1"
protocol string and anything that begins with a '2.' is a
"revision 2" protocol string.  That way, when a clients reports
that they support protocol revision '2.0S', we will properly
react and send revision 2.00 messages.

18 years agoAllow clients to violate the protocol specification by not
djfiander [Sat, 29 Jul 2006 17:44:50 +0000 (17:44 +0000)]
Allow clients to violate the protocol specification by not
sending and SC Status message first after they log in.  This
should work fine for SIP Login clients, but clients that use
telnet to log in MUST send an SC Status message, or they'll be
trapped using SIP rev 1.00.

18 years agoAdd support for protocol extension 'Patron Internet Profile' with
djfiander [Fri, 28 Jul 2006 23:50:30 +0000 (23:50 +0000)]
Add support for protocol extension 'Patron Internet Profile' with
protocol field code 'PI'

18 years agoAdjust tests run for OpenILS.
djfiander [Fri, 28 Jul 2006 23:05:35 +0000 (23:05 +0000)]
Adjust tests run for OpenILS.

18 years agoAccept either 'other' or 'available' for circulation status.
djfiander [Fri, 28 Jul 2006 23:05:00 +0000 (23:05 +0000)]
Accept either 'other' or 'available' for circulation status.

18 years agoParameterize the "Renew All" tests, even though they don't run on
djfiander [Wed, 19 Jul 2006 01:46:17 +0000 (01:46 +0000)]
Parameterize the "Renew All" tests, even though they don't run on
Evergreen right now.

18 years agoAdded target to run just the Evergreen-compatible tests
djfiander [Wed, 19 Jul 2006 01:45:51 +0000 (01:45 +0000)]
Added target to run just the Evergreen-compatible tests

18 years agoBasic instructions for running tests
djfiander [Wed, 19 Jul 2006 01:45:20 +0000 (01:45 +0000)]
Basic instructions for running tests

18 years agoBasic installation README
djfiander [Wed, 19 Jul 2006 00:49:13 +0000 (00:49 +0000)]
Basic installation README

18 years agoInitial system integration with Evergreen code.
djfiander [Tue, 18 Jul 2006 00:53:17 +0000 (00:53 +0000)]
Initial system integration with Evergreen code.

18 years agoIt's not "FID_CHARDED_ITEMS_LMT", it's "FID_CHARGED_ITEMS_LMT"
djfiander [Sun, 16 Jul 2006 11:33:58 +0000 (11:33 +0000)]
It's not "FID_CHARDED_ITEMS_LMT", it's "FID_CHARGED_ITEMS_LMT"

18 years agoRewrite so that each message is a single test, which might fail
djfiander [Thu, 29 Jun 2006 01:40:18 +0000 (01:40 +0000)]
Rewrite so that each message is a single test, which might fail
in one of several different ways, rather than counting all of the
various checks performed on each message as a separate test.
This reduces the number of "tests" counted from over 1000 to less
than 100, but the same number of things is being tested.

18 years agoAdd code to check out two items and confirm that both are renewed.
djfiander [Tue, 27 Jun 2006 01:40:56 +0000 (01:40 +0000)]
Add code to check out two items and confirm that both are renewed.

18 years agoadd code to check item out, rather than depend on the fact that
djfiander [Tue, 27 Jun 2006 01:34:20 +0000 (01:34 +0000)]
add code to check item out, rather than depend on the fact that
another test case checked it out for us.

18 years agoclean up by cancelling the second user's hold.
djfiander [Tue, 27 Jun 2006 01:33:45 +0000 (01:33 +0000)]
clean up by cancelling the second user's hold.

18 years agoAdd code to check item in when done testing.
djfiander [Tue, 27 Jun 2006 01:33:24 +0000 (01:33 +0000)]
Add code to check item in when done testing.

18 years agofix handling of hold_queue, add second item to DB to test
djfiander [Tue, 27 Jun 2006 01:32:53 +0000 (01:32 +0000)]
fix handling of hold_queue, add second item to DB to test
renew_all

18 years agofix handling of Item::hold_queue
djfiander [Tue, 27 Jun 2006 01:32:20 +0000 (01:32 +0000)]
fix handling of Item::hold_queue

18 years agoAdd tests for Invalid patron password and invalid patron id
djfiander [Fri, 23 Jun 2006 02:32:56 +0000 (02:32 +0000)]
Add tests for Invalid patron password and invalid patron id

18 years agoFID_PATRON_PWD is a valid field in a "Renew All" message. Also
djfiander [Fri, 23 Jun 2006 02:32:24 +0000 (02:32 +0000)]
FID_PATRON_PWD is a valid field in a "Renew All" message.  Also
fix handling of failure status returned from ILS::renew_all.

18 years agoCheck patron password in ILS::renew_all
djfiander [Fri, 23 Jun 2006 02:31:06 +0000 (02:31 +0000)]
Check patron password in ILS::renew_all

18 years agoAdd test for attempting to renew item that has outstanding
djfiander [Fri, 23 Jun 2006 00:52:32 +0000 (00:52 +0000)]
Add test for attempting to renew item that has outstanding
holds.

18 years agoFix definition of Item::available to eliminate warning message
djfiander [Fri, 23 Jun 2006 00:32:40 +0000 (00:32 +0000)]
Fix definition of Item::available to eliminate warning message

18 years agoChange definition of Patron::available to test to see if the item
djfiander [Fri, 23 Jun 2006 00:15:28 +0000 (00:15 +0000)]
Change definition of Patron::available to test to see if the item
is available for a patron, rather than just available in
general.

18 years agoAdd tests for invalid patron and invalid item
djfiander [Thu, 22 Jun 2006 01:00:18 +0000 (01:00 +0000)]
Add tests for invalid patron and invalid item

18 years agoTest for a blocked patron attempting to check out a book
djfiander [Fri, 16 Jun 2006 02:04:50 +0000 (02:04 +0000)]
Test for a blocked patron attempting to check out a book

18 years agoFix ILS::checkout to handle more error conditions properly (but I
djfiander [Fri, 16 Jun 2006 02:04:22 +0000 (02:04 +0000)]
Fix ILS::checkout to handle more error conditions properly (but I
still can't cope with Bob attempting to check out a book that
Alice already has out.

18 years agoTest renewing an item that's identified by title rather than by
djfiander [Thu, 15 Jun 2006 01:29:06 +0000 (01:29 +0000)]
Test renewing an item that's identified by title rather than by
item id.

18 years agoAdd code to renew items that are specified by title, rather than
djfiander [Thu, 15 Jun 2006 01:28:38 +0000 (01:28 +0000)]
Add code to renew items that are specified by title, rather than
by item id.  This is very odd, but the spec seems to allow it.

18 years agoDefine an empty array of fields to be checked in the responses
djfiander [Wed, 14 Jun 2006 02:16:16 +0000 (02:16 +0000)]
Define an empty array of fields to be checked in the responses
for those messages that don't require any field checking.  This
eliminates "TODO" failures from the test harness.

18 years agoTest that when a second hold is placed on an item, the queue
djfiander [Wed, 14 Jun 2006 02:15:05 +0000 (02:15 +0000)]
Test that when a second hold is placed on an item, the queue
position is properly reported.

18 years agoAdd second patron to stub ILS, to test multiple holds on an
djfiander [Wed, 14 Jun 2006 02:14:28 +0000 (02:14 +0000)]
Add second patron to stub ILS, to test multiple holds on an
item.

18 years agoGeneralize configuration of Net::Server::PreFork to allow for
djfiander [Tue, 13 Jun 2006 01:18:44 +0000 (01:18 +0000)]
Generalize configuration of Net::Server::PreFork to allow for
arbitrary configuration parameters.

18 years agoClean up after the test is completed by checking the item back
djfiander [Tue, 13 Jun 2006 01:09:00 +0000 (01:09 +0000)]
Clean up after the test is completed by checking the item back
in.

18 years agoMinor cleanup: be consistent in use of "LOG_" in syslog levels.
djfiander [Mon, 12 Jun 2006 23:49:51 +0000 (23:49 +0000)]
Minor cleanup: be consistent in use of "LOG_" in syslog levels.

18 years agoInitial tests for Item Information message
djfiander [Fri, 9 Jun 2006 02:44:03 +0000 (02:44 +0000)]
Initial tests for Item Information message

18 years agoExtend reporting of circulation status
djfiander [Fri, 9 Jun 2006 02:42:48 +0000 (02:42 +0000)]
Extend reporting of circulation status

18 years agoInitial test for Renew All
djfiander [Tue, 6 Jun 2006 01:22:03 +0000 (01:22 +0000)]
Initial test for Renew All

18 years agotext fields in the response messages may be empty
djfiander [Tue, 6 Jun 2006 01:21:35 +0000 (01:21 +0000)]
text fields in the response messages may be empty

18 years agoAdd support for the configuration parameters
djfiander [Tue, 6 Jun 2006 01:20:01 +0000 (01:20 +0000)]
Add support for the configuration parameters

    <min_servers value="N" />
    <max_servers value="N" />

which parallel the paramters for Net::Server::PreFork.

18 years agowrite_msg() is used by both the server and the test suite. In
djfiander [Tue, 6 Jun 2006 01:18:38 +0000 (01:18 +0000)]
write_msg() is used by both the server and the test suite.  In
the test suite, we don't want to call syslog, so only call syslog
if we're writing the message to stdout (which only happens in the
server).

18 years agoFix check renewal permissions check
djfiander [Fri, 2 Jun 2006 00:51:18 +0000 (00:51 +0000)]
Fix check renewal permissions check

18 years agoInitial set of tests for Renew
djfiander [Wed, 31 May 2006 00:18:44 +0000 (00:18 +0000)]
Initial set of tests for Renew

18 years agoFix minor bugs in error condition for Renew Response
djfiander [Tue, 30 May 2006 01:58:50 +0000 (01:58 +0000)]
Fix minor bugs in error condition for Renew Response

18 years agoInitial test suite for Checkin
djfiander [Tue, 30 May 2006 01:10:35 +0000 (01:10 +0000)]
Initial test suite for Checkin

18 years agoConfirm the actual title of the item being held
djfiander [Tue, 30 May 2006 01:09:46 +0000 (01:09 +0000)]
Confirm the actual title of the item being held

18 years agoOnly attempt to add the Patron ID to the Checkin Response message
djfiander [Tue, 30 May 2006 01:02:12 +0000 (01:02 +0000)]
Only attempt to add the Patron ID to the Checkin Response message
if the ILS actually provides a valid $patron structure

18 years agoAdd a bunch more tests
djfiander [Mon, 29 May 2006 12:16:11 +0000 (12:16 +0000)]
Add a bunch more tests

18 years agominor fixups for hold management
djfiander [Sun, 28 May 2006 12:30:48 +0000 (12:30 +0000)]
minor fixups for hold management

18 years agoHold messages can have a patron password in them
djfiander [Sun, 28 May 2006 12:30:20 +0000 (12:30 +0000)]
Hold messages can have a patron password in them

18 years agoInitial test case
djfiander [Sat, 27 May 2006 13:33:11 +0000 (13:33 +0000)]
Initial test case

18 years agoAdd more tests
djfiander [Sat, 27 May 2006 13:32:45 +0000 (13:32 +0000)]
Add more tests

18 years agoI'm beginning to wonder how many times it'll take me to get the
djfiander [Sat, 27 May 2006 11:50:01 +0000 (11:50 +0000)]
I'm beginning to wonder how many times it'll take me to get the
password check right.  But this time I actually ran it through
the test harness before checking it in.