-
Notifications
You must be signed in to change notification settings - Fork 150
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
OpenSSL 1.1.0 support #3
Comments
I've got openssl-1.1.0-pre5 installed and can reproduce the break. On with fixing it... |
Work in progress here: elliefm/cyrus-imapd@cyrus-imapd-2.5...v25/openssl-1.1 Builds and seems to work okay provided: I'm still trying to figure out what to do with imap/tls_th-lock.[ch]. These files are providing the wrapper such that we can meet the constraint,
The murder component is the only part of Cyrus that uses threads. The docs for 1.1.0 seem to be saying that this is unnecessary for 1.1.0 -- that, provided OpenSSL was compiled with threading support, it will be thread safe without any work on our part:
So I'm starting to suspect it'll just be a matter of some more conditional compilation to make these functions into no-ops when linking with OpenSSL 1.1.0. And maybe detecting whether or not OpenSSL has "support ... built-in", and rejecting it if not. |
Okay that was pretty easy to integrate after all, it's now also on my github (link in previous comment) It's now building and passing tests for me with both 1.0.2h and 1.1.0-pre5. @oerdnj, how does it look to you? I still mean to squash those commits down a bit, then once we're looking good I'll send them upstream, and also forward port to master, and backport as far as seems reasonable |
Looks mostly good to me. One nitpick though:
Is this necessary? Would declaring BTW There's similar problem with |
It is necessary, as it turns out. I tried doing it the simple way at first, but it fell apart when I did a test build with 1.0.2h, so, mess it is. :( I don't really know cyrus-sasl at all (have never even successfully built it from source...). I can have a look maybe next week if no-one else has already, but don't expect as quick a turnaround I suppose |
Your diffs look correct to me. I was actually working on this myself and came up with similar stuff. I'll let you continue your work and shelve mine for now. |
History cleaned up, and now on the real cyrus-imapd-2.5 branch. Next: forward/back port... |
master was easy, same set of commits (modulo tabs/spaces) |
Now on cyrus-imapd-2.4 and cyrus-imapd-2.3 branches too |
Informative readme and dependency installation script
Hi,
Debian Stretch (and possibly other distributions) are going to switch to OpenSSL 1.1.0.
Building with OpenSSL 1.1.0 breaks, so adding support to 2.5.x branch would be much appreciated. The original bug report and build log can be found here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828276
The text was updated successfully, but these errors were encountered: