axis: fix NPE when the class providing a SOAP service has void method

The LoggingRPCProvider wraps the standard Axis method-based dispatch and
adds better logging of what's happening.

If the method being invoked (corresponding to some SOAP method) is
declared void or the method returns a null value then the
LoggingRPCProvider suffers an NPE.

This patch fixes this problem.  It also distinguishes between a void
method and a method returning null.

Note #1. None of the SRM operations trigger this problem as all such
methods return something (a class following a *Response naming scheme)

Note #2. Axis allows a method to have multiple OUT values by passing
value-handle objects as arguments to methods.  A future version of
LoggingRPCProvider should detect such methods and log such multi-OUT
values.

Target: master
Request: 2.6
Patch: http://rb.dcache.org/r/5538/
Acked-by: Gerd Behrmann
SRM: log client disconnecting at debug level

It is possible for the client to "give up" on a connection during the
SSL/GSI handshake exchange.  For example, this can happen if the client
doesn't trust the server's certificate.

When this happens, an EOFException is logged; for example:

30 Apr 2013 19:31:59 (SRM-zitpcx6184) [] java.io.EOFException

This message is both unintelligible and unnecessary, as dCache is
behaving correctly under the circumstances.

This patch updates the message to be meaningful, including the client's
IP address and port number in the diagnostic context. It also reduces
the log-level to debug.

Target: master
Request: 2.6
Committed: master@5e2edae4cdd6a10d2bdb499071edac4fc06bc74e
Patch: http://rb.dcache.org/r/5534/
Acked-by: Gerd Bahrmann
SRM: don't talk to SpaceManager when disabled

A recent patch (committed master@2ba5c9 and 2.2@d069ff) fixed an NPE.
The submitter mentioned concerns that this would "break something",
which turned out to be correct.  After the patch, SRM verbose ls
(and space-related operations) no longer function correctly if
space-manager is disabled.  This is because SRM verbose-ls always
sends a request to space-manager and, after the patch, space-manager
gives an error-response when running but configured to be disabled.

This patch alters the SRM so that if configuration shows that
space-manager is disabled then no communication with space-manager
is attempted.  SRM verbose ls will list all files are in no
space-reservations and the space-related operations will fail with
a friendly error message.

A side-effect of this patch is that the 'spacemanager' service is
no longer needed when space-manager is disabled.

Target: master
Request: 2.6
Request: 2.2
Patch: http://rb.dcache.org/r/5526/
Acked-by: Gerd Behrmann
gplazma2-xacml: fix regression on network address sort

module:  gplazma2-xacml

svn trunk@18137 altered NetworkUtils to use an immutable list for local addresses.  The XACML plugin needs to sort these according to external/internal.  This sort was failing and causing failure to load the plugin (undiscovered until now).

Patch copies the immutable list and then sorts.

Target: 2.6
Patch: http://rb.dcache.org/r/5539
Require-notes: no
Require-book: no
Acked-by: Paul
ftp: Log CertPath in case CertPath validation fails

Addresses the issue that if authentication fails with a certificate
chain validation error, the error message contains absolutely no
information about the certificate that triggered the failure.

Requires https://github.com/gbehrmann/JGlobus/tree/feature/certpathvalidationexception_includes_certpath

Target: trunk
Request: 2.6
Request: 2.5
Request: 2.2-sha2
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5543/
(cherry picked from commit ae2c685b6e98bacd2db15aa3ec18ca1e4bbb9e45)
Merge pull request #15 from paulmillar/fix/2.6/JettyGSIConnector_client_disconnects

SRM: log client disconnecting at debug level
Merge pull request #14 from paulmillar/fix/2.6/AxisLoggingRPC

axis: fix NPE when the class providing a SOAP service has void method
Merge pull request #16 from paulmillar/fix/2.6/srm_with_spacemanager_disabled

SRM: don't talk to SpaceManager when disabled
Merge pull request #19 from alrossi/fix/2.6/fix_xacml_sort

gplazma2-xacml: fix regression on network address sort
Merge pull request #23 from gbehrmann/fix/2.6/certpathvalidationexception

ftp: Log CertPath in case CertPath validation fails
ftp: Log stack trace on authentication failure

A recent patch removed logging of stack trace during GSI/Kerberos
authentication failure. Although it is correct not to log a stack
trace for such a failure (it is not a bug), having a stack trace
while debugging JGlobus 2 is convenient. This patch adds logging
of the stack trace at trace level.

Target: trunk
Request: 2.6
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5547/
(cherry picked from commit 1a8276673b18fa49f544037b23e76a0d1de61af0)
wevdav,xrootd,nfs: Fix blocking reverse DNS lookup

Addresses an issue in these doors that could cause the door to
become unresponsive.

Our monitoring services periodically poll our doors to get a list
of active transfers. The door did a reverse DNS lookup on the client
IP and this lookup could block the door.

Target: trunk
Request: 2.6
Request: 2.5
Request: 2.2
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5546/
(cherry picked from commit cf364eecc3a2b69e321ad41246c238900fbdf902)
Merge pull request #28 from gbehrmann/fix/2.6/rb5546

wevdav,xrootd,nfs: Fix blocking reverse DNS lookup
Merge pull request #25 from gbehrmann/fix/2.6/rb5547

ftp: Log stack trace on authentication failure
dcache: alarm service -- change default db to rdbms

module: dcache

Currently the default database plugin is the datanucleus xml adapter.  This was perfectly fine when the alarm server was originally conceived of, because the client end was only sending alarm events, so the load was small.  Subsequently, we re-implemented the service to be a general log message receiver, with the level of events both sent and filtered on the server end being totally configurable.  Hence it is now possible to fill up the xml store very quickly if the event level is set below warn.  The slowdown for all queries (since it does not seem the XML plugin is capable of optimizations) is quite noticeable, and the page takes a bit to load.

It thus no longer makes sense to set the default database for alarms to xml.  This option is still available for those who do not intend to send anything but error or warn level events to the service, but our out-of-the-box recommendation should be rdbms (postgres), even if it requires the one additional setup step of creating the db (as one does for chimera, dcache and billing).

Target: master
Committed: f008530f35fecc4726a40c42e5e2ca002a38d3a2
Patch: http://rb.dcache.org/r/5553/
Require-notes: yes
Require-book: yes
Request: 2.6
Merge-req:
Acked-by: Dmitry

RELEASE NOTES:
BOOK:

The default values for alarms.store.db.type has been changed from "xml" to "rdbms".  This is done so as to accommodate the likelihood that warn messages (the default remote logging level) will accumulate but will not degrade the performance of the alarm queries or the loading of the alarms table.  The xml option is still available at the discretion of the admin.  Remember that the alarms database must be created as you do for billing, dcache, etc., before booting the alarmserver domain.  Concomitantly, the default value for webadmin.alarm.cleaner.enabled has been changed from true to false, as the daemon which cleans out old entries is not essential when using rdbms.
Merge pull request #33 from alrossi/fix/2.6/change_alarm_db_default

dcache: alarm service -- change default db to rdbms
nfsv4: initialise CDC for better logging

Acked-by: Paul Millar
Target: trunk, 2.6
Require-book: no
Require-notes: no
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>