Joe Atzberger [Tue, 1 Jun 2010 18:50:39 +0000 (18:50 +0000)]
Catch undef parameter (avoid warning/failure on substr)
Joe Atzberger [Tue, 1 Jun 2010 18:00:53 +0000 (18:00 +0000)]
Use common vars from SIPtest (stop hardcoding individual tests)
Joe Atzberger [Tue, 1 Jun 2010 17:57:57 +0000 (17:57 +0000)]
Whitespace and stylistic cleanup only.
Joe Atzberger [Tue, 1 Jun 2010 17:51:32 +0000 (17:51 +0000)]
Use more of SIPtest.pm exported values, avoid hardcoding
Joe Atzberger [Tue, 1 Jun 2010 17:50:35 +0000 (17:50 +0000)]
Not an Exporter and not implemented
Joe Atzberger [Tue, 1 Jun 2010 17:48:24 +0000 (17:48 +0000)]
Avoid undef warning, provide lanuage failover to 000 (unknown/default)
Joe Atzberger [Tue, 1 Jun 2010 17:48:07 +0000 (17:48 +0000)]
Pure stylistic and whitespace changes
Joe Atzberger [Tue, 1 Jun 2010 17:45:03 +0000 (17:45 +0000)]
Failover to language '000' (unknown/default)
Joe Atzberger [Fri, 28 May 2010 18:38:07 +0000 (18:38 +0000)]
Tighter indent
Joe Atzberger [Fri, 28 May 2010 18:29:55 +0000 (18:29 +0000)]
Executable python script
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.
Joe Atzberger [Mon, 24 May 2010 22:51:27 +0000 (22:51 +0000)]
Debug output capability
Joe Atzberger [Mon, 24 May 2010 22:50:58 +0000 (22:50 +0000)]
whitespace cleanup
Joe Atzberger [Wed, 12 May 2010 22:07:36 +0000 (22:07 +0000)]
Extra read_it catches telnet confirmation prompt
Joe Atzberger [Wed, 12 May 2010 21:49:47 +0000 (21:49 +0000)]
Tests are executable
Joe Atzberger [Wed, 12 May 2010 16:15:25 +0000 (16:15 +0000)]
Robust string cleaning and flexible CRLF from Socket
Joe Atzberger [Wed, 12 May 2010 15:54:05 +0000 (15:54 +0000)]
Simple test showing telnet vs. RAW handling.
Joe Atzberger [Tue, 11 May 2010 15:25:01 +0000 (15:25 +0000)]
Cleanup and more paranoid whitespace filtering
Joe Atzberger [Tue, 11 May 2010 04:55:33 +0000 (04:55 +0000)]
Kill useless sub _count_tests
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)
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!
Joe Atzberger [Mon, 10 May 2010 22:27:12 +0000 (22:27 +0000)]
LOG_ERROR is not a valid loglevel.
LOG_ERR is.
Joe Atzberger [Mon, 10 May 2010 22:11:18 +0000 (22:11 +0000)]
Append extensions fields to checkin response
Joe Atzberger [Mon, 10 May 2010 22:10:07 +0000 (22:10 +0000)]
Add back FID_HOME_LIBRARY
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
Joe Atzberger [Mon, 10 May 2010 21:37:13 +0000 (21:37 +0000)]
Add 3M extension constants and structuralize EXPORT_TAGS
Joe Atzberger [Fri, 7 May 2010 01:22:35 +0000 (01:22 +0000)]
LOG_WARN is not a valid syslog loglevel
LOG_WARNING is.
Joe Atzberger [Fri, 7 May 2010 01:09:27 +0000 (01:09 +0000)]
Proper id (copy/paste error)
Joe Atzberger [Fri, 7 May 2010 00:11:08 +0000 (00:11 +0000)]
Script should be executable.
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.
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.
Joe Atzberger [Tue, 4 May 2010 19:21:23 +0000 (19:21 +0000)]
Initial Commit
From openncip.cvs.sourceforge.net:/cvsroot/openncip
.gitignore added
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.
djfiander [Wed, 13 Jan 2010 01:38:31 +0000 (01:38 +0000)]
Minor fix to UTF8 support
djfiander [Fri, 8 Jan 2010 23:46:07 +0000 (23:46 +0000)]
Various utf8 fixes
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.
djfiander [Tue, 9 Jun 2009 01:43:07 +0000 (01:43 +0000)]
Fix missing parens in hash dereference
djfiander [Wed, 11 Feb 2009 01:05:04 +0000 (01:05 +0000)]
Log incoming connections promptly
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).
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.
djfiander [Wed, 18 Jun 2008 22:25:52 +0000 (22:25 +0000)]
Handle various dates associated with items consistently.
djfiander [Wed, 19 Mar 2008 01:26:00 +0000 (01:26 +0000)]
Add copyright statements
djfiander [Wed, 19 Mar 2008 01:23:43 +0000 (01:23 +0000)]
Update dependencies
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.
djfiander [Tue, 11 Mar 2008 21:35:22 +0000 (21:35 +0000)]
Add support for "home_library" field in patron database
djfiander [Tue, 11 Mar 2008 21:32:54 +0000 (21:32 +0000)]
Check the protocol of the client connection properly.
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
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.
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.
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.
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.
djfiander [Sat, 16 Sep 2006 13:04:13 +0000 (13:04 +0000)]
Test logging in with invalid username and invalid password
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.
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
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.
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
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.
djfiander [Sun, 27 Aug 2006 11:49:52 +0000 (11:49 +0000)]
Transmit screen message and print line in Patron Information
Response messages.
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.
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.
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.
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.
djfiander [Tue, 22 Aug 2006 23:16:41 +0000 (23:16 +0000)]
Make two shut down messages different, to simplify debugging
djfiander [Thu, 3 Aug 2006 00:05:41 +0000 (00:05 +0000)]
Use correct boolean format for 'OK' field of Checkin Response
message.
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.
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.
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'
djfiander [Fri, 28 Jul 2006 23:05:35 +0000 (23:05 +0000)]
Adjust tests run for OpenILS.
djfiander [Fri, 28 Jul 2006 23:05:00 +0000 (23:05 +0000)]
Accept either 'other' or 'available' for circulation status.
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.
djfiander [Wed, 19 Jul 2006 01:45:51 +0000 (01:45 +0000)]
Added target to run just the Evergreen-compatible tests
djfiander [Wed, 19 Jul 2006 01:45:20 +0000 (01:45 +0000)]
Basic instructions for running tests
djfiander [Wed, 19 Jul 2006 00:49:13 +0000 (00:49 +0000)]
Basic installation README
djfiander [Tue, 18 Jul 2006 00:53:17 +0000 (00:53 +0000)]
Initial system integration with Evergreen code.
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"
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.
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.
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.
djfiander [Tue, 27 Jun 2006 01:33:45 +0000 (01:33 +0000)]
clean up by cancelling the second user's hold.
djfiander [Tue, 27 Jun 2006 01:33:24 +0000 (01:33 +0000)]
Add code to check item in when done testing.
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
djfiander [Tue, 27 Jun 2006 01:32:20 +0000 (01:32 +0000)]
fix handling of Item::hold_queue
djfiander [Fri, 23 Jun 2006 02:32:56 +0000 (02:32 +0000)]
Add tests for Invalid patron password and invalid patron id
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.
djfiander [Fri, 23 Jun 2006 02:31:06 +0000 (02:31 +0000)]
Check patron password in ILS::renew_all
djfiander [Fri, 23 Jun 2006 00:52:32 +0000 (00:52 +0000)]
Add test for attempting to renew item that has outstanding
holds.
djfiander [Fri, 23 Jun 2006 00:32:40 +0000 (00:32 +0000)]
Fix definition of Item::available to eliminate warning message
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.
djfiander [Thu, 22 Jun 2006 01:00:18 +0000 (01:00 +0000)]
Add tests for invalid patron and invalid item
djfiander [Fri, 16 Jun 2006 02:04:50 +0000 (02:04 +0000)]
Test for a blocked patron attempting to check out a book
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.
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.
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.
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.
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.
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.
djfiander [Tue, 13 Jun 2006 01:18:44 +0000 (01:18 +0000)]
Generalize configuration of Net::Server::PreFork to allow for
arbitrary configuration parameters.
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.
djfiander [Mon, 12 Jun 2006 23:49:51 +0000 (23:49 +0000)]
Minor cleanup: be consistent in use of "LOG_" in syslog levels.
djfiander [Fri, 9 Jun 2006 02:44:03 +0000 (02:44 +0000)]
Initial tests for Item Information message