dcache: alarms fix four small bugs

module dcache alarms

Four small bugs:

1.  alarm send:  if -s does not provide a path, the subsequent string operation throws array out of bounds.
2.  alarm definition toXML is not emitting the matchException node when the value is true rather than false (the default)
3.  the server logback file defines the MAIL appender reference after it uses it, which is not allowed.
4.  If an alarm has an id which permits duplicates, and the admin closes the alarm, but thereafter another of its type arrives, that alarm currently will not be visible unless show closed is selected.  The fix is to force the closed flag to false on duplicate arrival.

Target: master
Patch:  http://rb.dcache.org/r/5602
Require-notes: yes
Require-book: no
Request: 2.6
Acked-by: Tigran

RELEASE NOTES:

Fixes four small bugs.

1.  dcache alarm send:  if -s does not provide a path (e.g., "src://otfrid" rather than "src://otfrid/"), the subsequent string o$
2.  dcache alarm add * modify fail to record matchException = true because of a logic error in the XML emitter.
3.  the server logback file defined the MAIL appender reference after it uses it, which is not allowed.
4.  If an alarm has an id which permits duplicates, and the admin closes the alarm, but thereafter another of its type arrives, that alarm currently will not be visible unless show closed is selected.  The fix is to force the closed flag to false on duplicate arrival.
pool: Remove caching behaviour of file meta backend

Revert 8290f2f878a818a1398bea7c415a5b1274ec47eb

Tigran reported that the pool performs badly with the
simple caching behaviour added in the above patch.

Target: trunk
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5608/
Merge branch 'master' of https://github.com/dCache/dcache
broadcast: Fix expiration of dynamic subscribers

Addresses the issue that HSM cleaner is broken as it newer
receives pool-up notifications.

BroadcastRegistrationTask supplies a relative timeout, but the
broadcast registration cell expects an absolute timeout.

Target: trunk
Request: 2.6
Request: 2.2
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5601/
gplazma: Simplify mapping plugin interface

Addresses an issue with the interface of gPlazma mapping plugins.
Third party mapping plugins will have to be updated.

The old interface distinguished between identified principals and
authorized principals. The idea was that only principals that had
somehow been recognized by a mapping plugin would be considered
authorized and returned to dCache. This approach howeve has several
problems:

- Complexity

- Redundancy; a principal by definition is an assertion that the
  principal belongs to the user (although the level of trust can
  be given a principal strongly depends on its type, eg a DN is
  stronger that a user name, and a user name is stronger than an
  unchecked login name). More over, a principal in it self doesn't
  give access to any additional resources: A second authorization
  step is always done by dCache, authorizing a particular principal
  to do something.

- Limiting, as it was impossible to just "pass through" a principal
  already generated and confirmed by the door. Some doors can do
  their own authentication and there is no reason why one should
  absolutely have to configure a mapping plugin just for the i
  principal to be passed through.

- Inability of authentication plugins to generate principals that
  are passed through to dCache without further mapping. For instance,
  the XACML plugin takes DN and FQAN extracted from the cert chain
  and does a lookup through XACML to generate a user name. A
  subsequent mapping plugin maps the user name to UID/GID, but the
  DN and FQAN is lost as it is not mapped. Yet both DN and FQAN are
  used by other components in dCache for authorization steps.

This patch addresses the problem by changing the mapping plugin
interface. It now takes a single set of principals which it can
add principals to (and possible remove from). Tests are updated
to reflect the changed semantics.

Merge for 2.6 is requested because the patch is a prerequisite to
resolve the XACML problem mentioned above.

Target: master
Request: 2.6
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5545/