-
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
Disable msys2 path interpretation in Cirrus CI #8084
Comments
Unfortunately this is still an issue, but much less so. For example this test 3021 CI failure:
MSYS2 porting doc says:
Would that work as expected? |
Yes, please give it a try for those tests. |
jay
added a commit
to jay/curl
that referenced
this issue
Jan 25, 2022
- Disable all MSYS2 path transformation in test3021 and test3022. Prior to this change path transformation in those tests were disabled only for arguments that start with forward slashes. However arguments that are in base64 contain forward slashes at any position and caused unwanted translations. == Info: Denied establishing ssh session: mismatch sha256 fingerprint. Remote +/EYG2YDzDGm6yiwepEMSuExgRRMoTi8Di1UN3kixZw= is not equal to +C:/msys64/EYG2YDzDGm6yiwepEMSuExgRRMoTi8Di1UN3kixZw In the above example an argument containing a base64 sha256 fingerprint was passed to curl after MSYS2 translated +/ into +C:/msys64/, and then the fingerprint didn't match what was expected. Ref: https://www.msys2.org/wiki/Porting/ Fixes curl#8084 Closes #xxxx
jay
added a commit
to jay/curl
that referenced
this issue
Jan 25, 2022
- Disable all MSYS2 path transformation in test3021 and test3022. Prior to this change path transformation in those tests was disabled only for arguments that start with forward slashes. However arguments that are in base64 contain forward slashes at any position and caused unwanted translations. == Info: Denied establishing ssh session: mismatch sha256 fingerprint. Remote +/EYG2YDzDGm6yiwepEMSuExgRRMoTi8Di1UN3kixZw= is not equal to +C:/msys64/EYG2YDzDGm6yiwepEMSuExgRRMoTi8Di1UN3kixZw In the above example an argument containing a base64 sha256 fingerprint was passed to curl after MSYS2 translated +/ into +C:/msys64/, and then the fingerprint didn't match what was expected. Ref: https://www.msys2.org/wiki/Porting/ Fixes curl#8084 Closes #xxxx
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I did this
This test failure from Cirrus CI shows test3021 failing:
curl: (60) Denied establishing ssh session: mismatch sha256 fingerprint. Remote ��z�i/XEa"��P�R��h�]���wl�q���)� is not equal to C:/msys64/Ad6smkvWEVhIs/nUM1S2fOjaL9djxb6d2zkcbQUgik
The error message is supposed to show two sha256 fingerprints in base64 format. The gibberish came from a printing mistake and I landed 3467e89 to fix it. The reason the match failed was not because of that but because one of the keys is
C:/msys64/Ad6smkvWEVhIs/nUM1S2fOjaL9djxb6d2zkcbQUgik
, note the erroneousC:/msys64/
. There should be just a base64 string there.Tracing it back I don't see anything unusual.
curl/lib/vssh/libssh2.c
Line 623 in 9e560d1
curl/tests/data/test3021
Line 27 in 9e560d1
curl/tests/runtests.pl
Lines 2291 to 2294 in 9e560d1
curl/tests/sshserver.pl
Lines 402 to 404 in 9e560d1
I expected the following
My guess is this has something to do with msys2 path interpretation. Maybe the base64 string had a leading / and so msys2 converted that to
C:/msys64/
. There is an msys2 environment variable MSYS2_ARG_CONV_EXCL that can be set to stop msys2 from tampering with arguments. That is already done in appveyor configs, for example:curl/appveyor.yml
Line 145 in 9e560d1
I think that should be done for Cirrus CI as well.
The text was updated successfully, but these errors were encountered: