]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUILD: quic: Missing quic_ssl.h header protection
authorFrédéric Lécaille <flecaille@haproxy.com>
Thu, 4 Jan 2024 12:56:44 +0000 (13:56 +0100)
committerFrédéric Lécaille <flecaille@haproxy.com>
Thu, 4 Jan 2024 12:56:44 +0000 (13:56 +0100)
Such "#ifdef USE_QUIC" prepocessor statements are used by QUIC C header
to avoid inclusion of QUIC headers when the QUIC support is not enabled
(by USE_QUIC make variable). Furthermore, this allows inclusions of QUIC
header from C file without having to protect them with others "#ifdef USE_QUIC"
statements as follows:

   #ifdef USE_QUIC
   #include <a QUIC header>
   #include <another one QUIC header>
   #endif /* USE_QUIC */

So, here if this quic_ssl.h header was included by a C file, and compiled without
QUIC support, this will lead to build errrors as follows:

 In file included from <a C file...>:
        include/haproxy/quic_ssl.h:35:35: warning: ‘enum ssl_encryption_level_t’
        declared inside parameter list will not be visible outside of this
        definition or declaration

Should be backported to 2.9 to avoid such building issues to come.

include/haproxy/quic_ssl.h

index f564770abec23cd2ddab48ca3d8d06393d1fc6b0..8f7df47795d12c9bb155fe926fa790626ee5b6a9 100644 (file)
 #ifndef _HAPROXY_QUIC_SSL_H
 #define _HAPROXY_QUIC_SSL_H
 
+#ifdef USE_QUIC
+#ifndef USE_OPENSSL
+#error "Must define USE_OPENSSL"
+#endif
+
 #include <haproxy/listener-t.h>
 #include <haproxy/ncbuf-t.h>
 #include <haproxy/openssl-compat.h>
@@ -46,4 +51,5 @@ static inline void qc_free_ssl_sock_ctx(struct ssl_sock_ctx **ctx)
        *ctx = NULL;
 }
 
+#endif /* USE_QUIC */
 #endif /* _HAPROXY_QUIC_SSL_H */