On Tue, Jan 30, 2024 at 11:01:24AM +0100, Giovanni Bechis wrote:
> On Mon, Jan 29, 2024 at 07:45:27PM +0000, Stuart Henderson wrote:
> > On 2024/01/29 09:51, giova...@paclan.it wrote:
> > > On 1/26/24 23:11, Tim wrote:
> > > > I'm trying to troubleshoot an issue where Chrome/Chromium browsers
> > > > randomly fail to correctly use SSL against my web server.
> > > > 
> > > This is a known issue, see 
> > > https://marc.info/?l=openbsd-ports&m=167449054903277&w=2
> > > 
> > > > So I am trying to compile and install an apache-http port with OpenSSL 
> > > > 1.1
> > > > library instead of LibreSSL.
> > > > 
> > > > I have managed to compile and install this customer port, however, I
> > > > don't know if I ultimately succeeded because when it starts it still
> > > > says this in the log file:
> > > > 
> > > > [Fri Jan 26 14:02:57.131803 2024] [mpm_prefork:notice] [pid 67010] 
> > > > AH00163: Apache/2.4.58 (Unix) LibreSSL/3.8.2 configured -- resuming 
> > > > normal operations
> > > > 
> > > > Is this message wrong?  Or am I still ending up with an Apache2
> > > > compiled against LibreSSL instead of OpenSSL?
> > 
> > > you can find it by running "ldd /usr/local/lib/apache2/mod_ssl.so".
> > 
> > That will show the libraries used but not the headers. (It is possible
> > to compile with openssl libraries but libressl headers - that will cause
> > problems too).
> > 
> > I didn't check where httpd gets this version number in the log entry
> > from, but it can either be a function in one of the libraries
> > (libssl/libcrypto), or from the opensslv.h header.
> > 
> > Even if you get apache-httpd built against the correct libraries, some
> > of the other libraries which it pulls in are built using libressl
> > libraries. Those will need to be rebuilt using openssl too. This
> > includes apr-util and curl - but curl is used widely in the ports tree
> > and you're likely to cause problems for other installed packages if you
> > change that.
> > 
> > Basically: building against a non-default version of a widely used
> > library is a hard problem and really best avoided.
> > 
> > If your setup is reasonably simple, you may be able to use the
> > workaround of a single cert with a bunch of additional hostnames in
> > subjectAltName. In that case, SNI is not needed for the site to work,
> > and that will almost certainly be the easiest way...
> > 
> > Another possible approach (untested)...
> > 
> what about this one so I can commit it upstream as well ?

Please do not.

>  Giovanni
> 
> Index: modules/ssl/ssl_private.h
> ===================================================================
> --- modules/ssl/ssl_private.h (revision 1915475)
> +++ modules/ssl/ssl_private.h (working copy)
> @@ -249,7 +249,7 @@
>  #endif
>  
>  /* ALPN Protocol Negotiation */
> -#if defined(TLSEXT_TYPE_application_layer_protocol_negotiation)
> +#if !defined(LIBRESSL_VERSION_NUMBER) && 
> defined(TLSEXT_TYPE_application_layer_protocol_negotiation)
>  #define HAVE_TLS_ALPN
>  #endif
>  

Reply via email to