working/OpenSRF.git
7 years agoLP 1703958: Update Websockets Intructions for Debian Jessie
Jason Stephenson [Wed, 12 Jul 2017 19:24:48 +0000 (15:24 -0400)]
LP 1703958: Update Websockets Intructions for Debian Jessie

Modify the Websockets installation instructions so that users will
have a working installation on Debian Jessie.  We change the "Debian"
instructions to say "Debian Wheezy" and add "Debian Jessie" to the
list with "Ubuntu Trusty / Xenial" where necessary.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1704116: fix intermittant failure of parallel building
Graham Billiau [Thu, 13 Jul 2017 15:29:43 +0000 (11:29 -0400)]
LP#1704116: fix intermittant failure of parallel building

Running make to do a parallel build (e.g., 'make -j 4' or
the like) could fail because of an undeclared dependency; this
patch fixes the issue.

The issue can be reproduced by repeating "make clean; make -j 4"
until the build fails.

Signed-off-by: Graham Billiau <graham@geeksinthegong.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1672926: Disable/remove default nginx config in REAMDE steps
Ben Shum [Wed, 15 Mar 2017 03:00:56 +0000 (23:00 -0400)]
LP#1672926: Disable/remove default nginx config in REAMDE steps

Since we will be adding our own custom nginx config, disable/remove the
default one that is installed so there's no confusion later on.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1670045 - Correct Nginx README instructions
Chris Sharp [Sat, 4 Mar 2017 20:22:20 +0000 (15:22 -0500)]
LP#1670045 - Correct Nginx README instructions

Previously, following the optional Nginx server setup
instructions resulted in failure for nginx to install
because Apache is already using ports 80 and 443.  Switch
the steps so that we change Apache's listening ports before
APT installation.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
7 years agoRemove Fedora as a well-tested target
Dan Scott [Thu, 2 Mar 2017 15:31:02 +0000 (10:31 -0500)]
Remove Fedora as a well-tested target

The Fedora install target requires a number of updates and is now
far from a "well-tested target".

Signed-off-by: Dan Scott <dscott@laurentian.ca>
7 years agoLP#1667091 Remove non-SSL websockets sample configs
Bill Erickson [Wed, 22 Feb 2017 21:05:25 +0000 (16:05 -0500)]
LP#1667091 Remove non-SSL websockets sample configs

All WebSockets communication occurs via SSL in the sample configuration
files.  Non-SSL communication is still an option if required with local
configuration.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1666706: add --with-websockets-port configure option
Galen Charlton [Tue, 21 Feb 2017 21:21:23 +0000 (16:21 -0500)]
LP#1666706: add --with-websockets-port configure option

This patch adds the ability to specify the WebSockets
port as a configure option, avoiding the need to manually
edit a couple JavaScript files if one chooses to proxy
WS traffic.

This patch also cleans up the set of JavaScript files that
are installed so that some test case files are not installed
by default.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1616501: teach mod_perl handlers how to detect client disconnects
Mike Rylander [Thu, 4 Aug 2016 12:57:44 +0000 (08:57 -0400)]
LP#1616501: teach mod_perl handlers how to detect client disconnects

This patch provides an API so that mod_perl handlers
that act as OpenSRF clients have a way to specify that
if the browser disconnects, to stop trying to receive
results from an XMPP request.

To invoke it, mod_perl handlers can add the following:

use OpenSRF;
...
sub hander {
...
    my $r = shift;
    OpenSRF->OSRF_APACHE_REQUEST_OBJ($r);
...

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1652382: more improvements to cache key munging
Galen Charlton [Wed, 15 Feb 2017 21:58:06 +0000 (16:58 -0500)]
LP#1652382: more improvements to cache key munging

- teach osrfCacheRemove to clean keys
- fix implict declaration compilation warning
- account for fact that iscntrl('\0') returns true

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
7 years agoLP#1652382: handle cases where supplied key is longer than 250 bytes
Galen Charlton [Wed, 15 Feb 2017 19:12:34 +0000 (14:12 -0500)]
LP#1652382: handle cases where supplied key is longer than 250 bytes

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@equinoxinitiative.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
7 years agoLP#1652382: Make use of the clean key just created
Mike Rylander [Mon, 30 Jan 2017 17:54:10 +0000 (12:54 -0500)]
LP#1652382: Make use of the clean key just created

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>
7 years agoLP#1652382: normalization of memcache keys in C code
Mike Rylander [Fri, 27 Jan 2017 20:25:05 +0000 (15:25 -0500)]
LP#1652382: normalization of memcache keys in C code

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: 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>
7 years agoLP#1655449: Bundling/chunking limits for SubRquests
Mike Rylander [Tue, 10 Jan 2017 20:30:18 +0000 (15:30 -0500)]
LP#1655449: Bundling/chunking limits for SubRquests

We need to teach subrequests to inherit parent request bundling/chunking
parameters so they don't cause overruns in dispatch mode.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1652122: fix infinite recursion in opensrf.system.method.all
Galen Charlton [Thu, 22 Dec 2016 10:53:12 +0000 (15:53 +0500)]
LP#1652122: fix infinite recursion in opensrf.system.method.all

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.

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.

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.

This patch fixes a regression introduced in bug 1350457.

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>
7 years agoLP#1648188: example HAProxy configuration
Galen Charlton [Wed, 7 Dec 2016 18:34:15 +0000 (13:34 -0500)]
LP#1648188: example HAProxy configuration

Add an example configuration for using HAProxy.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoLP#1638651: add instructions for using NGINX
Galen Charlton [Wed, 7 Dec 2016 17:54:05 +0000 (12:54 -0500)]
LP#1638651: add instructions for using NGINX

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoLP#1638651: example Nginx websockets/http(s) proxy config
Bill Erickson [Mon, 31 Oct 2016 19:56:32 +0000 (15:56 -0400)]
LP#1638651: example Nginx websockets/http(s) proxy config

Example using Nginx to proxy all websocket, http, and https Apache
traffic.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoLP#1382038: clarify one step of installing websockets support
Galen Charlton [Wed, 7 Dec 2016 16:58:35 +0000 (11:58 -0500)]
LP#1382038: clarify one step of installing websockets support

Specify directory to be in before copying the Apache websockets
configuration file.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoLP#1382038: adjustments to download instructions
Galen Charlton [Wed, 7 Dec 2016 16:53:49 +0000 (11:53 -0500)]
LP#1382038: adjustments to download instructions

- Use "OSRFVERSION" in the master branch rather than
  a specific version number; this is meant to be changed
  during the release process.
- Update references to the OpenSRF downloads index
  page.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoLP#1382038: Add instructions for implied download/unpack step
Remington Steed [Mon, 21 Nov 2016 15:58:33 +0000 (10:58 -0500)]
LP#1382038: Add instructions for implied download/unpack step

Occasionally, new users have complained that the installation
instructions making too many assumptions about what a user knows. This
commit explicitly instructs users in downloading the source tarball,
unpacking it, and changing the working directory so they will be ready
for the next instructions.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: fix chunking for atomic C methods
Galen Charlton [Thu, 3 Nov 2016 22:08:54 +0000 (18:08 -0400)]
LP#1612771: fix chunking for atomic C methods

This patch also refactors the code that actually does the
splitting and sending of chunked responses into a new
public function, osrfSendChunkedResult().

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Mike Rylander <miker@esilibrary.com>
8 years agoLP#1631522: add release notes for ->dispatch
Galen Charlton [Tue, 1 Nov 2016 21:22:48 +0000 (17:22 -0400)]
LP#1631522: add release notes for ->dispatch

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1631522: dev doc now describes ->dispatch
Galen Charlton [Tue, 1 Nov 2016 21:20:49 +0000 (17:20 -0400)]
LP#1631522: dev doc now describes ->dispatch

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1631522: include example of ->dispatch in example app
Galen Charlton [Tue, 1 Nov 2016 21:03:03 +0000 (17:03 -0400)]
LP#1631522: include example of ->dispatch in example app

This patch also makes the Perl opensrf.math demo app work
correctly, as it hadn't been constructing opensrf.dbmath
method names correctly.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1631522: Dispatch mode for method_lookup subrequests
Mike Rylander [Thu, 25 Aug 2016 21:42:31 +0000 (17:42 -0400)]
LP#1631522: Dispatch mode for method_lookup subrequests

There is a pattern in the wild of using OpenSRF's method_lookup() facility
to decide between one of several local methods when delegating to pre-existing
logic.  Often times, we want to simply hand control over to another method,
but the output of a subrequest's run() is an array of results.  The caller has
to know if, and how, to restructure the result for the client.

Instead, we can now call dispatch() instead of run() and have OpenSRF session
control completely passed to the delegate code.  This way, the delegate code
need not know anything about its caller, and vice versa.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: add release notes
Galen Charlton [Tue, 1 Nov 2016 20:30:26 +0000 (16:30 -0400)]
LP#1612771: add release notes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: fix error in POD
Galen Charlton [Tue, 1 Nov 2016 20:22:10 +0000 (16:22 -0400)]
LP#1612771: fix error in POD

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: update protocol documentation
Galen Charlton [Tue, 1 Nov 2016 20:03:50 +0000 (16:03 -0400)]
LP#1612771: update protocol documentation

Now that we have PARTIAL and NOCONTENT statuses, let's
mention them in the documentation for the benefit of
folks writing future clients.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: don't adjust max_stanza_size during installation
Galen Charlton [Tue, 1 Nov 2016 19:46:13 +0000 (15:46 -0400)]
LP#1612771: don't adjust max_stanza_size during installation

As the typical max_stanza_size for ejabberd installations
is larger than what OpenSRF now needs, this patch adjusts
the installation instructions to remove the step to change
max_stanza_size.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: Add chunking support to JS implementation
Mike Rylander [Sun, 23 Feb 2014 20:55:52 +0000 (15:55 -0500)]
LP#1612771: Add chunking support to JS implementation

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: implement C max_chunk_size server support
Bill Erickson [Fri, 28 Feb 2014 17:44:11 +0000 (12:44 -0500)]
LP#1612771: implement C max_chunk_size server support

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: set Perl / C max_chunk_size default sizes
Bill Erickson [Thu, 27 Feb 2014 20:18:15 +0000 (15:18 -0500)]
LP#1612771: set Perl / C max_chunk_size default sizes

default max bundle size == 25K
default max chunk size  == 50K

Note with Ejabberd using 65536 as the default max stanza size, these
new OpenSRF defaults mean that all messages will fit the default
message size constraints -- i.e. no more need to raise the
max_stanza_size.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: C support for receiving chunked responses
Mike Rylander [Sun, 23 Feb 2014 21:35:17 +0000 (16:35 -0500)]
LP#1612771: C support for receiving chunked responses

* client parsing
* consistent w/ Perl, we now have "bundling" and "chunking"

Signed-off-by: Bill Erickson <berick@esilibrary.com>
8 years agoLP#1612771: Perl max_chunk_size additions
Bill Erickson [Mon, 24 Feb 2014 20:14:19 +0000 (15:14 -0500)]
LP#1612771: Perl max_chunk_size additions

* Added missing max_chunk_size method to AppSession
* Copy API max_chunk_size value into the handler AppRequest
* Fix error where no-chunking resulted in empty responses

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1612771: bundling and chunking
Mike Rylander [Sun, 23 Feb 2014 19:51:13 +0000 (14:51 -0500)]
LP#1612771: bundling and chunking

This patch is first in a series of patches that provides the following
features:

* OpenSRF message bundling -- Pack multiple OpenSRF messages together
in a single XMPP envelope, as long as we believe more messages will be
sent in the future and we are below some threshold of combined message size.
The default for that threshold is 25Kb.

 * OpenSRF message chunking -- Break up large OpenSRF messages across
multiple XMPP envelopes. This is implemented with a new OpenSRF message type.
C, Perl, and Javascript libraries are taught how to reconstruct chunked
messages. The default chunking threshold is 50Kb, just a bit below the default
ejabberd max stanza size of 64Kb.

This patch in particular renames "chunking" to "bundling", then
implements message splitting ("chunking") in Perl using two new
oilsResult subclasses

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1603708: Remove support for Ubuntu 12.04 Precise
Ben Shum [Tue, 5 Jul 2016 16:53:13 +0000 (12:53 -0400)]
LP#1603708: Remove support for Ubuntu 12.04 Precise

With support for Ubuntu 16.04 Xenial in place, remove the oldest LTS, which is
Ubuntu 12.04 Precise.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoDocs: Change 14.04 to Trusty in README
Ben Shum [Tue, 5 Jul 2016 16:50:34 +0000 (12:50 -0400)]
Docs: Change 14.04 to Trusty in README

For consistency, change references from numbered "Ubuntu 14.04" to "Ubuntu Trusty"

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoDocs: Add Xenial references in the websocket setup instructions
Ben Shum [Tue, 5 Jul 2016 16:44:17 +0000 (12:44 -0400)]
Docs: Add Xenial references in the websocket setup instructions

We were missing Xenial references for the websocket setup instructions.

They are the same as Trusty, so group together for now.

Also, change references to "Ubuntu 16.04" to read "Ubuntu Xenial" too.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1473479 Syslog configuration adoption
Bill Erickson [Fri, 10 Jul 2015 14:52:20 +0000 (10:52 -0400)]
LP#1473479 Syslog configuration adoption

When an OpenSRF client is run with syslog enabled and with the
OSRF_ADOPT_SYSLOG environment variable set to a true value, no attempt
is made to modify the syslog configuration, including no calls to
openlog()/closelog() and no modification of the syslog facility when
calling syslog().

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1631520: configure install location of Perl modules
Mike Rylander [Fri, 7 Oct 2016 16:19:52 +0000 (12:19 -0400)]
LP#1631520: configure install location of Perl modules

Add --with-perlbase configure option to specify
an alternative location for installing the Perl modules. This
can be useful for setups that want to run the Perl modules
from a shared filesystem or environments that need to run
multiple versions of OpenSRF simultaneously.

Users of --with-perlbase are responsible for ensuring that
PERL5LIB is set appropriately.

To test
-------
[1] Use --with-perlbase during the configure step, e.g.,

    ./configure --perl-base /tmp/perl

[2] Run make; make check; sudo make install
[3] Verify that the Perl modules are installed under
    /tmp/perl.
[4] Make a change to a Perl source file, then
    go to src/perl, then run sudo ./Build install. Verify
    that it remembers the --with-perlbase directory
    and installs the updated module there.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1585041: Move debian_sys_config target for Debian distributions
Ben Shum [Tue, 24 May 2016 05:24:09 +0000 (01:24 -0400)]
LP#1585041: Move debian_sys_config target for Debian distributions

Similar to how things were reordered for Ubuntu, let's move debian_sys_config
for Debian distributions.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1485371: Release notes for TZ handling in OpenSRF
Mike Rylander [Tue, 23 Feb 2016 16:22:34 +0000 (11:22 -0500)]
LP#1485371: Release notes for TZ handling in OpenSRF

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1485371: Use client-supplied TZ
Mike Rylander [Mon, 3 Aug 2015 17:27:56 +0000 (13:27 -0400)]
LP#1485371: Use client-supplied TZ

Currently, there is no protocol-level mechanism for passing the client's
desired timezone to the server. In much the same way we pass the locale,
we can let the server know what timezone it should use when interpreting
time stamps.

To do this we:

 * Teach perl server code to live in the client TZ, if supplied
 * Teach perl client code to send the current $ENV{TZ}
 * Teach javascript library to include client TZ in
   gateway/translator/websocket communication
 * Teach C code to pull the incoming TZ and apply it to outgoing messages
 * Teach srfsh to pull TZ from the environment and pass it with requests

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1551090: Update README for Ubuntu 16.04 (Xenial Xerus).
Jason Stephenson [Wed, 4 May 2016 17:05:31 +0000 (13:05 -0400)]
LP#1551090: Update README for Ubuntu 16.04 (Xenial Xerus).

Add installation steps for Ubuntu 16.04.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
8 years agoLP#1551090: Enable mod_perl2 on Ubuntu 16.04 (Xenial Xerus).
Jason Stephenson [Tue, 19 Apr 2016 20:56:15 +0000 (16:56 -0400)]
LP#1551090: Enable mod_perl2 on Ubuntu 16.04 (Xenial Xerus).

Ubuntu Xenial Xerus does not automatically enable mod_perl2 for
Apache2 when the package is installed, so we enable it via the
Makefile.install.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
8 years agoLP#1551090: Adding apache2-dev dependency to xenial and fixing whitespace
Chris Sharp [Fri, 19 Feb 2016 01:12:40 +0000 (20:12 -0500)]
LP#1551090: Adding apache2-dev dependency to xenial and fixing whitespace

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
src/extras/Makefile.install

8 years agoLP#1551090: Since we move apache to the "install_extra_debs*" targets,
Chris Sharp [Thu, 18 Feb 2016 23:10:34 +0000 (18:10 -0500)]
LP#1551090: Since we move apache to the "install_extra_debs*" targets,

we need to move debian_sys_config further down to compensate.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
8 years agoLP#1551090: Adding necessary connectivity for xenial deb installation.
Chris Sharp [Thu, 18 Feb 2016 00:35:02 +0000 (19:35 -0500)]
LP#1551090: Adding necessary connectivity for xenial deb installation.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
8 years agoLP#1551090: Adding apache2 package to Makefile.install deb list.
Chris Sharp [Thu, 18 Feb 2016 00:26:01 +0000 (19:26 -0500)]
LP#1551090: Adding apache2 package to Makefile.install deb list.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
8 years agoLP#1551090: Updating Makefile to accommodate ubuntu-xenial target.
Chris Sharp [Wed, 17 Feb 2016 20:28:05 +0000 (15:28 -0500)]
LP#1551090: Updating Makefile to accommodate ubuntu-xenial target.

Removing some redundancy in the extra debs lists.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
src/extras/Makefile.install

8 years agoLP#1559121: remove Debian Squeeze support
Galen Charlton [Fri, 18 Mar 2016 14:59:11 +0000 (10:59 -0400)]
LP#1559121: remove Debian Squeeze support

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.

To test:

[1] Verify that Debian Squeeze is no longer referenced in
    the installation documentation.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
8 years agoLP#1350457: add test case for perl2JSONObject change
Galen Charlton [Thu, 4 Feb 2016 18:09:48 +0000 (13:09 -0500)]
LP#1350457: add test case for perl2JSONObject change

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1350457: Pass caller's session to subrequests called via method_lookup
Mike Rylander [Wed, 30 Jul 2014 17:29:46 +0000 (13:29 -0400)]
LP#1350457: Pass caller's session to subrequests called via method_lookup

In the process of looking up a method for an internal subrequest, we lose
session info. This is a problem when the subrequest makes a remote request,
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.

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>
8 years agoLP#1474507: fix interval_to_seconds for weeks and seconds user/gmcharlt/pre_subrequest
Jason Etheridge [Tue, 14 Jul 2015 18:54:27 +0000 (14:54 -0400)]
LP#1474507: fix interval_to_seconds for weeks and seconds

This patch fixes an issue where OpenSRF::Utils::interval_to_seconds()
was not recognizing intervals expressed as seconds or weeks.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1474507: tests for interval_to_seconds
Jason Etheridge [Tue, 14 Jul 2015 19:10:15 +0000 (15:10 -0400)]
LP#1474507: tests for interval_to_seconds

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8 years agoLP#1494486: Limit damage caused by dropped drone XMPP sockets
Mike Rylander [Thu, 10 Sep 2015 20:56:13 +0000 (16:56 -0400)]
LP#1494486: Limit damage caused by dropped drone XMPP sockets

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.

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.

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>
9 years agoLP#1152272: do not log batch invocation of srfsh in .srfsh_history
Galen Charlton [Wed, 3 Jun 2015 18:35:35 +0000 (18:35 +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>
9 years agoLP#1461625: ensure srfsh doesn't close STDOUT prematurely
Galen Charlton [Wed, 3 Jun 2015 17:42:06 +0000 (17:42 +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.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1409055 Support specific protocols for OpenSRF gateway requests user/berick/lp1409055-python-https-via-dbs
Dan Scott [Thu, 18 Jun 2015 15:52:00 +0000 (11:52 -0400)]
LP#1409055 Support specific protocols for OpenSRF gateway requests

If the user passes in a gateway hostname that contains a specific HTTP or HTTPS
protocol, let's just use that.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
9 years agoLP#1436047: make srfsh --safe act as if "! command" doesn't exist
Galen Charlton [Tue, 24 Mar 2015 21:00:57 +0000 (21:00 +0000)]
LP#1436047: make srfsh --safe act as if "! command" doesn't exist

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.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1436047: Allow disabling of "bang commands" in srfsh
Mike Rylander [Tue, 24 Mar 2015 20:22:16 +0000 (16:22 -0400)]
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.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
9 years agoDocs: Fix mailing list link for help in README
Ben Shum [Mon, 4 May 2015 21:16:29 +0000 (17:16 -0400)]
Docs: Fix mailing list link for help in README

Signed-off-by: Ben Shum <bshum@biblio.org>
9 years agoLP#1445503 - Updated Ejabberd setup steps for Ejabberd 14.x for Debian Jessie
Josh Stompro [Tue, 21 Apr 2015 14:50:49 +0000 (09:50 -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>
9 years agoDocs: Emphasize variables and paths consistently in README
Ben Shum [Mon, 4 May 2015 21:01:23 +0000 (17:01 -0400)]
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>
9 years agoDocs: Add [source, bash] to code blocks that were not defined in README
Ben Shum [Mon, 4 May 2015 20:57:38 +0000 (16:57 -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>
9 years agoDocs: Keep all source syntax consistent in README
Ben Shum [Mon, 4 May 2015 20:49:08 +0000 (16:49 -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>
9 years agoLP#1418613 per-tab websocket send() JS thinko repair
Bill Erickson [Thu, 5 Feb 2015 15:34:40 +0000 (10:34 -0500)]
LP#1418613 per-tab websocket send() JS thinko repair

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.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
9 years agoLP#1383828 Jessie/Trusty installer Apache "mpm" repairs
Bill Erickson [Fri, 17 Oct 2014 21:07:53 +0000 (17:07 -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>
9 years agoLP#1391248: Fix NameVirtualHost warnings in websockets apache2.conf
Ben Shum [Mon, 10 Nov 2014 17:20:31 +0000 (12:20 -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>
10 years agoLP#1369169: Remove hardcoded paths for OpenSRF directory
Ben Shum [Sat, 1 Nov 2014 03:53:58 +0000 (23:53 -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>
10 years agoLP#1369169: Mention the requirement for valid SSL certificate
Ben Shum [Sat, 13 Sep 2014 22:23:46 +0000 (18:23 -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>
10 years agoLP#1369169: Add websockets section to the OpenSRF README
Ben Shum [Fri, 12 Sep 2014 21:58:11 +0000 (17:58 -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>
10 years agoLP#1369169: Add Apache 2.4 specific configuration file for websockets
Ben Shum [Sat, 13 Sep 2014 22:04:54 +0000 (18:04 -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>
10 years agoLP#1369169: Remove trailing whitespace from apache2.conf
Ben Shum [Sat, 13 Sep 2014 22:07:47 +0000 (18:07 -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>
10 years agoLP#1369169: Standardize styling of root linux account for README
Ben Shum [Sat, 13 Sep 2014 21:03:19 +0000 (17:03 -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>
10 years agoLP#1369169: Add generated README.html to the .gitignore file for OpenSRF
Ben Shum [Sat, 13 Sep 2014 21:38:54 +0000 (17:38 -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>
10 years agoLP#1002028: set Access-Control-Expose-Headers
Galen Charlton [Thu, 21 Aug 2014 17:02:14 +0000 (10:02 -0700)]
LP#1002028: set Access-Control-Expose-Headers

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.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1002028: support CORS for HTTPS
Galen Charlton [Thu, 21 Aug 2014 16:13:23 +0000 (09:13 -0700)]
LP#1002028: support CORS for HTTPS

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1002028: Cross Origin Resource Sharing for OpenSRF
Bennett Goble [Tue, 22 May 2012 15:57:56 +0000 (11:57 -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.

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.

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.

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.

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>
10 years agoRevert "LP#1350457: Pass caller's session to subrequests called via method_lookup"
Galen Charlton [Thu, 21 Aug 2014 15:58:18 +0000 (08:58 -0700)]
Revert "LP#1350457: Pass caller's session to subrequests called via method_lookup"

This reverts commit 96917538c6b6fad688dd40c2a8f0cc9127053b24.

10 years ago(doc) Reorder changes to ejabberd.cfg in install instructions
Josh Stompro [Wed, 21 May 2014 13:26:53 +0000 (08:26 -0500)]
(doc) Reorder changes to ejabberd.cfg in install instructions

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>
10 years agoLP#1350457: Pass caller's session to subrequests called via method_lookup
Mike Rylander [Wed, 30 Jul 2014 17:29:46 +0000 (13:29 -0400)]
LP#1350457: Pass caller's session to subrequests called via method_lookup

In the process of looking up a method for an internal subrequest, we lose
session info. This is a problem when the subrequest makes a remote request,
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>
10 years agoLP#1341687 listeners log/drop XMPP error msgs
Bill Erickson [Thu, 17 Jul 2014 15:37:53 +0000 (11:37 -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>
10 years agoLP#1343578: document <logtag> in the example opensrf_core.xml
Galen Charlton [Wed, 20 Aug 2014 21:00:17 +0000 (14:00 -0700)]
LP#1343578: document <logtag> in the example opensrf_core.xml

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1343578: Perl/C syslog "logtag" additions.
Bill Erickson [Thu, 17 Jul 2014 19:10:35 +0000 (15:10 -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>
10 years agoLP#1343578: Add support for log tagging
Mike Rylander [Fri, 20 Jun 2014 19:52:47 +0000 (15:52 -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.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1316245: JS now uses browser-native JSON routines
Bill Erickson [Mon, 5 May 2014 17:40:46 +0000 (13:40 -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>
10 years agoLP#1268619: disable shared workers pending browser issues
Bill Erickson [Mon, 4 Aug 2014 18:26:36 +0000 (14:26 -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>
10 years agoLP#1268619: update JS/WS/SSL code comment
Bill Erickson [Wed, 30 Jul 2014 16:05:36 +0000 (12:05 -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>
10 years agoLP#1268619: JS status codes can come across as numbers; stringify for match
Bill Erickson [Thu, 10 Jul 2014 15:29:49 +0000 (11:29 -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>
10 years agoLP#1268619: JS libs capture all method errors
Bill Erickson [Tue, 8 Jul 2014 13:41:12 +0000 (09:41 -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>
10 years agoLP#1268619: websocket: avoid sharedworker for firefox 29
Bill Erickson [Sun, 4 May 2014 19:58:17 +0000 (15:58 -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>
10 years agoLP#1268619: websockets: detect connectedness of JS default sockets
Bill Erickson [Thu, 10 Apr 2014 12:50:13 +0000 (08:50 -0400)]
LP#1268619: websockets: detect connectedness of JS default sockets

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1268619: websockets: auto-upgrade to shared workers; SSL-always
Bill Erickson [Mon, 7 Apr 2014 16:04:33 +0000 (12:04 -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>
10 years agoLP#1268619: websockets: gateway code repairs & confing options
Bill Erickson [Tue, 11 Mar 2014 21:25:19 +0000 (17:25 -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>
10 years agoLP#1268619: websockets: apply syslog name in gateway
Bill Erickson [Mon, 10 Mar 2014 19:55:24 +0000 (15:55 -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>
10 years agoLP#1268619: websockets: README typo repairs
Bill Erickson [Mon, 10 Mar 2014 12:41:45 +0000 (08:41 -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>
10 years agoLP#1268619: websockets : additional apache config docs
Bill Erickson [Thu, 6 Mar 2014 20:47:36 +0000 (15:47 -0500)]
LP#1268619: websockets : additional apache config docs

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1268619: websockets: apache conf -> info logging
Bill Erickson [Thu, 6 Mar 2014 20:05:12 +0000 (15:05 -0500)]
LP#1268619: websockets: apache conf -> info logging

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
10 years agoLP#1268619: websockets: remove single-tab JS WS implementation
Bill Erickson [Wed, 5 Mar 2014 13:40:05 +0000 (08:40 -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>