changeset 8486:d0ac4449a07f quic

QUIC: fixed bulding perl module by reducing header pollution. The ngx_http_perl_module module doesn't have a notion of including additional search paths through --with-cc-opt, which results in compile error incomplete type 'enum ssl_encryption_level_t' when building nginx without QUIC support. The enum is visible from quic event headers and eventually pollutes ngx_core.h. The fix is to limit including headers to compile units that are real consumers.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 22 Jul 2020 14:48:49 +0300
parents b0953b020be7
children 6e84524886d4
files src/core/ngx_core.h src/event/ngx_event_quic.c src/event/ngx_event_quic_protection.c src/event/ngx_event_quic_transport.c
diffstat 4 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_core.h
+++ b/src/core/ngx_core.h
@@ -86,8 +86,6 @@ typedef void (*ngx_connection_handler_pt
 #include <ngx_event_openssl.h>
 #if (NGX_OPENSSL_QUIC)
 #include <ngx_event_quic.h>
-#include <ngx_event_quic_transport.h>
-#include <ngx_event_quic_protection.h>
 #endif
 #endif
 #include <ngx_process_cycle.h>
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -7,6 +7,8 @@
 #include <ngx_config.h>
 #include <ngx_core.h>
 #include <ngx_event.h>
+#include <ngx_event_quic_transport.h>
+#include <ngx_event_quic_protection.h>
 
 
 /*  0-RTT and 1-RTT data exist in the same packet number space,
--- a/src/event/ngx_event_quic_protection.c
+++ b/src/event/ngx_event_quic_protection.c
@@ -7,6 +7,8 @@
 #include <ngx_config.h>
 #include <ngx_core.h>
 #include <ngx_event.h>
+#include <ngx_event_quic_transport.h>
+#include <ngx_event_quic_protection.h>
 
 
 #define NGX_QUIC_IV_LEN               12
--- a/src/event/ngx_event_quic_transport.c
+++ b/src/event/ngx_event_quic_transport.c
@@ -7,6 +7,7 @@
 #include <ngx_config.h>
 #include <ngx_core.h>
 #include <ngx_event.h>
+#include <ngx_event_quic_transport.h>
 
 
 #if (NGX_HAVE_NONALIGNED)