DAVIX et al uses RFC3230 to implement checksumming over HTTP.
This PR implements the RFC to the point where a gfal-copy
works with the ADLER32 checksum algorithm.
Note that this also contains a bugfix in XrdOfs that prevents checksums from working when the underlying filesystem doesn't support fattr
s.
You can view, comment on, or merge this pull request online at:
https://github.com/xrootd/xrootd/pull/769
Commit Summary
- Add plumbing necessary for RFC3230 digest requests
- Move internal function to private.
- Prevent a HEAD request from returning a body.
- Fix checksumming on filesystems that don't support fattr.
- Correctly handle the Want-Digest header by computing the checksum.
- Convert algorithm outputs to base64 encoding.
File Changes
Patch Links:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/xrootd/xrootd","title":"xrootd/xrootd","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/xrootd/xrootd"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"[XrdHTTP] Implement RFC3230 for providing resource digest (#769)"}],"action":{"name":"View Pull Request","url":"https://github.com/xrootd/xrootd/pull/769"}}}
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/xrootd/xrootd/pull/769",
"url": "https://github.com/xrootd/xrootd/pull/769",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "[XrdHTTP] Implement RFC3230 for providing resource digest (#769)",
"sections": [
{
"text": "",
"activityTitle": "**Brian Bockelman**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@bbockelm",
"facts": [
]
},
{
"title": "Commit Summary",
"facts": [
{
"name": "dbb311a",
"value": "Add plumbing necessary for RFC3230 digest requests"
},
{
"name": "7c0aa31",
"value": "Move internal function to private."
},
{
"name": "4cf1ab6",
"value": "Prevent a HEAD request from returning a body."
},
{
"name": "bcb0f30",
"value": "Fix checksumming on filesystems that don't support fattr."
},
{
"name": "f312ef8",
"value": "Correctly handle the Want-Digest header by computing the checksum."
},
{
"name": "9501f2a",
"value": "Convert algorithm outputs to base64 encoding."
}
]
},
{
"title": "File Changes",
"facts": [
{
"name": "Modified",
"value": "[src/XrdHttp/XrdHttpProtocol.cc](https://github.com/xrootd/xrootd/pull/769/files#diff-0) (14 changes)"
},
{
"name": "Modified",
"value": "[src/XrdHttp/XrdHttpProtocol.hh](https://github.com/xrootd/xrootd/pull/769/files#diff-1) (3 changes)"
},
{
"name": "Modified",
"value": "[src/XrdHttp/XrdHttpReq.cc](https://github.com/xrootd/xrootd/pull/769/files#diff-2) (137 changes)"
},
{
"name": "Modified",
"value": "[src/XrdHttp/XrdHttpReq.hh](https://github.com/xrootd/xrootd/pull/769/files#diff-3) (27 changes)"
},
{
"name": "Modified",
"value": "[src/XrdHttp/XrdHttpUtils.cc](https://github.com/xrootd/xrootd/pull/769/files#diff-4) (27 changes)"
},
{
"name": "Modified",
"value": "[src/XrdHttp/XrdHttpUtils.hh](https://github.com/xrootd/xrootd/pull/769/files#diff-5) (4 changes)"
},
{
"name": "Modified",
"value": "[src/XrdXrootd/XrdXrootdXeq.cc](https://github.com/xrootd/xrootd/pull/769/files#diff-6) (6 changes)"
}
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"xrootd/xrootd\",\n\"issueId\": 769,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"xrootd/xrootd\",\n\"pullRequestId\": 769\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/xrootd/xrootd/pull/769"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/xrootd/xrootd/pull/769.patch"
}
],
"@type": "OpenUri",
"name": "View patch"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/xrootd/xrootd/pull/769.diff"
}
],
"@type": "OpenUri",
"name": "View diff"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 357396191\n}"
}
],
"themeColor": "26292E"
}
]
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