From 0a93108dd37c57d288d613d1625a50555d3a3388 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Thu, 16 Feb 2017 15:33:00 -0500 Subject: [PATCH] update changelog for OpenSRF 2.4.2 Signed-off-by: Galen Charlton --- ChangeLog | 1338 +++++++------------------------------------------------------ 1 file changed, 139 insertions(+), 1199 deletions(-) diff --git a/ChangeLog b/ChangeLog index 56c6d89..4c04371 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,515 +1,143 @@ -ChangeLog -========= +commit 0a469559782c8e79e489e3fa003f90c7c92d51bf +Author: Galen Charlton +Date: Thu Feb 16 15:32:13 2017 -0500 -OpenSRF 2.4.1 -------------- -commit d266817a76b3659fd2b2acba13e94f01389d2a14 -Author: Galen Charlton -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 - -19 16 doc/RELEASE_NOTES.txt - -commit b1807500aa0e3854a512f5c244fef188b370ac65 -Author: Galen Charlton -Date: Wed Jun 24 16:01:26 2015 +0000 - - increment version number for 2.4.1 release - - Signed-off-by: Galen Charlton - -1 1 src/perl/lib/OpenSRF.pm -1 1 src/python/setup.py -1 1 version.m4 - -commit 95b24da0e8b85b20b018b35a7c7ecdec73a6968e -Author: Galen Charlton -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 - Signed-off-by: Mike Rylander - -7 3 src/srfsh/srfsh.c - -commit f3da6d5be3e607d8f4ba4c60815cccef60cd9487 -Author: Galen Charlton -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 - Signed-off-by: Mike Rylander + Signed-off-by: Galen Charlton -1 1 src/srfsh/srfsh.c +28 0 doc/RELEASE_NOTES.txt -commit ab6db9fb56317a553d58d7dc8471ad9288fe0b92 -Author: Dan Scott -Date: Thu Jun 18 11:52:00 2015 -0400 +commit e72a15842c10d4c2288323ede92f38d4b4b41794 +Author: Galen Charlton +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 - Signed-off-by: Bill Erickson + Signed-off-by: Galen Charlton + Signed-off-by: Jeff Davis -12 0 src/python/osrf/gateway.py +5 2 src/libopensrf/osrf_cache.c -commit 78e6fcbb637edbbec4d3996e0281a5e4d7e2663e -Author: Galen Charlton -Date: Tue Mar 24 21:00:57 2015 +0000 +commit c1eae17ad8b61d62ad6795ca3cd01347c39c7903 +Author: Galen Charlton +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 - Signed-off-by: Mike Rylander + Signed-off-by: Galen Charlton + Signed-off-by: Jeff Davis -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 -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 - Signed-off-by: Galen Charlton - -24 12 src/srfsh/srfsh.c - -commit 24c230a7c90c6a7ff300ca86745998fd07ee2105 -Author: Ben Shum -Date: Mon May 4 17:16:29 2015 -0400 - - Docs: Fix mailing list link for help in README - - Signed-off-by: Ben Shum - -2 2 README - -commit 1d632a356086e5691605bd4b6a131769a05f4906 -Author: Josh Stompro -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 - Signed-off-by: Ben Shum - -29 2 README + Signed-off-by: Kathy Lussier + Signed-off-by: Galen Charlton + Signed-off-by: Jeff Davis -commit b8bef9320b13dd5a87f34072b71af70bb1714e4a -Author: Ben Shum -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 - -6 6 README - -commit 0be401fa0b5e3db89db73e5daf5652e69a8947bb -Author: Ben Shum -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 - -6 0 README - -commit 30a5a2d9b13c4aa0636f2885f0953a840b291033 -Author: Ben Shum -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 - -11 11 README - -commit d59acb614910808b5773c377df4e9806f76546dc -Author: Bill Erickson -Date: Thu Feb 5 10:34:40 2015 -0500 +commit f608444010fff1b4b6da06b5ec49df643218b005 +Author: Mike Rylander +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 Signed-off-by: Mike Rylander + Signed-off-by: Kathy Lussier + Signed-off-by: Galen Charlton + Signed-off-by: Jeff Davis -1 1 src/javascript/opensrf.js - -OpenSRF 2.4.0 -------------- - -commit df5aa177d80b40fe1e318a103a48222378af1587 -Author: Bill Erickson -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 - Signed-off-by: Ben Shum - -8 2 src/extras/Makefile.install - -commit b199a9a84aa815dbcbc4c98e3269c192fecdb238 -Author: Ben Shum -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 - Signed-off-by: Bill Erickson - -0 2 examples/apache_24/websockets/apache2.conf - -commit 3c268142659852c6b09a8709a84029702698d2ea -Author: Ben Shum -Date: Fri Oct 31 23:53:58 2014 -0400 - - LP#1369169: Remove hardcoded paths for OpenSRF directory - - Signed-off-by: Ben Shum - Signed-off-by: Bill Erickson - -2 2 README - -commit 8bcfe29874dc2aeb2fdc07b16660a0350d377cee -Author: Ben Shum -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 - Signed-off-by: Bill Erickson - -7 1 README - -commit 25d0b0d6abe90612430b74f3c9bcf9c75c0a972e -Author: Ben Shum -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 - Signed-off-by: Bill Erickson - -93 0 README -0 53 README.websockets - delete mode 100644 README.websockets - -commit c6e0150be2b0d3c010d4ea6c34a81f69cec3004b -Author: Ben Shum -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 - Signed-off-by: Bill Erickson - -80 0 examples/apache_24/websockets/apache2.conf - create mode 100644 examples/apache_24/websockets/apache2.conf - -commit 92e8a5f7d6040bda312317ce339e459d5549d3eb -Author: Ben Shum -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 - Signed-off-by: Bill Erickson - -19 19 examples/apache2/websockets/apache2.conf +20 2 src/libopensrf/osrf_cache.c -commit 1b0252065496be18b8c4eb3991d1057928dd7784 -Author: Ben Shum -Date: Sat Sep 13 17:03:19 2014 -0400 - - LP#1369169: Standardize styling of root linux account for README - - Signed-off-by: Ben Shum - Signed-off-by: Bill Erickson - -3 3 README - -commit 10b9f9eeac545cf46387e45b8cbd06e2a556baf3 -Author: Ben Shum -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 - Signed-off-by: Bill Erickson - -1 0 .gitignore - -commit 2bceabc55f8b1ccb13089298bfdb6a220c5735d6 +commit da98d30ca754a5a9bacb09982f8cad9c053a3105 Author: Galen Charlton -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 - -1 1 doc/RELEASE_NOTES.txt - -commit e5eab9073e25b82914986326a5e97e7feecb5dfb -Author: Galen Charlton -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 - -2 2 src/perl/lib/OpenSRF.pm -1 1 src/python/setup.py -1 1 version.m4 - -commit b929dd7080b91e1f7c938778580ac6957835e666 -Author: Galen Charlton -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 - -582 1004 ChangeLog - -commit 4426a8a503baec5171ae4245eccd595444815358 -Author: Galen Charlton -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 - -121 0 doc/RELEASE_NOTES.txt - create mode 100644 doc/RELEASE_NOTES.txt - -commit e8f78636586aeca15632bcfbf0cae20beb2d66a6 -Author: Galen Charlton -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 + Signed-off-by: Mike Rylander -1 0 src/gateway/apachetools.c +1 1 src/perl/lib/OpenSRF/System.pm -commit bc914bf1933cc7a9272134fd4bbeb7601d233903 +commit 5bd88d39d7d22e6deee85952f1dc827c138095c4 Author: Galen Charlton -Date: Thu Aug 21 09:13:23 2014 -0700 - - LP#1002028: support CORS for HTTPS - - Signed-off-by: Galen Charlton - -2 0 src/gateway/apachetools.c +Date: Fri Mar 18 10:59:11 2016 -0400 -commit d8dbf0c4e44cf45f00ffe2785d0778658029b825 -Author: Bennett Goble -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 Signed-off-by: Galen Charlton -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 -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 -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 Signed-off-by: Galen Charlton -4 4 README +4 1 src/perl/t/09-Utils-JSON.t -commit 96917538c6b6fad688dd40c2a8f0cc9127053b24 +commit 675c7a693d9a5d4f228d7b7ca5fe3b3f7fd62214 Author: Mike Rylander 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 - Signed-off-by: Galen Charlton - -3 3 src/perl/lib/OpenSRF/Application.pm - -commit 6cdd5251ac64651534e579f7e02a70a665f60283 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -9 0 src/libopensrf/osrf_prefork.c -5 1 src/perl/lib/OpenSRF/Server.pm - -commit 54da75bd2f045dbd2225317f74dc5fe38f415fe5 -Author: Galen Charlton -Date: Wed Aug 20 14:00:17 2014 -0700 - - LP#1343578: document in the example opensrf_core.xml - - Signed-off-by: Galen Charlton - -12 0 examples/opensrf_core.xml.example - -commit 2f4ed86a136cfb7547f7e8c3e2109f4473139276 -Author: Bill Erickson -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 - Signed-off-by: Mike Rylander - Signed-off-by: Galen Charlton - -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 -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 Signed-off-by: Galen Charlton -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 -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, ) instead. - - See also: - - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_native_JSON - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -2 94 src/javascript/JSON_v1.js -0 60 src/javascript/tests/testJSON_v1.js - -commit 2677f8e815a61f9b808bb57647f6ec9d448f0268 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -6 1 src/javascript/opensrf.js - -commit 755a58642281246df280877f7ad480503b1ddc4b -Author: Bill Erickson -Date: Wed Jul 30 12:05:36 2014 -0400 - - LP#1268619: update JS/WS/SSL code comment - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -1 4 src/javascript/opensrf_ws_shared.js - -commit c65c6d9f91c5372360619004c8602d2a262dfb8b -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -1 1 src/javascript/opensrf.js - -commit 17ae5ca5e6db6700dc4b61599c4394f80e727711 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -2 1 src/javascript/opensrf.js - -commit 9fdef970f3785e958090f8edf4ad37ece4459343 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -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 -Date: Thu Apr 10 08:50:13 2014 -0400 +commit b484a31c413a017c6b7409f3f101636f68c08c9a +Author: Jason Etheridge +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 - Signed-off-by: Galen Charlton - -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 -Date: Mon Apr 7 12:04:33 2014 -0400 - - LP#1268619: websockets: auto-upgrade to shared workers; SSL-always - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -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 -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 - Signed-off-by: Galen Charlton - -8 1 README.websockets -252 206 src/gateway/osrf_websocket_translator.c - -commit 4ce075beeb5f81b8eb4c2cb2669b3a99ebab40ba -Author: Bill Erickson -Date: Mon Mar 10 15:55:24 2014 -0400 - - LP#1268619: websockets: apply syslog name in gateway - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -1 0 src/gateway/osrf_websocket_translator.c - -commit 77c7f5889e8f31038cd732feb3e6057a0d3788b5 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -2 2 README.websockets - -commit bb424c1424193e4db340e3f6e17a939dc1dd821a -Author: Bill Erickson -Date: Thu Mar 6 15:47:36 2014 -0500 - - LP#1268619: websockets : additional apache config docs - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -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 -Date: Thu Mar 6 15:05:12 2014 -0500 - - LP#1268619: websockets: apache conf -> info logging - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -1 1 examples/apache2/websockets.conf - -commit b1b3bf60f613b94d1455afb54dff4ad4a7e95ddd -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -0 165 src/javascript/opensrf_ws.js - delete mode 100644 src/javascript/opensrf_ws.js - -commit 6765c6395b0fb2a1c501f7c94a04cfacc7d460db -Author: Bill Erickson -Date: Tue Mar 4 14:10:59 2014 -0500 - - LP#1268619: websockets: shared worker path; JS api_level - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -25 8 src/javascript/opensrf.js - -commit f5ada2850552560a24e473e02532e75870ab7307 -Author: Bill Erickson -Date: Mon Mar 3 16:23:44 2014 -0500 - - LP#1268619: websockets: initial C libs api_level support - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -4 1 src/libopensrf/osrf_message.c - -commit 2bcead2d3e1c560a30c5b9beba6d1cbfe58778ed -Author: Bill Erickson -Date: Mon Mar 3 16:01:58 2014 -0500 - - LP#1268619: websockets : gateway log inbound messages at internal - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -7 0 src/gateway/osrf_websocket_translator.c - -commit 5631bbdfa0f9a4fe2ea1b238c5e2ffee4b606dc1 -Author: Bill Erickson -Date: Mon Mar 3 12:06:12 2014 -0500 - - LP#1268619: websocket : add JS lib to makefile - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -1 1 src/Makefile.am - -commit 0054ea6684a933037af1cc3bc6358c7096dc051c -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -1 1 src/gateway/Makefile.am - -commit e375a1e31b87a3d645b6da05e83f2a29f885f1fc -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -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 -Date: Mon Mar 3 09:42:03 2014 -0500 - - LP#1268619: websocket : more JS api docs - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -83 20 src/javascript/opensrf_ws_shared.js - -commit aa1c088bd45a254290ad202875eb87c4bd4eeb2a -Author: Bill Erickson -Date: Thu Jan 16 11:41:01 2014 -0500 - - LP#1268619: websockets : added config docs to install readme - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -19 0 README.websockets -1 1 src/gateway/osrf_websocket_translator.c - -commit a64f10c4183a495ec3912458c9b6268856e8fe47 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -4 6 src/javascript/opensrf.js -55 45 src/javascript/opensrf_ws_shared.js - -commit a02360aadfcd113cbec88d9c2455e42fdd74e536 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -263 25 src/gateway/osrf_websocket_translator.c - -commit bef394a7c24df54f1e63fc3e83cd473195a46c3a -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -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 -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 - Signed-off-by: Galen Charlton - -0 5 src/javascript/opensrf.js - -commit d546d7eacb183ba2ddd0c0ba5dc281dc5086ae81 -Author: Bill Erickson -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 + Signed-off-by: Jason Etheridge Signed-off-by: Galen Charlton -47 0 README.websockets - create mode 100644 README.websockets +2 2 src/perl/lib/OpenSRF/Utils.pm -commit e4ef36f385c4f3b83ac4b49f2b07ee19c3166ff0 -Author: Bill Erickson -Date: Tue Feb 5 09:52:57 2013 -0500 +commit 61e6732111db9389038bce1b1f6f655b619fdc86 +Author: Jason Etheridge +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 Signed-off-by: Galen Charlton -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 -Date: Fri Jan 25 12:38:13 2013 -0500 - - LP#1268619: websocket gateway: improved memory mgt; logging - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -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 -Date: Mon Jan 21 11:34:57 2013 -0500 - - LP#1268619: websockets; free temporary osrf msgs; minor comment change - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -11 2 src/gateway/osrf_websocket_translator.c - -commit de238b740f3a54dacd07610d8e187f417bf5b677 -Author: Bill Erickson -Date: Mon Dec 10 14:33:14 2012 -0500 - - LP#1268619: websocket; docs, more memory mgmt - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -79 34 src/gateway/osrf_websocket_translator.c - -commit f990a29db95d9b1c06efa22c1b3f4fbc43206571 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -278 72 src/gateway/osrf_websocket_translator.c - -commit 27707398e955b8a8a2df1a5311aebc19b8eb1708 -Author: Bill Erickson -Date: Thu Nov 8 12:36:16 2012 -0500 - - LP#1268619: websocket JS additions - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -51 50 src/javascript/opensrf.js -124 63 src/javascript/opensrf_ws.js - -commit cc42cb62c47edabd693e491ad0d939970d7dbc53 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -130 0 src/gateway/websocket_plugin.h - create mode 100644 src/gateway/websocket_plugin.h - -commit 9e455c227be32bed4a16e6dab7045b6424e2ba15 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -61 66 src/gateway/osrf_websocket_translator.c - -commit a77eb22c27183d23fb08ed40bc75469d8c54b884 -Author: Bill Erickson -Date: Fri Oct 26 15:06:13 2012 -0400 - - LP#1268619: Apache websocket translator module - - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -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 -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 - Signed-off-by: Galen Charlton - -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 -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 - Signed-off-by: Galen Charlton - -5 5 bin/opensrf-perl.pl.in - -commit 65ce998b02d0778541b3101379013448cba606d2 -Author: Ben Shum -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 - Signed-off-by: Galen Charlton - -1 1 README - -commit be5c3d82ecba066b1f4b811af9a32a85eb1c6d70 -Author: Chris Sharp -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 - Signed-off-by: Ben Shum - Signed-off-by: Galen Charlton - -12 11 src/extras/Makefile.install - -commit 339ac28d47a466d2fd0009c24fe0385cb5326479 -Author: Galen Charlton -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 - Signed-off-by: Bill Erickson - -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 -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 - Signed-off-by: Bill Erickson - -2 1 src/perl/lib/OpenSRF/Utils/JSON.pm -5 1 src/perl/t/09-Utils-JSON.t - -commit 8a8b4cbbae62d3e927b24541f31fec93949b1752 -Author: Galen Charlton -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 - Signed-off-by: Bill Erickson - -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 -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 - Signed-off-by: Galen Charlton - -0 1 Makefile.am -0 50 examples/register.pl - delete mode 100755 examples/register.pl - -commit a53e3878ae172477582ae3cfe3ebd8ec9be14e65 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -1 0 README -15 3 src/extras/Makefile.install - -commit 2e919d795f0d6c5c17218fef68e894903b168a48 -Author: Mike Rylander -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 Signed-off-by: Galen Charlton -1 1 src/extras/docgen.xsl - -commit 951d97a32db426874c4bb6314e473660d765f302 -Author: Bill Erickson -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 - Signed-off-by: Galen Charlton - -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 -- 2.11.0