fix WebDAV door logging stacktrace on USERINFO request

Milton does not support the USERINFO request. If such an request arrives
(davfs2 uses it for example) it will produce an IllegalArgumentException
with the message "No enum constant io.milton.http.Request.Method.USERINFO"
that will end up as a StackTrace
in the log and sends back a HTTP response "500 No enum constant
io.milton.http.Request.Method.USERINFO".  Better would be to respond
with "501 Not implemented" and not log the StackTrace.  This patch
solves this issue by checking for the unsupported method before passing
it on to Milton and sending the approprate response.

Ticket:
Acked-by: Gerd
Target: master
Request: 2.11
Request: 2.10
Require-book: no
Require-notes: no
xrootd: Fix compilation of backported session initialization

Target: 2.11, 2.10
Require-notes: no
Require-book: no
Acked-by: none
(cherry picked from commit 9d1e2728d62cbf36abef623ad8612346a22c9c10)
Merge pull request #1015 from kschwank/bugfix/fixStacktraceOnUserinfo/2.11

fix WebDAV door logging stacktrace on USERINFO request
xrootd: Add access-log plugin

Allows xrootd doors to generate an access log similar to those of SRM, FTP and WebDAV
doors. May optionally be used on pools too.

In contrast to 2.12, the plugin is not enabled by default.

Target: trunk
Request: 2.11
Request: 2.10
Require-notes: yes
Require-book: no
Acked-by: Karsten Schwank <karsten.schwank@desy.de>
Patch: https://rb.dcache.org/r/7442/
(cherry picked from commit 25250c09e8288b18ee4a0a569676a9a9db51e3b1)
srm: Enable legacy GSI close by default

We have only recently released a client for close works, so it is
wise to enable legacy close by default.

Target: trunk
Request: 2.11
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7452/
(cherry picked from commit a8c0c7e79ca1bc2b778223f4272d17633049c1d4)
Merge pull request #1018 from gbehrmann/fix/2.11/rb7452

srm: Enable legacy GSI close by default
Merge pull request #1016 from gbehrmann/fix/2.11/rb7442

xrootd: Add access-log plugin
libs: update jglobus to 2.0.6-rc8.d

Changelog for v2.0.6-rc7.d..2.0.6-rc8.d
    * [35fe1c1] Only cache CA's signing policy as not found after searching all
    * [3ae5c04] Avoid memory leak and stale information when scanning directorie

Target: master
Require-book: no
Require-notes: yes
Patch: https://rb.dcache.org/r/7453/
Acked-by: Gerd Behrmann

Conflicts:
	pom.xml
webadmin: tidy up unavailable page slightly

Currently the page displayed when certain features are unavailable
has badly formatted HTML: the title contains markup and the message
is displayed as a heading.

Target: master
Patch: https://rb.dcache.org/r/7425/
Acked-by: Albert Rossi
Request: 2.11
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
srm,webadmin,httpd: Upgrade to Jetty 9.2.4

I hope this upgrade fixes the following problem:

05 Nov 2014 12:00:10 (SRM-bunsen) [] Commit failed
java.lang.IllegalStateException: Closed with pending callback org.eclipse.jetty.server.HttpConnection$SendCallback@6e3b2c00[CLOSED][i=ResponseInfo{HTTP/1.1 200 null,-1,false},cb=org.eclipse.jetty.server.HttpChannel$CommitCallback@6ec5ec89]
        at org.eclipse.jetty.util.IteratingCallback.close(IteratingCallback.java:397) [jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpConnection.onClose(HttpConnection.java:429) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.ssl.SslConnection.onClose(SslConnection.java:157) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.SelectorManager.connectionClosed(SelectorManager.java:277) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.SelectorManager$ManagedSelector.destroyEndPoint(SelectorManager.java:690) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.SelectChannelEndPoint.close(SelectChannelEndPoint.java:169) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.ChannelEndPoint.shutdownOutput(ChannelEndPoint.java:92) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:740) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:337) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:128) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:637) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.util.IteratingCallback.processIterations(IteratingCallback.java:233) [jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:193) [jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:448) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:740) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:778) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:131) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:124) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:226) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297) [na:1.7.0_71]
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) [na:1.7.0_71]
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) [na:1.7.0_71]
        at java.io.PrintWriter.flush(PrintWriter.java:320) [na:1.7.0_71]
        at java.io.BufferedWriter.flush(BufferedWriter.java:254) [na:1.7.0_71]
        at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:270) [axis-1.4.jar:na]
        at org.apache.axis.Message.writeTo_aroundBody0(Message.java:539) [axis-1.4.jar:na]
        at org.apache.axis.Message$AjcClosure1.run(Message.java:1) [axis-1.4.jar:na]
        at org.dcache.srm.aspects.EofExceptionAspect.ajc$around$org_dcache_srm_aspects_EofExceptionAspect$1$69ec417cproceed(EofExceptionAspect.aj:39) [srm-server-2.11.0-SNAPSHOT.jar:2.11.0-SNAPSHOT]
        at org.dcache.srm.aspects.EofExceptionAspect.ajc$around$org_dcache_srm_aspects_EofExceptionAspect$1$69ec417c(EofExceptionAspect.aj:41) [srm-server-2.11.0-SNAPSHOT.jar:2.11.0-SNAPSHOT]
        at org.apache.axis.Message.writeTo(Message.java:539) [axis-1.4.jar:na]
        at org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.java:902) [axis-1.4.jar:na]
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:777) [axis-1.4.jar:na]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [javax.servlet-api-3.1.0.jar:3.1.0]
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) [axis-1.4.jar:na]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769) [jetty-servlet-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) [jetty-security-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.Server.handle(Server.java:485) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:290) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) [jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) [jetty-io-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:606) [jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:535) [jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]

At leat the specific code path leading to the above exception no longer
exists in v9.2.4.

Target: trunk
Request: 2.11
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7454/
(cherry picked from commit e2d9435e3829936ad40e5ec7ce4ee2dff5549918)
Merge pull request #1019 from gbehrmann/fix/2.11/rb7454

srm,webadmin,httpd: Upgrade to Jetty 9.2.4
[maven-release-plugin] prepare release 2.11.0
[maven-release-plugin] prepare for next development iteration
nfs-proxy: kill mover on close

kill the mover on close if we did not have an
established data connection yet.

kill mover if we have failed to get a redirect within a
defined time window

Acked-by: Gerd Behrmann
Target: master, 2.11, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
(cherry picked from commit 7c3d400b656b2531c1f19701d7ad96707aa65e89)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Merge pull request #1025 from kofemann/fix-nfs-proxy-2.11

nfs-proxy: kill mover on close
(2.11) dcache-webadmin: change Jetty setting so .war is not unpacked

See http://rt.dcache.org/Ticket/Display.html?id=8489.

When upgrading from 2.6 to 2.10, there is a potential
for the webadmin directory timestamps to be more recent
than the timestamp of the /usr/share/dcache/classes/webapps/webadmin.war
file, which then causes Jetty to ignore the new war
and use the old directory. This subsequently provokes
jndi issues because the new httpd.batch file does not
pass through properties that the webadmin spring file
expects to find in the naming and directory interface.

The simplest solution is to turn off unpacking in
versions subsequent to 2.6.

Note that https://rb.dcache.org/r/7436/ does this for master.

Testing:

Installed 2.6.  Then updated to master (this patch) over it,
leaving the old webadmin directory intact.  Httpd confirmed
to start without issues, navigation through pages is normal.

Target: 2.11
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Acked-by: Gerd
Require-book: no
Require-notes: yes

RELEASE NOTES:  The webadmin.war found in /usr/share/dcache/classes/webapps
is no longer unpacked (by default, /var/lib/dcache/httpd).  This
avoids potential conflicts between versions when update installs are run.
Merge pull request #1027 from alrossi/fix/2.11/war-no-unpack

(2.11) dcache-webadmin: change Jetty setting so .war is not unpacked
gplazma-ldap: support uniqueMember based group membership query

support group membership for LDAP schema defined by RFC2307 and RFC2307bis

Acked-by: karsten Schwank
Target: master, 2.11, 2.10
Require-book: no
Require-notes: yes
(cherry picked from commit b53c69bbd54a73060b45bc8d86ee14c764fba865)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Revert "(2.11) dcache-webadmin: change Jetty setting so .war is not unpacked"

This reverts commit 07935f7b6897a13d32a8c6cb862ec4b383601f9f.

There is nothing wrong with this pull request; it is my mistake for pulling
it too early as the equivalent patch has not been committed to master.
gplazma-ldap: pull only required attribute

ldap query results can be too big. Tell the server that we need only
some data.

Acked-by: Karsten Schwank
Target: master, 2.11, 2.10
Require-book: no
Require-notes: no