Skip to content
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

AWS signature test fails on Solaris #11855

Closed
dfandrich opened this issue Sep 14, 2023 · 1 comment
Closed

AWS signature test fails on Solaris #11855

dfandrich opened this issue Sep 14, 2023 · 1 comment
Assignees

Comments

@dfandrich
Copy link
Contributor

I did this

Running test 439 on a Solaris 11 SPARC-64 machine causes test 439 to fail. This can be seen in the Solaris curl autobuilds and I've been able to reproduce it myself on another Solaris 11 machine. Both i386 and SPARC machine are affected, as are Solaris 10 and 11.

The test fails with protocol FAILED with this diff:

-Authorization: AWS4-HMAC-SHA256 Credential=user/19700101/us-east-2/es/aws4_request, SignedHeaders=host;x-amz-date, Signature=88884e3b3142133685b2092d29d8b522b785b1a9ec9e4a90cbea83e882f8dcb6[CR][LF]
+Authorization: AWS4-HMAC-SHA256 Credential=user/19700101/us-east-2/es/aws4_request, SignedHeaders=host;x-amz-date, Signature=873faed63dd4fff88adb7004aa31cf9584953b64f501c774c7f8494dfc471433[CR][LF]

I expected the following

Test 439 should pass.

curl/libcurl version

curl 8.3.0-DEV (sparc-sun-solaris2.11) libcurl/8.3.0-DEV OpenSSL/1.0.2u zlib/1.2.13 brotli/1.0.2 zstd/1.4.5 libidn2/2.0.4 libpsl/0.21.0 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3 libgsasl/1.8.0 OpenLDAP/2.4.40
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc brotli Debug gsasl HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM NTLM_WB PSL SSL threadsafe TLS-SRP TrackMemory UnixSockets zstd

operating system

Solaris 10 & Solaris 11

@dfandrich
Copy link
Contributor Author

It looks like this started fairly recently, with #11829 (commit a1532a3). @bagder

@bagder bagder self-assigned this Sep 15, 2023
dfandrich added a commit that referenced this issue Sep 16, 2023
When comparing with an empty part, the non-empty one is always
considered greater-than. Previously, the two would be considered equal
which would randomly place empty parts amongst non-empty ones.

Fixes #11855
Closes #11868
ptitSeb pushed a commit to wasix-org/curl that referenced this issue Sep 25, 2023
When comparing with an empty part, the non-empty one is always
considered greater-than. Previously, the two would be considered equal
which would randomly place empty parts amongst non-empty ones. This
showed as a test 439 failure on Solaris as it uses a different
implementation of qsort() that compares parts differently.

Fixes curl#11855
Closes curl#11868
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

2 participants