update changelog for OpenSRF 2.4.2
authorGalen Charlton <gmc@equinoxinitiative.org>
Thu, 16 Feb 2017 20:33:00 +0000 (15:33 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Thu, 16 Feb 2017 20:33:00 +0000 (15:33 -0500)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>

ChangeLog

index 56c6d89..4c04371 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-ChangeLog
-=========
+commit 0a469559782c8e79e489e3fa003f90c7c92d51bf
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Thu Feb 16 15:32:13 2017 -0500
 
-OpenSRF 2.4.1
--------------
-commit d266817a76b3659fd2b2acba13e94f01389d2a14
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Jun 24 16:07:58 2015 +0000
-
-    set stage for point release notes, à la Evergreen
-    
-    Also fix a couple typos.
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-19     16      doc/RELEASE_NOTES.txt
-
-commit b1807500aa0e3854a512f5c244fef188b370ac65
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Jun 24 16:01:26 2015 +0000
-
-    increment version number for 2.4.1 release
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       src/perl/lib/OpenSRF.pm
-1      1       src/python/setup.py
-1      1       version.m4
-
-commit 95b24da0e8b85b20b018b35a7c7ecdec73a6968e
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Jun 3 18:35:35 2015 +0000
-
-    LP#1152272: do not log batch invocation of srfsh in .srfsh_history
-    
-    When running srfsh to process a script, do not log
-    the requests in .srfsh_history.
-    
-    To test
-    -------
-    [1] Run the following command:
-    
-        echo 'request opensrf.math opensrf.system.echo "foo"' | srfsh
-    
-    [2] Note that the last line of ~/.srfsh_history should be
-        'request opensrf.math opensrf.system.echo "foo"'
-    
-    [3] Apply the patch, compile, and run
-    
-        echo 'request opensrf.math opensrf.system.echo "bar"' | srfsh
-    
-    [4] This time, no additional line should have been added to
-        ~/.srfsh_history
-    
-    [5] Another variation to try:
-    
-        srfsh test.srfsh
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander@gmail.com>
-
-7      3       src/srfsh/srfsh.c
-
-commit f3da6d5be3e607d8f4ba4c60815cccef60cd9487
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Jun 3 17:42:06 2015 +0000
-
-    LP#1461625: ensure srfsh doesn't close STDOUT prematurely
-    
-    Ensure that when running srfsh in non-interactive mode
-    that reads commands directly from a file, (i.e.,
-    "srfsh script.srfsh" or as a shebang script), it does
-    not close STDOUT after handling the first request.
-    
-    To test
-    -------
-    [1] Create a srfsh script containing:
-    
-        request opensrf.math opensrf.system.echo "foo"
-        request opensrf.math opensrf.system.echo "bar"
-    
-    [2] Run "srfsh script.srfsh". Note that only the
-        results of the first echo request are output.
-    [3] Apply the patch and recompile, then run
-        "srfsh script.srfsh" again.  This time, the
-        output of both requests is displayed.
+    add release notes for OpenSRF 2.4.2
     
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
 
-1      1       src/srfsh/srfsh.c
+28     0       doc/RELEASE_NOTES.txt
 
-commit ab6db9fb56317a553d58d7dc8471ad9288fe0b92
-Author: Dan Scott <dscott@laurentian.ca>
-Date:   Thu Jun 18 11:52:00 2015 -0400
+commit e72a15842c10d4c2288323ede92f38d4b4b41794
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Wed Feb 15 16:58:06 2017 -0500
 
-    LP#1409055 Support specific protocols for OpenSRF gateway requests
+    LP#1652382: more improvements to cache key munging
     
-    If the user passes in a gateway hostname that contains a specific HTTP or HTTPS
-    protocol, let's just use that.
+    - teach osrfCacheRemove to clean keys
+    - fix implict declaration compilation warning
+    - account for fact that iscntrl('\0') returns true
     
-    Signed-off-by: Dan Scott <dscott@laurentian.ca>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
 
-12     0       src/python/osrf/gateway.py
+5      2       src/libopensrf/osrf_cache.c
 
-commit 78e6fcbb637edbbec4d3996e0281a5e4d7e2663e
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Tue Mar 24 21:00:57 2015 +0000
+commit c1eae17ad8b61d62ad6795ca3cd01347c39c7903
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Wed Feb 15 14:12:34 2017 -0500
 
-    LP#1436047: make srfsh --safe act as if "! command" doesn't exist
+    LP#1652382: handle cases where supplied key is longer than 250 bytes
     
-    This patch make srfsh treat attempting to run an external
-    command via "! command" as a parsing error if --safe is
-    supplied.  It also suppress mention of "! commands" from
-    the internal help.
+    With this patch, if cache clients want to use a key longer
+    than the memcached text protocol limit of 250 bytes, the
+    key is normalized to 'shortened_' + md5_hex(normalized_key).
     
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
 
-10     4       src/srfsh/srfsh.c
+10     1       src/libopensrf/osrf_cache.c
+4      0       src/perl/lib/OpenSRF/Utils/Cache.pm
 
-commit c7d5810f29fd5b8f7b125af58df053abf5dbb9bf
+commit b2ed8ef36baa1242448beae89ffe51a98f8175d1
 Author: Mike Rylander <mrylander@gmail.com>
-Date:   Tue Mar 24 16:22:16 2015 -0400
+Date:   Mon Jan 30 12:54:10 2017 -0500
 
-    LP#1436047: Allow disabling of "bang commands" in srfsh
-    
-    srfsh has the ability to execute commands via system() calls using
-    the common "!command" syntax.  This is very useful, but it would
-    be nice to be able to turn that functionality off in some cases.
-    
-    This branch adds argument parsing to detect a new '--safe' command
-    line parameter, which disables the "!command" syntax.
+    LP#1652382: Make use of the clean key just created
     
     Signed-off-by: Mike Rylander <mrylander@gmail.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-24     12      src/srfsh/srfsh.c
-
-commit 24c230a7c90c6a7ff300ca86745998fd07ee2105
-Author: Ben Shum <bshum@biblio.org>
-Date:   Mon May 4 17:16:29 2015 -0400
-
-    Docs: Fix mailing list link for help in README
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-
-2      2       README
-
-commit 1d632a356086e5691605bd4b6a131769a05f4906
-Author: Josh Stompro <github@stompro.org>
-Date:   Tue Apr 21 09:50:49 2015 -0500
-
-    LP#1445503 - Updated Ejabberd setup steps for Ejabberd 14.x for Debian Jessie
-    
-    Signed-off-by: Josh Stompro <github@stompro.org>
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-
-29     2       README
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
 
-commit b8bef9320b13dd5a87f34072b71af70bb1714e4a
-Author: Ben Shum <bshum@biblio.org>
-Date:   Mon May 4 17:01:23 2015 -0400
+1      1       src/libopensrf/osrf_cache.c
 
-    Docs: Emphasize variables and paths consistently in README
-    
-    Some variables and paths were not emphasized when the instructions for
-    websockets was added. Maintain consistency in the document and emphasize
-    them.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-
-6      6       README
-
-commit 0be401fa0b5e3db89db73e5daf5652e69a8947bb
-Author: Ben Shum <bshum@biblio.org>
-Date:   Mon May 4 16:57:38 2015 -0400
-
-    Docs: Add [source, bash] to code blocks that were not defined in README
-    
-    For consistency, add [source, bash] to all the blocks of code or script
-    commands in the README
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-
-6      0       README
-
-commit 30a5a2d9b13c4aa0636f2885f0953a840b291033
-Author: Ben Shum <bshum@biblio.org>
-Date:   Mon May 4 16:49:08 2015 -0400
-
-    Docs: Keep all source syntax consistent in README
-    
-    Change occurrences of [source,bash] to [source, bash] for consistency
-    throughout README.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-
-11     11      README
-
-commit d59acb614910808b5773c377df4e9806f76546dc
-Author: Bill Erickson <berickxx@gmail.com>
-Date:   Thu Feb 5 10:34:40 2015 -0500
+commit f608444010fff1b4b6da06b5ec49df643218b005
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Fri Jan 27 15:25:05 2017 -0500
 
-    LP#1418613 per-tab websocket send() JS thinko repair
+    LP#1652382: normalization of memcache keys in C code
     
-    Avoid referencing variable defined somewhere outside the send_ws()
-    function.  Doing so happened to result in re-sending the same message
-    twice in some cases.
+    Memcache does not allow spaces in keys, so here we will actively strip them
+    from any key we get from a caller.  Some callers are not very proactive about
+    sending clean keys, and this patch prevents issues that can poison C-based
+    OpenSRF service backends.
     
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
     Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
 
-1      1       src/javascript/opensrf.js
-
-OpenSRF 2.4.0
--------------
-
-commit df5aa177d80b40fe1e318a103a48222378af1587
-Author: Bill Erickson <berickxx@gmail.com>
-Date:   Fri Oct 17 17:07:53 2014 -0400
-
-    LP#1383828 Jessie/Trusty installer Apache "mpm" repairs
-    
-    Disable the default Apache mpm_event module and enable mpm_prefork for
-    Debian Jessie and Ubuntu Trusty.
-    
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-
-8      2       src/extras/Makefile.install
-
-commit b199a9a84aa815dbcbc4c98e3269c192fecdb238
-Author: Ben Shum <bshum@biblio.org>
-Date:   Mon Nov 10 12:20:31 2014 -0500
-
-    LP#1391248: Fix NameVirtualHost warnings in websockets apache2.conf
-    
-    For the websockets configuration, the sample apache2.conf for Apache 2.4 (i.e.
-    Ubuntu 14.04, etc.) contains NameVirtualHost entries that are no longer
-    needed.
-    
-    When starting apache2-websockets, you may see warnings like:
-    
-    AH00548: NameVirtualHost has no effect and will be removed in the next
-    release /etc/apache2-websockets/apache2.conf:53
-    
-    Remove the NameVirtualHost entries and these warnings go away.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-0      2       examples/apache_24/websockets/apache2.conf
-
-commit 3c268142659852c6b09a8709a84029702698d2ea
-Author: Ben Shum <bshum@biblio.org>
-Date:   Fri Oct 31 23:53:58 2014 -0400
-
-    LP#1369169: Remove hardcoded paths for OpenSRF directory
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-2      2       README
-
-commit 8bcfe29874dc2aeb2fdc07b16660a0350d377cee
-Author: Ben Shum <bshum@biblio.org>
-Date:   Sat Sep 13 18:23:46 2014 -0400
-
-    LP#1369169: Mention the requirement for valid SSL certificate
-    
-    The apache2-websockets instance will not start without a valid SSL certificate
-    in /etc/apache2/ssl.  Include a mention of this in the README with the extra
-    stipulation that it is still possible to use a self-signed SSL certificate for
-    testing purposes, but this is not recommended for live installations.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-7      1       README
-
-commit 25d0b0d6abe90612430b74f3c9bcf9c75c0a972e
-Author: Ben Shum <bshum@biblio.org>
-Date:   Fri Sep 12 17:58:11 2014 -0400
-
-    LP#1369169: Add websockets section to the OpenSRF README
-    
-    Remove the separate README.websockets and move the contents into the primary
-    OpenSRF README document so that all steps are in one place.
-    
-    Additional edits to the websockets instructions to detail differences made
-    between Ubuntu 14.04 Trusty and Debian / Ubuntu 12.04 Precise. More edits
-    may be necessary for Debian Jessie later?
-    
-    Also, create a separate config file for Apache 2.4 that is copied into place
-    for Ubuntu Trusty and potentially other systems that will need it.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-93     0       README
-0      53      README.websockets
- delete mode 100644 README.websockets
-
-commit c6e0150be2b0d3c010d4ea6c34a81f69cec3004b
-Author: Ben Shum <bshum@biblio.org>
-Date:   Sat Sep 13 18:04:54 2014 -0400
-
-    LP#1369169: Add Apache 2.4 specific configuration file for websockets
-    
-    For Apache 2.4, there were some necessary modifications for running the
-    websockets code properly. Similar to how we do things in Evergreen, we
-    added a new directory for apache_24 which contains the modified apache2.conf
-    file.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-80     0       examples/apache_24/websockets/apache2.conf
- create mode 100644 examples/apache_24/websockets/apache2.conf
-
-commit 92e8a5f7d6040bda312317ce339e459d5549d3eb
-Author: Ben Shum <bshum@biblio.org>
-Date:   Sat Sep 13 18:07:47 2014 -0400
-
-    LP#1369169: Remove trailing whitespace from apache2.conf
-    
-    For some reason, there was a lot of trailing whitespace in this apache2.conf
-    file for websockets. Removing them.
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-19     19      examples/apache2/websockets/apache2.conf
+20     2       src/libopensrf/osrf_cache.c
 
-commit 1b0252065496be18b8c4eb3991d1057928dd7784
-Author: Ben Shum <bshum@biblio.org>
-Date:   Sat Sep 13 17:03:19 2014 -0400
-
-    LP#1369169: Standardize styling of root linux account for README
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-3      3       README
-
-commit 10b9f9eeac545cf46387e45b8cbd06e2a556baf3
-Author: Ben Shum <bshum@biblio.org>
-Date:   Sat Sep 13 17:38:54 2014 -0400
-
-    LP#1369169: Add generated README.html to the .gitignore file for OpenSRF
-    
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Bill Erickson <berickxx@gmail.com>
-
-1      0       .gitignore
-
-commit 2bceabc55f8b1ccb13089298bfdb6a220c5735d6
+commit da98d30ca754a5a9bacb09982f8cad9c053a3105
 Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 16:52:10 2014 -0700
+Date:   Thu Dec 22 15:53:12 2016 +0500
 
-    fix typo in release notes
+    LP#1652122: fix infinite recursion in opensrf.system.method.all
     
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       doc/RELEASE_NOTES.txt
-
-commit e5eab9073e25b82914986326a5e97e7feecb5dfb
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 16:33:11 2014 -0700
-
-    bump up version number for OpenSRF 2.4.0-alpha
+    Under certain circumstances, calling opensrf.system.method.all on a
+    Perl service can result in an infinite recursion when attempting to
+    serialize an OpenSRF::Application object to JSON.  In particular,
+    this was observed to happen when doing an introspection of
+    the opensrf.settings service.
     
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-2      2       src/perl/lib/OpenSRF.pm
-1      1       src/python/setup.py
-1      1       version.m4
-
-commit b929dd7080b91e1f7c938778580ac6957835e666
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 16:30:58 2014 -0700
-
-    update ChangeLog for OpenSRF 2.4.0-alpha
+    This patch avoids the infinite recursion (and consequent memory
+    leak) by ensuring that the 'session' key is slated for exclusion
+    from serialization from OpenSRF::Application objects during
+    bootstrapping.
     
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-582    1004    ChangeLog
-
-commit 4426a8a503baec5171ae4245eccd595444815358
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 16:30:05 2014 -0700
-
-    release notes for OpenSRF 2.4.0-alpha
+    Note that the problem does not affect all Perl services; if a
+    Perl service declares at least one streaming method, the auto-registration
+    of the .atomic method will result in 'session'-stripping.
     
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-121    0       doc/RELEASE_NOTES.txt
- create mode 100644 doc/RELEASE_NOTES.txt
-
-commit e8f78636586aeca15632bcfbf0cae20beb2d66a6
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 10:02:14 2014 -0700
-
-    LP#1002028: set Access-Control-Expose-Headers
+    This patch fixes a regression introduced in bug 1350457.
     
-    This allows the OpenSRF JavaScript client library (or
-    to be precise, one that has been modified to direct
-    requests at a different domain) to take advantage of CORS
-    support.
+    To test
+    -------
+    [1] Run 'introspect opensrf.settings' via srfsh; observe
+        that it never returns and that the opensrf.settings drone
+        will grow in memory sized until killed.
+    [2] Apply the patch, then repeat step 1. This time, the
+        request should succeed.
     
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
 
-1      0       src/gateway/apachetools.c
+1      1       src/perl/lib/OpenSRF/System.pm
 
-commit bc914bf1933cc7a9272134fd4bbeb7601d233903
+commit 5bd88d39d7d22e6deee85952f1dc827c138095c4
 Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 09:13:23 2014 -0700
-
-    LP#1002028: support CORS for HTTPS
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-2      0       src/gateway/apachetools.c
+Date:   Fri Mar 18 10:59:11 2016 -0400
 
-commit d8dbf0c4e44cf45f00ffe2785d0778658029b825
-Author: Bennett Goble <nivardus@gmail.com>
-Date:   Tue May 22 11:57:56 2012 -0400
-
-    LP#1002028: Cross Origin Resource Sharing for OpenSRF
-    
-    Background
-    ----------
-    Browsers' same-origin policy currently restricts requests to the current
-    website's domain to prevent various nefarious scenarios. However,
-    because APIs and other web resources need to remain open to cross-site
-    use Cross Origin Resource Sharing (CORS) was created to allow services
-    to formally authorize cross-origin requests. CORS makes it simple to use
-    OpenSRF's HTTP translator and gateway APIs on websites using separate
-    domains.
+    LP#1559121: remove Debian Squeeze support
     
-    Example Scenarios
-    -----------------
-    1) A library would like an AJAX-driven "quicksearch" box on their main
-    site, which is hosted on a different domain than their catalog.
-    2) A developer wants to create new web applications and services that
-    tie into Evergreen, but does not wish to install EG locally or
-    configure a proxy.
+    Now that Debian Squeeze's LTS (long-term support) period
+    has ended, Evergreen no longer offers community support
+    for that distribution. This patch removes references
+    to Squeeze from the installation scripts and documentation.
     
-    Implementation
-    --------------
-    The function crossOriginHeaders() has been added to apachetools.c.
-    Incoming requests are checked to see if they have an Origin header. The
-    value of the Origin header is checked against a whitelist defined in
-    opensrf_core.xml config (XPath: /config/gateway/cross_origin/origin).
-    The function returns 1 if CORS headers have been added to the response.
+    To test:
     
-    Notes
-    -----
-    * The OpenSRF Javascript client library (opensrf.js) defaults to the root
-    of the current web host "/osrf-http-translator." In addition, synchronous
-    requests are presumed in some situations: resulting in the oncomplete
-    method never returning (Blocking requests are not possible with cross-
-    domain XHR.)
-    * It is also possible to enable CORS with the Apache "set header"
-    configuration directive. However, this means that the necessary headers
-    would be appended to every response.
+    [1] Verify that Debian Squeeze is no longer referenced in
+        the installation documentation.
     
-    Links
-    -----
-    Specification - http://www.w3.org/TR/cors/
-    Wikipedia Article - http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
-    
-    Signed-off-by: Bennett Goble <nivardus@gmail.com>
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
 
-8      0       examples/opensrf_core.xml.example
-36     0       src/gateway/apachetools.c
-5      0       src/gateway/apachetools.h
-5      0       src/gateway/osrf_http_translator.c
-5      0       src/gateway/osrf_json_gateway.c
+0      1       README
+1      14      src/extras/Makefile.install
 
-commit 6ed6f2bc6bf56d0834ae43f00c193bce5a3867a1
+commit 65ed54c4dc713919756644d3873f8fa7d851b427
 Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Thu Aug 21 08:58:18 2014 -0700
-
-    Revert "LP#1350457: Pass caller's session to subrequests called via method_lookup"
-    
-    This reverts commit 96917538c6b6fad688dd40c2a8f0cc9127053b24.
-
-3      3       src/perl/lib/OpenSRF/Application.pm
-
-commit f0c02bf3cc4e8e2c1049fd2ba0fd24079b5aeba6
-Author: Josh Stompro <Stomproj@larl.org>
-Date:   Wed May 21 08:26:53 2014 -0500
+Date:   Thu Feb 4 13:09:48 2016 -0500
 
-    (doc) Reorder changes to ejabberd.cfg in install instructions
+    LP#1350457: add test case for perl2JSONObject change
     
-    I found it annoying that the list of changes to make to ejabberd.cfg
-    didn't follow the order that the options showed up in the default
-    Debian ejabberd.cfg.  I reordered them so after you finish changing one
-    option, you can search forward in the document for the next term.
-    
-    (From Github pull request #3.)
-    
-    Signed-off-by: Josh Stompro <Stomproj@larl.org>
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
 
-4      4       README
+4      1       src/perl/t/09-Utils-JSON.t
 
-commit 96917538c6b6fad688dd40c2a8f0cc9127053b24
+commit 675c7a693d9a5d4f228d7b7ca5fe3b3f7fd62214
 Author: Mike Rylander <mrylander@gmail.com>
 Date:   Wed Jul 30 13:29:46 2014 -0400
 
@@ -520,767 +148,79 @@ Date:   Wed Jul 30 13:29:46 2014 -0400
     because then the subrequest can't look up the proper locale, among other
     things. The forthcoming branch passes the caller's session to the subrequest.
     
-    Signed-off-by: Mike Rylander <mrylander@gmail.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-3      3       src/perl/lib/OpenSRF/Application.pm
-
-commit 6cdd5251ac64651534e579f7e02a70a665f60283
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Jul 17 11:37:53 2014 -0400
-
-    LP#1341687 listeners log/drop XMPP error msgs
-    
-    The most common form of XMPP error messages are "bounced" messages, i.e.
-    those where the recipient is not available.  Instead of passing these
-    useless and confusing messages down to a drone for processing, log the
-    error in the listener and drop the message.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-9      0       src/libopensrf/osrf_prefork.c
-5      1       src/perl/lib/OpenSRF/Server.pm
-
-commit 54da75bd2f045dbd2225317f74dc5fe38f415fe5
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Aug 20 14:00:17 2014 -0700
-
-    LP#1343578: document <logtag> in the example opensrf_core.xml
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-12     0       examples/opensrf_core.xml.example
-
-commit 2f4ed86a136cfb7547f7e8c3e2109f4473139276
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Jul 17 15:10:35 2014 -0400
-
-    LP#1343578: Perl/C syslog "logtag" additions.
-    
-     * Honor logtag value when applying a default appname for Perl and C
-     * Extract / apply logtag in the router
-     * Minor repair: avoid redundant strdup
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Mike Rylander <mrylander@gmail.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       src/libopensrf/log.c
-1      1       src/libopensrf/osrf_system.c
-5      2       src/perl/lib/OpenSRF/Utils/Logger.pm
-2      0       src/router/osrf_router_main.c
-
-commit 512f77b4652d6c793c21c7b6955480e6b9ada195
-Author: Mike Rylander <mrylander@gmail.com>
-Date:   Fri Jun 20 15:52:47 2014 -0400
-
-    LP#1343578: Add support for log tagging
-    
-    The ability to provide instance-specific log tagging via syslog
-    would make running multiple instances much easier to manage.  So
-    this branch does that.
+    This patch also teaches OpenSRF object registration how to strip certain
+    object members -- in particular, the session -- so that introspection
+    continues to work.
     
     Signed-off-by: Mike Rylander <mrylander@gmail.com>
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
 
-2      0       include/opensrf/log.h
-26     1       src/libopensrf/log.c
-3      0       src/libopensrf/osrf_system.c
-4      0       src/perl/lib/OpenSRF/Utils/Logger.pm
-
-commit 6c3b1001c6183b2f633d0f43ccd3d28071c0c48d
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon May 5 13:40:46 2014 -0400
-
-    LP#1316245: JS now uses browser-native JSON routines
-    
-    * Replace JSON2jsRaw() with JSON.parse()
-    
-    * Replace js2JSONRaw() with JSON.stringify()
-    
-    * Removed unit tests for JSON2jsRaw() and js2JSONRaw()
-    
-    * Removed jsonPretty() pretty-printing routine.  Use
-      JSON.stringify(json, null, <spaces>) instead.
-    
-    See also:
-    
-    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_native_JSON
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-2      94      src/javascript/JSON_v1.js
-0      60      src/javascript/tests/testJSON_v1.js
-
-commit 2677f8e815a61f9b808bb57647f6ec9d448f0268
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Aug 4 14:26:36 2014 -0400
-
-    LP#1268619: disable shared workers pending browser issues
-    
-    There appears to be a bug in Chromium where loading the same page
-    multiple times (without a refresh or cache clear) causes the
-    SharedWorker to fail to instantiate on every other page load.
-    Further research pending.  Disabling SharedWorker's entirely for
-    now.
-    
-    Note, to replicate, load a page using shared workers, focus the
-    browser address bar, hit Enter to load the page again.  The shared
-    worker will fail to load on every other page load, though it will
-    appear to the SharedWorker caller (opensrf.js) that the port is open.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-6      1       src/javascript/opensrf.js
-
-commit 755a58642281246df280877f7ad480503b1ddc4b
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Wed Jul 30 12:05:36 2014 -0400
-
-    LP#1268619: update JS/WS/SSL code comment
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      4       src/javascript/opensrf_ws_shared.js
-
-commit c65c6d9f91c5372360619004c8602d2a262dfb8b
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Jul 10 11:29:49 2014 -0400
-
-    LP#1268619: JS status codes can come across as numbers; stringify for match
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       src/javascript/opensrf.js
-
-commit 17ae5ca5e6db6700dc4b61599c4394f80e727711
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Jul 8 09:41:12 2014 -0400
-
-    LP#1268619: JS libs capture all method errors
-    
-    Instead of selecting specific errors to report as method errors, report
-    all API calls which return 400 or 500-series errors as method errors.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-2      1       src/javascript/opensrf.js
-
-commit 9fdef970f3785e958090f8edf4ad37ece4459343
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Sun May 4 15:58:17 2014 -0400
-
-    LP#1268619: websocket: avoid sharedworker for firefox 29
-    
-    https://bugzilla.mozilla.org/show_bug.cgi?id=504553#c73
-    
-    Avoid using SharedWorkers when useragent match "Firefox".  FF supports
-    shared workers, but it does not yet support WebSockets within shared
-    workers.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-8      3       src/javascript/opensrf.js
+9      4       src/perl/lib/OpenSRF/Application.pm
+8      1       src/perl/lib/OpenSRF/Utils/JSON.pm
 
-commit f43286bf11119c731ee0dbe9b5b740d8715ace66
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Apr 10 08:50:13 2014 -0400
+commit b484a31c413a017c6b7409f3f101636f68c08c9a
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue Jul 14 14:54:27 2015 -0400
 
-    LP#1268619: websockets: detect connectedness of JS default sockets
+    LP#1474507: fix interval_to_seconds for weeks and seconds
     
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-18     2       src/javascript/opensrf.js
-10     1       src/javascript/opensrf_ws.js
-3      1       src/javascript/opensrf_ws_shared.js
-
-commit 0cf0a8a5fe61228995f75d0f0c6e4f4731888c40
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Apr 7 12:04:33 2014 -0400
-
-    LP#1268619: websockets: auto-upgrade to shared workers; SSL-always
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-42     4       src/javascript/opensrf.js
-95     0       src/javascript/opensrf_ws.js
-4      4       src/javascript/opensrf_ws_shared.js
- create mode 100644 src/javascript/opensrf_ws.js
-
-commit 8120314b86d2b6cafe2f5fd968b4475cc187acfb
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Mar 11 17:25:19 2014 -0400
-
-    LP#1268619: websockets: gateway code repairs & confing options
-    
-    * avoid unneccessary and wrong incantation of apr_thread_exit.  The two
-      sub-threads now both live for the duration of the process.
-    * to be safe, create thread mutex before threads
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-8      1       README.websockets
-252    206     src/gateway/osrf_websocket_translator.c
-
-commit 4ce075beeb5f81b8eb4c2cb2669b3a99ebab40ba
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 10 15:55:24 2014 -0400
-
-    LP#1268619: websockets: apply syslog name in gateway
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      0       src/gateway/osrf_websocket_translator.c
-
-commit 77c7f5889e8f31038cd732feb3e6057a0d3788b5
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 10 08:41:45 2014 -0400
-
-    LP#1268619: websockets: README typo repairs
-    
-    Patch from Warren Layton to repair path to 'envvars' and clarify some
-    text.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-2      2       README.websockets
-
-commit bb424c1424193e4db340e3f6e17a939dc1dd821a
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Mar 6 15:47:36 2014 -0500
-
-    LP#1268619: websockets : additional apache config docs
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-20     40      README.websockets
-0      43      examples/apache2/websockets.conf
-73     0       examples/apache2/websockets/apache2.conf
- delete mode 100644 examples/apache2/websockets.conf
- create mode 100644 examples/apache2/websockets/apache2.conf
-
-commit 9f2d35e6f6b6ec5a3db109adb518cf270d49c683
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Mar 6 15:05:12 2014 -0500
-
-    LP#1268619: websockets: apache conf -> info logging
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       examples/apache2/websockets.conf
-
-commit b1b3bf60f613b94d1455afb54dff4ad4a7e95ddd
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Wed Mar 5 08:40:05 2014 -0500
-
-    LP#1268619: websockets: remove single-tab JS WS implementation
-    
-    It was falling behind the shared lib in bug fixes and features.  A
-    per-tab WS implementation is (maybe) a dangerous thing to have around,
-    as well, since it encourages /many/ connections.  Can resurrect later if
-    needed.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-0      165     src/javascript/opensrf_ws.js
- delete mode 100644 src/javascript/opensrf_ws.js
-
-commit 6765c6395b0fb2a1c501f7c94a04cfacc7d460db
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Mar 4 14:10:59 2014 -0500
-
-    LP#1268619: websockets: shared worker path; JS api_level
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-25     8       src/javascript/opensrf.js
-
-commit f5ada2850552560a24e473e02532e75870ab7307
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 3 16:23:44 2014 -0500
-
-    LP#1268619: websockets: initial C libs api_level support
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-4      1       src/libopensrf/osrf_message.c
-
-commit 2bcead2d3e1c560a30c5b9beba6d1cbfe58778ed
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 3 16:01:58 2014 -0500
-
-    LP#1268619: websockets : gateway log inbound messages at internal
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-7      0       src/gateway/osrf_websocket_translator.c
-
-commit 5631bbdfa0f9a4fe2ea1b238c5e2ffee4b606dc1
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 3 12:06:12 2014 -0500
-
-    LP#1268619: websocket : add JS lib to makefile
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       src/Makefile.am
-
-commit 0054ea6684a933037af1cc3bc6358c7096dc051c
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 3 10:29:23 2014 -0500
-
-    LP#1268619: websocket: avoid module auto configuration
-    
-    We don't want osrf_websocket_translator to be directly loaded as a
-    module, since it is not an apache module, but a shared library loaded by
-    an apache module (mod_websockets).  This is especially true of the default
-    apache instance.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       src/gateway/Makefile.am
-
-commit e375a1e31b87a3d645b6da05e83f2a29f885f1fc
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 3 10:05:26 2014 -0500
-
-    LP#1268619: websocket : apache gateway minor fixes
-    
-    Replace remaining remote_ip calls with a get_client_ip() function which
-    operates for apache2 and apache4.
-    
-    Make log functions for applying a log trace value accept const char*'s
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-2      2       include/opensrf/log.h
-11     16      src/gateway/osrf_websocket_translator.c
-2      2       src/libopensrf/log.c
-
-commit 0a0d3f616c9531c7931c365e1912cbcf6358441b
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Mar 3 09:42:03 2014 -0500
-
-    LP#1268619: websocket : more JS api docs
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-83     20      src/javascript/opensrf_ws_shared.js
-
-commit aa1c088bd45a254290ad202875eb87c4bd4eeb2a
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Jan 16 11:41:01 2014 -0500
-
-    LP#1268619: websockets : added config docs to install readme
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-19     0       README.websockets
-1      1       src/gateway/osrf_websocket_translator.c
-
-commit a64f10c4183a495ec3912458c9b6268856e8fe47
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Jan 14 16:25:20 2014 -0500
-
-    LP#1268619: websocket JS libs: reconnect and auto-connect
-    
-    JS clients no longer need to explicitly call the shared WS setup
-    routine.  It happens under the covers now.
-    
-    JS client detects disconnects and reconnects when the next message send
-    attempt occurs.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-4      6       src/javascript/opensrf.js
-55     45      src/javascript/opensrf_ws_shared.js
-
-commit a02360aadfcd113cbec88d9c2455e42fdd74e536
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Jan 14 16:22:23 2014 -0500
-
-    LP#1268619: websocket translator idle timeout / graceful shutdown
-    
-    Added support for an idle timeout and idle check interval configuration
-    variables.  These allow each websocket apache process to kick off
-    clients that have been connected and are idle for too long, thus hogging
-    a process unnecessarily.
-    
-    Added a SIGUSR1 signal handler which forces the idle timeout to be very
-    low and a short re-check period so that the client can be kicked as soon
-    as there are no open conversations.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-263    25      src/gateway/osrf_websocket_translator.c
-
-commit bef394a7c24df54f1e63fc3e83cd473195a46c3a
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Fri Jan 10 11:57:29 2014 -0500
-
-    LP#1268619: websockets: support WS via shared web workers
-    
-    This allows mutiple browser tabs to share the same websocket connection.
-    
-    TODO: add tab (port) disconnect handler
-    TODO: more docs / examples
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-55     0       src/javascript/opensrf.js
-176    0       src/javascript/opensrf_ws_shared.js
- create mode 100644 src/javascript/opensrf_ws_shared.js
-
-commit fdb255a92f9fa687a50bed05ef918523cf902d8b
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Jan 9 15:00:03 2014 -0500
-
-    LP#1268619: websocket: do not disconnect ws() on osrf disconnect message
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-0      5       src/javascript/opensrf.js
-
-commit d546d7eacb183ba2ddd0c0ba5dc281dc5086ae81
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Feb 5 10:22:34 2013 -0500
-
-    LP#1268619: temporary websocket installer README
+    This patch fixes an issue where OpenSRF::Utils::interval_to_seconds()
+    was not recognizing intervals expressed as seconds or weeks.
     
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
 
-47     0       README.websockets
- create mode 100644 README.websockets
+2      2       src/perl/lib/OpenSRF/Utils.pm
 
-commit e4ef36f385c4f3b83ac4b49f2b07ee19c3166ff0
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Feb 5 09:52:57 2013 -0500
+commit 61e6732111db9389038bce1b1f6f655b619fdc86
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue Jul 14 15:10:15 2015 -0400
 
-    LP#1268619: Sample Websocket translator Apache 2.2 configuration
+    LP#1474507: tests for interval_to_seconds
     
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
 
-43     0       examples/apache2/websockets.conf
- create mode 100644 examples/apache2/websockets.conf
+16     0       src/perl/t/09-Utils-interval_to_seconds.t
+ create mode 100644 src/perl/t/09-Utils-interval_to_seconds.t
 
-commit 32ab4b133c9c96780e8b202ab1efe46bbf321c3b
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Fri Jan 25 12:38:13 2013 -0500
-
-    LP#1268619: websocket gateway: improved memory mgt; logging
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       src/gateway/Makefile.am
-18     23      src/gateway/osrf_websocket_translator.c
-2      2       src/javascript/opensrf_ws.js
-
-commit 0f3aa6480d2fbc9645571e057dac3f3be08709d1
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Jan 21 11:34:57 2013 -0500
-
-    LP#1268619: websockets; free temporary osrf msgs; minor comment change
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-11     2       src/gateway/osrf_websocket_translator.c
-
-commit de238b740f3a54dacd07610d8e187f417bf5b677
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Dec 10 14:33:14 2012 -0500
-
-    LP#1268619: websocket; docs, more memory mgmt
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-79     34      src/gateway/osrf_websocket_translator.c
-
-commit f990a29db95d9b1c06efa22c1b3f4fbc43206571
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Nov 12 16:46:19 2012 -0500
-
-    LP#1268619: websocket translator
-    
-    * starting packet inspection
-    * activity log; recipient removal
-    * only cache connected recipients; use request_rec pool for session_pool parent
-    * wrap all thread work in mutex
-    * session memory goodness
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-278    72      src/gateway/osrf_websocket_translator.c
-
-commit 27707398e955b8a8a2df1a5311aebc19b8eb1708
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Nov 8 12:36:16 2012 -0500
-
-    LP#1268619: websocket JS additions
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-51     50      src/javascript/opensrf.js
-124    63      src/javascript/opensrf_ws.js
-
-commit cc42cb62c47edabd693e491ad0d939970d7dbc53
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Tue Oct 30 15:51:18 2012 -0400
-
-    LP#1268619: track websocket_plugin.h locally until replaced by makefile.install process
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-130    0       src/gateway/websocket_plugin.h
- create mode 100644 src/gateway/websocket_plugin.h
-
-commit 9e455c227be32bed4a16e6dab7045b6424e2ba15
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon Oct 29 17:27:44 2012 -0400
-
-    LP#1268619: websocket gateway repairs and cleanup
-    
-    * use jsonObjectFree() on jsonObjets, not free();
-    * removed some debugging logs
-    * accommodate API changes for Apache 2.4
-    * safer logging:
-    
-      Avoid using ap_log_rerror, in particular referencing server->request
-      from the responder thread, since the request_rec will be invalid after
-      on_disconnect is called.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-61     66      src/gateway/osrf_websocket_translator.c
-
-commit a77eb22c27183d23fb08ed40bc75469d8c54b884
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Fri Oct 26 15:06:13 2012 -0400
-
-    LP#1268619: Apache websocket translator module
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-6      2       src/gateway/Makefile.am
-427    0       src/gateway/osrf_websocket_translator.c
- create mode 100644 src/gateway/osrf_websocket_translator.c
-
-commit 1dafbe7512f086a58212fcc66c07e348647f31ad
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Sep 20 15:55:04 2012 -0400
-
-    LP#1268619: OpenSRF JS websockets plugin
-    
-    Adds an opensrf_ws.js handler.  Requries some small modifications to
-    opensrf.js.  Load opensrf_ws.js in DojoSRF.
-    
-    For now, to use, add to script:
-    
-    OpenSRF.Session.transport = OSRF_TRANSPORT_TYPE_WS;
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      0       src/javascript/DojoSRF.js
-53     15      src/javascript/opensrf.js
-104    0       src/javascript/opensrf_ws.js
- create mode 100644 src/javascript/opensrf_ws.js
-
-commit cb56fd32eb43f037c4126e1398b0e9cd546d9f19
+commit 8f6923efc2c632548f860a9aaabd92fdf2545437
 Author: Mike Rylander <mrylander@gmail.com>
-Date:   Fri Jun 20 16:48:51 2014 -0400
+Date:   Thu Sep 10 16:56:13 2015 -0400
 
-    LP#1337401: Only care about our own processes
+    LP#1494486: Limit damage caused by dropped drone XMPP sockets
     
-    OpenSRF can run mutiple times, as different users, on one host.
-    Right now we look for all service processes, but we should only
-    look for our own. This patch does that.
+    It is apparently possible for drones to get into a state where their XMPP
+    socket is closed but they don't notice. This is bad because the drone can
+    continue to receive requests from its listener but can no longer respond
+    to them. To limit the pain this can cause, we should kill the drone as soon
+    as we notice this condition.
     
-    Signed-off-by: Mike Rylander <mrylander@gmail.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-5      5       bin/opensrf-perl.pl.in
-
-commit 65ce998b02d0778541b3101379013448cba606d2
-Author: Ben Shum <bshum@biblio.org>
-Date:   Fri Apr 18 16:36:38 2014 -0400
-
-    LP#1315525: Add trusty target and remove lucid from README
+    To avoid overhead, this commit notices when the socket returns an error (or
+    raises a signal, in Perl) upon write, and exits immediately.  One message
+    will be lost, but the drone will no longer be a black hole that does nothing
+    but absorb requests it can never fill.
     
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      1       README
-
-commit be5c3d82ecba066b1f4b811af9a32a85eb1c6d70
-Author: Chris Sharp <csharp@georgialibraries.org>
-Date:   Sun Jan 26 10:41:31 2014 -0500
-
-    LP#1315525: Updating Makefile.install for Ubuntu 14.04. Removing lucid support.
-    
-    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
-    Signed-off-by: Ben Shum <bshum@biblio.org>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-12     11      src/extras/Makefile.install
-
-commit 339ac28d47a466d2fd0009c24fe0385cb5326479
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Fri Feb 28 09:33:19 2014 -0800
-
-    LP#1286248: remove osrf_ctl.sh
-    
-    As osrf_ctl.sh was deprecated in favor of osrf_control, this patch
-    removes the deprecated script entirely.
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-
-0      1       .gitignore
-0      102     bin/osrf_ctl.sh.in
-1      2       configure.ac
-1      1       src/Makefile.am
- delete mode 100755 bin/osrf_ctl.sh.in
-
-commit 8fb4405a2768dd752743dab71d6e2e8a50ee6cd5
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Apr 2 15:24:06 2014 -0700
-
-    LP#1285915: document that perl2JSON doesn't order hash keys
-    
-    This patch documents that JSON strings returned by
-    OpenSRF::Utils::JSON->perl2JSON() should not be expected to have
-    hash keys sorted in any particular order.  It also adjusts a
-    corresponding test case to consistently pass under Perl 5.18, which
-    introduces hash order randomization.
-    
-    Forcing JSON output to be in canonical form is another option, and
-    easily done by JSON::XS, but would add overhead.
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-
-2      1       src/perl/lib/OpenSRF/Utils/JSON.pm
-5      1       src/perl/t/09-Utils-JSON.t
-
-commit 8a8b4cbbae62d3e927b24541f31fec93949b1752
-Author: Galen Charlton <gmc@esilibrary.com>
-Date:   Wed Apr 2 16:05:33 2014 -0700
-
-    LP#1234816: improve const-correctness of osrfCachePutString and osrfCachePutObject
-    
-    Since the cache key is not modified by osrfCachePutString and
-    osrfCachePutObject, this patch changes the key parameter of those
-    two functions from char* to const char*.  It also updates one
-    caller osrfCachePutObject to not cast away const-ness.
-    
-    This patch has no functional impact, but enables future callers
-    of osrfCachePut* to pass constant strings without having to
-    cast away the const-ness.
-    
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-
-2      2       include/opensrf/osrf_cache.h
-1      1       src/gateway/osrf_http_translator.c
-2      2       src/libopensrf/osrf_cache.c
-
-commit 0d2c6d74cf60e000646e534a7682b508c84ea55a
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Apr 10 13:27:34 2014 -0400
-
-    LP#1306044 Removing deprecated jabber register script
-    
-    This script is no longer user, since ejabberdctrl is used instead.
-    What's more, this script uses a Perl package (libnet-jabber-perl) which
-    is no longer available in Debian (Jessie).
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-0      1       Makefile.am
-0      50      examples/register.pl
- delete mode 100755 examples/register.pl
-
-commit a53e3878ae172477582ae3cfe3ebd8ec9be14e65
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Thu Apr 10 12:05:08 2014 -0400
-
-    LP#1306044 Debian Jessie Makefile.install target
-    
-    * Removes Perl Net::Jabber as a dependency.  There is no Jessie package
-      for this and OpenSRF hasn't used it in a long time.
-    
-    * Leaving Debian Squeeze in place for now
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      0       README
-15     3       src/extras/Makefile.install
-
-commit 2e919d795f0d6c5c17218fef68e894903b168a48
-Author: Mike Rylander <mrylander@gmail.com>
-Date:   Thu Mar 13 16:55:19 2014 -0400
-
-    LP#1292214: Improve docgen output
-    
-    Docgen output would be a bit more useful if it respected the formatting
-    (such as it is) of the signature content provided by the developer. So,
-    let's make that happen.
+    To test
+    -------
+    [1] Start an OpenSRF stack and look for a drone process.
+    [2] Use lsof to identify which socket that drone is using
+        to talk to XMPP.
+    [3] Use gdb to attach to the process and close the socket, e.g.,
+    
+        $ gdb -p $PID
+        (gdb) p close(11) # or whatever the socket number was
+        (gdb) c
+    
+    [4] Use srfsh to make requests of that service. Eventually, one
+        of them will hit the drone.
+    [5] Sans patch, the request will get handled by the drone, but
+        the results will never get sent, and the drone will remain
+        available to handle other requests.
+    [6] With the patch, the drone will exit when it discovers that it
+        can no longer write to the XMPP socket.
     
     Signed-off-by: Mike Rylander <mrylander@gmail.com>
     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
 
-1      1       src/extras/docgen.xsl
-
-commit 951d97a32db426874c4bb6314e473660d765f302
-Author: Bill Erickson <berick@esilibrary.com>
-Date:   Mon May 13 16:19:51 2013 -0400
-
-    LP#1179660: remove OpenSRF.pm AUTOLOAD
-    
-    Instead of simply producing an error message in the OpenSRF logs, calls
-    to nonexistent subroutines are now fatal errors which will stop code
-    execution.
-    
-    Signed-off-by: Bill Erickson <berick@esilibrary.com>
-    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
-
-1      40      src/perl/lib/OpenSRF.pm
+4      2       src/libopensrf/osrf_app_session.c
+5      0       src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm