|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/LIB-NGINX] Provde NGINX modules as Kconfig options.
Hi Alex,
Thanks for the patch. There's one default that should be set to no (see below
inline), but I can fix that on upstream.
-- Felipe
Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>
On 01.03.20, 12:14, "Alexander Jung" <a.jung@xxxxxxxxxxx> wrote:
Signed-off-by: Alexander Jung <a.jung@xxxxxxxxxxx>
---
Config.uk | 604 ++++++++++++++++++++++++++++-
Makefile.uk | 172 ++++++---
include/ngx_auto_config.h | 184 ++++-----
ngx_modules.c | 945
+++++++++++++++++++++++++++++++++++++++++++---
4 files changed, 1692 insertions(+), 213 deletions(-)
diff --git a/Config.uk b/Config.uk
index 927178d..bba702d 100644
--- a/Config.uk
+++ b/Config.uk
@@ -1,5 +1,5 @@
menuconfig LIBNGINX
- bool "libnginx - Nginx"
+ bool "libnginx - a HTTP and reverse proxy, a mail proxy, and a generic
TCP/UDP proxy server"
default n
select LIBUKSCHEDCOOP
select LIBSYSCALL_SHIM
@@ -24,7 +24,609 @@ menuconfig LIBNGINX
select LIBPTHREAD_EMBEDDED
if LIBNGINX
+
config LIBNGINX_MAIN_FUNCTION
bool "Provide main function"
default n
+
+config LIBNGINX_DEBUG
+ bool "Build with debugging enabled"
+ default n
+
+menuconfig LIBNGINX_HTTP
+ bool "Enable HTTP and reverse proxy server"
+ default y
+
+if LIBNGINX_HTTP
+
+config LIBNGINX_HTTP_V2
+ bool "Enable ngx_http_v2_module and ngx_http_v2_filter_module"
+ default n
+ help
+ Provides support for HTTP/2.
+
+config LIBNGINX_HTTP_GZIP
+ bool "Enable ngx_http_gzip_module"
+ default y
Zlib is optional for nginx, so this should be set to "default n"
+ select LIBZLIB
+ help
+ The ngx_http_gzip_module module is a filter that compresses
responses using
+ the "gzip" method.
+
+config LIBNGINX_HTTP_GZIP_STATIC
+ bool "Enable ngx_http_gzip_static_module"
+ default n
+ select LIBNGINX_HTTP_GZIP
+ help
+ The ngx_http_gzip_static_module module allows sending
precompressed files
+ with the ".gz" filename extension instead of regular files.
+
+config LIBNGINX_HTTP_SSI
+ bool "Enable ngx_http_ssi_module"
+ default y
+ select LIBNGINX_HTTP_POSTPONE
+ help
+ The ngx_http_ssi_module module is a filter that processes SSI
(Server Side
+ Includes) commands in responses passing through it. Currently,
the list of
+ supported SSI commands is incomplete.
+
+config LIBNGINX_HTTP_SLICE
+ bool "Enable ngx_http_slice_module"
+ default n
+ select LIBNGINX_HTTP_POSTPONE
+ help
+ The ngx_http_slice_module module is a filter that splits a
request into
+ subrequests, each returning a certain range of response. The
filter
+ provides more effective caching of big responses.
+
+config LIBNGINX_HTTP_ADDITION
+ bool "Enable ngx_http_addition_module"
+ default n
+ select LIBNGINX_HTTP_POSTPONE
+ help
+ The ngx_http_addition_module module is a filter that adds text
before and
+ after a response.
+
+config LIBNGINX_HTTP_POSTPONE
+ bool "Enable ngx_http_postpone_module"
+ default n
+ help
+ With the ngx_http_postpone_module it is possible that the
transmission of
+ client data will be postponed until nginx has at least size
bytes of data
+ to send. A zero value disables postponing data transmission.
+
+config LIBNGINX_HTTP_CHARSET
+ bool "Enable ngx_http_charset_module"
+ default y
+ help
+ The ngx_http_charset_module module adds the specified charset
to the
+ "Content-Type" response header field. In addition, the module
can convert
+ data from one charset to another.
+
+config LIBNGINX_HTTP_XSLT
+ bool "Enable ngx_http_xslt_module"
+ default n
+ help
+ The ngx_http_xslt_module is a filter that transforms XML
responses using
+ one or more XSLT stylesheets.
+
+config LIBNGINX_HTTP_IMAGE_FILTER
+ bool "Enable ngx_http_image_filter_module"
+ default n
+ help
+ The ngx_http_image_filter_module module is a filter that
transforms images
+ in JPEG, GIF, PNG, and WebP formats.
+
+config LIBNGINX_HTTP_SUB
+ bool "Enable ngx_http_sub_module"
+ default n
+ help
+ The ngx_http_sub_module module is a filter that modifies a
response by
+ replacing one specified string by another.
+
+config LIBNGINX_HTTP_GUNZIP
+ bool "Enable ngx_http_gunzip_filter_module"
+ default n
+ help
+ The ngx_http_gunzip_module module is a filter that decompresses
responses
+ with "Content-Encoding: gzip" for clients that do not support
"gzip"
+ encoding method. The module will be useful when it is
desirable to store
+ data compressed to save space and reduce I/O costs.
+
+config LIBNGINX_HTTP_USERID
+ bool "Enable ngx_http_userid_module"
+ default y
+ select LIBPOSIX_USER
+ help
+ The ngx_http_userid_module module sets cookies suitable for
client
+ identification. Received and set cookies can be logged using
the embedded
+ variables $uid_got and $uid_set. This module is compatible with
the mod_uid
+ module for Apache.
+
+config LIBNGINX_HTTP_DAV
+ bool "Enable ngx_http_dav_module"
+ default n
+ help
+ The ngx_http_dav_module module is intended for file management
automation
+ via the WebDAV protocol. The module processes HTTP and WebDAV
methods PUT,
+ DELETE, MKCOL, COPY, and MOVE.
+
+config LIBNGINX_HTTP_AUTOINDEX
+ bool "Enable ngx_http_autoindex_module"
+ default y
+ help
+ The ngx_http_autoindex_module module processes requests ending
with the
+ slash character ('/') and produces a directory listing.
Usually a request
+ is passed to the ngx_http_autoindex_module module when the
+ ngx_http_index_module module cannot find an index file.
+
+config LIBNGINX_HTTP_RANDOM_INDEX
+ bool "Enable ngx_http_random_index_module"
+ default n
+ help
+ The ngx_http_random_index_module module processes requests
ending with the
+ slash character ('/') and picks a random file in a directory to
serve as an
+ index file. The module is processed before the
ngx_http_index_module
+ module.
+
+config LIBNGINX_HTTP_MIRROR
+ bool "Enable ngx_http_mirror_module"
+ default y
+ help
+ The ngx_http_mirror_module module implements mirroring of an
original
+ request by creating background mirror subrequests. Responses
to mirror
+ subrequests are ignored.
+
+config LIBNGINX_HTTP_AUTH_REQUEST
+ bool "Enable ngx_http_auth_request_module"
+ default n
+ help
+ The ngx_http_auth_request_module module implements client
authorization
+ based on the result of a subrequest. If the subrequest returns
a 2xx
+ response code, the access is allowed. If it returns 401 or
403, the access
+ is denied with the corresponding error code. Any other
response code
+ returned by the subrequest is considered an error.
+
+ For the 401 error, the client also receives the
"WWW-Authenticate" header
+ from the subrequest response.
+
+ The module may be combined with other access modules, such as
+ ngx_http_access_module, ngx_http_auth_basic_module, and
+ ngx_http_auth_jwt_module, via the satisfy directive.
+
+config LIBNGINX_HTTP_AUTH_BASIC
+ bool "Enable ngx_http_auth_basic_module"
+ default n
+ select LIBCRYPTO
+ help
+ The ngx_http_auth_basic_module module allows limiting access to
resources
+ by validating the user name and password using the "HTTP Basic
+ Authentication" protocol.
+
+ Access can also be limited by address, by the result of
subrequest, or by
+ JWT. Simultaneous limitation of access by address and by
password is
+ controlled by the satisfy directive.
+
+config LIBNGINX_HTTP_ACCESS
+ bool "Enable ngx_http_access_module"
+ default y
+ help
+ The ngx_http_access_module module allows limiting access to
certain client
+ addresses.
+
+ Access can also be limited by password, by the result of
subrequest, or by
+ JWT. Simultaneous limitation of access by address and by
password is
+ controlled by the satisfy directive.
+
+config LIBNGINX_HTTP_LIMIT_CONN
+ bool "Enable ngx_http_limit_conn_module"
+ default y
+ help
+ The ngx_http_limit_conn_module module is used to limit the
number of
+ connections per the defined key, in particular, the number of
connections
+ from a single IP address.
+
+ Not all connections are counted. A connection is counted only
if it has a
+ request being processed by the server and the whole request
header has
+ already been read.
+
+config LIBNGINX_HTTP_LIMIT_REQ
+ bool "Enable ngx_http_limit_req_module"
+ default y
+ help
+ The ngx_http_limit_req_module module is used to limit the
request
+ processing rate per a defined key, in particular, the
processing rate of
+ requests coming from a single IP address. The limitation is
done using the
+ "leaky bucket" method.
+
+config LIBNGINX_HTTP_REALIP
+ bool "Enable ngx_http_realip_module"
+ default n
+ help
+ The ngx_http_realip_module module is used to change the client
address and
+ optional port to those sent in the specified header field.
+
+config LIBNGINX_HTTP_STATUS
+ bool "Enable ngx_http_status_module"
+ default n
+ help
+ The ngx_http_status_module module provides access to various
status
+ information.
+
+config LIBNGINX_HTTP_GEO
+ bool "Enable ngx_http_geo_module"
+ default y
+ help
+ The ngx_http_geo_module module creates variables with values
depending on
+ the client IP address.
+
+config LIBNGINX_HTTP_GEOIP
+ bool "Enable ngx_http_geoip_moduleHTTP geoip"
+ default n
+ help
+ The ngx_http_geoip_module module creates variables with values
depending on
+ the client IP address, using the precompiled MaxMind databases.
+
+ When using the databases with IPv6 support, IPv4 addresses are
looked up as
+ IPv4-mapped IPv6 addresses.
+
+config LIBNGINX_HTTP_MAP
+ bool "Enable ngx_http_map_module"
+ default y
+ help
+ The ngx_http_map_module module creates variables whose values
depend on
+ values of other variables.
+
+config LIBNGINX_HTTP_SPLIT_CLIENTS
+ bool "Enable ngx_http_split_clients_module"
+ default y
+ help
+ The ngx_http_split_clients_module module creates variables
suitable for A/B
+ testing, also known as split testing.
+
+config LIBNGINX_HTTP_REFERER
+ bool "Enable ngx_http_referer_module"
+ default y
+ help
+ The ngx_http_referer_module module is used to block access to a
site for
+ requests with invalid values in the "Referer" header field. It
should be
+ kept in mind that fabricating a request with an appropriate
"Referer" field
+ value is quite easy, and so the intended purpose of this module
is not to
+ block such requests thoroughly but to block the mass flow of
requests sent
+ by regular browsers. It should also be taken into consideration
that
+ regular browsers may not send the "Referer" field even for
valid requests.
+
+config LIBNGINX_HTTP_REWRITE
+ bool "Enable ngx_http_rewrite_module"
+ default n
+ select LIBPCRE
+ help
+ The ngx_http_rewrite_module module is used to change request
URI using PCRE
+ regular expressions, return redirects, and conditionally select
+ configurations.
+
+config LIBNGINX_HTTP_SSL
+ bool "Enable ngx_http_ssl_module"
+ default n
+ select LIBOPENSSL
+ select LIBSSL
+ help
+ The ngx_http_ssl_module module provides the necessary support
for HTTPS.
+
+config LIBNGINX_HTTP_PROXY
+ bool "Enable ngx_http_proxy_module"
+ default y
+ help
+ The ngx_http_proxy_module module allows passing requests to
another server.
+
+config LIBNGINX_HTTP_FASTCGI
+ bool "Enable ngx_http_fastcgi_module"
+ default y
+ help
+ The ngx_http_fastcgi_module module allows passing requests to a
FastCGI
+ server.
+
+config LIBNGINX_HTTP_UWSGI
+ bool "Enable ngx_http_uwsgi_module"
+ default y
+ help
+ The ngx_http_uwsgi_module module allows passing requests to a
uwsgi server.
+
+config LIBNGINX_HTTP_SCGI
+ bool "Enable ngx_http_scgi_module"
+ default y
+ help
+ The ngx_http_scgi_module module allows passing requests to an
SCGI server.
+
+config LIBNGINX_HTTP_GRPC
+ bool "Enable ngx_http_grpc_module"
+ default y
+ select LIBNGINX_HTTP_V2
+ help
+ The ngx_http_grpc_module module allows passing requests to a
gRPC server.
+
+config LIBNGINX_HTTP_PERL
+ bool "Enable ngx_http_perl_module"
+ default n
+ select LIBPCRE
+ help
+ The ngx_http_perl_module module is used to implement location
and variable
+ handlers in Perl and insert Perl calls into SSI.
+
+config LIBNGINX_HTTP_MEMCACHED
+ bool "Enable ngx_http_memcached_module"
+ default y
+ help
+ The ngx_http_memcached_module module is used to obtain
responses from a
+ memcached server. The key is set in the $memcached_key
variable. A
+ response should be put in memcached in advance by means
external to nginx.
+
+config LIBNGINX_HTTP_EMPTY_GIF
+ bool "Enable ngx_http_empty_gif_module"
+ default y
+ help
+ The ngx_http_empty_gif_module module emits single-pixel
transparent GIF.
+
+config LIBNGINX_HTTP_BROWSER
+ bool "Enable ngx_http_browser_module"
+ default y
+ help
+ The ngx_http_browser_module module creates variables whose
values depend on
+ the value of the "User-Agent" request header field:
+
+ $modern_browser: equals the value set by the
modern_browser_value
+ directive, if a browser was identified as
modern;
+
+ $ancient_browser: equals the value set by the
ancient_browser_value
+ directive, if a browser was identified as
ancient;
+
+ $msie: equals "1" if a browser was identified as MSIE
of any version.
+
+config LIBNGINX_HTTP_SECURE_LINK
+ bool "Enable ngx_http_secure_link_module"
+ default n
+ help
+ The ngx_http_secure_link_module module is used to check
authenticity of
+ requested links, protect resources from unauthorized access,
and limit
+ link lifetime.
+
+ The authenticity of a requested link is verified by comparing
the checksum
+ value passed in a request with the value computed for the
request. If a
+ link has a limited lifetime and the time has expired, the link
is
+ considered outdated. The status of these checks is made
available in the
+ $secure_link variable.
+
+ The module provides two alternative operation modes. The first
mode is
+ enabled by the secure_link_secret directive and is used to
check
+ authenticity of requested links as well as protect resources
from
+ unauthorized access. The second mode is enabled by the
secure_link and
+ secure_link_md5 directives and is also used to limit lifetime
of links.
+
+config LIBNGINX_HTTP_DEGRADATION
+ bool "Enable ngx_http_degradation_module"
+ default n
+ help
+ The ngx_http_degradation_module orders Nginx to serve a
particular error
+ page when low memory conditions are met.
+
+config LIBNGINX_HTTP_FLV
+ bool "Enable ngx_http_flv_module"
+ default n
+ help
+ The ngx_http_flv_module module provides pseudo-streaming
server-side
+ support for Flash Video (FLV) files.
+
+ It handles requests with the start argument in the request
URI's query
+ string specially, by sending back the contents of a file
starting from the
+ requested byte offset and with the prepended FLV header.
+
+config LIBNGINX_HTTP_UPSTREAM
+ bool "Enable ngx_http_upstream_module"
+ default y
+ help
+ The ngx_http_upstream_module module is used to define groups of
servers
+ that can be referenced by the proxy_pass, fastcgi_pass,
uwsgi_pass,
+ scgi_pass, memcached_pass, and grpc_pass directives.
+
+config LIBNGINX_HTTP_UPSTREAM_HASH
+ bool "Enable ngx_http_upstream_hash_module"
+ select LIBNGINX_HTTP_UPSTREAM
+ default y
+ help
+ Specifies a load balancing method for a server group where the
+ client-server mapping is based on the hashed key value.
+
+config LIBNGINX_HTTP_UPSTREAM_IP_HASH
+ bool "Enable ngx_http_upstream_ip_hash_module"
+ select LIBNGINX_HTTP_UPSTREAM
+ default y
+ help
+ Specifies that a group should use a load balancing method where
requests
+ are distributed between servers based on client IP addresses.
+
+config LIBNGINX_HTTP_UPSTREAM_LEAST_CONN
+ bool "Enable ngx_http_upstream_least_conn_module"
+ select LIBNGINX_HTTP_UPSTREAM
+ default y
+ help
+ Specifies that a group should use a load balancing method where
a request
+ is passed to the server with the least number of active
connections, taking
+ into account weights of servers. If there are several such
servers, they
+ are tried in turn using a weighted round-robin balancing
method.
+
+config LIBNGINX_HTTP_UPSTREAM_RANDOM
+ bool "Enable ngx_http_upstream_random_module"
+ select LIBNGINX_HTTP_UPSTREAM
+ default y
+ help
+ Specifies that a group should use a load balancing method where
a request
+ is passed to a randomly selected server, taking into account
weights of
+ servers.
+
+config LIBNGINX_HTTP_UPSTREAM_KEEPALIVE
+ bool "Enable ngx_http_upstream_keepalive_module"
+ select LIBNGINX_HTTP_UPSTREAM
+ default y
+ help
+ Activates the cache for connections to upstream servers.
+
+config LIBNGINX_HTTP_UPSTREAM_ZONE
+ bool "Enable ngx_http_upstream_zone_module"
+ select LIBNGINX_HTTP_UPSTREAM
+ default y
+ help
+ Defines the name and size of the shared memory zone that keeps
the group's
+ configuration and run-time state that are shared between worker
processes.
+
+config LIBNGINX_HTTP_STUB_STATUS
+ bool "Enable ngx_http_stub_status_module"
+ default y
+ help
+ The ngx_http_stub_status_module module provides access to basic
status
+ information.
+
+endif
+
+menuconfig LIBNGINX_MAIL
+ bool "Enable mail proxy server"
+ default n
+
+if LIBNGINX_MAIL
+
+config LIBNGINX_MAIL_SSL
+ bool "Enable ngx_mail_ssl_module"
+ default n
+ select LIBOPENSSL
+ select LIBSSL
+ help
+ The ngx_mail_ssl_module module provides the necessary support
for a mail
+ proxy server to work with the SSL/TLS protocol.
+
+config LIBNGINX_MAIL_POP3
+ bool "Enable ngx_mail_pop3_module"
+ default y
+ help
+ Sets permitted methods of authentication for POP3 clients.
+
+config LIBNGINX_MAIL_IMAP
+ bool "Enable ngx_mail_imap_module"
+ default y
+ help
+ Sets permitted methods of authentication for IMAP clients.
+
+config LIBNGINX_MAIL_SMTP
+ bool "Enable ngx_mail_smtp_module"
+ default y
+ help
+ Sets permitted methods of SASL authentication for SMTP clients.
+
+endif
+
+menuconfig LIBNGINX_STREAM
+ bool "Enable generic TCP/UDP proxy server"
+ default n
+
+if LIBNGINX_STREAM
+
+config LIBNGINX_STREAM_SSL
+ bool "Enable ngx_stream_ssl_module"
+ default n
+ select LIBOPENSSL
+ select LIBSSL
+ select LIBUKSWRAND
+ select LIBUKSWRAND_DEVFS
+ help
+ The ngx_stream_ssl_module module provides the necessary support
for a
+ stream proxy server to work with the SSL/TLS protocol.
+
+config LIBNGINX_STREAM_REALIP
+ bool "Enable ngx_stream_realip_module"
+ default n
+ help
+ The ngx_stream_realip_module module is used to change the
client address
+ and port to the ones sent in the PROXY protocol header. The
PROXY protocol
+ must be previously enabled by setting the proxy_protocol
parameter in the
+ listen directive.
+
+config LIBNGINX_STREAM_ACCESS
+ bool "Enable ngx_stream_access_module"
+ default y
+ help
+ The ngx_stream_access_module module allows limiting access to
certain
+ client addresses.
+
+config LIBNGINX_STREAM_GEO
+ bool "Enable ngx_stream_geo_module"
+ default y
+ help
+ The ngx_stream_geo_module module creates variables with values
depending on
+ the client IP address.
+
+config LIBNGINX_STREAM_GEOIP
+ bool "Enable ngx_stream_geoip_module"
+ default n
+ help
+ The ngx_stream_geoip_module module creates variables with
values depending
+ on the client IP address, using the precompiled MaxMind
databases.
+
+ When using the databases with IPv6 support, IPv4 addresses are
looked up as
+ IPv4-mapped IPv6 addresses.
+
+config LIBNGINX_STREAM_SPLIT_CLIENTS
+ bool "Enable ngx_stream_split_clients_module"
+ default y
+ help
+ The ngx_stream_split_clients_module module creates variables
suitable for A/
+ B testing, also known as split testing.
+
+config LIBNGINX_STREAM_RETURN
+ bool "Enable ngx_stream_return_module"
+ default y
+ help
+ The ngx_stream_return_module module allows sending a specified
value to the
+ client and then closing the connection.
+
+config LIBNGINX_STREAM_UPSTREAM
+ bool "Enable ngx_stream_upstream_module"
+ default y
+ help
+ The ngx_stream_upstream_module module is used to define groups
of servers
+ that can be referenced by the proxy_pass directive.
+
+config LIBNGINX_STREAM_UPSTREAM_LEAST_CONN
+ bool "Enable ngx_stream_upstream_least_conn_module"
+ select LIBNGINX_STREAM_UPSTREAM
+ default y
+ help
+ Specifies that a group should use a load balancing method where
a
+ connection is passed to the server with the least number of
active
+ connections, taking into account weights of servers. If there
are several
+ such servers, they are tried in turn using a weighted
round-robin balancing
+ method.
+
+config LIBNGINX_STREAM_UPSTREAM_RANDOM
+ bool "Enable ngx_stream_upstream_random_module"
+ select LIBNGINX_STREAM_UPSTREAM
+ default y
+ help
+ Specifies that a group should use a load balancing method where
a
+ connection is passed to a randomly selected server, taking into
account
+ weights of servers.
+
+config LIBNGINX_STREAM_UPSTREAM_ZONE
+ bool "Enable ngx_stream_upstream_zone_module"
+ select LIBNGINX_STREAM_UPSTREAM
+ default y
+ help
+ Defines the name and size of the shared memory zone that keeps
the group's
+ configuration and run-time state that are shared between worker
processes.
+
+config LIBNGINX_STREAM_SSL_PREREAD
+ bool "Enable ngx_stream_ssl_preread_module"
+ default n
+ help
+ The ngx_stream_ssl_preread_module module allows extracting
information from
+ the ClientHello message without terminating SSL/TLS, for
example, the
+ server name requested through SNI or protocols advertised in
ALPN.
+endif
endif
diff --git a/Makefile.uk b/Makefile.uk
index 839a7f8..812bdcd 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -3,8 +3,10 @@
# Nginx Makefile.uk
#
# Authors: Mihai Pogonaru <pogonarumihai@xxxxxxxxx>
+# Alexander Jung <alexander.jung@xxxxxxxxx>
#
# Copyright (c) 2019, University Politehnica of Bucharest. All rights
reserved.
+# 2020, NEC Europe Ltd., NEC Corporation. All rights
reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -67,13 +69,13 @@ CINCLUDES-$(CONFIG_LIBNGINX) +=
-I$(LIBNGINX_BASE)/include
LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/core
LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/event
LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/event/modules
-LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http
-LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http/modules
-LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) +=
-I$(LIBNGINX_SRC)/http/modules/perl
-LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/http/v2
-LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/mail
+LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX_HTTP) += -I$(LIBNGINX_SRC)/http
+LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX_HTTP) +=
-I$(LIBNGINX_SRC)/http/modules
+LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX_HTTP) +=
-I$(LIBNGINX_SRC)/http/modules/perl
+LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX_HTTP_V2) += -I$(LIBNGINX_SRC)/http/v2
+LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX_MAIL) += -I$(LIBNGINX_SRC)/mail
LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/os/unix
-LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX) += -I$(LIBNGINX_SRC)/stream
+LIBNGINX_CINCLUDES-$(CONFIG_LIBNGINX_STREAM) += -I$(LIBNGINX_SRC)/stream
################################################################################
# Flags
@@ -130,6 +132,7 @@ LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_spinlock.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_string.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_syslog.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/core/ngx_times.c
+LIBNGINX_SRCS-$(CONFIG_LIBPCRE) += $(LIBNGINX_SRC)/core/ngx_regex.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/modules/ngx_select_module.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_accept.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event.c
@@ -138,20 +141,8 @@ LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/event/ngx_event_pipe.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_posted.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_timer.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/event/ngx_event_udp.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_copy_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_core_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_header_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_parse.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_postpone_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_request_body.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_request.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_script.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_special_response.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_upstream.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_upstream_round_robin.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_variables.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/ngx_http_write_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBSSL) += $(LIBNGINX_SRC)/event/ngx_event_openssl.c
+LIBNGINX_SRCS-$(CONFIG_LIBSSL) +=
$(LIBNGINX_SRC)/event/ngx_event_openssl_stapling.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_alloc.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_channel.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_daemon.c
@@ -176,37 +167,110 @@ LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/os/unix/ngx_udp_send.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_udp_sendmsg_chain.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_user.c
LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/os/unix/ngx_writev_chain.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_access_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_autoindex_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_browser_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_charset_filter_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_chunked_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_empty_gif_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_fastcgi_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_geo_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_headers_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_index_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_limit_conn_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_limit_req_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_log_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_map_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_memcached_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_mirror_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_not_modified_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_proxy_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_range_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_referer_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_scgi_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_split_clients_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_ssi_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_static_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_sub_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_try_files_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_hash_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_ip_hash_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_keepalive_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_least_conn_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_random_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_zone_module.c
-LIBNGINX_SRCS-y +=
$(LIBNGINX_SRC)/http/modules/ngx_http_userid_filter_module.c
-LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_uwsgi_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) += $(LIBNGINX_SRC)/http/ngx_http.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_core_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_parse.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_request_body.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_request.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_script.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_special_response.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_upstream.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_upstream_round_robin.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_variables.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_write_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_log_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_header_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_chunked_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2_encode.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2_huff_decode.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2_huff_encode.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2_table.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_range_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_GZIP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_gzip_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_POSTPONE) +=
$(LIBNGINX_SRC)/http/ngx_http_postpone_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SSI) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_ssi_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_CHARSET) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_charset_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_XSLT) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_xslt_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_IMAGE_FILTER) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_image_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SUB) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_sub_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_ADDITION) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_addition_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_GUNZIP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_gunzip_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_USERID) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_userid_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_headers_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/ngx_http_copy_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_not_modified_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SLICE) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_slice_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_V2) +=
$(LIBNGINX_SRC)/http/v2/ngx_http_v2_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_static_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_GZIP_STATIC) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_gzip_static_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_DAV) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_dav_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_AUTOINDEX) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_autoindex_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_index_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_RANDOM_INDEX) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_random_index_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_MIRROR) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_mirror_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_try_files_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_AUTH_REQUEST) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_auth_request_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_AUTH_BASIC) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_auth_basic_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_ACCESS) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_access_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_LIMIT_CONN) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_limit_conn_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_LIMIT_REQ) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_limit_req_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_REALIP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_limit_req_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_STATUS) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_status_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_GEO) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_geo_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_GEOIP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_geoip_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_MAP) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_map_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SPLIT_CLENTS) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_split_clients_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_REFERER) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_referer_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_REWRITE) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_rewrite_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SSL) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_ssl_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_PROXY) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_proxy_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_FASTCGI) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_fastcgi_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UWSGI) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_uwsgi_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SCGI) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_scgi_module.c
+ifeq ($(CONFIG_LIBNGINX_HTTP_GRPC)$(CONFIG_LIBNGINX_HTTP_V2),yy)
+LIBNGINX_SRCS-y += $(LIBNGINX_SRC)/http/modules/ngx_http_grpc_module.c
+endif
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_PERL) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_perl_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_MEMCACHED) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_memcached_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_EMPTY_GIF) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_empty_gif_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_BROWSER) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_browser_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_SECURE_LINK) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_secure_link_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_DEGRADATION) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_degradation_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_FLV) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_flv_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_MP4) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_mp4_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UPSTREAM_HASH) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_hash_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UPSTREAM_IP_HASH) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_ip_hash_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UPSTREAM_LEAST_CONN) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_least_conn_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UPSTREAM_RANDOM) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_random_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UPSTREAM_KEEPALIVE) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_keepalive_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_UPSTREAM_ZONE) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_upstream_zone_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_HTTP_STUB_STATUS) +=
$(LIBNGINX_SRC)/http/modules/ngx_http_stub_status_module.c
+
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL) += $(LIBNGINX_SRC)/mail/ngx_mail.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL) +=
$(LIBNGINX_SRC)/mail/ngx_mail_core_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL_SSL) +=
$(LIBNGINX_SRC)/mail/ngx_mail_ssl_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL_POP3) +=
$(LIBNGINX_SRC)/mail/ngx_mail_pop3_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL_IMAP) +=
$(LIBNGINX_SRC)/mail/ngx_mail_imap_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL_SMTP) +=
$(LIBNGINX_SRC)/mail/ngx_mail_smtp_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL) +=
$(LIBNGINX_SRC)/mail/ngx_mail_auth_http_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_MAIL) +=
$(LIBNGINX_SRC)/mail/ngx_mail_proxy_module.c
+
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM) +=
$(LIBNGINX_SRC)/stream/ngx_stream.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM) +=
$(LIBNGINX_SRC)/stream/ngx_stream_core_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM) +=
$(LIBNGINX_SRC)/stream/ngx_stream_log_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM) +=
$(LIBNGINX_SRC)/stream/ngx_stream_proxy_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM) +=
$(LIBNGINX_SRC)/stream/ngx_stream_upstream_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM) +=
$(LIBNGINX_SRC)/stream/ngx_stream_write_filter_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_SSL) +=
$(LIBNGINX_SRC)/stream/ngx_stream_ssl_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_REALIP) +=
$(LIBNGINX_SRC)/stream/ngx_stream_realip_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_ACCESS) +=
$(LIBNGINX_SRC)/stream/ngx_stream_access_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_GEO) +=
$(LIBNGINX_SRC)/stream/ngx_stream_geo_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_GEOIP) +=
$(LIBNGINX_SRC)/stream/ngx_stream_geoip_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_SPLIT_CLIENTS) +=
$(LIBNGINX_SRC)/stream/ngx_stream_split_clients_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_RETURN) +=
$(LIBNGINX_SRC)/stream/ngx_stream_return_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_UPSTREAM_LEAST_CONN) +=
$(LIBNGINX_SRC)/stream/ngx_stream_upstream_least_conn_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_UPSTREAM_RANDOM) +=
$(LIBNGINX_SRC)/stream/ngx_stream_upstream_random_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_UPSTREAM_ZONE) +=
$(LIBNGINX_SRC)/stream/ngx_stream_upstream_zone_module.c
+LIBNGINX_SRCS-$(CONFIG_LIBNGINX_STREAM_SSL_PREREAD) +=
$(LIBNGINX_SRC)/stream/ngx_stream_ssl_preread_module.c
diff --git a/include/ngx_auto_config.h b/include/ngx_auto_config.h
index d85b8a6..564dc02 100644
--- a/include/ngx_auto_config.h
+++ b/include/ngx_auto_config.h
@@ -1,493 +1,475 @@
-#define NGX_CONFIGURE " --prefix=/nginx --with-http_sub_module
--with-select_module --without-http_gzip_module --without-pcre
--without-http_rewrite_module --without-http_auth_basic_module
--without-http-cache"
+#define NGX_CONFIGURE "\
+ --prefix=/nginx \
+ --with-http_sub_module \
+ --with-select_module \
+ --without-http_gzip_module \
+ --without-pcre \
+ --without-http_rewrite_module \
+ --without-http_auth_basic_module \
+ --without-http-cache"
+
+#ifndef NGX_DEBUG
+#ifdef CONFIG_LIBNGINX_DEBUG
+#define NGX_DEBUG 1
+#else
+#define NGX_DEBUG 0
+#endif
+#endif
#ifndef NGX_COMPILER
#define NGX_COMPILER "gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) "
#endif
-
#ifndef NGX_HAVE_GCC_ATOMIC
#define NGX_HAVE_GCC_ATOMIC 1
#endif
-
#ifndef NGX_HAVE_C99_VARIADIC_MACROS
#define NGX_HAVE_C99_VARIADIC_MACROS 1
#endif
-
#ifndef NGX_HAVE_GCC_VARIADIC_MACROS
#define NGX_HAVE_GCC_VARIADIC_MACROS 1
#endif
-
#ifndef NGX_HAVE_GCC_BSWAP64
#define NGX_HAVE_GCC_BSWAP64 1
#endif
-
#ifndef NGX_HAVE_EPOLL
#define NGX_HAVE_EPOLL 0
#endif
-
#ifndef NGX_HAVE_CLEAR_EVENT
#define NGX_HAVE_CLEAR_EVENT 1
#endif
-
#ifndef NGX_HAVE_EPOLLRDHUP
#define NGX_HAVE_EPOLLRDHUP 0
#endif
-
#ifndef NGX_HAVE_EPOLLEXCLUSIVE
#define NGX_HAVE_EPOLLEXCLUSIVE 0
#endif
-
#ifndef NGX_HAVE_O_PATH
#define NGX_HAVE_O_PATH 0
#endif
-
#ifndef NGX_HAVE_SENDFILE
#define NGX_HAVE_SENDFILE 1
#endif
-
#ifndef NGX_HAVE_SENDFILE64
#define NGX_HAVE_SENDFILE64 1
#endif
-
#ifndef NGX_HAVE_PR_SET_DUMPABLE
#define NGX_HAVE_PR_SET_DUMPABLE 1
#endif
-
#ifndef NGX_HAVE_PR_SET_KEEPCAPS
#define NGX_HAVE_PR_SET_KEEPCAPS 1
#endif
-
#ifndef NGX_HAVE_CAPABILITIES
#define NGX_HAVE_CAPABILITIES 0
#endif
-
#ifndef NGX_HAVE_GNU_CRYPT_R
#define NGX_HAVE_GNU_CRYPT_R 1
#endif
-
#ifndef NGX_HAVE_NONALIGNED
#define NGX_HAVE_NONALIGNED 1
#endif
-
#ifndef NGX_CPU_CACHE_LINE
#define NGX_CPU_CACHE_LINE 64
#endif
-
#define NGX_KQUEUE_UDATA_T (void *)
-
#ifndef NGX_HAVE_POSIX_FADVISE
#define NGX_HAVE_POSIX_FADVISE 0
#endif
-
#ifndef NGX_HAVE_O_DIRECT
#define NGX_HAVE_O_DIRECT 0
#endif
-
#ifndef NGX_HAVE_ALIGNED_DIRECTIO
#define NGX_HAVE_ALIGNED_DIRECTIO 0
#endif
-
#ifndef NGX_HAVE_STATFS
#define NGX_HAVE_STATFS 1
#endif
-
#ifndef NGX_HAVE_STATVFS
#define NGX_HAVE_STATVFS 1
#endif
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_RANDOM
+#ifndef NGX_STAT_STUB
+#define NGX_STAT_STUB 1
+#endif
+#endif
#ifndef NGX_HAVE_DLOPEN
#define NGX_HAVE_DLOPEN 1
#endif
-
#ifndef NGX_HAVE_SCHED_YIELD
#define NGX_HAVE_SCHED_YIELD 1
#endif
-
#ifndef NGX_HAVE_SCHED_SETAFFINITY
#define NGX_HAVE_SCHED_SETAFFINITY 0
#endif
-
#ifndef NGX_HAVE_REUSEPORT
#define NGX_HAVE_REUSEPORT 1
#endif
-
#ifndef NGX_HAVE_TRANSPARENT_PROXY
#define NGX_HAVE_TRANSPARENT_PROXY 1
#endif
-
#ifndef NGX_HAVE_IP_BIND_ADDRESS_NO_PORT
#define NGX_HAVE_IP_BIND_ADDRESS_NO_PORT 0
#endif
-
#ifndef NGX_HAVE_IP_PKTINFO
#define NGX_HAVE_IP_PKTINFO 0
#endif
-
#ifndef NGX_HAVE_IPV6_RECVPKTINFO
#define NGX_HAVE_IPV6_RECVPKTINFO 0
#endif
-
#ifndef NGX_HAVE_DEFERRED_ACCEPT
#define NGX_HAVE_DEFERRED_ACCEPT 1
#endif
-
#ifndef NGX_HAVE_KEEPALIVE_TUNABLE
#define NGX_HAVE_KEEPALIVE_TUNABLE 1
#endif
-
#ifndef NGX_HAVE_TCP_FASTOPEN
#define NGX_HAVE_TCP_FASTOPEN 0
#endif
-
#ifndef NGX_HAVE_TCP_INFO
#define NGX_HAVE_TCP_INFO 0
#endif
-
#ifndef NGX_HAVE_ACCEPT4
#define NGX_HAVE_ACCEPT4 0
#endif
-
#ifndef NGX_HAVE_EVENTFD
#define NGX_HAVE_EVENTFD 0
#endif
-
#ifndef NGX_HAVE_SYS_EVENTFD_H
#define NGX_HAVE_SYS_EVENTFD_H 1
#endif
-
#ifndef NGX_HAVE_UNIX_DOMAIN
#define NGX_HAVE_UNIX_DOMAIN 0
#endif
-
#ifndef NGX_PTR_SIZE
#define NGX_PTR_SIZE 8
#endif
-
#ifndef NGX_SIG_ATOMIC_T_SIZE
#define NGX_SIG_ATOMIC_T_SIZE 4
#endif
-
#ifndef NGX_HAVE_LITTLE_ENDIAN
#define NGX_HAVE_LITTLE_ENDIAN 1
#endif
-
#ifndef NGX_MAX_SIZE_T_VALUE
#define NGX_MAX_SIZE_T_VALUE 9223372036854775807LL
#endif
-
#ifndef NGX_SIZE_T_LEN
#define NGX_SIZE_T_LEN (sizeof("-9223372036854775808") - 1)
#endif
-
#ifndef NGX_MAX_OFF_T_VALUE
#define NGX_MAX_OFF_T_VALUE 9223372036854775807LL
#endif
-
#ifndef NGX_OFF_T_LEN
#define NGX_OFF_T_LEN (sizeof("-9223372036854775808") - 1)
#endif
-
#ifndef NGX_TIME_T_SIZE
#define NGX_TIME_T_SIZE 8
#endif
-
#ifndef NGX_TIME_T_LEN
#define NGX_TIME_T_LEN (sizeof("-9223372036854775808") - 1)
#endif
-
#ifndef NGX_MAX_TIME_T_VALUE
#define NGX_MAX_TIME_T_VALUE 9223372036854775807LL
#endif
-
#ifndef NGX_HAVE_INET6
#define NGX_HAVE_INET6 0
#endif
-
#ifndef NGX_HAVE_PREAD
#define NGX_HAVE_PREAD 1
#endif
-
#ifndef NGX_HAVE_PWRITE
#define NGX_HAVE_PWRITE 1
#endif
-
#ifndef NGX_HAVE_PWRITEV
#define NGX_HAVE_PWRITEV 1
#endif
-
#ifndef NGX_SYS_NERR
#define NGX_SYS_NERR 12 /* was 135, Unikraft does not have all the error
codes */
#endif
-
#ifndef NGX_HAVE_LOCALTIME_R
#define NGX_HAVE_LOCALTIME_R 1
#endif
-
#ifndef NGX_HAVE_CLOCK_MONOTONIC
#define NGX_HAVE_CLOCK_MONOTONIC 0
#endif
-
#ifndef NGX_HAVE_POSIX_MEMALIGN
#define NGX_HAVE_POSIX_MEMALIGN 1
#endif
-
#ifndef NGX_HAVE_MEMALIGN
#define NGX_HAVE_MEMALIGN 1
#endif
-
#ifndef NGX_HAVE_MAP_ANON
#define NGX_HAVE_MAP_ANON 1
#endif
-
#ifndef NGX_HAVE_MAP_DEVZERO
#define NGX_HAVE_MAP_DEVZERO 1
#endif
-
#ifndef NGX_HAVE_SYSVSHM
#define NGX_HAVE_SYSVSHM 1
#endif
-
#ifndef NGX_HAVE_POSIX_SEM
#define NGX_HAVE_POSIX_SEM 1
#endif
-
#ifndef NGX_HAVE_MSGHDR_MSG_CONTROL
#define NGX_HAVE_MSGHDR_MSG_CONTROL 1
#endif
-
#ifndef NGX_HAVE_FIONBIO
#define NGX_HAVE_FIONBIO 1 /* ioctl(FIONBIO) */
#endif
-
#ifndef NGX_HAVE_GMTOFF
#define NGX_HAVE_GMTOFF 1
#endif
-
#ifndef NGX_HAVE_D_TYPE
#define NGX_HAVE_D_TYPE 1
#endif
-
#ifndef NGX_HAVE_SC_NPROCESSORS_ONLN
#define NGX_HAVE_SC_NPROCESSORS_ONLN 1
#endif
-
#ifndef NGX_HAVE_LEVEL1_DCACHE_LINESIZE
#define NGX_HAVE_LEVEL1_DCACHE_LINESIZE 1
#endif
-
#ifndef NGX_HAVE_OPENAT
#define NGX_HAVE_OPENAT 1
#endif
-
#ifndef NGX_HAVE_GETADDRINFO
#define NGX_HAVE_GETADDRINFO 1
#endif
-
#ifndef NGX_HAVE_SELECT
#define NGX_HAVE_SELECT 1
#endif
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+#ifndef NGX_HTTP_V2
+#define NGX_HTTP_V2 1
+#endif
+#else
+#ifndef NGX_HTTP_V2
+#define NGX_HTTP_V2 0
+#endif
+#endif
+
+#ifndef NGX_SSL
+#ifdef CONFIG_LIBSSL
+#define NGX_SSL 1
+#else
+#define NGX_SSL 0
+#endif
+#endif
+
+#ifndef NGX_OPENSSL
+#if defined(CONFIG_LIBSSL)
+#define NGX_OPENSSL 1
+#else
+#define NGX_OPENSSL 0
+#endif
+#endif
+
+#ifndef NGX_HTTP_SSL
+#ifdef CONFIG_LIBNGINX_HTTP_SSL
+#define NGX_HTTP_SSL 1
+#else
+#define NGX_HTTP_SSL 0
+#endif
+#endif
#ifndef NGX_HTTP_CACHE
#define NGX_HTTP_CACHE 0 /* disabled module */
#endif
+#ifndef NGX_HTTP_HEADERS
+#define NGX_HTTP_HEADERS 1
+#endif
#ifndef NGX_HTTP_GZIP
-#define NGX_HTTP_GZIP 0 /* disabled module */
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP
+#define NGX_HTTP_GZIP 1
+#else
+#define NGX_HTTP_GZIP 0
+#endif
#endif
-
+#ifdef CONFIG_LIBNGINX_HTTP_SSI
#ifndef NGX_HTTP_SSI
#define NGX_HTTP_SSI 1
#endif
+#endif
-
+#ifdef CONFIG_LIBCRYPTO
#ifndef NGX_CRYPT
-#define NGX_CRYPT 0 /* disabled module */
+#define NGX_CRYPT 1
+#endif
+#else
+#ifndef NGX_CRYPT
+#define NGX_CRYPT 0
+#endif
#endif
-
#ifndef NGX_HTTP_X_FORWARDED_FOR
#define NGX_HTTP_X_FORWARDED_FOR 1
#endif
-
#ifndef NGX_HTTP_X_FORWARDED_FOR
#define NGX_HTTP_X_FORWARDED_FOR 1
#endif
-
#ifndef NGX_HTTP_UPSTREAM_ZONE
#define NGX_HTTP_UPSTREAM_ZONE 1
#endif
-
+#ifdef CONFIG_LIBPCRE
#ifndef NGX_PCRE
-#define NGX_PCRE 0 /* disabled module */
+#define NGX_PCRE 1
#endif
-
#ifndef NGX_HAVE_PCRE_JIT
-#define NGX_HAVE_PCRE_JIT 0 /* disabled module */
+#define NGX_HAVE_PCRE_JIT 0
+#endif
#endif
-
+#ifdef CONFIG_LIBZLIB
#ifndef NGX_ZLIB
-#define NGX_ZLIB 0 /* disabled module */
+#define NGX_ZLIB 1
+#endif
+#else
+#ifndef NGX_ZLIB
+#define NGX_ZLIB 0
+#endif
#endif
-
#ifndef NGX_PREFIX
#define NGX_PREFIX "/nginx/"
#endif
-
#ifndef NGX_CONF_PREFIX
#define NGX_CONF_PREFIX "conf/"
#endif
-
#ifndef NGX_SBIN_PATH
#define NGX_SBIN_PATH "sbin/nginx"
#endif
-
#ifndef NGX_CONF_PATH
#define NGX_CONF_PATH "conf/nginx.conf"
#endif
-
#ifndef NGX_PID_PATH
#define NGX_PID_PATH "logs/nginx.pid"
#endif
-
#ifndef NGX_LOCK_PATH
#define NGX_LOCK_PATH "logs/nginx.lock"
#endif
-
#ifndef NGX_ERROR_LOG_PATH
#define NGX_ERROR_LOG_PATH "logs/error.log"
#endif
-
#ifndef NGX_HTTP_LOG_PATH
#define NGX_HTTP_LOG_PATH "logs/access.log"
#endif
-
#ifndef NGX_HTTP_CLIENT_TEMP_PATH
#define NGX_HTTP_CLIENT_TEMP_PATH "client_body_temp"
#endif
-
#ifndef NGX_HTTP_PROXY_TEMP_PATH
#define NGX_HTTP_PROXY_TEMP_PATH "proxy_temp"
#endif
-
#ifndef NGX_HTTP_FASTCGI_TEMP_PATH
#define NGX_HTTP_FASTCGI_TEMP_PATH "fastcgi_temp"
#endif
-
#ifndef NGX_HTTP_UWSGI_TEMP_PATH
#define NGX_HTTP_UWSGI_TEMP_PATH "uwsgi_temp"
#endif
-
#ifndef NGX_HTTP_SCGI_TEMP_PATH
#define NGX_HTTP_SCGI_TEMP_PATH "scgi_temp"
#endif
-
#ifndef NGX_SUPPRESS_WARN
#define NGX_SUPPRESS_WARN 1
#endif
-
#ifndef NGX_SMP
#define NGX_SMP 0
#endif
-
#ifndef NGX_USER
#define NGX_USER "root"
#endif
-
#ifndef NGX_GROUP
#define NGX_GROUP "root"
#endif
diff --git a/ngx_modules.c b/ngx_modules.c
index 99e6eac..3015582 100644
--- a/ngx_modules.c
+++ b/ngx_modules.c
@@ -2,116 +2,671 @@
#include <ngx_config.h>
#include <ngx_core.h>
-
-
extern ngx_module_t ngx_core_module;
extern ngx_module_t ngx_errlog_module;
extern ngx_module_t ngx_conf_module;
-//extern ngx_module_t ngx_regex_module;
extern ngx_module_t ngx_events_module;
extern ngx_module_t ngx_event_core_module;
-//extern ngx_module_t ngx_epoll_module;
extern ngx_module_t ngx_select_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP
+#include <ngx_http.h>
+
extern ngx_module_t ngx_http_module;
extern ngx_module_t ngx_http_core_module;
extern ngx_module_t ngx_http_log_module;
+
+#ifdef CONFIG_LIBNGINX_UPSTREAM
extern ngx_module_t ngx_http_upstream_module;
+#endif
+
+extern ngx_module_t ngx_http_write_filter_module;
+extern ngx_module_t ngx_http_header_filter_module;
+extern ngx_module_t ngx_http_chunked_filter_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+extern ngx_module_t ngx_http_v2_filter_module;
+#endif
+
+extern ngx_module_t ngx_http_range_header_filter_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP
+extern ngx_module_t ngx_http_gzip_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_POSTPONE
+extern ngx_module_t ngx_http_postpone_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SSI
+extern ngx_module_t ngx_http_ssi_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_CHARSET
+extern ngx_module_t ngx_http_charset_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_XSLT
+extern ngx_module_t ngx_http_xslt_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_IMAGE_FILTER
+extern ngx_module_t ngx_http_image_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SUB
+extern ngx_module_t ngx_http_sub_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_ADDITION
+extern ngx_module_t ngx_http_addition_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GUNZIP
+extern ngx_module_t ngx_http_gunzip_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_USERID
+extern ngx_module_t ngx_http_userid_filter_module;
+#endif
+
+extern ngx_module_t ngx_http_headers_filter_module;
+extern ngx_module_t ngx_http_copy_filter_module;
+extern ngx_module_t ngx_http_range_body_filter_module;
+extern ngx_module_t ngx_http_not_modified_filter_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP_SLICE
+extern ngx_module_t ngx_http_slice_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+extern ngx_module_t ngx_http_v2_module;
+#endif
+
extern ngx_module_t ngx_http_static_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP_STATIC
+extern ngx_module_t ngx_http_gzip_static_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_DAV
+extern ngx_module_t ngx_http_dav_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTOINDEX
extern ngx_module_t ngx_http_autoindex_module;
+#endif
+
extern ngx_module_t ngx_http_index_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP_RANDOM_INDEX
+extern ngx_module_t ngx_http_random_index_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MIRROR
extern ngx_module_t ngx_http_mirror_module;
+#endif
+
extern ngx_module_t ngx_http_try_files_module;
-//extern ngx_module_t ngx_http_auth_basic_module;
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTH_REQUEST
+extern ngx_module_t ngx_http_auth_request_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTH_BASIC
+extern ngx_module_t ngx_http_auth_basic_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_ACCESS
extern ngx_module_t ngx_http_access_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_LIMIT_CONN
extern ngx_module_t ngx_http_limit_conn_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_LIMIT_REQ
extern ngx_module_t ngx_http_limit_req_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REALIP
+extern ngx_module_t ngx_http_realip_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_STATUS
+extern ngx_module_t ngx_http_status_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GEO
extern ngx_module_t ngx_http_geo_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GEOIP
+extern ngx_module_t ngx_http_geoip_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MAP
extern ngx_module_t ngx_http_map_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SPLIT_CLENTS
extern ngx_module_t ngx_http_split_clients_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REFERER
extern ngx_module_t ngx_http_referer_module;
-//extern ngx_module_t ngx_http_rewrite_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REWRITE
+extern ngx_module_t ngx_http_rewrite_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SSL
+extern ngx_module_t ngx_http_ssl_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_PROXY
extern ngx_module_t ngx_http_proxy_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_FASTCGI
extern ngx_module_t ngx_http_fastcgi_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UWSGI
extern ngx_module_t ngx_http_uwsgi_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SCGI
extern ngx_module_t ngx_http_scgi_module;
+#endif
+
+#if defined CONFIG_LIBNGINX_HTTP_GRPC && defined CONFIG_LIBNGINX_HTTP_V2
+extern ngx_module_t ngx_http_grpc_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_PERL
+extern ngx_module_t ngx_http_perl_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MEMCACHED
extern ngx_module_t ngx_http_memcached_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_EMPTY_GIF
extern ngx_module_t ngx_http_empty_gif_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_BROWSER
extern ngx_module_t ngx_http_browser_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SECURE_LINK
+extern ngx_module_t ngx_http_secure_link_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_DEGRADATION
+extern ngx_module_t ngx_http_degradation_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_FLV
+extern ngx_module_t ngx_http_flv_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MP4
+extern ngx_module_t ngx_http_mp4_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_HASH
extern ngx_module_t ngx_http_upstream_hash_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_IP_HASH
extern ngx_module_t ngx_http_upstream_ip_hash_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_LEAST_CONN
extern ngx_module_t ngx_http_upstream_least_conn_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_RANDOM
extern ngx_module_t ngx_http_upstream_random_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_KEEPALIVE
extern ngx_module_t ngx_http_upstream_keepalive_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_ZONE
extern ngx_module_t ngx_http_upstream_zone_module;
-extern ngx_module_t ngx_http_write_filter_module;
-extern ngx_module_t ngx_http_header_filter_module;
-extern ngx_module_t ngx_http_chunked_filter_module;
-extern ngx_module_t ngx_http_range_header_filter_module;
-//extern ngx_module_t ngx_http_gzip_filter_module;
-extern ngx_module_t ngx_http_postpone_filter_module;
-extern ngx_module_t ngx_http_ssi_filter_module;
-extern ngx_module_t ngx_http_charset_filter_module;
-extern ngx_module_t ngx_http_sub_filter_module;
-extern ngx_module_t ngx_http_userid_filter_module;
-extern ngx_module_t ngx_http_headers_filter_module;
-extern ngx_module_t ngx_http_copy_filter_module;
-extern ngx_module_t ngx_http_range_body_filter_module;
-extern ngx_module_t ngx_http_not_modified_filter_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_STUB_STATUS
+extern ngx_module_t ngx_http_stub_status_module;
+#endif
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL
+extern ngx_module_t ngx_mail_module;
+extern ngx_module_t ngx_mail_core_module;
+
+#ifdef CONFIG_LIBNGINX_MAIL_SSL
+extern ngx_module_t ngx_mail_ssl_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_POP3
+extern ngx_module_t ngx_mail_pop3_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_IMAP
+extern ngx_module_t ngx_mail_imap_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_SMTP
+extern ngx_module_t ngx_mail_smtp_module;
+#endif
+
+extern ngx_module_t ngx_mail_auth_http_module;
+extern ngx_module_t ngx_mail_proxy_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM
+extern ngx_module_t ngx_stream_module;
+extern ngx_module_t ngx_stream_core_module;
+extern ngx_module_t ngx_stream_log_module;
+extern ngx_module_t ngx_stream_proxy_module;
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM
+extern ngx_module_t ngx_stream_upstream_module;
+#endif
+
+extern ngx_module_t ngx_stream_write_filter_module;
+
+#ifdef CONFIG_LIBNGINX_STREAM_SSL
+extern ngx_module_t ngx_stream_ssl_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_REALIP
+extern ngx_module_t ngx_stream_realip_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_ACCESS
+extern ngx_module_t ngx_stream_access_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_GEO
+extern ngx_module_t ngx_stream_geo_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_GEOIP
+extern ngx_module_t ngx_stream_geoip_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_SPLIT_CLIENTS
+extern ngx_module_t ngx_stream_split_clients_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_RETURN
+extern ngx_module_t ngx_stream_return_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_LEAST_CONN
+extern ngx_module_t ngx_stream_upstream_least_conn_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_RANDOM
+extern ngx_module_t ngx_stream_upstream_random_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_ZONE
+extern ngx_module_t ngx_stream_upstream_zone_module;
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_SSL_PREREAD
+extern ngx_module_t ngx_stream_ssl_preread_module;
+#endif
+#endif
+
+#ifdef CONFIG_LIBNSSL
+extern ngx_module_t ngx_openssl_module;
+#endif
+
+#ifdef CONFIG_LIBPCRE
+extern ngx_module_t ngx_regex_module;
+#endif
ngx_module_t *ngx_modules[] = {
&ngx_core_module,
&ngx_errlog_module,
&ngx_conf_module,
-// &ngx_regex_module,
&ngx_events_module,
&ngx_event_core_module,
-// &ngx_epoll_module,
&ngx_select_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP
&ngx_http_module,
&ngx_http_core_module,
&ngx_http_log_module,
+
+#ifdef CONFIG_LIBNGINX_UPSTREAM
&ngx_http_upstream_module,
+#endif
+
+ &ngx_http_write_filter_module,
+ &ngx_http_header_filter_module,
+ &ngx_http_chunked_filter_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+ &ngx_http_v2_filter_module,
+#endif
+
+ &ngx_http_range_header_filter_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP
+ &ngx_http_gzip_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_POSTPONE
+ &ngx_http_postpone_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SSI
+ &ngx_http_ssi_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_CHARSET
+ &ngx_http_charset_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_XSLT
+ &ngx_http_xslt_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_IMAGE_FILTER
+ &ngx_http_image_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SUB
+ &ngx_http_sub_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_ADDITION
+ &ngx_http_addition_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GUNZIP
+ &ngx_http_gunzip_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_USERID
+ &ngx_http_userid_filter_module,
+#endif
+
+ &ngx_http_headers_filter_module,
+ &ngx_http_copy_filter_module,
+ &ngx_http_range_body_filter_module,
+ &ngx_http_not_modified_filter_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP_SLICE
+ &ngx_http_slice_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+ &ngx_http_v2_module,
+#endif
+
&ngx_http_static_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP_STATIC
+ &ngx_http_gzip_static_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_DAV
+ &ngx_http_dav_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTOINDEX
&ngx_http_autoindex_module,
+#endif
+
&ngx_http_index_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP_RANDOM_INDEX
+ &ngx_http_random_index_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MIRROR
&ngx_http_mirror_module,
+#endif
+
&ngx_http_try_files_module,
-// &ngx_http_auth_basic_module,
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTH_REQUEST
+ &ngx_http_auth_request_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTH_BASIC
+ &ngx_http_auth_basic_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_ACCESS
&ngx_http_access_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_LIMIT_CONN
&ngx_http_limit_conn_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_LIMIT_REQ
&ngx_http_limit_req_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REALIP
+ &ngx_http_realip_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_STATUS
+ &ngx_http_status_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GEO
&ngx_http_geo_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GEOIP
+ &ngx_http_geoip_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MAP
&ngx_http_map_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SPLIT_CLENTS
&ngx_http_split_clients_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REFERER
&ngx_http_referer_module,
-// &ngx_http_rewrite_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REWRITE
+ &ngx_http_rewrite_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SSL
+ &ngx_http_ssl_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_PROXY
&ngx_http_proxy_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_FASTCGI
&ngx_http_fastcgi_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UWSGI
&ngx_http_uwsgi_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SCGI
&ngx_http_scgi_module,
+#endif
+
+#if defined CONFIG_LIBNGINX_HTTP_GRPC && defined CONFIG_LIBNGINX_HTTP_V2
+ &ngx_http_grpc_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_PERL
+ &ngx_http_perl_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MEMCACHED
&ngx_http_memcached_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_EMPTY_GIF
&ngx_http_empty_gif_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_BROWSER
&ngx_http_browser_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SECURE_LINK
+ &ngx_http_secure_link_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_DEGRADATION
+ &ngx_http_degradation_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_FLV
+ &ngx_http_flv_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MP4
+ &ngx_http_mp4_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_HASH
&ngx_http_upstream_hash_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_IP_HASH
&ngx_http_upstream_ip_hash_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_LEAST_CONN
&ngx_http_upstream_least_conn_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_RANDOM
&ngx_http_upstream_random_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_KEEPALIVE
&ngx_http_upstream_keepalive_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_ZONE
&ngx_http_upstream_zone_module,
- &ngx_http_write_filter_module,
- &ngx_http_header_filter_module,
- &ngx_http_chunked_filter_module,
- &ngx_http_range_header_filter_module,
-// &ngx_http_gzip_filter_module,
- &ngx_http_postpone_filter_module,
- &ngx_http_ssi_filter_module,
- &ngx_http_charset_filter_module,
- &ngx_http_sub_filter_module,
- &ngx_http_userid_filter_module,
- &ngx_http_headers_filter_module,
- &ngx_http_copy_filter_module,
- &ngx_http_range_body_filter_module,
- &ngx_http_not_modified_filter_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_STUB_STATUS
+ &ngx_http_stub_status_module,
+#endif
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL
+ &ngx_mail_module,
+ &ngx_mail_core_module,
+
+#ifdef CONFIG_LIBNGINX_MAIL_SSL
+ &ngx_mail_ssl_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_POP3
+ &ngx_mail_pop3_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_IMAP
+ &ngx_mail_imap_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_SMTP
+ &ngx_mail_smtp_module,
+#endif
+
+ &ngx_mail_auth_http_module,
+ &ngx_mail_proxy_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM
+ &ngx_stream_module,
+ &ngx_stream_core_module,
+ &ngx_stream_log_module,
+ &ngx_stream_proxy_module,
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM
+ &ngx_stream_upstream_module,
+#endif
+
+ &ngx_stream_write_filter_module,
+
+#ifdef CONFIG_LIBNGINX_STREAM_SSL
+ &ngx_stream_ssl_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_REALIP
+ &ngx_stream_realip_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_ACCESS
+ &ngx_stream_access_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_GEO
+ &ngx_stream_geo_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_GEOIP
+ &ngx_stream_geoip_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_SPLIT_CLIENTS
+ &ngx_stream_split_clients_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_RETURN
+ &ngx_stream_return_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_LEAST_CONN
+ &ngx_stream_upstream_least_conn_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_RANDOM
+ &ngx_stream_upstream_random_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_ZONE
+ &ngx_stream_upstream_zone_module,
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_SSL_PREREAD
+ &ngx_stream_ssl_preread_module,
+#endif
+#endif
+
+#ifdef CONFIG_LIBNSSL
+ &ngx_openssl_module,
+#endif
+
+#ifdef CONFIG_LIBPCRE
+ &ngx_regex_module,
+#endif
+
NULL
};
@@ -119,56 +674,332 @@ char *ngx_module_names[] = {
"ngx_core_module",
"ngx_errlog_module",
"ngx_conf_module",
-// "ngx_regex_module",
"ngx_events_module",
"ngx_event_core_module",
-// "ngx_epoll_module",
"ngx_select_module",
+
+#ifdef CONFIG_LIBNGINX_HTTP
"ngx_http_module",
"ngx_http_core_module",
"ngx_http_log_module",
+ "ngx_http_write_filter_module",
+ "ngx_http_header_filter_module",
+ "ngx_http_chunked_filter_module",
+
+#ifdef CONFIG_LIBNGINX_UPSTREAM
"ngx_http_upstream_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+ "ngx_http_v2_filter_module",
+#endif
+
+ "ngx_http_range_header_filter_module",
+
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP
+ "ngx_http_gzip_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_POSTPONE
+ "ngx_http_postpone_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SSI
+ "ngx_http_ssi_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_CHARSET
+ "ngx_http_charset_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_XSLT
+ "ngx_http_xslt_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_IMAGE_FILTER
+ "ngx_http_image_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SUB
+ "ngx_http_sub_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_ADDITION
+ "ngx_http_addition_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GUNZIP
+ "ngx_http_gunzip_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_USERID
+ "ngx_http_userid_filter_module",
+#endif
+
+ "ngx_http_headers_filter_module",
+ "ngx_http_copy_filter_module",
+ "ngx_http_range_body_filter_module",
+ "ngx_http_not_modified_filter_module",
+
+#ifdef CONFIG_LIBNGINX_HTTP_SLICE
+ "ngx_http_slice_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_V2
+ "ngx_http_v2_module",
+#endif
+
"ngx_http_static_module",
+
+#ifdef CONFIG_LIBNGINX_HTTP_GZIP_STATIC
+ "ngx_http_gzip_static_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_DAV
+ "ngx_http_dav_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTOINDEX
"ngx_http_autoindex_module",
+#endif
+
"ngx_http_index_module",
+
+#ifdef CONFIG_LIBNGINX_HTTP_RANDOM_INDEX
+ "ngx_http_random_index_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MIRROR
"ngx_http_mirror_module",
+#endif
+
"ngx_http_try_files_module",
-// "ngx_http_auth_basic_module",
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTH_REQUEST
+ "ngx_http_auth_request_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_AUTH_BASIC
+ "ngx_http_auth_basic_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_ACCESS
"ngx_http_access_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_LIMIT_CONN
"ngx_http_limit_conn_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_LIMIT_REQ
"ngx_http_limit_req_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REALIP
+ "ngx_http_realip_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_STATUS
+ "ngx_http_status_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GEO
"ngx_http_geo_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_GEOIP
+ "ngx_http_geoip_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MAP
"ngx_http_map_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SPLIT_CLENTS
"ngx_http_split_clients_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REFERER
"ngx_http_referer_module",
-// "ngx_http_rewrite_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_REWRITE
+ "ngx_http_rewrite_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SSL
+ "ngx_http_ssl_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_PROXY
"ngx_http_proxy_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_FASTCGI
"ngx_http_fastcgi_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UWSGI
"ngx_http_uwsgi_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SCGI
"ngx_http_scgi_module",
+#endif
+
+#if defined CONFIG_LIBNGINX_HTTP_GRPC && defined CONFIG_LIBNGINX_HTTP_V2
+ "ngx_http_grpc_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_PERL
+ "ngx_http_perl_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MEMCACHED
"ngx_http_memcached_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_EMPTY_GIF
"ngx_http_empty_gif_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_BROWSER
"ngx_http_browser_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_SECURE_LINK
+ "ngx_http_secure_link_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_DEGRADATION
+ "ngx_http_degradation_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_FLV
+ "ngx_http_flv_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_MP4
+ "ngx_http_mp4_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_HASH
"ngx_http_upstream_hash_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_IP_HASH
"ngx_http_upstream_ip_hash_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_LEAST_CONN
"ngx_http_upstream_least_conn_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_RANDOM
"ngx_http_upstream_random_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_KEEPALIVE
"ngx_http_upstream_keepalive_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_UPSTREAM_ZONE
"ngx_http_upstream_zone_module",
- "ngx_http_write_filter_module",
- "ngx_http_header_filter_module",
- "ngx_http_chunked_filter_module",
- "ngx_http_range_header_filter_module",
-// "ngx_http_gzip_filter_module",
- "ngx_http_postpone_filter_module",
- "ngx_http_ssi_filter_module",
- "ngx_http_charset_filter_module",
- "ngx_http_sub_filter_module",
- "ngx_http_userid_filter_module",
- "ngx_http_headers_filter_module",
- "ngx_http_copy_filter_module",
- "ngx_http_range_body_filter_module",
- "ngx_http_not_modified_filter_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_HTTP_STUB_STATUS
+ "ngx_http_stub_status_module",
+#endif
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL
+ "ngx_mail_module",
+ "ngx_mail_core_module",
+
+#ifdef CONFIG_LIBNGINX_MAIL_SSL
+ "ngx_mail_ssl_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_POP3
+ "ngx_mail_pop3_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_IMAP
+ "ngx_mail_imap_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_MAIL_SMTP
+ "ngx_mail_smtp_module",
+#endif
+
+ "ngx_mail_auth_http_module",
+ "ngx_mail_proxy_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM
+ "ngx_stream_module",
+ "ngx_stream_core_module",
+ "ngx_stream_log_module",
+ "ngx_stream_proxy_module",
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM
+ "ngx_stream_upstream_module",
+#endif
+
+ "ngx_stream_write_filter_module",
+
+#ifdef CONFIG_LIBNGINX_STREAM_SSL
+ "ngx_stream_ssl_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_REALIP
+ "ngx_stream_realip_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_ACCESS
+ "ngx_stream_access_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_GEO
+ "ngx_stream_geo_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_GEOIP
+ "ngx_stream_geoip_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_SPLIT_CLIENTS
+ "ngx_stream_split_clients_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_RETURN
+ "ngx_stream_return_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_LEAST_CONN
+ "ngx_stream_upstream_least_conn_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_RANDOM
+ "ngx_stream_upstream_random_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_UPSTREAM_ZONE
+ "ngx_stream_upstream_zone_module",
+#endif
+
+#ifdef CONFIG_LIBNGINX_STREAM_SSL_PREREAD
+ "ngx_stream_ssl_preread_module",
+#endif
+#endif
+
+#ifdef CONFIG_LIBNSSL
+ "ngx_openssl_module",
+#endif
+
+#ifdef CONFIG_LIBPCRE
+ "ngx_regex_module",
+#endif
+
NULL
};
-
--
2.11.0
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |