OpenSSL 3.2.0 - sessions, time, signed vs unsigned, failure with negative session timeout values
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 276
- Forks
- 200
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Description
Very recently MSYS2 (Windows ucrt & mingw builds) upgraded their OpenSSL package from OpenSSL 3.1.4 to 3.2.0.
As we've seen, there are issues with a net-http test failing, which is setting http.ssl_timeout to -1.
A commit in OpenSSL (https://github.com/openssl/openssl/commit/f0131dc04a39afcb1629f5bec2814ef3a4925bbf) updates SSL_CTX_set_timeout in ssl/ssl_sess.c, and the commit only affects 3.2.0.
Some of the code seems to imply uint64_t for timeout values.
Another day where I'm AFK on and off...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the net-http test failure with OpenSSL 3.2.0 and a negative http.ssl_timeout value. Compare the timeout handling in OpenSSL's ssl/ssl_sess.c with commit f0131dc04a39afcb1629f5bec2814ef3a4925bbf, then trace the Ruby entry point that sets SSL_CTX_set_timeout. Done means the relevant test passes on affected MSYS2 builds without breaking timeout behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, ruby
- Domain
- cryptography, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100