webdav: switch activity logging to NetLogger format

Update logging of http/webdav activity to use the new NetLogger format.

Target: master
Patch: http://rb.dcache.org/r/7013/
Acked-by: Gerd Behrmann
info-provider: fix works-by-accent bug when importing dCache config

The info-provider uses XML Entities to import dCache configuration.
The xmllint documentation, a used to work around a limitation in
Xerces, describes how a command-line option is required for it to
honour such Entity imports; however, earlier versions of xmllint did
not enforce this restriction and the info-provider worked despite
mistakenly omitting this option.

Mitigation against CVE-2014-0191 was achieved by fixing xmllint, so
enforcing the documented behaviour.  This change broke info-provider
with the following error being displayed:

/usr/share/dcache/info-provider/glue-both.xml:35: parser error : Entity 'dcache.paths.etc' not defined

This patch adds the option to tell xmllint to honour Entity imports.

Target: master
Patch: http://rb.dcache.org/r/7018/
Acked-by: Tigran Mkrtchyan
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Request: 2.2
dcap: ensure that we remove session on DoorTransferFinishedMessage

does not fix, but ensure that we do cleanup in case of:

java.lang.NullPointerException: null
        at diskCacheV111.doors.DCapDoorInterpreterV3$SessionHandler.sendReply(DCapDoorInterpreterV3.java:963) ~[dcach
e-dcap-2.8.4.jar:2.8.4]
        at diskCacheV111.doors.DCapDoorInterpreterV3$IoHandler.doorTransferArrived(DCapDoorInterpreterV3.java:2398) ~
[dcache-dcap-2.8.4.jar:2.8.4]
        at diskCacheV111.doors.DCapDoorInterpreterV3.messageArrived(DCapDoorInterpreterV3.java:2695) ~[dcache-dcap-2.
8.4.jar:2.8.4]
        at diskCacheV111.doors.DCapDoor.messageArrived(DCapDoor.java:354) ~[dcache-dcap-2.8.4.jar:2.8.4]
        at dmg.cells.nucleus.CellAdapter.messageArrived(CellAdapter.java:994) ~[cells-2.8.4.jar:2.8.4]
        at dmg.cells.nucleus.CellNucleus$DeliverMessageTask.innerRun(CellNucleus.java:1070) ~[cells-2.8.4.jar:2.8.4]
        at dmg.cells.nucleus.CellNucleus$AbstractNucleusTask.run(CellNucleus.java:975) ~[cells-2.8.4.jar:2.8.4]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
        at dmg.cells.nucleus.CellNucleus$1.run(CellNucleus.java:687) [cells-2.8.4.jar:2.8.4]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
21 May 2014 04:42:04 (DCap-dcache-door-cms19-<unknown>-57629) [] Uncaught exception in thread DCap-dcache-door-cms19-
<unknown>-57629-0

kills active transfers page with accumulated transfers

Acked-by: Paul Millar
Target: master, 2.8, 2.9, 2.7, 2.6
Require-book: no
Require-notes: no
dcap: do not call toString() on error object

use String.valueOf() to handle null object as well.

Acked-by: Paul Millar
Target: master
Require-book: no
Require-notes: no
gplazma: authzdb add test case

the authDb plugin supports mapping username principals to multiple gid
principals. But there are no test that verify that functionality.

This patch adds such a test.

Ticket: 7681
Acked-by: Paul
Target: trunk
Require-book: no
Require-notes: no
scripts: allow java8 runtime

Acked-by: Paul Millar
Target: master, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
admin: Make prompt bold

Bold is a little easier on the eye than green. It is also how
we render the font in our other interactive CLI tools.

Target: trunk
Require-notees: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7014/
billing: Add date range and json/yaml output for billing search tool

Adds the --since and --until options to the billing search command.
Also adds JSON and YAML output options.

The JSON and YAML formats should not be expected to never change. We
may adjust the format in future versions.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7010/
cells: Minor cleaning of CellPath and CellAddressCore

Computes better hashes. Reduces cost of reverting CellPath.

The precomputed hash in CellPath is kept for backwards compatibility.
It can be dropped in 2.11.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7028/
system-test: Make log configuration more similar to production config

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7033/
xrootd: Upgrade to xrootd4j 1.3.3

Fixes IPv6 compatibility for kXR_locate request.

Target: trunk
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7034/
dcache-webadmin: fix login redirect bug which misleadingly results in Access Denied Page

The following sequence of actions results in an Access Denied Page:

1.  Click on a bookmarked webadmin page (\*\*\* but see Testing below).
2.  On the user panel (below the DCache Bird at far right top),
    click login.
3.  Fill in user/password in login page, and click login.

The problem, which actually exists since Wicket 1.5, is that
the return URL used by Wicket to redirect from the intercept
page actually contains, as its query part, the subcomponent
of the page that generated the intercept request.

The problem is benign because returning to the home page
after the Access Denied Page appears shows that the user
is properly logged in.

In order to maintain correct redirection after intercept,
the only choice seems to be to override the exception-handling
pattern which Wicket uses to control the destination,
and to then force the reset of the target response page.

This is enabled by exposing the previously unexposed constructor
for the BasePage which allows PageParameters to be passed in,
and determining the bookmarked page class from the first
parameter.  If none is set, it then defaults to the home
page, as before.  In order to redirect with to an intercept
page, the RestartResponseAtInterceptPageException thrown
for this purpose should thus be constructed with the log in
page class and page parameters.

At present I cannot determine if there are any preferred
workarounds for this.  The problem presented at this link:

http://apache-wicket.1842946.n4.nabble.com/RestartResponseAtInterceptPageException-problem-in-1-5-td4255020.html

is precisely the one at issue here, but the suggestion
made by the developer is irrelevant.

This bug has actually been present since we migrated from
1.4 to 1.5, but has gone undiscovered until now (or at
least unreported).  Jan's and Tanja's code undoubtedly worked
correctly in the pre-1.5 context in which it was originally
written.

Target: master
Acked-by: Tigran
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Patch: http://rb.dcache.org/r/6987
Bug: http://rt.dcache.org/Ticket/Display.html?id=8266
Require-book: no
Require-notes: yes

RELEASE NOTES:  Fixes a bug where clicking the login link from the
dCache bird panel on webadmin pages and then signing in via the
login page brings up an Access Denied Page (but which nonetheless
results in the user being properly logged after having
navigated to the home page).

TESTING:

***It is best to use a non-admin page to test this.
The reason is that currently, multiple gids are not
supported for administration access, and unless the
user cert is directly mapped to the admin user, navigating
to an admin page results in an automatic sign-in
via the cert; the user then is required to log out
and log in as admin, so the final response page in
this case is actually the log in page. The problem
of multiple gids will need to be addressed in the future.

After application of this patch, the Access Denied page
no longer appears and the user is redirected back to the
original page after login.