Bug #2157

SSL_CTX_set_options() return value not checked properly

Added by mlcreech over 4 years ago. Updated over 4 years ago.

Status:FixedStart date:2010-01-28
Priority:NormalDue date:
Assignee:-% Done:

100%

Category:core
Target version:1.4.27
Missing in 1.5.x:Yes

Description

I updated my OpenSSL version to 1.0.0-rc5, and started getting the following error when trying to start Lighttpd:

$ ./lighttpd -f lighttpd.conf  -D
2010-01-28 10:21:07: (network.c.529) SSL: error:2507006C:DSO support routines:DSO_load:functionality not supported 

I hadn't needed DSO support in SSL before, but I re-enabled it anyway. This just changed the text of the error:

$ ./lighttpd -f lighttpd.conf  -D
2010-01-28 10:23:01: (network.c.529) SSL: error:00000000:lib(0):func(0):reason(0)

Looking at the line in question, it seems that Lighttpd is expecting the return value of SSL_CTX_set_options() to equal the option that was just passed in. This is only true if no other options are set; in 1.0.0-rc5, SSL_OP_LEGACY_SERVER_CONNECT is enabled by default, which causes this check to fail.

The attached patch makes Lighttpd only check to see that the option it requested was set, ignoring the rest of the mask.

08-ssl-retval-fix.patch Magnifier - Patch to allow for multiple bits in option mask (580 Bytes) mlcreech, 2010-01-28 15:50


Related issues

Duplicated by Bug #2189: lighttpd-1.4.26 : Server fails to start with ssl enabled Duplicate 2010-04-23

Associated revisions

Revision 2716
Added by stbuehler over 4 years ago

Fix handling return value of SSL_CTX_set_options (fixes #2157, thx mlcreech)

Revision 2717
Added by stbuehler over 4 years ago

Fix handling return value of SSL_CTX_set_options (fixes #2157, thx mlcreech)

History

#1 Updated by stbuehler over 4 years ago

  • Target version set to 1.4.27
  • Missing in 1.5.x changed from No to Yes

#2 Updated by stbuehler over 4 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Applied in changeset r2716.

#3 Updated by hvdkamer over 4 years ago

The r2716 is also needed when the latest OpenSSL version 0.9.8m is used.

Also available in: Atom