logback: correct MDC dependency in appender

MDC dependency should be to slf4j, not log4j.
The error has gone unnoticed because we do use
log4j-over-slf4j, but the import should not
be tightly coupled to it.

Target: master
Patch: http://rb.dcache.org/r/6777/
Require-notes: no
Require-book: no
Acked-by: Paul
remote logging: add empty string defense to remote server wrapper

See patch 6719 and logback bug report: http://jira.qos.ch/browse/LOGBACK-959

As a workaround which allows us to update to logback 1.1.1, I have added
defensive code to the String setters which converts empty strings to nulls,
which are properly handled.

I have also changed returns to System.exit, since we require this component
to run in its own domain, and have logged exceptions which may affect the
logging system itself using System.err.

Testing: Before changes, the logback 1.1.1 libraries throw the NullPointer exception;
with the changes, the server boots correctly and an alarm can be sent.

Target: master
Patch: http://rb.dcache.org/r/6775/
Require-notes: no
Require-book: no
Acked-by: Gerd
chimera: allow updating the creation time

A recent patch introduced the possibility to update the creation time
via FTP.  Unfortunately, the creation time wasn't actually updated.
This patch fixes this.

Target: master
Patch: http://rb.dcache.org/r/6790/
Acked-by: Tigran Mkrtchyan
loginbroker: Fix login broker registration retry

Fixes a problem in which doors would log "Failed to send update to LoginBroker"
in a busy retry loop when unable to register with LoginBroker. This typically
happens during shutdown.

The intention of the code was to switch to an eager retry loop with a one
second sleep between retries, however the code switches the update period to
'normal' update before attempting to send an update and then switches back to
'eager' mode. Changing the scheduling time causes the task to be rescheduled,
but rescheduling schedules a new update with an initial delay of zero, thus
causing an immediate retry. Thus failure to deliver an update initiates a
tight retry loop without any delays.

Also fixes a bug in which the 'lb set update' command was not respected.

Target: trunk
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6787/
Get rid of support for synchronous messages in CellNucleus

There is still a sendAndWait method in CellNucleus to support legacy
code, but it is implemented on top of the asynchronous logic.

sendAndWait is gone from CellAdapter and CellEndpoint. Higher level
code should use CellStub if synchronous behaviour is desired.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6758
Mock CellEndpoint rather than CellAdapter in HsmRestoreTest

Now that most of our code no longer depends directly on CellNucleus and
CellAdapter, we only have to mock CellEndpoint.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6760/
pnfsmanager: Clean up cleaner by making use of new CellStub features

A workaround for CellStub limitations is no longer necessary.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6765/
logback: add comment about bugs in 1.1.1 to poms

We are not quite ready to update to 1.1.1 yet because of the
issue which persists with respect to main not exiting in the
alarm send command.

I have added comments to the poms indicating the bug reports
I filed with logback.

Target: master
Patch: http://rb.dcache.org/r/6786/
Require-notes: no
Require-book: no
Acked-by: Gerd
ftp: add read-only support for ctime and atime

This patch adds support for the UNIX.ctime and UNIX.atime facts,
which allows clients to know a file's ctime and atime respectively.

Target: master
Patch: http://rb.dcache.org/r/6794/
Acked-by: Gerd Behrmann
ftp: add support for updating atime

This patch adds support for a client to update a file's or directory's
atime.  The MFMT, MFCT and MFF commands requires that the actual value
is returned to the client, allowing that this might not be the value
the client requested.

When updating atime, the actual value is somewhat unpredicable as it
depends on the pnfsmanager.atime-gap value and the previous atime
value.  Therefore, to return the correct value, the FTP door must query
chimera to find the actual value set.

To avoid the overhead of an extra RTT, this patch modifies the behavour
of the PnfsSetFileAttributes so that it may optionally return a set of
attributes.  The default behaviour queries none, which results in no
additional overhead.

The FTP door is updated so MFMT, MFCT and MFF commands return the
actual value set rather than assuming the user-supplied value is
accepted.  This allows these commands to return more robust response
values to the client.

Target: master