-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: Streaming v4 auth extra chunk #737
Conversation
@ironman-machine start with this one |
Hello @LaurenSpiegel Starting end to end procedure using the following payload: CI message: "Branch not found" Please follow the last build of 6.3.2.1 for CI status. |
Without this change, if a chunk has data that should start with a line break, we were removing it which causes a signature does not much error.
@ironman-machine try |
Hello @LaurenSpiegel Starting end to end procedure using the following payload: CI message: "Branch not found" Please follow the last build of GA6.3.2 for CI status. |
@ironman-machine so picky |
Hello @LaurenSpiegel Starting end to end procedure using the following payload: Please follow http://ci.ironmann.io/gh/scality/Integration/13040 for CI status. |
@ironman-machine with fog gem update |
Hello @LaurenSpiegel Starting end to end procedure using the following payload: Please follow http://ci.ironmann.io/gh/scality/Integration/13041 for CI status. |
end to end passed here: http://ci.ironmann.io/gh/scality/Integration/13043 |
In streaming v4 auth, the last piece is indicated by:
0;chunk-signature=whateversig\r\n\r\n
We were only expecting:
0;chunk-signature=whateversig\r\n
So in the infrequent event when the final '\r\n' was in a separate chunk in the node transform stream, we were doing an unnecessary authentication step which was resulting in a signature mismatch error.
This PR addresses that problem, adds additional logs and cherry-picks a prior streaming v4 refactor that was applied in 6.4