http: fix multipart response size

Acked-by: Paul Millar
Target: master
Require-book: no
Require-notes: no
(cherry picked from commit 5c63d0e26a408eacd1c5d8d8398e47fd3eaad045)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Merge pull request #638 from kofemann/fix-davix-2.9

http: fix multipart response size
Fix issue with incorrect determination of whether or not a string is encoded
by replacing URLDecoder with import org.springframework.web.util.UriUtils
as the former does not handle '+' character.

    Ticket: #8356
    Acked-by: Albert Rossi <arossi@fnal.gov>
    Target: trunk
    Request: 2.9
    Request: 2.8
    Request: 2.7
    Request: 2.6
    Require-book: no
    Require-notes: yes

RELEASE NOTES

Fix bug effecting ability to stage files from Enstore if file names
contain '+' character.
(cherry picked from commit d12513ca3f760c175b84ea7df90601f403840aeb)
Merge pull request #647 from DmitryLitvintsev/fix/2.9/8356

Fix/2.9/8356
Fix ArrayIndexOutOfBoundsException when processing
multiple surls invoking srmget.

        Ticket: #8083
        Acked-by: Christian Bernardt <christian.bernardt@desy.de>
        Target: trunk
        Request: 2.9
        Request: 2.8
        Request: 2.7
        Request: 2.6
	Request: 2.2
        Require-book: no
        Require-notes: yes

    RELEASE NOTES

Fix ArrayIndexOutOfBoundsException when processing
multiple surls invoking srmget. Addresses RT #8083
(cherry picked from commit e73977e85d6708cdf0aa23268ef1113c738f3b09)
pool: Fix regressions in new HSM subsystem

The argument order for remove callouts was wrong.

Logging was a bit too quiet.

Target: trunk
Request: 2.9
Require-notes: yes
Require-book: no
Acked-by: Karsten Schwank <karsten.schwank@desy.de>
Patch: https://rb.dcache.org/r/7072/
(cherry picked from commit f1bee28e1367db30958d5a8e5855b2e8bc63ee40)
ftp: fix LIST, NLST and MLSD cmd-channel output

A recent patch, committed as b72f2b5283c7a1f3bdd7b7f2c7e5313802a1dff2,
added support for the delayed passive mode.  Unfortunately, it
also broke the LIST, NLST and MLSD output as it omits the 150
response for clients that use active mode.

Although our functional tests failed to detect the problem, Globus
(formally known as GlobusOnline) fails if the 150 message is missing.

This patch adds the missing message, fixing Globus

Request: 1.9
Patch: https://rb.dcache.org/r/7075/
Acked-by: Gerd Behrmann
Acked-by: Dmitry Litvintsev
Target: master
Require-notes: yes
Require-book: no
Merge pull request #657 from paulmillar/fix/2.9/ftp-mlsd

Fix/2.9/ftp mlsd
srm: Cancel upload path if request was aborted

If the request is aborted while pnfs manager creates the
unique upload path, the SRM would fail to release the
upload path.

This patch fixes this problem.

Target: trunk
Require-notes: yes
Require-book: no
Request: 2.9
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7077
(cherry picked from commit 15fa2eee32566e46907f60135e7df19f449854c9)
Merge pull request #651 from DmitryLitvintsev/fix/2.9/8083

Fix/2.9/8083
Merge pull request #659 from gbehrmann/fix/2.9/rb7077

Fix/2.9/rb7077
Merge pull request #656 from gbehrmann/fix/2.9/rbrb7072

Fix/2.9/rbrb7072
ftp: Close passive port on failure

globus-url-copy hangs on proxied passive mode connections for which
the mover is killed. Although the proxy adapter is shut down and an
error is reported on the control channel, the fact that the server
socket for the passive mode is not closed and thus has an unaccepted
connection causes globus-url-copy to hang.

This patch closes the passive port on transfer failure. The mode state
is set to an invalid state to force the client to reset the data
channel using either PORT or PASV (or one of the variations).

I am not request backport further than 2.9 as I expect that we will
soon backport the entire door to get delayed passive and IPv6 functionality
in older releases.

Target: trunk
Request: 2.9
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7079/
pool: log with error if checksum scanner gets an IO error

Ticket: #8181
Acked-by: Karsten Schwank
Target: master, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
(cherry picked from commit 5026cf9052b4170a54fc0c42389eba3ce40a52f3)
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Merge pull request #664 from kofemann/fix-css-2.9

pool: log with error if checksum scanner gets an IO error
Merge pull request #660 from gbehrmann/fix/2.9/rb7079

Fix/2.9/rb7079
[maven-release-plugin] prepare release 2.9.5
[maven-release-plugin] prepare for next development iteration
cells: remove System time dependency in unit-test

The CellNameServiceRegistryTests class provides unit-tests for the
CellNameServiceReigstry.  One of these tests verifies that expired
well-known cells registration is removed successfully, leaving the
existing cells intact.

This patch refacts CellNameServiceRegistry slighly to allow a
subclass to adjust its concept of time.  This is used to provide a
reliable simulated flow of time in the unit-tests, removing the
need for a sleep statement.

Target: master
Patch: https://rb.dcache.org/r/7090/
Acked-by: Tigran Mkrtchyan
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Merge pull request #667 from paulmillar/fix/2.9/cns-unit-tests

cells: remove System time dependency in unit-test