# HG changeset patch # User Sergey Kandaurov # Date 1595418529 -10800 # Node ID d0ac4449a07f1f81a2f3009c4b9dc0cf7edb7381 # Parent b0953b020be72291e88db720faa5b2659018b825 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. diff --git a/src/core/ngx_core.h b/src/core/ngx_core.h --- a/src/core/ngx_core.h +++ b/src/core/ngx_core.h @@ -86,8 +86,6 @@ typedef void (*ngx_connection_handler_pt #include #if (NGX_OPENSSL_QUIC) #include -#include -#include #endif #endif #include diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -7,6 +7,8 @@ #include #include #include +#include +#include /* 0-RTT and 1-RTT data exist in the same packet number space, diff --git a/src/event/ngx_event_quic_protection.c b/src/event/ngx_event_quic_protection.c --- a/src/event/ngx_event_quic_protection.c +++ b/src/event/ngx_event_quic_protection.c @@ -7,6 +7,8 @@ #include #include #include +#include +#include #define NGX_QUIC_IV_LEN 12 diff --git a/src/event/ngx_event_quic_transport.c b/src/event/ngx_event_quic_transport.c --- a/src/event/ngx_event_quic_transport.c +++ b/src/event/ngx_event_quic_transport.c @@ -7,6 +7,7 @@ #include #include #include +#include #if (NGX_HAVE_NONALIGNED)