Print

Print


Hello,

In the following scenario, where the "Stat request" of a file returns a larger size than the actual "read request", the XrdHttp component would enter a loop.

To reproduce this, perform a GET request on a "script file". The stat on the script will return a fixed size (e.g 4096), but upon the read request, the actual output will be different. At this point, XrdHttp enters a loop trying to read the remaining bytes.

In my particular case, I am accessing the /proc/whoami script on an EOS system (logs attached).

This change prevents this scenario and abruptly interrupts the HTTP connection.

xrdhttp.log


You can view, comment on, or merge this pull request online at:

  https://github.com/xrootd/xrootd/pull/744

Commit Summary

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.

{"@context":"http://schema.org","@type":"EmailMessage","potentialAction":{"@type":"ViewAction","target":"https://github.com/xrootd/xrootd/pull/744","url":"https://github.com/xrootd/xrootd/pull/744","name":"View Pull Request"},"description":"View this Pull Request on GitHub","publisher":{"@type":"Organization","name":"GitHub","url":"https://github.com"}} {"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: Prevent scenario where stat request provides larger size than the read request (#744)"}],"action":{"name":"View Pull Request","url":"https://github.com/xrootd/xrootd/pull/744"}}} { "@type": "MessageCard", "@context": "http://schema.org/extensions", "hideOriginalBody": "false", "originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB", "title": "XrdHttp: Prevent scenario where stat request provides larger size than the read request (#744)", "sections": [ { "text": "", "activityTitle": "**mpatrascoiu**", "activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png", "activitySubtitle": "@mpatrascoiu", "facts": [ ] }, { "title": "Commit Summary", "facts": [ { "name": "4936502", "value": "Prevent issue in scenario where stat request returns larger size than the actual read request" } ] }, { "title": "File Changes", "facts": [ { "name": "Modified", "value": "[src/XrdHttp/XrdHttpReq.cc](https://github.com/xrootd/xrootd/pull/744/files#diff-0) (9 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\": 744,\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\": 744\n}" }, { "targets": [ { "os": "default", "uri": "https://github.com/xrootd/xrootd/pull/744" } ], "@type": "OpenUri", "name": "View on GitHub" }, { "targets": [ { "os": "default", "uri": "https://github.com/xrootd/xrootd/pull/744.patch" } ], "@type": "OpenUri", "name": "View patch" }, { "targets": [ { "os": "default", "uri": "https://github.com/xrootd/xrootd/pull/744.diff" } ], "@type": "OpenUri", "name": "View diff" }, { "name": "Unsubscribe", "@type": "HttpPOST", "target": "https://api.github.com", "body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 345558522\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