GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||
GeezerVison is showing github.com — test: Verify request payload is uploaded consistently by awwright · Pull Request #34066 · nodejs/node Conversation
|
|
@awwright there are some failing tests which keep this from landing. Do you still want to work on this? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This issue/PR was marked as stalled, it will be automatically closed in 30 days. If it should remain open, please leave a comment explaining why it should remain open. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@aduh95 Those failed tests are bugs in the HTTP implementation that need to be fixed. However I'm not sure what the process is for doing this, exactly. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I think the process is to move those tests to |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@aduh95 I rebased and moved the tests, I'm hoping that is sufficient? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Regarding the naming of the file, what about:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
That seems reasonable. It's not obvious in how the files are written, but I'm trying to test the behavior in both directions, too. I actually forget off-hand if the bug is in requests only, or both request and responses. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@awwright Do you want to rename those files so we can move forward with this? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This issue/PR was marked as stalled, it will be automatically closed in 30 days. If it should remain open, please leave a comment explaining why it should remain open. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Closing this because it has stalled. Feel free to reopen if this PR is still relevant, or to ping the collaborator who labelled it stalled if you have any questions. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@nodejs/http |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I am a little swamped atm. I don't think I am going to be able to work on it now. Sorry. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
What else exactly does this need? Can we not merge a test that's showing an actual, live bug? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
7cb53b7 to
b753797
Compare
Node.js seems to change how it is uploaded based on the method, but HTTP doesn't make any distinction. Co-authored-by: Austin Wright <[email protected]> Co-authored-by: Lenvin Gonsalves <[email protected]> Co-authored-by: Antoine du Hamel <[email protected]>
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Landed in d4e365f |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Node.js seems to change how it is uploaded based on the method, but HTTP doesn't make any distinction. Co-authored-by: Austin Wright <[email protected]> Co-authored-by: Lenvin Gonsalves <[email protected]> Co-authored-by: Antoine du Hamel <[email protected]> PR-URL: #34066 Refs: #27880 Reviewed-By: James M Snell <[email protected]>
Node.js seems to change how it is uploaded based on the method, but HTTP doesn't make any distinction. Co-authored-by: Austin Wright <[email protected]> Co-authored-by: Lenvin Gonsalves <[email protected]> Co-authored-by: Antoine du Hamel <[email protected]> PR-URL: #34066 Refs: #27880 Reviewed-By: James M Snell <[email protected]>
Node.js seems to change how it is uploaded based on the method, but HTTP doesn't make any distinction. Co-authored-by: Austin Wright <[email protected]> Co-authored-by: Lenvin Gonsalves <[email protected]> Co-authored-by: Antoine du Hamel <[email protected]> PR-URL: nodejs#34066 Refs: nodejs#27880 Reviewed-By: James M Snell <[email protected]>
A client request whose method defaults to no chunked encoding (GET, HEAD, DELETE, OPTIONS, TRACE) skipped both Content-Length and Transfer-Encoding even when a payload was written. The payload was still sent, so the peer read those bytes as the start of the next request, which allows request smuggling. Frame such requests like any other: use Content-Length when the length is known and a chunked Transfer-Encoding when it is not. Server responses and requests with no payload keep the previous behaviour, and CONNECT is left untouched because its payload is tunnelled data that must not be re-framed. Headers can be rendered before anything is written, for example when the headers are passed as an array or an Expect header is set. Track whether a payload write actually happened so that case is not mistaken for a body of unknown length. The two known_issues tests covering this now pass and move to parallel. They also asserted a response body for HEAD, which cannot have one, and compared buffers with strictEqual, so both are corrected in the move. Fixes: nodejs#27880 Refs: nodejs#34066 Refs: nodejs#60718 Signed-off-by: Avocado <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.