[OpenSRF-GIT] OpenSRF branch rel_3_1 updated. 5c8b62f209a62a0ad2bf2a05b9e8fd34fda50630

Evergreen Git git at git.evergreen-ils.org
Wed Jan 9 17:23:19 EST 2019


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "OpenSRF".

The branch, rel_3_1 has been updated
       via  5c8b62f209a62a0ad2bf2a05b9e8fd34fda50630 (commit)
       via  b74533255c61937b96fb4326b9f94c18aaa37d4d (commit)
      from  0ed43a65d9f814540a9b0ec087ca29bf8090f7b2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5c8b62f209a62a0ad2bf2a05b9e8fd34fda50630
Author: Galen Charlton <gmc at equinoxinitiative.org>
Date:   Wed Jan 9 17:23:01 2019 -0500

    update ChangeLog for 3.1.0-beta
    
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/ChangeLog b/ChangeLog
index f4eaa05..a2e2fdb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,1324 +1,1063 @@
-ChangeLog
-=========
+commit b74533255c61937b96fb4326b9f94c18aaa37d4d
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Wed Jan 9 17:18:48 2019 -0500
 
-OpenSRF 2.1.2
--------------
-
-commit b0dd15b964f5856059d0fd40981f8985ef8ea56f
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Sun Nov 18 07:41:46 2012 -0500
-
-    Bump version numbers for 2.1.2
+    bump up version numbers for 3.1.0-beta release
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
+6	6	README
+3	3	doc/RELEASE_NOTES.txt
 2	2	src/perl/lib/OpenSRF.pm
+1	1	src/python/setup.py
 1	1	version.m4
 
-commit 07ab6dd958a905cb439f9cded9ae2828b7888a2f
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Fri Nov 16 10:36:28 2012 -0500
+commit 0ed43a65d9f814540a9b0ec087ca29bf8090f7b2
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Wed Jan 9 17:04:24 2019 -0500
 
-    Whitespace in OpenSRF/System.pm
+    draft 3.1.x release notes for 3.1-beta
     
-    Spaces not tabs.
-    
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-21	21	src/perl/lib/OpenSRF/System.pm
+154	0	doc/RELEASE_NOTES.txt
+ create mode 100644 doc/RELEASE_NOTES.txt
 
-commit 5efbb97cbeb87d37b4f64bcef8babeab5e5c54b1
-Author: Jason Stephenson <jstephenson at mvlc.org>
-Date:   Thu Nov 15 12:20:11 2012 -0500
+commit d7e9df6838f1c9a72db3fd41556d178cfe7f6700
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Wed Dec 12 14:35:56 2018 -0500
 
-    Move setting of OpenSRF::Application::shared_conf to load_bootstrap_config.
+    LP#1729610: extend backlog queue to C apps
     
-    shared_conf was not available and broke clients that were not in a
-    service, such as the Evergreen CStoreEditor.
+    This patch extends the notion of a backlog queue to C apps and
+    offers the same functionality as the Perl side of the patch series:
     
-    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-8	9	src/perl/lib/OpenSRF/System.pm
-
-commit 2cb5313d0d5bf3e2b912ebbcc653cedcac22336d
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue Oct 30 23:39:25 2012 -0400
-
-    Bump release numbers, create 2.1.1 change log
-    
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    - max_backlog_queue configuration setting
+    - ability to queue messages up to the configured limit
+    - ability to drop requests that would overflow the backlog
+      queue and send status 503 exceptions back to the client.
     
-    Conflicts:
-    	ChangeLog
-
-1243	1	ChangeLog
-2	2	src/perl/lib/OpenSRF.pm
-1	1	version.m4
-
-commit 42e369b2efcbbc31447c43b5fbaa3999ad88cf30
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Mon May 21 16:42:12 2012 -0400
-
-    ChopChop is dead, long live ChopChop.
+    This patch also adds a new service, opensrf.cslow, that implements
+    a opensrf.cslow.wait method similar to the Perl opensrf.slooooooow
+    service.
     
-    It was never fully baked, nor was it secure, nor does it compile cleanly
-    with -Wall, nor does it provide any useful examples for working with
-    opensrf, etc.  Time to clear out.  So long, chopchop.
+    To test
+    -------
+    [1] Set a low max_backlog_queue for opensrf.cslow and a low
+        max_children.
+    [2] Arrange for srfsh to fire off a bunch of opensrf.cslow.wait
+        requests.
+    [3] Verify that requests that come in after the backlog queue fills
+        up immediately get 503 exceptions.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-0	6	Makefile.am
-0	21	configure.ac
-0	13	examples/opensrf_core.xml.example
-0	4	src/Makefile.am
-0	23	src/jserver/Makefile.am
-0	1082	src/jserver/osrf_chat.c
-0	45	src/jserver/osrf_chat.h
-0	92	src/jserver/osrf_chat_main.c
- delete mode 100644 src/jserver/Makefile.am
- delete mode 100644 src/jserver/osrf_chat.c
- delete mode 100644 src/jserver/osrf_chat.h
- delete mode 100644 src/jserver/osrf_chat_main.c
+19	0	examples/opensrf.xml.example
+5	1	src/c-apps/Makefile.am
+58	0	src/c-apps/osrf_cslow.c
+117	40	src/libopensrf/osrf_prefork.c
+ create mode 100644 src/c-apps/osrf_cslow.c
+
+commit efa9b713d5341458a3afaa26d1cf9e750fa78654
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Wed Nov 7 12:03:17 2018 -0500
+
+    LP#1729610: return new OpenSRF status if backlog queue fills up
+    
+    This patch teaches Perl services how to return a new OpenSRF status,
+    OSRF_STATUS_SERVICEUNAVAILABLE (code 503) if the backlog queue
+    for a service gets full.
+    
+    To test
+    -------
+    [1] Set a low max_backlog_queue for opensrf.sloooow and a low
+        max_children.
+    [2] Arrange for srfsh to fire off a bunch of opensrf.sloooow.wait
+        requests.
+    [3] Verify that requests that come in after the backlog queue fills
+        up immediately get 503 exceptions.
+    
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-OpenSRF 2.1.1
--------------
+1	0	include/opensrf/osrf_message.h
+1	0	src/javascript/opensrf.js
+3	0	src/perl/lib/OpenSRF/DomainObject/oilsResponse.pm
+42	2	src/perl/lib/OpenSRF/Server.pm
+1	0	src/python/osrf/const.py
 
-commit e93c7c932b144aac2633fe5d058f298a29909f02
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue Oct 30 23:34:04 2012 -0400
+commit 848843b1cda6d79d3aec589746abf7a8efdc313d
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Tue Nov 6 15:14:55 2018 -0500
 
-    Release notes for 2.1.1: input log redaction
+    LP#1729610: make it possible to set max_backlog_queue in opensrf.xml
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-
-12	3	doc/RELEASE_NOTES.txt
-
-commit fd367d0a978cd85d2726a1ea2bd0412abf57fb12
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue Oct 30 23:27:34 2012 -0400
-
-    Purge the wildly out-of-date Roadmap document
+    This patch adds a new service configuration option, max_backlog_queue,
+    to allow controlling the size of the backlog queue.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-
-0	51	doc/Roadmap.txt
- delete mode 100644 doc/Roadmap.txt
-
-commit 97a520bce382c8806ad1772f98e1e9169a2297b9
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Tue Nov 6 12:32:48 2012 -0500
-
-    Bump libopensrf version-info revision and age
+    If not otherwise specified in opensrf.xml, max_backlog_queue defaults
+    to 1000.
     
-    The log redaction functionality changed the source files (thus 'age'
-    gets bumped) and is backwards-compatible (thus 'revision' gets bumped)
-    but maintains the same interface (thus 'current' stays the same).
-    
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-1	1	src/libopensrf/Makefile.am
+1	0	examples/opensrf.xml.example
+1	0	src/perl/lib/OpenSRF/System.pm
 
-commit b81a8c2ada734fe8c47e758c681e2bb952f29c39
-Author: Dan Wells <dbw2 at calvin.edu>
-Date:   Wed Oct 31 10:21:14 2012 -0400
+commit 60bcf74ecc5a5c7d0740d7054e829eef19828091
+Author: Remington Steed <rjs7 at calvin.edu>
+Date:   Wed Jan 31 16:05:52 2018 -0500
 
-    Protect against empty/invalid log_protect sections
+    LP#1729610: Fix incorrect param description
     
-    Connectivity would fail if the log_protect section of opensrf_core.xml
-    was empty, or contained only comments, as it does in the default
-    example. Add a simple guard against this potential problem.  This fix
-    will also protect against cases where the 'log_protect' section
-    contains text rather than separate configuration elements.
+    Mike confirmed that the code expects "pause" to be an integer. This
+    commit changes the description to reflect that, and to mention the
+    default value.
     
-    Credit to Dan Scott for finding the bug and working out how to fix it.
-    
-    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-6	4	src/perl/lib/OpenSRF/Application.pm
+1	1	src/perl/lib/OpenSRF/Application/Slooooooow.pm
 
-commit a2a286ef7fbf70e695ab23289fe9f131a9037922
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Wed Oct 17 15:57:14 2012 -0400
+commit a9da9c7b25ef90276d41ba84ba8ccf0ea856da1b
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Tue Oct 24 16:45:09 2017 -0400
 
-    Consolidate duplicate osrfMethodVerifyContext handler
+    LP#1729610: Add some debug/internal logging to backlog queue
     
-    Log redaction was not occuring in some cases because the code was using
-    the OSRF_METHOD_VERIFY_CONTEXT macro instead of the similarly named
-    function which does the same thing.  This change points the macro at the
-    function so that all code uses the same underlying code.
-    
-    Note this change turns on CALL param logging unconditionally, whereas
-    users of the macro would previously have been able to avoid CALL logging
-    via the OSRF_LOG_PARAMS variable.  In practice, little code uses the
-    macro and all code enables OSRF_LOG_PARAMS.  If we need to add this
-    control back, it can be added directly to osrfMethodVerifyContext().
-    For now, it's one less env variable we need to define.
-    
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-2	36	include/opensrf/osrf_application.h
+7	0	src/perl/lib/OpenSRF/Server.pm
 
-commit 157ad5d6553b29585afd4b2180db91e2d13b5961
-Author: Dan Wells <dbw2 at calvin.edu>
-Date:   Fri Oct 12 09:45:35 2012 -0400
+commit 1abec0da61a46fa5a4a881c29a2e95a51e9013fa
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Wed Nov 1 11:11:08 2017 -0400
 
-    Log redaction for sensitive input values, Perl side
+    LP#1729610: Add a service useful for testing behavior in slow response conditions
     
-    This commit attempts to do the same as the C log redaction fix,
-    but now at the Perl level.  The Perl configuration code was a
-    little more crufty than the C side, so an additional feature was
-    added to Config.pm to support the new 'shared' section.  At some
-    point we should consider a ground-up rewrite of Config.pm, as the
-    code seems to suffer some from its INI file roots.
+    This service, opensrf.slooooooow, offers a opensrf.slooooooow.wait method
+    that waits for the number of seconds specified in its sole parameter.
     
-    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-3	3	examples/opensrf_core.xml.example
-21	1	src/perl/lib/OpenSRF/Application.pm
-9	0	src/perl/lib/OpenSRF/System.pm
-48	12	src/perl/lib/OpenSRF/Utils/Config.pm
+19	0	examples/opensrf.xml.example
+48	0	src/perl/lib/OpenSRF/Application/Slooooooow.pm
+ create mode 100644 src/perl/lib/OpenSRF/Application/Slooooooow.pm
 
-commit fe9617eda262cc3a3890d068e938ef0ffb99d07a
-Author: Dan Wells <dbw2 at calvin.edu>
-Date:   Wed Oct 10 17:28:07 2012 -0400
+commit 0201ca954002eb241d277c3068659bb1f8100bab
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Tue Oct 24 13:27:37 2017 -0400
 
-    Log redaction for sensitive input values, C side
-    
-    Some service/methods deal with sensitive information (passwords,
-    financial, etc.).  All input values (e.g. gateway method params)
-    are currently logged in the activity log regardless of your log
-    level.  This commit will allow you to redact the params of any
-    method which matches a configurable set of left-anchored string
-    values.
+    LP#1729610: Allow queuing (for a while) during child backlog
     
-    This commit adds the initial config, and covers redaction of method
-    parameters sent through the gateway, the translator, and more general
-    OpenSRF C applications.
+    This patch teaches OpenSRF listeners for Perl services how to maintain
+    a queue of requests in case no drone process is immediately available
+    to process a requeust.
     
-    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-12	0	examples/opensrf_core.xml.example
-1	0	include/opensrf/osrf_application.h
-2	0	include/opensrf/osrf_system.h
-25	10	src/gateway/osrf_http_translator.c
-22	7	src/gateway/osrf_json_gateway.c
-23	4	src/libopensrf/osrf_application.c
-6	0	src/libopensrf/osrf_system.c
+35	5	src/perl/lib/OpenSRF/Server.pm
+2	3	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
 
-commit cd24bb1c94c95027310f63909b692e4dbb05507f
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Oct 22 11:50:21 2012 -0400
+commit f3eab1715079243d541dc12fd90db005630ffec9
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Nov 13 17:21:18 2018 -0500
 
-    Use apt-get instead of aptitude on Debian / Ubuntu
+    LP#1803182 Websocketd graceful shutdown support
     
-    Reports from the field state that aptitude is not installed by default on
-    Ubuntu any longer; thus go with the sure thing.
+    Give websocketd clients a chance to complete any requests that are
+    in-process at time of shutdown.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-1	1	README
-1	1	src/extras/Makefile.install
-
-commit 20a115a421c56b56968accc27b63da7656a70ee8
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Oct 22 11:53:24 2012 -0400
-
-    Remove the reference to Evergreen in the README
+    Graceful shutdown is initiated by sending a SIGUSR1 signal to the
+    websocket-osrf child processes or to the parent process group.
     
-    Stephen Wills reported problems installing Evergreen because of missing
-    dependencies, and reading the OpenSRF README shows that it refers to the
-    Evergreen prerequisite installer in a confusing way that might lead to
-    users using only the Evergreen Makefile.install, rather than using the
-    OpenSRF Makefile.install.
+    This can be done directly via:
     
-    In addition, Fedora 16 is going to be out of support soon, and Fedora 17
-    and 18 are well-tested targets now.
+    $ kill -s USR1 -$websocketd_parent_pid
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-2	2	README
-
-commit 83dd58abfca26418f8bdaecb73dbd2c177cc0093
-Author: Jason Stephenson <jstephenson at mvlc.org>
-Date:   Tue Nov 6 09:16:18 2012 -0500
-
-    Fix installation on Ubuntu Precise.
+    Or via systemd for systemd users:
     
-    Remove libreadline5-dev and replace with libreadline-dev for Ubuntu
-    and Debian.  This installs libreadline6, but everything still works
-    since there's nothing version specific in our use of libreadline.
+    $ sudo systemctl kill -s USR1 websocketd-osrf
     
-    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-
-2	3	src/extras/Makefile.install
-
-OpenSRF 2.1.0
--------------
-
-commit 79694c390e0350a199be409ceadb19945ddf2b5c
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Wed May 30 23:12:32 2012 -0400
-
-    No, Ubuntu Hardy is not well-tested for 2.1.0
+    Note the websocketd parent process ignores SIGUSR1.
     
-    One more reference to Ubuntu Hardy that we can remove from the
-    README/INSTALL.
+    Once initiated, the websocketd backend goes into shutdown mode polling
+    for a graceful shutdown window, which occurs when all request up to now
+    have been completed.  Once that moment arrives, the client is kicked off
+    and must connect to a new websocketd instance to issue any new requests.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-
-0	1	README
-
-commit 885a4d87cd06f31071ff9b2f728fd7aa1c83d7be
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Wed May 30 23:11:14 2012 -0400
-
-    Generate ChangeLog for 2.1.0 release
+    The polling period lasts for SHUTDOWN_MAX_GRACEFUL_SECONDS seconds (in
+    osrf-websocket-stdio.c), which currently defaults to 2 minutes.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-821	59	ChangeLog
+91	13	src/websocket-stdio/osrf-websocket-stdio.c
 
-commit 3eb7c54a734369a7bffc4a3c30bef2e65573be52
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Sun May 27 22:52:23 2012 -0400
+commit 304365165e7ba0cc08bb6c5f0ba25f0b541fd27d
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Mon Jul 24 12:08:56 2017 -0400
 
-    2.1.0 release notes
+    LP#1706147 Perl Force-Recycle drone option
     
-    A summary of some of the highlights of the new release, for
-    functionality that has been added and deleted. Does not address bug
-    fixes such as the much more robust Perl child handling; perhaps
-    we should focus on those as well?
+    Creates an API-level option to inform the OpenSRF drone management code
+    that the running drone should be recycled upon completion of the current
+    OpenSRF session.  This allows for quicker release of resources consumed
+    by the drone.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-
-89	0	doc/RELEASE_NOTES.txt
- create mode 100644 doc/RELEASE_NOTES.txt
-
-commit cdd0816c624ff0843ee5ab201346521ae91f474a
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Wed May 30 22:33:17 2012 -0400
-
-    Bump version numbers to help with library compatibility
+    To use:
     
-    By bumping the OpenSRF version numbers for Perl libs, Python libraries,
-    and the libtool versioning for the libopensrf library, projects that
-    build on OpenSRF will be able to flag the minimum required version and
-    bail out early if an older version of OpenSRF has been installed.
+    sub some_api_method {
+        my ($self, $client, ...) = @_;
+        $self->session->force_recycle(1);
+        ...
+    }
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-2	2	src/libopensrf/Makefile.am
-1	1	src/perl/lib/OpenSRF.pm
-1	1	src/python/setup.py
-1	1	version.m4
+10	0	src/perl/lib/OpenSRF/AppSession.pm
+15	1	src/perl/lib/OpenSRF/Server.pm
 
-commit ee2c79929aa63ff8d6749da7d10c15ab967d9fd5
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Tue May 22 16:45:33 2012 -0400
+commit 51a4651186c94686051262a9255d165eadd4f049
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Mon Aug 27 10:12:57 2018 -0400
 
-    Add "tar" to base prereqs to appease autotools
+    LP#1684970 Translator compatible with mod_remoteip
     
-    On a minimal install of Fedora 17, I was running into the perplexing
-    error message whilst running 'autoreconf -i':
+    Teach the OSRF Translator to request the IP address of the user agent
+    (e.g. web browser) instead of the IP address of the up stream client,
+    which may be a proxy, using the Apache 2.4 request_rec->useragent_ip
+    value.
     
-    libtoolize: can not copy `/usr/share/libtool/config/ltmain.sh' to `./'
+    http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html
     
-    This was confusing because a manual copy would, in fact, copy the file
-    just fine.
+    This make is possible for the translator to access the client IP with
+    Apache's mod_remoteip enabled and configured.
     
-    http://lists.gnu.org/archive/html/libtool/2009-07/msg00030.html finally
-    lead to enlightenment: autotools uses "tar" to copy files, not "cp".
-    Thus, to avoid similar head-scratching install problems in the future,
-    add "tar" to the base prerequisites for building OpenSRF (both to the
-    DEBs list and the RPMs list).
+    Includes sample config and install documentation.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-3	1	src/extras/Makefile.install
+17	0	README
+1	1	src/gateway/osrf_http_translator.c
 
-commit 788a396a2b380c5950c09368f85e8d4a79ec2ca8
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue May 22 02:26:04 2012 -0400
+commit 1423787b6076daeb18176e907b1ed307255ffbcb
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Thu Sep 13 13:08:37 2018 -0400
 
-    Update OS support in README / Makefile.install
-    
-    Kick Debian Lenny, Ubuntu Hardy, and RHEL 5 / CentOS 5 to the curb.
-    
-    Also change the name of the README to the more generic & instructive
-    "Installing OpenSRF" rather than "README for OpenSRF #.#.#".
-    
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-    
-    Conflicts:
+    LP#1711145 NGINX sample websocketd configs
     
-    	README
-    
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-3	9	README
-3	243	src/extras/Makefile.install
+20	3	examples/nginx/osrf-ws-http-proxy
 
-commit 3dd57f268b8b5d39f85139e4c4e5246bd9e2cda5
-Author: Thomas Berezansky <tsbere at mvlc.org>
-Date:   Wed May 23 10:13:41 2012 -0400
+commit 3db305ba4329b4c93d16b03800755d5807de4de0
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Jul 11 12:27:05 2018 -0400
 
-    Nagios Example Plugin for monitoring services
+    LP#1711145 NGINX sample config security improvements
+    
+    * Adds security recommendations from
+    https://mozilla.github.io/server-side-tls/ssl-config-generator/
+    * Enables http2
+    * Apply a 5-minute proxy read timeout to avoid too-short timeouts on
+      long API calls.
+    * Adds a (commented) section on sending nginx logs to syslog
     
-    Does not check that all drones in a brick are fully up, just that the
-    entire brick will respond to each service, even if only one drone happens
-    to be running the listener properly (and said listener is responding).
+    Includes INSTALL notes on generating the dhparam file.
     
-    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-219	0	examples/nagios/check_osrf_services
- create mode 100755 examples/nagios/check_osrf_services
+10	2	README
+30	2	examples/nginx/osrf-ws-http-proxy
 
-commit e7431d6fa114c35d3dc5b430fbb4bdae99edaa88
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Mon Apr 2 14:55:56 2012 -0400
+commit 5c803ae4550bf0e4a992c217baeaffabee30c45a
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Mon Nov 5 10:42:32 2018 -0500
 
-    Detect and repair multipart/mixed message delivery errors
+    Reorder Ejabberd configuration steps for Ubuntu 18.04.
     
-    For unknown reasons, the Content-Type header will occasionally be
-    included in the XHR.responseText for multipart/mixed messages.  When
-    this happens, strip the header and newlines from the message body and
-    re-parse.
+    Rearrange the steps for modifying /etc/ejabberd/ejabberd.yml on Ubuntu
+    18.04 so that they are in the same order that they appear in the file.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-33	1	src/javascript/opensrf.js
+6	6	README
 
-commit 832f166b38acc9c68c9c1fcea1432d2ca881316b
-Author: Galen Charlton <gmc at esilibrary.com>
-Date:   Mon May 21 17:29:05 2012 -0400
+commit 705599ff6aa29857e8ed1b3da11e6e8ba05e9aa9
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Jun 12 12:12:45 2018 -0400
 
-    fix up index/position type for calls of various osrfList* functions
+    LP#1776510 JS libs handle transport errors
     
-    osrfListSet, osrfListRemove, osrfListGetIndex, and osrfListExtract
-    all expect unsigned ints for the index/position parameter.
+    Teach the websocket client code to look for the transport_error flag
+    applied to the websocket wrapper message by the websocket gateway when a
+    request for an unavilable service is made.
     
-    src/jserver is ignored by this commit as its removal is pending.
+    When encountered, fire the transport or generic error handler callbacks,
+    if available.  Avoid any attempts to further process the message.
     
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	src/gateway/osrf_http_translator.c
-2	2	src/libopensrf/osrf_json_tools.c
-1	1	src/libopensrf/osrf_list.c
-1	1	src/libopensrf/string_array.c
-1	1	src/router/osrf_router.c
+23	0	src/javascript/opensrf.js
 
-commit bdc4cfe354051e4132d6ffa2da3e0942acb3f780
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Sat May 5 01:58:22 2012 -0400
+commit 884e00c41abd33ed8785acc1bc5958fd027a0807
+Author: Ben Shum <ben at evergreener.net>
+Date:   Thu Sep 20 11:34:45 2018 -0400
 
-    Remove comparisons that can never evaluate to true
+    Update README to include Bionic steps
     
-    Using clang as the compiler results in 4 warnings like the following:
+    Note the use of mod_legacy_auth in ejabberd 18.x version for Ubuntu Bionic
     
-    osrf_list.c:106:23: warning: comparison of unsigned expression < 0 is
-    always false [-Wtautological-compare]
-            if(!list || position < 0) return NULL;
-                        ~~~~~~~~ ^ ~
-    
-    (Explanation: "position" is an unsigned int; thus the comparison to < 0
-    can never evaluate to true).
-    
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-4	4	src/libopensrf/osrf_list.c
+29	2	README
 
-commit 3aabf1932f93bc6e1e6693001734a1f1bcdbdce0
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Sat May 5 01:32:25 2012 -0400
+commit f234372cb5f175c79ad9fe8279ae445b78fdaeb5
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Tue Aug 7 19:43:45 2018 -0400
 
-    LP954059: Silence uninitialized var warning
-    
-    Compiling osrf_utf8.c generates the following warning:
+    Add support for Ubuntu 18.04 Bionic Beaver to Makefile.install
     
-    osrf_utf8.c:510:29: warning: utf8_char may be used uninitialized in this
-    function [-Wuninitialized]
-    
-    So... initialize utf8_char when we declare it, and make the compiler
-    happy.
-    
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	src/libopensrf/osrf_utf8.c
+13	0	src/extras/Makefile.install
 
-commit 4fe1fdc7d4561e04212444786fd61d95eae69eb0
-Author: Galen Charlton <gmc at esilibrary.com>
-Date:   Mon May 21 17:02:34 2012 -0400
+commit 9682d15475485522812ac73ac10e283d11176f7e
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Thu Sep 20 18:04:09 2018 -0400
 
-    LP# 953299 - defend against null and zero-length cache keys
+    LP#1703411 XMPP opensrf element make check repairs
     
-    Ignore undefined and zero-length (after key normalization) cache
-    keys.
+    Update the transport_message unit tests to check for the new <opensrf/>
+    element for relaying custom commands.
     
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-9	2	src/perl/lib/OpenSRF/Utils/Cache.pm
+3	2	tests/check_transport_message.c
 
-commit 3e97b0f69be04957eefa149d06e05111f3ad4291
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Mon May 21 12:18:41 2012 -0400
+commit 744f0d1f2775bd5c51bfbf47d4d89a29001aafcf
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Sep 19 15:34:49 2018 -0400
 
-    LP# 953299 - Prevent get/set of invalid cache keys
+    LP#1703411 XMPP opensrf sub-element repairs
     
-    Clients of OpenSRF::Utils::Cache occasionally request cache keys that
-    contain invalid characters (a particular case is ISBNs that contain
-    spaces), so strip those out of incoming get/set requests to avoid ugly
-    memcached errors.
+    * Message template typo repair -- missing "'"
+    * XPath repair on path to opensrf sub-element for Perl
+    * Move 'type' attribute get/set back up to the <message> for Perl.
+    * Clean up code duplication in the C message building libs.
+    * Squash a centuries-old memory leak where xmlFree(sender) was only
+      called if a router_from was not supplied.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-25	0	src/perl/lib/OpenSRF/Utils/Cache.pm
-3	1	src/perl/t/09-Utils-Cache.t
+17	54	src/libopensrf/transport_message.c
+3	3	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPMessage.pm
+2	2	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
 
-commit c6cf4d9b6530f5b8b6bdf95c26db9986656fcce8
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Mon May 21 12:41:25 2012 -0400
+commit b44fb8675a3b9983d3d3c1f2586006520b6f7281
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Tue Aug 28 14:32:02 2018 -0400
 
-    .gitignore - ignore more built stuff in fewer lines
+    LP#1703411: Move OpenSRF XMPP attrs to subelement
     
-    Use the power of glob to catch more built files that we want to ignore,
-    while simplifying the .gitignore file significantly.
+    Modern versions of Ejabberd strip custom XML attributes which appear
+    outside of custom elements.  To support OpenSRF's custom router and
+    osrf_xid commands, move these attributes into a new custom XML element
+    <opensrf>.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-23	108	.gitignore
+8	0	src/java/org/opensrf/net/xmpp/XMPPReader.java
+70	8	src/libopensrf/transport_message.c
+13	8	src/libopensrf/transport_session.c
+9	4	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPMessage.pm
+7	2	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
 
-commit 2c0fb3a9f6aeea9c93846c573ced8d235ec03c7c
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Mon May 21 11:48:26 2012 -0400
+commit 265aa9f8cc12472b347e34a62a8f2655dfb1c51b
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Wed Sep 20 11:56:34 2017 -0400
 
-    Revert inadvertently introduced debugging code
+    Lp#1718459: Remove Debian 7 Wheezy installation support.
     
-    In commit 91b8790c, several debugging lines were accidentally committed
-    to the OpenSRF caching utility. Revert that change.
+    Remove references to Debian 7 Wheezy in the README.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
-
-0	3	src/perl/lib/OpenSRF/Utils/Cache.pm
-
-commit f6d38086a42cd6a60d7ed45461d99076cf4d9e5e
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue May 1 22:11:00 2012 -0400
-
-    Minor cleanups to Java dependency build process
+    Remove src/extras/Makefile.install targets for Wheezy.
     
-    While configure.ac still hardcodes the expected location of the Java
-    dependencies (JSON and Memcached classes), we can clean up some of the
-    lower-level challenges with the Java build.
+    Remove the examples/apache2 directory, since none of the supported
+    distros come with Apache 2.2 any longer.
     
-    * StAX and WSTX were rolled into the core Java environment long ago,
-      so there's no need to download them and even less need to verify
-      that the downloaded version exist.
-    * The Memcached class is now up to 2.0.1, per deps.sh, but the deps.inc
-      file was pointing at 1.5.1.
-    * Speaking of the deps.inc file, nothing seems to use it; delete it.
-    * The Makefile was dying because the variables for the Memcached and
-      JSON classes weren't defined. Define those at the top of the Makefile.
+    To test: Simply install on a supported distribution other than Debian
+    7 Wheezy and do the usual tests.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
 
-4	3	src/java/Makefile.am
-0	5	src/java/deps.inc
- delete mode 100644 src/java/deps.inc
+6	22	README
+0	49	examples/apache2/opensrf.conf
+0	64	examples/apache2/websockets/apache2.conf
+1	13	src/extras/Makefile.install
+ delete mode 100644 examples/apache2/opensrf.conf
+ delete mode 100644 examples/apache2/websockets/apache2.conf
 
-commit d9487c42a1e3432be9fa3da9b2fad2b42d24a645
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue May 1 22:08:23 2012 -0400
+commit da7e927c350c3c098b081f432b53cfb3a24ab480
+Author: Ben Shum <ben at evergreener.net>
+Date:   Wed Sep 12 13:07:18 2018 -0400
 
-    Clean up root directory: INSTALL, .gitignore, autoreconf
+    LP#1777180: Add zip/unzip to prerequisites
     
-    * Update the README to avoid running autoreconf with the "-f" flag.
-    * Make the INSTALL file a symbolic link to the README to avoid
-      creating a generic INSTALL file each time autoreconf is run.
-    * Add a .gitignore file that ignores all of the built files.
+    Need unzip for new websocketd unpackaging. Also get zip just because.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-181	0	.gitignore
-1	0	INSTALL
-1	1	README
- create mode 100644 .gitignore
- create mode 120000 INSTALL
+2	0	src/extras/Makefile.install
 
-commit c4c2d62cdf47ee7e5d02fac44cce5515a77c362c
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Tue May 1 21:31:38 2012 -0400
+commit d1c33b4b1e2305c4dbb9a54dec22f04f665a7a2c
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Wed Sep 12 10:58:58 2018 -0400
 
-    Change Java deps.sh to include . in CLASSPATH
+    LP#1777180 Update README for websocketd
     
-    Following the directions given by running deps.sh was a little bit
-    frustrating; we need to work in some documentation on how to use the
-    Java bits of OpenSRF - and perhaps look at a more standard option like
-    maven for dependencies.
+    Add optional command to run websocketd without using a proxy.
     
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
 
-1	1	src/java/deps.sh
+19	1	README
 
-commit d7d8923e98a91c070668a529957d7ee7033529a7
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Fri Mar 16 09:56:13 2012 -0400
+commit 21c9c76332b8a4b591e443d098a0fc78b6db0e9d
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Sat Jun 9 19:05:25 2018 -0400
 
-    Java Gateway interface improved exception handling
+    LP#1777180 Websocketd gateway and test scripts
     
-    Handle any exceptions that should not reasonably occur in normal
-    operation under the covers.  Bubble the rest up.  Update test code with
-    examples.
+    Adds a new OpenSRF binary/program for relaying websockets messages
+    to and from a websocketd instance.  The new binary
+    (osrf-websocket-stdio) performs the same tasks as the
+    osrf_websocket_translator.c Apache module, minus the Apache module glue
+    and the extra threading required to run within the Apache module.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-57	51	src/java/org/opensrf/net/http/GatewayRequest.java
-16	8	src/java/org/opensrf/net/http/HttpConnection.java
-41	12	src/java/org/opensrf/net/http/HttpRequest.java
-5	2	src/java/org/opensrf/net/http/HttpRequestHandler.java
-50	30	src/java/org/opensrf/test/TestGateway.java
-
-commit ad253eb0d67098b69c71141061563b1802f33f97
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Thu Mar 15 17:26:16 2012 -0400
-
-    Java gateway interface test class
+    Commit includes 2 test scripts (tester.pl and test-stateful.pl) for
+    generating large series of test messages to send to a websockets
+    instance. tester.pl sends echo requests only, test-stateful.pl sends
+    connect->echo-request->disconnect batches across a configurable number
+    of forked processes.
+    
+    INSTALL document updated to include websocketd setup as an alternative
+    to Apache websockets.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jeff Davis <jeff.davis at bc.libraries.coop>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
 
-58	0	src/java/org/opensrf/test/TestGateway.java
- create mode 100644 src/java/org/opensrf/test/TestGateway.java
+4	0	.gitignore
+32	2	README
+1	0	configure.ac
+1	1	src/Makefile.am
+22	0	src/websocket-stdio/Makefile.am
+609	0	src/websocket-stdio/osrf-websocket-stdio.c
+148	0	src/websocket-stdio/test-stateful.pl
+87	0	src/websocket-stdio/tester.pl
+ create mode 100644 src/websocket-stdio/Makefile.am
+ create mode 100644 src/websocket-stdio/osrf-websocket-stdio.c
+ create mode 100755 src/websocket-stdio/test-stateful.pl
+ create mode 100755 src/websocket-stdio/tester.pl
 
-commit 5b5e28f16be77d9b23a98579d10173103dd907ed
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Mon Feb 27 18:05:07 2012 -0500
+commit 6414c2527f6b6857d9f163bdba6f071b09f710a3
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Fri Jul 7 15:22:21 2017 -0400
 
-    Java HTTP gateway interface
-    
-    Supports sync and async requests.  Async requests support onResponse,
-    onComplete, and onError handlers.
+    LP#1702978: memcache Get methods use key as va_list format
     
-    Supports a max-threads value to limit the number of activately
-    communicating threads over any connection.  When max-threads is reached,
-    requests are queued and delivered as soon as there is room.
+    And, when a key (composed of, say, a username or barcode) has a % in it,
+    bad things happen.  We will stop acting as if these are variadic functions
+    now, and also update Evergreen so that it does not do that either.
     
-    Note that since this is talking to the OpenSRF gateway and not the
-    translater, responses are simply collected and passed one at a time to
-    onResponse.  They are not streamed.  The goal of supporting onResponse
-    is to provide the same client API for both the gateway and translator.
+    TODO: Make these actually non-variadic, but that breaks ABI.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Cesar Velez <cesar.velez at equinoxinitiative.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-129	0	src/java/org/opensrf/net/http/GatewayRequest.java
-97	0	src/java/org/opensrf/net/http/HttpConnection.java
-66	0	src/java/org/opensrf/net/http/HttpRequest.java
-25	0	src/java/org/opensrf/net/http/HttpRequestHandler.java
- create mode 100644 src/java/org/opensrf/net/http/GatewayRequest.java
- create mode 100644 src/java/org/opensrf/net/http/HttpConnection.java
- create mode 100644 src/java/org/opensrf/net/http/HttpRequest.java
- create mode 100644 src/java/org/opensrf/net/http/HttpRequestHandler.java
+13	17	src/libopensrf/osrf_cache.c
 
-commit 85830ce301654e2dfefcd186a2bd63bd3785a967
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Apr 23 14:17:35 2012 -0400
+commit 71720f639e00d0e457bc8f967f8060b579bc2882
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Mon May 7 16:03:16 2018 -0400
 
-    Remove GNU default INSTALL file
+    LP#1243841: quiet a misleading indentation warning
+    
+    Adjusts a spaces-vs-tabs issue to fix the following compilation
+    warning:
     
-    GNU autotools generate an INSTALL file that is generic and which
-    conflicts with the instructions given in the README. Installation is
-    already hard enough without conflicting instructions, so delete the
-    INSTALL file.
+    osrf_prefork.c: In function ‘check_children’:
+    osrf_prefork.c:1067:5: warning: this ‘if’ clause does not
+    guard... [-Wmisleading-indentation]
+         if( select_ret <= 0 ) // we're done here
+         ^~
+    osrf_prefork.c:1072:2: note: ...this statement, but the latter is
+    misleadingly indented as if it is guarded by the ‘if’
+      cur_child = forker->first_child;
+      ^~~~~~~~~
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-0	237	INSTALL
- delete mode 100644 INSTALL
+1	1	src/libopensrf/osrf_prefork.c
 
-commit bc36b120e78f9fa995856a144b9054e2a0ab1f3e
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Apr 23 14:13:37 2012 -0400
+commit 0f0a2281767a47c0ab4971d2b0dba5da10c6907b
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Tue Nov 7 16:39:39 2017 -0500
 
-    autotools - do not explicitly include m4 directory
+    LP#1243841 - Quiet remaining Make install warnings.
     
-    Some versions of autotools complain bitterly if an m4 include directory
-    is specified that does not exist.
+    We silence the following warnings:
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-0	2	Makefile.am
-0	1	configure.ac
-
-commit 2bdd580e2bcc6660b073b6853dc1544d5c68a6fd
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Apr 23 13:45:14 2012 -0400
-
-    Name the bootstrapping steps in buildbot
+    apachetools.c:179:15: warning: initialization discards 'const' qualifier
+    from pointer target type [enabled by default]
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-10	6	examples/buildbot.cfg
-
-commit f21b0a5aa647e7303cc0d6d3fb70cadf0e8fc812
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Apr 23 13:16:25 2012 -0400
-
-    Fix buildbot configuration
+    apachetools.c:181:8: warning: assignment discards 'const' qualifier from
+    pointer target type [enabled by default]
     
-    Need to define our tests before they're called; also, can't blindly
-    invoke a step out of the proper scope. Duh.
+    apachetools.c:183:8: warning: assignment discards 'const' qualifier from
+    pointer target type [enabled by default]
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    ./osrf_websocket_translator.c:541:9: warning: return makes integer from
+    pointer without a cast [enabled by default]
     
-    Conflicts:
+    ./osrf_http_translator.c:300:25: warning: passing argument 1 of 'free'
+    discards 'const' qualifier from pointer target type [enabled by default]
     
-    	examples/buildbot.cfg
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-55	18	examples/buildbot.cfg
+1	1	src/gateway/apachetools.c
+1	1	src/gateway/osrf_http_translator.c
+1	1	src/gateway/osrf_websocket_translator.c
 
-commit 4d58c3d24b65f96e0648e37a3f4da82051a58917
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Apr 23 12:52:57 2012 -0400
+commit f47f108e7a2af04360c872313978be6ce71c5c25
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Tue Nov 7 15:58:05 2017 -0500
 
-    Switch to autoreconf instead of autogen.sh
+    LP#1243841 - Quiet additional Make warnings and some code cleanup.
     
-    Update the buildbot config accordingly to avoid erroneous errors of
-    erroneosity.
+    We make the following warnings go away:
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-1	1	README
-0	43	autogen.sh
-12	4	examples/buildbot.cfg
- delete mode 100755 autogen.sh
-
-commit 5849a119bd363b152b41ed7a39c787f009412572
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Apr 2 16:48:15 2012 -0400
-
-    Bump version numbers for 2.1.0-RC1 release
+    osrf_legacy_json.c:607:6: warning: variable ‘fourth_dash’ set but
+    not used [-Wunused-but-set-variable]
+    
+    osrf_legacy_json.c:836:5: warning: passing argument 3 of ‘makeNode’
+    discards ‘const’ qualifier from pointer target type [enabled by
+    default]
+    
+    utils.c:133:2: warning: format not a string literal and no format
+    arguments [-Wformat-security]
     
-    Also update the ChangeLog with relevant entries.
+    We also cleanup the while block nested in a do while block around line
+    63 of osrf_cache.c to be more readable by adding braces and breaking
+    it across 3 lines.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-21	0	ChangeLog
-1	1	src/perl/lib/OpenSRF.pm
-1	1	version.m4
+3	1	src/libopensrf/osrf_cache.c
+4	6	src/libopensrf/osrf_legacy_json.c
+6	3	src/libopensrf/utils.c
 
-commit 0ed34101e67dc04292f906945dd5752c73985412
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Fri Mar 23 13:05:31 2012 -0400
+commit 9dd65c72e5bd114eb1e1d6c2b1388e01df02bbb8
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Tue Sep 19 21:25:12 2017 -0400
 
-    Add trailing period, "localhost" to ejabberd.cfg example
+    LP#1243841 - Quiet wrong format warnings during make install.
     
-    Thanks to Yamil Suarez for noticing a discrepancy between the older wiki
-    instructions and the README.
+    During make install, the compiler warns that %d expects an int when the
+    actual value is a long int.  Changing %d to %ld fixes the issue.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	README
+3	3	src/gateway/osrf_websocket_translator.c
 
-commit cf4d4798c5949abaf6bc9a4c3a62bf9a6533977b
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Wed Mar 14 11:38:18 2012 -0400
+commit f8f1813bf17f745719c9dabbdfc5c7bed05c7138
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Tue Sep 19 20:46:28 2017 -0400
 
-    Prevent undef warnings on perl socket read nbytes test
+    LP#1243841 - Quiet unused return value warning in srfsh.c
+    
+    Using the technique described here: https://stackoverflow.com/a/13999461.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dan at coffeecode.net>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
+1	1	src/srfsh/srfsh.c
 
-commit fff96812ff55cc50374d5a16e7c803fac2c2f2a5
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Sun Mar 11 11:22:14 2012 -0400
+commit 6aedae0b42434c95f22924ed4b93ba726353f034
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Tue Sep 19 20:37:13 2017 -0400
 
-    Prepare 2.1.0-alpha1 for release
+    LP#1243841 - Quiet unused return value warnings.
+    
+    Using advice given here: https://stackoverflow.com/a/13999461, "The
+    only good (if ugly) way to suppress these is to convert the return
+    value into something that the compiler agrees that you can ignore."
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-555	0	ChangeLog
-2	2	README
-2	2	src/perl/lib/OpenSRF.pm
-1	1	version.m4
+4	4	src/libopensrf/utils.c
 
-commit f470b55b86fd59f31dd142d8cb55fe812265892e
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Mon Feb 20 14:40:30 2012 -0500
+commit 2e5c11c04c4db962aebf4b8632ce35a46434cd12
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Tue Sep 19 18:10:00 2017 -0400
 
-    Detect remote disconnect in Perl XMPP reader
+    LP#1243841 - Wrap truth test using "=" in an extra set of parens.
     
-    When the jabber server severs the connection, it leaves the Perl libs
-    with a socket that perpetually appears ready for reading, but always
-    returns 0 bytes.  This produces a loop in the client code.  This change
-    detects this situation, logs an error, and throws an exception.
+    Referring to https://stackoverflow.com/questions/5476759/compiler-warning-suggest-parentheses-around-assignment-used-as-truth-value,
+    it is recommended to wrap variable assignments that are used as a truth
+    test within an extra set of parentheses.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-13	2	src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm
+1	1	src/libopensrf/osrf_cache.c
 
-commit 974d3a0dd4ddd134033b16bcd9e2fde34302ffd5
-Author: Dan Wells <dbw2 at calvin.edu>
-Date:   Tue Mar 6 15:08:33 2012 -0500
+commit e72473d9c43a579ea64cb79fd410d37df23c3445
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Sun Feb 18 12:12:13 2018 -0500
 
-    Protect gateway from format-string crashes in data
+    LP1340982: Ignore both 'comment' and '#comment' nodes in Settings Parse.
     
-    As a common security measure, printf-style formatting codes are
-    not allowed to be directly interpreted from a writable segment.
-    The gateway code currently has the following function call:
+    Modify the XML2perl helper function in OpenSRF::Utils::SettingsParser
+    to ignore comment nodes that have names of comment and #comment.
     
-    osrfLogActivity( OSRF_LOG_MARK, act->buf );
+    To reproduce the bug:
     
-    This is a variadic function which expects the 'act->buf' position
-    to contain a format string and any trailing arguments to be the
-    values passed to the formatter.  Since act->buf is the value of
-    what we passed in, some data inadvertantly contains format strings,
-    and since it is a writable segment, the program crashes.  Here is
-    an example of a crash-causing call:
+    1. Stop OpenSRF services.
     
-    http://localhost/osrf-gateway-v1?service=test&method=test&param=%22%251n%22
+    2. Add a XML comment, any text betwen <!-- and -->, in the list of
+    MARC templates in the opensrf.xml file.
     
-    The param is interpreted as "%1n" and abruptly fails.
+    3. Restart OpenSRF services.
     
-    The simple solution is to include a formatter so that our param gets
-    demoted to being mere data, i.e.:
+    4. In the staff client, go to Cataloging->Create New MARC Record.
     
-    osrfLogActivity( OSRF_LOG_MARK, "%s", act->buf );
+    5. In the list of templates, you will #comment where you added the
+    comment. (NOTE: I only tested with 1 comment.  Things may get worse
+    with more than 1 comment.)
     
-    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-1	1	src/gateway/osrf_json_gateway.c
-
-commit fd92a859e2ba3eeeaafe4904cd04973eb8cd572b
-Author: Thomas Berezansky <tsbere at mvlc.org>
-Date:   Wed Mar 7 16:42:21 2012 -0500
-
-    Stop warning about missing parentheses...
+    6. There will be an error like the following in the
+    open-ils.cat_stderr.log if you attempt to choose the #comment entry:
     
-    ...by adding them.
+       Caught error from 'run' method: Exception: OpenSRF::EX::ERROR
+       2018-02-18T11:24:30 OpenSRF::Application
+       /usr/local/share/perl/5.22.1/OpenSRF/Application.pm:240 System
+       ERROR: Unable to open MARC template file: HASH(0x2249928) :
     
-    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
-
-1	1	src/perl/lib/OpenSRF/Application/Validator.pm
-
-commit 8cfa0ae50935176a1574e8f233c8d4d88442c0ad
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Thu Feb 16 17:31:29 2012 -0500
-
-    Refresh child file handles on status read
+    To test the fix:
     
-    If a child process dies while the parent is attempting to read status
-    information from the child, the pipe connecting the two will be cleaned
-    up.  The parent mustn't attempt to read from the dead pipe or it will
-    result in a bad file descriptor error, culminating in a high-cpu
-    infinite loop on the parent (Listener) process.
+    1. Leave the comments in the opensrf.xml file from before.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
-    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
-
-4	3	src/perl/lib/OpenSRF/Server.pm
-
-commit 37606bf64f2829258cc612e730782e081e2ac6bb
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Fri Jan 13 10:57:59 2012 -0500
-
-    Python libs for OpenSRF ingress tracking
+    2. Apply this commit, do make and make install for OpenSRF.
     
-    osrf.ses.Session.ingress(ingress)
+    3. Just to make sure, do make and make install for Evergreen.
     
-    This also set the "srfsh" ingress value for srfsh.py.
+    4. Repeat steps 3 and 4 from above.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    5. You should NOT see any templates named #comment.
+    
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-11	1	src/python/osrf/ses.py
-2	0	src/python/osrf/stack.py
-1	0	src/python/srfsh.py
+1	1	src/perl/lib/OpenSRF/Utils/SettingsParser.pm
 
-commit 26c31a9d5728adbd884a1369034caff41471130b
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Fri Jan 13 09:35:18 2012 -0500
+commit f8dfa10b7613799190524ae1bf635d6c90a97b98
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Tue Apr 10 15:06:56 2018 -0400
 
-    Set OpenSRF ingress value for srfsh/gateways
+    LP#1762815 Empty client TZ defaults to server TZ (Perl)
     
-    Sets the "srfsh", "gateway-v1", and "translator-v1" ingress values
-    accordingly.
+    Fixes an issue in the Perl client time zone handling that resulted in
+    the server defaulting to UTC time instead of the server time zone when
+    no time zone value was received from the client.
     
-    For the translater, it's necessary to stamp the unpacked messages with
-    the updated ingress, then re-serialize before sending the messages along.
-    
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-18	21	src/gateway/osrf_http_translator.c
-1	0	src/gateway/osrf_json_gateway.c
-1	0	src/srfsh/srfsh.c
+1	0	src/perl/lib/OpenSRF/DomainObject/oilsMessage.pm
 
-commit 7ec92808fea116ead923e475ad5242a54b688798
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Fri Jan 13 09:15:05 2012 -0500
+commit 4163499191dfb511ba8646ae1c4748d88996558e
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Jan 24 15:16:14 2018 -0500
 
-    C libs for OpenSRF ingress tracking
+    LP#1744158 Websocket proc exits on ejabberd disconnect
     
-    osrfAppSessionSetIngress(<ingress>);
+    Any errors relaying websocket messages to OpenSRF now result in the WS
+    client being disconnected, allowing the WS process to exit.  This
+    prevents the WS gateway from accepting requests it cannot process and
+    allows the client to connect to a new WS process.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-5	0	include/opensrf/osrf_app_session.h
-5	0	include/opensrf/osrf_message.h
-26	0	src/libopensrf/osrf_app_session.c
-32	0	src/libopensrf/osrf_message.c
-4	0	src/libopensrf/osrf_stack.c
+17	4	src/gateway/osrf_websocket_translator.c
 
-commit b12de37f9480c68b1c8b033da18c3cc0d0ebc8f0
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Thu Jan 12 16:36:16 2012 -0500
+commit 50a6bcad0b6d94e8edd15ee460b84466bc55c941
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Jan 31 13:07:41 2018 -0500
 
-    Perl libs for OpenSRF ingress tracking
-    
-    Ingress is a free-form text value which represents the entry point for
-    the client into the opensrf network.  The value is passed within opensrf
-    messages, similar to "locale".  Clients should specify the ingress
-    before any opensrf communication occurs.
-    
-    OpenSRF::AppSession->ingress($ingress);
+    LP#1746577 Websocket responder exits on jabber disconnect
     
-    Stock values include the following:
+    Regularly check for Jabber socket disconnects in the websocket gateway
+    "responder" thread (that relays messages from opensrf to the WS client)
+    and force a client disconnect when a broken jabber socket is detected.
     
-    opensrf (default)
-    srfsh
-    translator-v1
-    gateway-v1
-    
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-9	0	src/perl/lib/OpenSRF/AppSession.pm
-20	1	src/perl/lib/OpenSRF/DomainObject/oilsMessage.pm
-2	0	src/perl/lib/OpenSRF/Transport.pm
+18	2	src/gateway/osrf_websocket_translator.c
 
-commit 67d4d5de8656128f32b20f4c04dbf81a1028e929
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Wed Feb 29 10:48:38 2012 -0500
+commit a90a1d9a99e510423b9fdc43afcb128ace79a24a
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Thu Sep 21 09:51:20 2017 -0400
 
-    Copy opensrf_core.xml.example to a clean opensrf_core.xml file
-    
-    Ben Shum with the assist again.
-    
-    Also, add ~/.srfsh.xml to the definition list of interesting OpenSRF
-    configuration files.
+    and continue to bump up version numbers
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-6	3	README
+1	1	version.m4
 
-commit 68025993b01cc95f66a0ca723841e1abb406709f
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Wed Feb 29 10:42:58 2012 -0500
+commit f3775e2c750ce0119c1bb5c2bd286d356bca8467
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Wed Sep 20 10:57:09 2017 -0400
 
-    Include explicit instructions to copy the opensrf config files
-    
-    Also noted by the sharp-eyed Ben Shum, we didn't tell people to actually
-    copy opensrf.xml.example / opensrf_core.xml.example, which could lead to
-    failure.
+    bump up version numbers in master to reflect 3.0 as next major release branch
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-35	17	README
+2	2	src/perl/lib/OpenSRF.pm
+1	1	src/python/setup.py
 
-commit 75f27021d4b45eebbf52a89a35f96e775f92a207
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Wed Feb 29 10:27:36 2012 -0500
+commit cace46d9acd653234ffc298d8ea483ce3c08c54d
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Tue Sep 12 11:29:41 2017 -0400
 
-    Update max_user_sessions suggestion to 10000 to match wiki
+    LP#1708048: Fix ld problems by renaming libraries.
     
-    Ben Shum noticed that the README still specified 1000 for
-    max_user_sessions in the ejabberd.cfg file, whereas current larger
-    OpenSRF systems with many services may blow past that limit. Update to
-    match the current wiki specification of 10000.
+    We add the lib... prefix to all C library names as expected by most
+    linkers.  This necessitates changes to the opensrf.xml configuration
+    file.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	README
+2	2	examples/opensrf.xml.example
+10	10	src/c-apps/Makefile.am
 
-commit 61fdb582dc918a1003351ff25842a23aaff24f71
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Wed Jan 4 15:21:36 2012 -0500
+commit a85132ecc7760106a317fdd967236cef99835771
+Author: Ben Shum <ben at evergreener.net>
+Date:   Tue Aug 1 16:07:16 2017 -0400
 
-    Remove reference to Fedora specific version in prereq installer
+    LP#1708048: Add support for Debian 9 Stretch
     
-    Fedora changes every 6 months, so it's probably silly to have a make
-    target of "fedora14" when that is no longer supported by the Fedora
-    project itself. As Fedora has packaged all of the OpenSRF dependencies
-    (thanks, Ben Webb!), in theory it should be supported by the latest
-    releases of Fedora in the future... as long as we don't introduce any
-    dependencies on deprecated versions of packages.
+      - Add new make target "debian-stretch"
+      - Add Stretch instructions to README
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Ben Shum <ben at evergreener.net>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-2	2	src/extras/Makefile.install
+8	7	README
+12	0	src/extras/Makefile.install
 
-commit ba6d4c7cc2988dafb6ca8de2d1f2f93194dcf3b3
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Wed Jan 4 15:17:48 2012 -0500
+commit 1f38166249e9f8fbb58ad21d1a00b935200a9278
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Thu Sep 14 17:36:40 2017 -0400
 
-    Update README to match Evergreen's format
-    
-    Reference the various accounts in use consistently.
-    
-    Correct reference to "fedora" target in Makefile.install.
+    LP#1717350: fix chunking messages sent from Perl services
     
-    Put the developer preamble up front.
+    The chunk size adjustments introduced by the patches for bug 1709710
+    could result in calculating non-integral chunk sizes for Perl services.
+    This in turn led to fractional offsets and lengths being passed to
+    Perl's substr() function; rounding in turn can lead to characters
+    in the response getting silently dropped, which in turn broke
+    parsing the reconstituted response.
     
-    Provide more Fedora examples.
+    To test
+    -------
+    The problem can be reproduced by invoking
     
-    Do not include leading "#" and "$" in bash examples, to make it easier
-    for people to copy and paste.
+      open-ils.storage open-ils.storage.actor.org_unit.descendants.atomic 1, 0
     
-    Include source highlighting instructions and titles for example
-    commands.
+    in Evergreen databases with org unit trees large enough that the
+    response gets chunked.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
 
-152	98	README
+2	1	src/perl/lib/OpenSRF/AppSession.pm
 
-commit cc7a12f74a9ce4555d5abd8989dfab43290fb41c
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Fri Feb 24 16:28:27 2012 -0500
+commit be2b2645f7da0907366eb0c99b5d6c231c366b30
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Fri Sep 8 17:53:52 2017 -0400
 
-    Java dependencies update
+    LP#1709710 Count Perl chunk/bundle sizes in bytes
     
-    As of Java 6, XML Stax parsing is natively supported.  This change
-    removes the external Stax dependencies and updates how the JSON libs are
-    fetched (in deps.sh), which now come from github.
+    For the purposes of bundling/chunking, count the number of bytes in each
+    affected string instead of the number of characters.
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-17	20	src/java/deps.sh
-1	4	src/java/org/opensrf/net/xmpp/XMPPReader.java
-1	4	src/java/org/opensrf/util/XMLFlattener.java
-
-commit 07b2eff0a7dfc492afd8e67788eae159c5ab96b7
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Tue Feb 21 09:55:57 2012 -0500
-
-    We're not in Subversion anymore, Dorothy
-    
-    We're in git now, make the README reflect that accordingly. Thanks to
-    Warren Layton for the tip!
+    See also https://perldoc.perl.org/bytes.html and 'perldoc -f length'
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-2	2	README
+6	3	src/perl/lib/OpenSRF/AppSession.pm
 
-commit aeeb4acdc8695a640021dbc6902ab3279652583d
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Tue Feb 14 09:10:58 2012 -0500
+commit 3d91aeb066c52213f2c82f04bdfc84b87ec8d1d0
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Fri Sep 8 15:34:29 2017 -0400
 
-    Perl parent/child write improvements
-    
-    * Updated variable names for clarity
-    * Added more inline comments
-    * Added additional error logging
-    * For severe read errors, allow the child to gracefully skip the request
+    LP#1709710: write unit tests for osrfXmlEscapingLength()
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
-    Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-25	19	src/perl/lib/OpenSRF/Server.pm
+6	2	tests/Makefile.am
+43	0	tests/check_osrf_utils.c
+ create mode 100644 tests/check_osrf_utils.c
 
-commit 08ee4f993fe773e37233b139961cbcdae2fe93b8
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Mon Feb 13 16:53:59 2012 -0500
+commit cb4587be75bf9294d65c7173ff41c275a14e0f04
+Author: Mike Rylander <miker at esilibrary.com>
+Date:   Fri Aug 18 11:43:31 2017 -0400
 
-    Perl pipe reading overhaul : data size header
-    
-    The lockfile mechanism for preventing premature end of reads on child
-    processes suffers from one serious flaw:  if the data to write exceeds
-    the pipe buffer size, the parent will block on syswrite and the service
-    will lock up.  It's also not as effecient (for the normal case) as the
-    code was without the lockfile, becasue the writes and reads are
-    serialized.
+    LP#1709710: Make chunk sizing smart about XML quoting
     
-    This commit replaces the lockfile mechanism with a protocol header in
-    the data.  The first X (currently 12) bytes of data written to the child
-    process will contain the full length of the data to be written (minus
-    the header size).  The child now reads the data in parallel with the parent as
-    data is available.  If the child reads all available data (in the pipe)
-    but not all of the expected data, the child will go back into a select()
-    wait pending more data from the parent.  The process continues until all
-    data is read.
+    XML inside JSON as a quoted string that's itself inside XML causes quite the
+    pile up of nested excaping of certain characters in OpenSRF PARTIAL_RESPONSE
+    messages.  Here we check for the worst offenders (<, >, &, and ") and account
+    for the cost of escaping them in chunked response stanzas.
     
-    This same mechanism is already used to commicate status info from child
-    processes to the parent.
-    
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
     Signed-off-by: Mike Rylander <mrylander at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-49	73	src/perl/lib/OpenSRF/Server.pm
-1	2	src/perl/lib/OpenSRF/System.pm
+6	0	include/opensrf/utils.h
+11	4	src/libopensrf/osrf_app_session.c
+8	3	src/libopensrf/osrf_application.c
+23	0	src/libopensrf/utils.c
+21	3	src/perl/lib/OpenSRF/AppSession.pm
 
-commit 04558f38c1c1d314acb978a37193dacb4a6eba31
-Author: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>
-Date:   Fri Jan 27 09:05:07 2012 -0500
+commit af4ab2355707083a22a2828202a541bf0e718bc0
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date:   Thu May 11 14:47:32 2017 -0400
 
-    JSON_v0 has been superseded, and it has insidious bugs anyway.
-    
-    For example, you cannot round-trip this through JSON2js() and js2JSON()
-    in IE8: http://paste.lisp.org/display/127338
+    LP#1690206 - remove check of httpd.conf from OpenSRF Makefile.install
     
-    This will make Evergreen's build fail until the change specified in
-    LP #922609 is applied.
+    The original src/extras/Makefile.install included a grep of the
+    file /etc/apache2/httpd.conf, which is no longer installed by default
+    on supported Debian and Ubuntu releases.  As this check results in
+    an error message, it makes sense to remove the check altogether.
     
-    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	src/Makefile.am
-0	135	src/javascript/JSON_v0.js
- delete mode 100644 src/javascript/JSON_v0.js
+0	6	src/extras/Makefile.install
 
-commit 89f41c82798dbac56716fdd5beeb6c0de3e4ce2e
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Mon Nov 7 17:30:44 2011 -0500
+commit ea72acaf798f3fc6cc0aae8d93771c6dc2a21a57
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Fri Jun 9 13:01:46 2017 -0400
 
-    Sync parent/child write/read with lock file
-    
-    Wrap parent writes to child socket and initial child reads of the
-    socket in file lock (via flock()) to prevent rare race condition
-    where child process reads to the end of the data before the parent
-    has written all bytes.
+    LP#1697029 Log and exit on write to dead child
     
-    This create a new lock file on the system, which resides in the same
-    directory as the pid files.  The lock file is created and destroyed by
-    the opensrf perl mods at service start up and shutdown.
+    Confirm that a child process is alive just before attempting to write to
+    its pipe.  If the child process is dead, log the error, then drop the
+    message and move on.  This allows the parent to continue servicing
+    future requests.
     
-    See also https://bugs.launchpad.net/opensrf/+bug/883155
-    
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	bin/opensrf-perl.pl.in
-60	8	src/perl/lib/OpenSRF/Server.pm
-3	2	src/perl/lib/OpenSRF/System.pm
+13	0	src/perl/lib/OpenSRF/Server.pm
 
-commit 3d089bdfd067676f99807f7cb2014e122c4dbf72
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Mon Dec 12 13:09:13 2011 -0500
+commit 53e7f82b534eef2b513fe31bcb2a9c719a7ee746
+Author: Galen Charlton <gmc at equinoxinitiative.org>
+Date:   Fri Aug 18 11:11:29 2017 -0400
 
-    Update Perl OpenSRF build and tests for O:A:Validator
+    LP#1711194: avoid division by zero errors
     
-    Kickstarted by wanting to bring OpenSRF::Application::Validator into the
-    MANIFEST and testing coverage, I noticed a few other files that needed
-    to be added to the MANIFEST as well. This gets us closer to acceptable
-    according to "./Build distcheck"
+    Under some circumstances, osrf_control --diagnostic may not
+    be able to deduce the correct max_children setting for a service,
+    e.g., if it's run without --localhost on a system that doesn't
+    have a opensrf.xml config section specifying active apps for a
+    specific hostname. When that happens, just display the count
+    of running drones rather than displaying error messages about
+    undefined $dmax values and divisions by zero.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
 
-1	0	src/perl/Build.PL
-22	0	src/perl/MANIFEST
-6	1	src/perl/t/01-Application.t
+6	2	bin/opensrf-perl.pl.in
 
-commit 5e1fbcc1c8ae2f969dbeac93fe1da80c008ca42b
-Author: Thomas Berezansky <tsbere at mvlc.org>
-Date:   Fri Dec 9 15:19:12 2011 -0500
+commit b198681669ed28a510fd0d18d3a89d4dd0837ebe
+Author: Bill Erickson <berickxx at gmail.com>
+Date:   Wed Aug 16 14:10:13 2017 -0400
 
-    OpenSRF Validator Service
-    
-    Add a new Validator service, and EmailAddress validators.
+    LP#1711194 osrf_config --diagnostic reports max-children
     
-    The service runs a chain of one or more validators, each one being fed the
-    normalized output of the previous one.
+    --diagnostic output shows the maximum number of allowed drones per
+    service along with the active drone count.  Additionally, a usage
+    percentage value is displayed.
     
-    The return from each validator should be a hash of valid (0 or 1), the new
-    normalized output (the untouched input if invalid or nothing needed to be
-    changed), and if invalid an error string. Optionally, a validator can also
-    include an "additionals" hash of extra information to be included in the
-    final response.
+    E.g.
     
-    The complete list of validators included is:
+    $ /openils/bin/osrf_control -l --diagnostic
     
-    OpenSRF::Application::Validator::Base
-        The base validator. Always returns valid.
-    OpenSRF::Application::Validator::Invalid
-        Always returns invalid for testing purposes.
-    OpenSRF::Application::Validator::EmailAddress::Regex
-        Does a very basic regular expression check on email addresses.
-    OpenSRF::Application::Validator::EmailAddress::DNS
-        Uses Net::DNS to look up the domain on an email address
+    * open-ils.acq   [1581] uptime=00:35 cputime=00:00:00 #drones=1/15 6%
+    * open-ils.actor [1629] uptime=00:35 cputime=00:00:00 #drones=2/15 13%
     
-    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Bill Erickson <berickxx at gmail.com>
+    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-40	0	examples/opensrf.xml.example
-3	0	src/extras/Makefile.install
-50	0	src/perl/lib/OpenSRF/Application/Validator.pm
-12	0	src/perl/lib/OpenSRF/Application/Validator/Base.pm
-96	0	src/perl/lib/OpenSRF/Application/Validator/EmailAddress/DNS.pm
-23	0	src/perl/lib/OpenSRF/Application/Validator/EmailAddress/Regex.pm
-16	0	src/perl/lib/OpenSRF/Application/Validator/Invalid.pm
- create mode 100644 src/perl/lib/OpenSRF/Application/Validator.pm
- create mode 100644 src/perl/lib/OpenSRF/Application/Validator/Base.pm
- create mode 100644 src/perl/lib/OpenSRF/Application/Validator/EmailAddress/DNS.pm
- create mode 100644 src/perl/lib/OpenSRF/Application/Validator/EmailAddress/Regex.pm
- create mode 100644 src/perl/lib/OpenSRF/Application/Validator/Invalid.pm
+9	1	bin/opensrf-perl.pl.in
 
-commit b6b64deb16ed3f005d64f99365b0220a82d72431
-Author: Jason Stephenson <jstephenson at mvlc.org>
-Date:   Wed Dec 7 15:08:42 2011 -0500
+commit e88891bcdd9781c2d291057a802e4f751202fee9
+Author: Graham Billiau <graham at geeksinthegong.net>
+Date:   Mon Jul 31 11:00:25 2017 -0400
 
-    Support installation for Ubuntu 12.04 Precise Pangolin.
+    LP#1704090: ensure make install respects DESTDIR
     
-    Update the README to include Precise Pangolin as a supported release.
+    This patch ensures that 'make install' uses DESTDIR consistently,
+    making life easier for packagers.
     
-    Update src/extras/Makefile.install to install two new debs required on
-    Ubuntu 12.04 alpha1.
-    
-    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
-    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+    Signed-off-by: Graham Billiau <graham at geeksinthegong.net>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	0	README
-15	1	src/extras/Makefile.install
+3	3	src/Makefile.am
+7	2	src/gateway/Makefile.am
 
-commit 3a4ae77be13349fae180fdc81bcc23e5a93032b4
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Fri Nov 4 09:42:50 2011 -0400
+commit 716b674a5197f9ec70091c9f3dfa3eabca3bbe9d
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Mon Jul 31 15:15:09 2017 -0400
 
-    Add explicit chown command to README
-    
-    Warren Layton noticed that there was no explicit command to change the
-    ownership of the files in the /<PREFIX> directory to be owned by
-    "opensrf", although there was a statement that the files needed to be
-    owned by "opensrf". To reduce the chance of failure, add the explicit
-    command.
+    Revert "LP#1635737 Add optional context to interval_to_seconds"
     
-    TODO (for a willing volunteer): teach the installer to change the
-    ownership at the time the files are installed!
-    
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    This reverts commit a481100ef9d5bd9eaad5a87ce29776cb07a8687c.
 
-1	0	README
+17	48	src/perl/lib/OpenSRF/Utils.pm
 
-commit a7be31f137ccf6e2f4522c9a4c690a23b5636db8
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Fri Oct 28 11:33:24 2011 -0400
+commit 0484c673577c49a552af861364caac03ef187f5e
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Mon Jul 31 15:15:02 2017 -0400
 
-    Add SIGPIPE retry handling to child data sysread
-    
-    Similar to the SIGPIPE retry logic wrapped around the parent process'
-    syswrite call (for sending data to a child process), protect the child's
-    sysread call (as it reads data from the parent).  In pre-2.0, the
-    sysread step was handled by Net::Server, but now we need to protect it
-    ourselves.
+    Revert "LP#1635737: Unit tests for DST and date math"
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+    This reverts commit 316f58375c40087bfae32234c4dd3817260831e5.
 
-10	0	src/perl/lib/OpenSRF/Server.pm
+2	13	src/perl/t/09-Utils-interval_to_seconds.t
 
-commit 40a753b10a3db58baa9179d75a76df1266589ea1
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Wed Oct 19 11:39:41 2011 -0400
+commit 316f58375c40087bfae32234c4dd3817260831e5
+Author: Mike Rylander <mrylander at gmail.com>
+Date:   Mon Jul 31 12:53:59 2017 -0400
 
-    LP878284: stop_osrf action should stop, not start, Perl
-    
-    As reported by Vicent Mas <uvemas at gmail.com> to the Evergreen
-    developer's mailing list:
-    
-    """
-    It seems I've found a small bug in the
-    /openils/bin/osrf_ctl.sh script. The line for the osrf_stop action is:
-    
-    "stop_osrf") stop_python; stop_c; start_perl;;
+    LP#1635737: Unit tests for DST and date math
     
-    but should be:
-    
-    "stop_osrf") stop_python; stop_c; stop_perl;;
-    """
-    
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-1	1	bin/osrf_ctl.sh.in
+13	2	src/perl/t/09-Utils-interval_to_seconds.t
 
-commit 07b5a335656be741353ab70c1d4717dacdbebc1b
-Author: Bill Erickson <berick at esilibrary.com>
-Date:   Tue Oct 18 09:17:10 2011 -0400
+commit a481100ef9d5bd9eaad5a87ce29776cb07a8687c
+Author: Dan Wells <dbw2 at calvin.edu>
+Date:   Fri Jul 21 14:17:34 2017 -0400
 
-    Warn when sending very large messages
+    LP#1635737 Add optional context to interval_to_seconds
     
-    Depending on configuration, messages of a certain size sent through a
-    Jabber server will cause the jabber server to disconnect the client.
-    This change allows admins to configure a message size warning threshold.
-    When a message meets or exceeds the size threshold, a warning is issued
-    to the logs with the message size (in bytes) and the message recipient.
-    It does not prevent the message from being delivered.  It's purely
-    informational.
+    Any given interval (e.g. "1 month") can be a different amount of
+    seconds depending on the context (i.e. "1 month" after February 1 is
+    March 1, but "1 month" after March 1 is April 1, yet March is longer
+    than February).  This affects months all the time, but also can affect
+    days, hours, and even seconds once you consider DST and "leap" times.
     
-    Use 1 800 000 as the default threhold.
+    By giving an optional context to interval_to_seconds, you can find the
+    true number of seconds in, for example, "1 month", when starting from
+    "February 1" (the context).
     
-    Signed-off-by: Bill Erickson <berick at esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+    Signed-off-by: Mike Rylander <mrylander at gmail.com>
 
-3	0	examples/opensrf_core.xml.example
-11	1	src/perl/lib/OpenSRF/Transport/SlimJabber/Client.pm
+48	17	src/perl/lib/OpenSRF/Utils.pm
 
-commit ffb8bb73a2f505cfda9d8b97fab1f82aa3fb7097
-Author: Dan Scott <dscott at laurentian.ca>
-Date:   Sat Sep 10 12:22:08 2011 -0400
+commit 66acf02b800b6bb9b128c591e7ce480dc111b99d
+Author: Jason Stephenson <jason at sigio.com>
+Date:   Wed Jul 12 15:24:48 2017 -0400
 
-    Fix README typo: 'mod_offlinex'
+    LP 1703958: Update Websockets Intructions for Debian Jessie
     
-    mod_offline is not that x-treme.
+    Modify the Websockets installation instructions so that users will
+    have a working installation on Debian Jessie.  We change the "Debian"
+    instructions to say "Debian Wheezy" and add "Debian Jessie" to the
+    list with "Ubuntu Trusty / Xenial" where necessary.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Jason Stephenson <jason at sigio.com>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-1	1	README
+4	4	README
 
-commit 0725d1ddced0f16c351a5953f5fd3c14714cda1a
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Thu Aug 25 11:41:19 2011 -0400
+commit 740e725fbb02d7d3476d39efbed0b382f13b880d
+Author: Graham Billiau <graham at geeksinthegong.net>
+Date:   Thu Jul 13 11:29:43 2017 -0400
 
-    Don't define a variable inside a conditional block
-    
-    ./configure --disable-core --enable-javascript was dying with an error
-    due to CHECK_TESTS not being defined; move it outside the conditional
-    block so that we can ensure that it is defined as either yes or no.
+    LP#1704116: fix intermittant failure of parallel building
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
-
-8	9	configure.ac
-
-commit b24e90f1a1b1f2309ca3cdf0728cdd54f7822597
-Author: Dan Scott <dan at coffeecode.net>
-Date:   Mon Aug 22 09:49:45 2011 -0400
-
-    Make distro targets in README match Makefile.install
+    Running make to do a parallel build (e.g., 'make -j 4' or
+    the like) could fail because of an undeclared dependency; this
+    patch fixes the issue.
     
-    Swap ubuntu-karmic for ubuntu-lucid and pull fedora14 as it is really
-    close to end of life.
+    The issue can be reproduced by repeating "make clean; make -j 4"
+    until the build fails.
     
-    Signed-off-by: Dan Scott <dscott at laurentian.ca>
+    Signed-off-by: Graham Billiau <graham at geeksinthegong.net>
+    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
 
-2	2	README
+1	0	src/libopensrf/Makefile.am

commit b74533255c61937b96fb4326b9f94c18aaa37d4d
Author: Galen Charlton <gmc at equinoxinitiative.org>
Date:   Wed Jan 9 17:18:48 2019 -0500

    bump up version numbers for 3.1.0-beta release
    
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/README b/README
index 2b74eed..807023f 100644
--- a/README
+++ b/README
@@ -29,7 +29,7 @@ Issue the following commands as the *user* Linux account.
 +
 [source, bash]
 ------------------------------------------------------------------------------
-wget https://evergreen-ils.org/downloads/opensrf-OSRFVERSION.tar.gz
+wget https://evergreen-ils.org/downloads/opensrf-3.1.0-beta.tar.gz
 ------------------------------------------------------------------------------
 +
 [NOTE]
@@ -40,8 +40,8 @@ http://git.evergreen-ils.org/?p=OpenSRF.git
 +
 [source, bash]
 ------------------------------------------------------------------------------
-tar -xvf opensrf-OSRFVERSION.tar.gz
-cd opensrf-OSRFVERSION/
+tar -xvf opensrf-3.1.0-beta.tar.gz
+cd opensrf-3.1.0-beta/
 ------------------------------------------------------------------------------
 
 Installing prerequisites
@@ -487,7 +487,7 @@ a2dismod websocket
 +
 [source, bash]
 ---------------------------------------------------------------------------
-cd /path/to/opensrf-OSRFVERSION
+cd /path/to/opensrf-3.1.0-beta
 cp examples/apache_24/websockets/apache2.conf /etc/apache2-websockets/
 ---------------------------------------------------------------------------
 +
@@ -625,7 +625,7 @@ apt-get install nginx
 +
 [source, bash]
 ---------------------------------------------------------------------------
-cd /path/to/opensrf-OSRFVERSION
+cd /path/to/opensrf-3.1.0-beta
 cp examples/nginx/osrf-ws-http-proxy /etc/nginx/sites-available/
 ln -s /etc/nginx/sites-available/osrf-ws-http-proxy /etc/nginx/sites-enabled/osrf-ws-http-proxy
 rm /etc/nginx/sites-enabled/default
@@ -689,7 +689,7 @@ apt-get install haproxy
 +
 [source, bash]
 ---------------------------------------------------------------------------
-cd /path/to/opensrf-OSRFVERSION
+cd /path/to/opensrf-3.1.0-beta
 cat examples/haproxy/osrf-ws-http-proxy >> /etc/haproxy/haproxy.cfg
 ---------------------------------------------------------------------------
 +
diff --git a/doc/RELEASE_NOTES.txt b/doc/RELEASE_NOTES.txt
index 1b81db2..4d1085a 100644
--- a/doc/RELEASE_NOTES.txt
+++ b/doc/RELEASE_NOTES.txt
@@ -1,6 +1,6 @@
-OpenSRF 3.1-beta
-----------------
-OpenSRF 3.1-beta was released on 9 January 2019. This is a major
+OpenSRF 3.1.0-beta
+------------------
+OpenSRF 3.1.0-beta was released on 9 January 2019. This is a major
 release adding several new features and fixing serveral bugs.
 
 New Features and Major Bugfixes
diff --git a/src/perl/lib/OpenSRF.pm b/src/perl/lib/OpenSRF.pm
index d8040a3..4f7edcb 100644
--- a/src/perl/lib/OpenSRF.pm
+++ b/src/perl/lib/OpenSRF.pm
@@ -12,11 +12,11 @@ OpenSRF - Top level class for OpenSRF perl modules.
 
 =head1 VERSION
 
-Version 3.0-dev
+Version 3.1.0-beta
 
 =cut
 
-our $VERSION = "3.000_000";
+our $VERSION = "3.001_001";
 
 =head1 METHODS
 
diff --git a/src/python/setup.py b/src/python/setup.py
index 63c68c2..289b791 100644
--- a/src/python/setup.py
+++ b/src/python/setup.py
@@ -3,7 +3,7 @@
 from setuptools import setup
 
 setup(name='OpenSRF',
-    version='3.0.dev0',
+    version='3.1b0',
     install_requires=[
         'dnspython', # required by pyxmpp
     	'python-memcached',
diff --git a/version.m4 b/version.m4
index 8196ead..1c4be3f 100644
--- a/version.m4
+++ b/version.m4
@@ -1 +1 @@
-m4_define([VERSION_NUMBER],[3.0.0-dev]) 
+m4_define([VERSION_NUMBER],[3.1.0-beta]) 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog               | 1753 ++++++++++++++++++++---------------------------
 README                  |   12 +-
 doc/RELEASE_NOTES.txt   |    6 +-
 src/perl/lib/OpenSRF.pm |    4 +-
 src/python/setup.py     |    2 +-
 version.m4              |    2 +-
 6 files changed, 759 insertions(+), 1020 deletions(-)


hooks/post-receive
-- 
OpenSRF




More information about the opensrf-commits mailing list