chimera: prevent attempts to remove '.' and '..'

we have in place checks for NFS, but not for the
other protocols.

Acked-by: Paul MIllar
Target: master, 2.11 ..  2.6
Require-book: no
Require-notes: no
   imera: protect against NPE in FsSqlDriver#read

    RB: https://rb.dcache.org/r/7385/
    Acked-by: Paul Millar
    Target: trunk
    Request: 2.11 2.10 2.9 2.8 2.7 2.6
xrootd: Initialize session

Initializes a session string for xrootd.

Target: master
Request: 2.11
Request: 2.10
Require-notes: yes
Require-book: yes
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7437/
cells: Improve pinboard

- Port the pinboard code to Java 8
- Changes the time format to use the local time format (rather than
  hard-coding a 12 hour format with no indication wheter it is am or pm).
- Use a circular buffer rather than an array to keep the log - removing
  the oldest entry from an array is rather expensive as the entire array
  has to be copied. This change reduce the CPU overhead of the pinboard.
- Also reduced the memory foot print and CPU overhead of creating a
  pinboard entry (static inner and no Date instance stored in a field).

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Albert Rossi <arossi@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de> (email)
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Revert "cells: Improve pinboard"

This reverts commit 0cabf0960f10fb615b9959685fdcfbd8498af37b.
Move to Java 8

Require Java 8 for compilation and for execution.

A few code changes were required due to changes in how generics are
treated in Java 8.

srm-client and packages it depends on are still flagged as Java 7,
allowing us to release a Java 7 compatible SRM client.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Albert Rossi <arossi@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de> (email)
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7166/
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
cells: Port pinboard to Java 8

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Karsten Schwank <karsten.schwank@desy.de>
Patch: https://rb.dcache.org/r/7445/
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.

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/
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/
webadmin: refactor navigation bar

This patch makes several minor improvements to the navigation bar.

  1. The unavailable page is removed; instead, disabled items (e.g.,
     pool queue plots and billing plots, with default configuration)
     appear as (unclickable) text rather than a link to the non-descript
     unavailable page.

  2. The text for disabled items (see above) has specific CSS class;
     this allows the CSS to show the text as ghosted out items, giving
     a visual hint that these items are not available.

  3. The HTML 'title' attribute, which browsers typically show as a
     mouse-over tool-tip, provides specific information on why the
     item is disabled.  This gives the admin a hint how to enable
     such disabled items.

  4. The pages that require authentication (pool admin, cell admin,
     and alarms) have an additional CSS class when user is currently
     not authenticated.  With this patch CSS makes such text a dark
     red.  As before, clicking on these link redirects the user to the
     login page.  Once logged in, these links become the normal
     (azure/blue) colour and clicking on the link takes the user to
     the expected page.

  5. The a-tags in the nav-bar now have id elements.  This is to aid
     functional testing.

  6. The text for the link names (stored in BasicNavigationPanel.properties)
     are now reference the link's id, rather than by index.

The patch also refactors the corresponding BasicNavigationPanel class.

Target: master
Requires-notes: no
Requires-book: no
Patch: https://rb.dcache.org/r/7435/
Acked-by: Albert Rossi
pool: use entry's actual LastAccessTime to update namespace

do not call System.currentTimeMillis() as LastAccessTime is already
provided.

Acked-by: Gerd Behrmann
Target: master
Require-book: no
Require-notes: no
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: add meta tags to discover dCache version

In the future, the webadmin functional testing may need to know which
dCache version it is testing.  This patch provides this information
in the somewhat standard generator meta-tag in addition to the
easier-to-parse version meta-tag.

Target: master
Requires-notes: yes
Requires-book: no
Patch: https://rb.dcache.org/r/7428/
Acked-by: Albert Rossi
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/
pool: Minor cleanup of xrootd logging

Increases consistency among log messages.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7455/
srm: Java 8 related updates

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7448/
system-test: move alarms service to dCacheDomain

Since a separate domain is no longer required, we can simplify the system-test
setup by moving that service to dCacheDomain.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7456/
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