Print

Print


Seen in ATLAS tests where the davix client can not parse the redirection URL from an EOS instace since the TPC code does not encode the redirection information. The following code should be dealing with this:
https://github.com/xrootd/xrootd/blob/master/src/XrdTpc/XrdTpcTPC.cc#L140


As an example davix will fail due to unescaped characters in the URL:
```
 export SRC=https://golias100.farm.particle.cz/dpm/farm.particle.cz/home/atlas/atlasscratchdisk/1M
$ export DST=https://eosatlas.cern.ch:443/eos/atlas/atlasscratchdisk/SAM/x
$ export TSRC=$(curl --silent --cert /tmp/x509up_u$(id -u) --key /tmp/x509up_u$(id -u) --cacert /tmp/x509up_u$(id -u) --capath /etc/grid-security/certificates -X POST -H 'Content-Type: application/macaroon-request' -d '{"caveats": ["activity:DOWNLOAD"], "validity": "PT30M"}' "$SRC" | jq -r '.macaroon')
$ export TDST=$(curl --silent --cert /tmp/x509up_u$(id -u) --key /tmp/x509up_u$(id -u) --cacert /tmp/x509up_u$(id -u) --capath /etc/grid-security/certificates -X POST -H 'Content-Type: application/macaroon-request' -d '{"caveats": ["activity:UPLOAD,DELETE,LIST"], "validity": "PT30M"}' "$DST" | jq -r '.macaroon')

$ davix-cp --trace all --capath /etc/grid-security/certificates --copy-mode pull -H 'Credentials: none' -H "Authorization: Bearer $TDST" -H "TransferHeaderAuthorization: Bearer $TSRC" $SRC $DST
...
< Location: http://st-096-dd9075c2.cern.ch:8443//eos/atlas/atlasscratchdisk/SAM/x?&cap.sym=Xpjuvx5GIyW2tNJ2pzZclEuDm5s=&cap.msg=m8Z3VY5oNWt2lMFE9L3exWxyoT7+BkdDyKSvj0axnspGArF6b16uBzjIpY05GZsLbYISMchSZfOWIgnVSJim8own6wOQXolwbVzFZu9oiOIUCL4nuG/0VUbry/I45n58lHdBT4EW46NCkHdwKPbmIJ0BViPBbrlXNzkmTcYC+35D+U7DzTHsxn4vvaYZfPX0UWgl9PVmotxa9UOl5QB0mp7548yJ5M9fnrk6PeIRdm6BxqseWlgmxH8WwIrRHhqfcVDKslxpoiTQZOVKLjRyNP1PhtMnpuH9PBul8qtizWWu4XC3T8FeBA2M4KrzQbC1S0749Lh3A04Acnjoiw/FasVOpq80Osgk0jlXYF+EjywgvUtkhGZ4IL52sJPliWcHFloFCUHdtNjz3JYiZ4sesAMEP8ptbUUa7aSSDWaX9gY3awdlmawh0UXAk38uF9QZE0TO3h6ZaBMFC+Eh8sjYvjPVRpn3s47S76MXI8IP61rsQTIfnjDXixTBCveSCBor8FZt5x+KLm+0Z+b5oK4Fr0INlriTXzCw8vNzJyAVfOkhBYPXtCGIZqe1BNVK0dHVg48nzzFqw7mxfPW78/8/aA==&mgm.logid=c43400e4-0175-11eb-a5cb-a4bf0112e038&mgm.replicaindex=0&mgm.replicahead=0&mgm.etag="584871139008839680:00000000"&mgm.id=81de133c
< 
DAVIX(socket): End of headers.
DAVIX(socket): Running post_headers hooks
DAVIX(http):  <- negotiateRequest
DAVIX(http): Davix::BackendRequest::readSegment: want to read 1024 bytes 
DAVIX(http): NEONRequest::readBlock read 0 bytes
DAVIX(socket): Running post_send hooks
(Davix::HttpRequest) Error: copy (Neon): Could not parse redirect destination URL
```

In case of a direct HTTP transfer to the EOSATLAS instance the url is curl encoded by EOS but in the case to XrdTpc the OFS layer just delivers the redirection URL formatted for the XRootD world.

Example:

```
[esindril@esdss000 build_clang_ninja]$ curl -L -v --capath /etc/grid-security/certificates --cert ~/.globus/usercert.pem --cacert ~/.globus/usercert.pem --key ~/.globus/userkey.pem https://eosatlas.cern.ch//eos/atlas/opstest/esindril/file1.dat                                      
* About to connect() to eosatlas.cern.ch port 443 (#0)
*   Trying 2001:1458:301:4::100:16...
* Connected to eosatlas.cern.ch (2001:1458:301:4::100:16) port 443 (#0)
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
*       subject: CN=eosatlas-qdb-c49567be6d.cern.ch,OU=computers,DC=cern,DC=ch
*       start date: Apr 07 10:29:56 2020 GMT
*       expire date: May 12 10:29:56 2021 GMT
*       common name: eosatlas-qdb-c49567be6d.cern.ch
*       issuer: CN=CERN Grid Certification Authority,DC=cern,DC=ch
> GET //eos/atlas/opstest/esindril/file1.dat HTTP/1.1
> User-Agent: curl/7.29.0
> Host: eosatlas.cern.ch
> Accept: */*
>
< HTTP/1.1 307 TEMPORARY_REDIRECT
< Connection: Keep-Alive
< Content-Length: 0
< Date: Mon, 28 Sep 2020 11:40:37 GMT
< ETag: "562156599678861312:74d77c3a"
< Location: http://p05798818e65056.cern.ch:8443/eos/atlas/opstest/esindril/file1.dat?encURI=%26cap.sym%3DXpjuvx5GIyW2tNJ2pzZclEuDm5s%3D%26cap.msg%3Dm8Z3VY5oNWut5EnMnaxxxpIybc4X44uDrqjdnI0ayunVESHtt%2F%2BytR9YRsNWxuBEzBWZPQv4%2F8WKE5DwKKUQ9VI%2F%2Bm%2B5v2q%2F4ZbXZOc3rQuPGec9h3dh8pK6
YEJhA2f9PkpCW4LHYCAxjFIXedXWMiTDuDn%2Bv2e76tszYWAKynwY%2FEdpPV0121RNDuKVaJSVjxCDetz%2BhLOxyhq1YTntCrbMeYnfZHpqiLxR5Q2hYNehxfkZS3OkEga%2BNFdbFOSq%2FSzDvCtTsJ93w5XYHdvSovNPOhy2mQ9HvcZCsbfhlWgQNE0OY0GNjWeTSLi3JaC6%2B52p4PEBIaiqqcTXignqorzMq3Ui%2FrV4tcQ79S4ZN%2BEsoW3Scdb%2B1FMP%2FImpUy
o9FFsrg32%2B4HLba5dAwqdy9e0Fxnkn89gAxX2Le275%2BnWfZnRs3KtZfbOIGcE2ggGTzE0Cnp6Wi1LVqcfMKPlCbHgIkb6fl4HP%2Bzkbuqcub5Ei9ow%2ByfIEkro1xJK8o3R1FhNkV%2BZvhBAbQ3y9xgb2BELZI8PqkaZGmh2dUxSXyyq2bFTSkvUfGnzCKigERGlf8HiIuyWHe0At%2B764O53vTtppcVRqMqTJlMpzLcdvgNg%3D%26mgm.logid%3D6d9d0104-017f-1
1eb-81e7-a4bf0112e038%26mgm.blockchecksum%3Dignore%26mgm.replicaindex%3D1%26mgm.replicahead%3D1%26mgm.etag%3D%22562156599678861312:74d77c3a%22%26mgm.id%3D7cd2e72f%26mgm.mtime%3D1587061449
< X-Accel-Redirect: /internal_redirect/p05798818e65056.cern.ch:8443/eos/atlas/opstest/esindril/file1.dat?encURI=%26cap.sym%3DXpjuvx5GIyW2tNJ2pzZclEuDm5s%3D%26cap.msg%3Dm8Z3VY5oNWut5EnMnaxxxpIybc4X44uDrqjdnI0ayunVESHtt%2F%2BytR9YRsNWxuBEzBWZPQv4%2F8WKE5DwKKUQ9VI%2F%2Bm%2B5v2q%2F4ZbX
ZOc3rQuPGec9h3dh8pK6YEJhA2f9PkpCW4LHYCAxjFIXedXWMiTDuDn%2Bv2e76tszYWAKynwY%2FEdpPV0121RNDuKVaJSVjxCDetz%2BhLOxyhq1YTntCrbMeYnfZHpqiLxR5Q2hYNehxfkZS3OkEga%2BNFdbFOSq%2FSzDvCtTsJ93w5XYHdvSovNPOhy2mQ9HvcZCsbfhlWgQNE0OY0GNjWeTSLi3JaC6%2B52p4PEBIaiqqcTXignqorzMq3Ui%2FrV4tcQ79S4ZN%2BEsoW
3Scdb%2B1FMP%2FImpUyo9FFsrg32%2B4HLba5dAwqdy9e0Fxnkn89gAxX2Le275%2BnWfZnRs3KtZfbOIGcE2ggGTzE0Cnp6Wi1LVqcfMKPlCbHgIkb6fl4HP%2Bzkbuqcub5Ei9ow%2ByfIEkro1xJK8o3R1FhNkV%2BZvhBAbQ3y9xgb2BELZI8PqkaZGmh2dUxSXyyq2bFTSkvUfGnzCKigERGlf8HiIuyWHe0At%2B764O53vTtppcVRqMqTJlMpzLcdvgNg%3D%26mgm.log
id%3D6d9d0104-017f-11eb-81e7-a4bf0112e038%26mgm.blockchecksum%3Dignore%26mgm.replicaindex%3D1%26mgm.replicahead%3D1%26mgm.etag%3D%22562156599678861312:74d77c3a%22%26mgm.id%3D7cd2e72f%26mgm.mtime%3D1587061449
< X-Sendfile: /internal_redirect/p05798818e65056.cern.ch:8443/eos/atlas/opstest/esindril/file1.dat?encURI=%26cap.sym%3DXpjuvx5GIyW2tNJ2pzZclEuDm5s%3D%26cap.msg%3Dm8Z3VY5oNWut5EnMnaxxxpIybc4X44uDrqjdnI0ayunVESHtt%2F%2BytR9YRsNWxuBEzBWZPQv4%2F8WKE5DwKKUQ9VI%2F%2Bm%2B5v2q%2F4ZbXZOc3rQ
uPGec9h3dh8pK6YEJhA2f9PkpCW4LHYCAxjFIXedXWMiTDuDn%2Bv2e76tszYWAKynwY%2FEdpPV0121RNDuKVaJSVjxCDetz%2BhLOxyhq1YTntCrbMeYnfZHpqiLxR5Q2hYNehxfkZS3OkEga%2BNFdbFOSq%2FSzDvCtTsJ93w5XYHdvSovNPOhy2mQ9HvcZCsbfhlWgQNE0OY0GNjWeTSLi3JaC6%2B52p4PEBIaiqqcTXignqorzMq3Ui%2FrV4tcQ79S4ZN%2BEsoW3Scdb%
2B1FMP%2FImpUyo9FFsrg32%2B4HLba5dAwqdy9e0Fxnkn89gAxX2Le275%2BnWfZnRs3KtZfbOIGcE2ggGTzE0Cnp6Wi1LVqcfMKPlCbHgIkb6fl4HP%2Bzkbuqcub5Ei9ow%2ByfIEkro1xJK8o3R1FhNkV%2BZvhBAbQ3y9xgb2BELZI8PqkaZGmh2dUxSXyyq2bFTSkvUfGnzCKigERGlf8HiIuyWHe0At%2B764O53vTtppcVRqMqTJlMpzLcdvgNg%3D%26mgm.logid%3D6
d9d0104-017f-11eb-81e7-a4bf0112e038%26mgm.blockchecksum%3Dignore%26mgm.replicaindex%3D1%26mgm.replicahead%3D1%26mgm.etag%3D%22562156599678861312:74d77c3a%22%26mgm.id%3D7cd2e72f%26mgm.mtime%3D1587061449
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/1293

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1