SIPServer.git
14 years agoCatch undef parameter (avoid warning/failure on substr)
Joe Atzberger [Tue, 1 Jun 2010 18:50:39 +0000 (18:50 +0000)]
Catch undef parameter (avoid warning/failure on substr)

14 years agoUse common vars from SIPtest (stop hardcoding individual tests)
Joe Atzberger [Tue, 1 Jun 2010 18:00:53 +0000 (18:00 +0000)]
Use common vars from SIPtest (stop hardcoding individual tests)

14 years agoWhitespace and stylistic cleanup only.
Joe Atzberger [Tue, 1 Jun 2010 17:57:57 +0000 (17:57 +0000)]
Whitespace and stylistic cleanup only.

14 years agoUse more of SIPtest.pm exported values, avoid hardcoding
Joe Atzberger [Tue, 1 Jun 2010 17:51:32 +0000 (17:51 +0000)]
Use more of SIPtest.pm exported values, avoid hardcoding

14 years agoNot an Exporter and not implemented
Joe Atzberger [Tue, 1 Jun 2010 17:50:35 +0000 (17:50 +0000)]
Not an Exporter and not implemented

14 years agoAvoid undef warning, provide lanuage failover to 000 (unknown/default)
Joe Atzberger [Tue, 1 Jun 2010 17:48:24 +0000 (17:48 +0000)]
Avoid undef warning, provide lanuage failover to 000 (unknown/default)

14 years agoPure stylistic and whitespace changes
Joe Atzberger [Tue, 1 Jun 2010 17:48:07 +0000 (17:48 +0000)]
Pure stylistic and whitespace changes

14 years agoFailover to language '000' (unknown/default)
Joe Atzberger [Tue, 1 Jun 2010 17:45:03 +0000 (17:45 +0000)]
Failover to language '000' (unknown/default)

14 years agoTighter indent
Joe Atzberger [Fri, 28 May 2010 18:38:07 +0000 (18:38 +0000)]
Tighter indent

14 years agoExecutable python script
Joe Atzberger [Fri, 28 May 2010 18:29:55 +0000 (18:29 +0000)]
Executable python script

14 years agoChecksum computation overhaul
Joe Atzberger [Mon, 24 May 2010 22:52:21 +0000 (22:52 +0000)]
Checksum computation overhaul

This adds advanced debugging of checksum computation.

Note: good sample data is lacking.  I think most of the actual
checksum lines included in the test are questionable.  The only
one that computes accurately seems to be the example from the
3M SIP Developers Guide that specifically addresses checksum
computation.  The others from the same guide seem invalid!

I think the debugging output suggests the implementation is
consistent with the specified instructions, despite unavailability
of sample data to confirm.

14 years agoDebug output capability
Joe Atzberger [Mon, 24 May 2010 22:51:27 +0000 (22:51 +0000)]
Debug output capability

14 years agowhitespace cleanup
Joe Atzberger [Mon, 24 May 2010 22:50:58 +0000 (22:50 +0000)]
whitespace cleanup

14 years agoExtra read_it catches telnet confirmation prompt
Joe Atzberger [Wed, 12 May 2010 22:07:36 +0000 (22:07 +0000)]
Extra read_it catches telnet confirmation prompt

14 years agoTests are executable
Joe Atzberger [Wed, 12 May 2010 21:49:47 +0000 (21:49 +0000)]
Tests are executable

14 years agoRobust string cleaning and flexible CRLF from Socket
Joe Atzberger [Wed, 12 May 2010 16:15:25 +0000 (16:15 +0000)]
Robust string cleaning and flexible CRLF from Socket

14 years agoSimple test showing telnet vs. RAW handling.
Joe Atzberger [Wed, 12 May 2010 15:54:05 +0000 (15:54 +0000)]
Simple test showing telnet vs. RAW handling.

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

14 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.

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

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

14 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