BUILD/MINOR: ssl: fix build with non-alpn/non-npn libssl

In commit c7566001 ("MINOR: server: Add "alpn" and "npn" keywords") and
commit 201b9f4e ("MAJOR: connections: Defer mux creation for outgoing
connection if alpn is set"), the build was broken on older OpenSSL
releases.

Move the #ifdef's around so that we build again with older OpenSSL
releases (0.9.8 was tested).
This commit is contained in:
Lukas Tribus 2018-11-25 13:21:27 +01:00 committed by Willy Tarreau
parent 0b936ad946
commit da95fd901b
2 changed files with 4 additions and 4 deletions

View File

@ -1035,7 +1035,7 @@ static void assign_tproxy_address(struct stream *s)
#endif #endif
} }
#ifdef USE_OPENSSL #if defined(USE_OPENSSL) && defined(TLSEXT_TYPE_application_layer_protocol_negotiation)
/* /*
* Pick the right mux once the connection is established, we should now have * Pick the right mux once the connection is established, we should now have
* an alpn if available, so we are now able to choose. * an alpn if available, so we are now able to choose.
@ -1259,7 +1259,7 @@ int connect_server(struct stream *s)
else else
return SF_ERR_INTERNAL; /* how did we get there ? */ return SF_ERR_INTERNAL; /* how did we get there ? */
#ifdef USE_OPENSSL #if defined(USE_OPENSSL) && defined(TLSEXT_TYPE_application_layer_protocol_negotiation)
if (!srv || if (!srv ||
((!(srv->ssl_ctx.alpn_str) && !(srv->ssl_ctx.npn_str)) || ((!(srv->ssl_ctx.alpn_str) && !(srv->ssl_ctx.npn_str)) ||
srv->mux_proto)) srv->mux_proto))
@ -1273,7 +1273,7 @@ int connect_server(struct stream *s)
if (conn_install_mux_be(srv_conn, srv_cs) < 0) if (conn_install_mux_be(srv_conn, srv_cs) < 0)
return SF_ERR_INTERNAL; return SF_ERR_INTERNAL;
} }
#ifdef USE_OPENSSL #if defined(USE_OPENSSL) && defined(TLSEXT_TYPE_application_layer_protocol_negotiation)
else { else {
srv_conn->mux_ctx = s; srv_conn->mux_ctx = s;
/* Store the connection into the stream interface, /* Store the connection into the stream interface,

View File

@ -4842,9 +4842,9 @@ void ssl_sock_free_srv_ctx(struct server *srv)
if (srv->ssl_ctx.alpn_str) if (srv->ssl_ctx.alpn_str)
free(srv->ssl_ctx.alpn_str); free(srv->ssl_ctx.alpn_str);
#endif #endif
#ifdef OPENSSL_NPN_NEGOTIATED
if (srv->ssl_ctx.npn_str) if (srv->ssl_ctx.npn_str)
free(srv->ssl_ctx.npn_str); free(srv->ssl_ctx.npn_str);
#ifdef OPENSSL_NPN_NEGOTIATED
if (srv->ssl_ctx.ctx) if (srv->ssl_ctx.ctx)
SSL_CTX_free(srv->ssl_ctx.ctx); SSL_CTX_free(srv->ssl_ctx.ctx);
#endif #endif