| |
| /* |
| * Copyright (C) Google Inc. |
| */ |
| |
| |
| #include <ngx_config.h> |
| #include <ngx_core.h> |
| #include <ngx_modules.h> |
| |
| |
| extern ngx_module_t ngx_core_module; |
| extern ngx_module_t ngx_errlog_module; |
| extern ngx_module_t ngx_conf_module; |
| #if (NGX_SSL) |
| extern ngx_module_t ngx_openssl_module; |
| #endif |
| #if (NGX_PCRE) |
| extern ngx_module_t ngx_regex_module; |
| #endif |
| extern ngx_module_t ngx_events_module; |
| extern ngx_module_t ngx_event_core_module; |
| #if (NGX_HAVE_EPOLL) |
| extern ngx_module_t ngx_epoll_module; |
| #endif |
| #if (NGX_HAVE_KQUEUE) |
| extern ngx_module_t ngx_kqueue_module; |
| #endif |
| #if (NGX_HAVE_SELECT) |
| extern ngx_module_t ngx_select_module; |
| #endif |
| #if (NGX_HAVE_POLL) |
| extern ngx_module_t ngx_poll_module; |
| #endif |
| #if (NGX_THREADS) |
| extern ngx_module_t ngx_thread_pool_module; |
| #endif |
| |
| #if (NGX_HTTP) |
| extern ngx_module_t ngx_http_module; |
| extern ngx_module_t ngx_http_core_module; |
| extern ngx_module_t ngx_http_log_module; |
| extern ngx_module_t ngx_http_upstream_module; |
| #endif |
| #if (NGX_HTTP_V2) |
| extern ngx_module_t ngx_http_v2_module; |
| #endif |
| #if (NGX_HTTP) |
| extern ngx_module_t ngx_http_static_module; |
| #endif |
| #if (NGX_HTTP_GZIP_STATIC) |
| extern ngx_module_t ngx_http_gzip_static_module; |
| #endif |
| #if (NGX_HTTP_BROTLI_STATIC) |
| extern ngx_module_t ngx_http_brotli_static_module; |
| #endif |
| #if (NGX_HTTP_DAV) |
| extern ngx_module_t ngx_http_dav_module; |
| #endif |
| #if (NGX_HTTP_AUTOINDEX) |
| extern ngx_module_t ngx_http_autoindex_module; |
| #endif |
| #if (NGX_HTTP) |
| extern ngx_module_t ngx_http_index_module; |
| #endif |
| #if (NGX_HTTP_RANDOM_INDEX) |
| extern ngx_module_t ngx_http_random_index_module; |
| #endif |
| #if (NGX_HTTP_MIRROR) |
| extern ngx_module_t ngx_http_mirror_module; |
| #endif |
| #if (NGX_HTTP) |
| extern ngx_module_t ngx_http_try_files_module; |
| #endif |
| #if (NGX_HTTP_AUTH_REQUEST) |
| extern ngx_module_t ngx_http_auth_request_module; |
| #endif |
| #if (NGX_HTTP_AUTH_BASIC) |
| extern ngx_module_t ngx_http_auth_basic_module; |
| #endif |
| #if (NGX_HTTP_ACCESS) |
| extern ngx_module_t ngx_http_access_module; |
| #endif |
| #if (NGX_HTTP_LIMIT_CONN) |
| extern ngx_module_t ngx_http_limit_conn_module; |
| #endif |
| #if (NGX_HTTP_LIMIT_REQ) |
| extern ngx_module_t ngx_http_limit_req_module; |
| #endif |
| #if (NGX_HTTP_REALIP) |
| extern ngx_module_t ngx_http_realip_module; |
| #endif |
| #if (NGX_HTTP_GEO) |
| extern ngx_module_t ngx_http_geo_module; |
| #endif |
| #if 0 |
| extern ngx_module_t ngx_http_geoip_module; |
| #endif |
| #if (NGX_HTTP_MAP) |
| extern ngx_module_t ngx_http_map_module; |
| #endif |
| #if (NGX_HTTP_SPLIT_CLIENTS) |
| extern ngx_module_t ngx_http_split_clients_module; |
| #endif |
| #if (NGX_HTTP_REFERER) |
| extern ngx_module_t ngx_http_referer_module; |
| #endif |
| #if (NGX_HTTP_REWRITE) |
| extern ngx_module_t ngx_http_rewrite_module; |
| #endif |
| #if (NGX_HTTP_SSL) |
| extern ngx_module_t ngx_http_ssl_module; |
| #endif |
| #if (NGX_HTTP_PROXY) |
| extern ngx_module_t ngx_http_proxy_module; |
| #endif |
| #if (NGX_HTTP_FASTCGI) |
| extern ngx_module_t ngx_http_fastcgi_module; |
| #endif |
| #if (NGX_HTTP_UWSGI) |
| extern ngx_module_t ngx_http_uwsgi_module; |
| #endif |
| #if (NGX_HTTP_SCGI) |
| extern ngx_module_t ngx_http_scgi_module; |
| #endif |
| #if (NGX_HTTP_GRPC) |
| extern ngx_module_t ngx_http_grpc_module; |
| #endif |
| #if 0 |
| extern ngx_module_t ngx_http_perl_module; |
| #endif |
| #if (NGX_HTTP_MEMCACHED) |
| extern ngx_module_t ngx_http_memcached_module; |
| #endif |
| #if (NGX_HTTP_EMPTY_GIF) |
| extern ngx_module_t ngx_http_empty_gif_module; |
| #endif |
| #if (NGX_HTTP_BROWSER) |
| extern ngx_module_t ngx_http_browser_module; |
| #endif |
| #if (NGX_HTTP_SECURE_LINK) |
| extern ngx_module_t ngx_http_secure_link_module; |
| #endif |
| #if 0 |
| extern ngx_module_t ngx_http_degradation_module; |
| #endif |
| #if (NGX_HTTP_FLV) |
| extern ngx_module_t ngx_http_flv_module; |
| #endif |
| #if (NGX_HTTP_MP4) |
| extern ngx_module_t ngx_http_mp4_module; |
| #endif |
| #if (NGX_HTTP_UPSTREAM_HASH) |
| extern ngx_module_t ngx_http_upstream_hash_module; |
| #endif |
| #if (NGX_HTTP_UPSTREAM_IP_HASH) |
| extern ngx_module_t ngx_http_upstream_ip_hash_module; |
| #endif |
| #if (NGX_HTTP_UPSTREAM_LEAST_CONN) |
| extern ngx_module_t ngx_http_upstream_least_conn_module; |
| #endif |
| #if (NGX_HTTP_UPSTREAM_RANDOM) |
| extern ngx_module_t ngx_http_upstream_random_module; |
| #endif |
| #if (NGX_HTTP_UPSTREAM_KEEPALIVE) |
| extern ngx_module_t ngx_http_upstream_keepalive_module; |
| #endif |
| #if (NGX_HTTP_UPSTREAM_ZONE) |
| extern ngx_module_t ngx_http_upstream_zone_module; |
| #endif |
| #if (NGX_HTTP_STUB_STATUS) |
| extern ngx_module_t ngx_http_stub_status_module; |
| #endif |
| #if (NGX_HTTP) |
| 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; |
| #endif |
| #if (NGX_HTTP_V2) |
| extern ngx_module_t ngx_http_v2_filter_module; |
| #endif |
| #if (NGX_HTTP) |
| extern ngx_module_t ngx_http_range_header_filter_module; |
| #endif |
| #if (NGX_HTTP_GZIP_FILTER) |
| extern ngx_module_t ngx_http_gzip_filter_module; |
| #endif |
| #if (NGX_HTTP_BROTLI_FILTER) |
| extern ngx_module_t ngx_http_brotli_filter_module; |
| #endif |
| #if (NGX_HTTP) |
| extern ngx_module_t ngx_http_postpone_filter_module; |
| #endif |
| #if (NGX_HTTP_SSI) |
| extern ngx_module_t ngx_http_ssi_filter_module; |
| #endif |
| #if (NGX_HTTP_CHARSET) |
| extern ngx_module_t ngx_http_charset_filter_module; |
| #endif |
| #if 0 |
| extern ngx_module_t ngx_http_xslt_filter_module; |
| extern ngx_module_t ngx_http_image_filter_module; |
| #endif |
| #if (NGX_HTTP_SUB) |
| extern ngx_module_t ngx_http_sub_filter_module; |
| #endif |
| #if (NGX_HTTP_ADDITION) |
| extern ngx_module_t ngx_http_addition_filter_module; |
| #endif |
| #if (NGX_HTTP_GUNZIP) |
| extern ngx_module_t ngx_http_gunzip_filter_module; |
| #endif |
| #if (NGX_HTTP_USERID) |
| extern ngx_module_t ngx_http_userid_filter_module; |
| #endif |
| #if (NGX_HTTP) |
| 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 |
| #if (NGX_HTTP_SLICE) |
| extern ngx_module_t ngx_http_slice_filter_module; |
| #endif |
| |
| #if (NGX_MAIL) |
| extern ngx_module_t ngx_mail_module; |
| extern ngx_module_t ngx_mail_core_module; |
| #endif |
| #if (NGX_MAIL_SSL) |
| extern ngx_module_t ngx_mail_ssl_module; |
| #endif |
| #if (NGX_MAIL_POP3) |
| extern ngx_module_t ngx_mail_pop3_module; |
| #endif |
| #if (NGX_MAIL_IMAP) |
| extern ngx_module_t ngx_mail_imap_module; |
| #endif |
| #if (NGX_MAIL_SMTP) |
| extern ngx_module_t ngx_mail_smtp_module; |
| #endif |
| #if (NGX_MAIL) |
| extern ngx_module_t ngx_mail_auth_http_module; |
| extern ngx_module_t ngx_mail_proxy_module; |
| extern ngx_module_t ngx_mail_realip_module; |
| #endif |
| |
| #if (NGX_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; |
| extern ngx_module_t ngx_stream_upstream_module; |
| extern ngx_module_t ngx_stream_write_filter_module; |
| #endif |
| #if (NGX_STREAM_SSL) |
| extern ngx_module_t ngx_stream_ssl_module; |
| #endif |
| #if (NGX_STREAM_REALIP) |
| extern ngx_module_t ngx_stream_realip_module; |
| #endif |
| #if (NGX_STREAM_LIMIT_CONN) |
| extern ngx_module_t ngx_stream_limit_conn_module; |
| #endif |
| #if (NGX_STREAM_ACCESS) |
| extern ngx_module_t ngx_stream_access_module; |
| #endif |
| #if (NGX_STREAM_GEO) |
| extern ngx_module_t ngx_stream_geo_module; |
| #endif |
| #if (NGX_STREAM_MAP) |
| extern ngx_module_t ngx_stream_map_module; |
| #endif |
| #if (NGX_STREAM_SPLIT_CLIENTS) |
| extern ngx_module_t ngx_stream_split_clients_module; |
| #endif |
| #if (NGX_STREAM_RETURN) |
| extern ngx_module_t ngx_stream_return_module; |
| #endif |
| #if (NGX_STREAM_SET) |
| extern ngx_module_t ngx_stream_set_module; |
| #endif |
| #if (NGX_STREAM_UPSTREAM_HASH) |
| extern ngx_module_t ngx_stream_upstream_hash_module; |
| #endif |
| #if (NGX_STREAM_UPSTREAM_LEAST_CONN) |
| extern ngx_module_t ngx_stream_upstream_least_conn_module; |
| #endif |
| #if (NGX_STREAM_UPSTREAM_RANDOM) |
| extern ngx_module_t ngx_stream_upstream_random_module; |
| #endif |
| #if (NGX_STREAM_UPSTREAM_ZONE) |
| extern ngx_module_t ngx_stream_upstream_zone_module; |
| #endif |
| #if (NGX_STREAM_SSL_PREREAD) |
| extern ngx_module_t ngx_stream_ssl_preread_module; |
| #endif |
| |
| #if 0 |
| extern ngx_module_t ngx_google_perftools_module; |
| #endif |
| |
| |
| ngx_module_t *ngx_modules[] = { |
| &ngx_core_module, |
| &ngx_errlog_module, |
| &ngx_conf_module, |
| #if (NGX_SSL) |
| &ngx_openssl_module, |
| #endif |
| #if (NGX_PCRE) |
| &ngx_regex_module, |
| #endif |
| &ngx_events_module, |
| &ngx_event_core_module, |
| #if (NGX_HAVE_EPOLL) |
| &ngx_epoll_module, |
| #endif |
| #if (NGX_HAVE_KQUEUE) |
| &ngx_kqueue_module, |
| #endif |
| #if (NGX_HAVE_SELECT) |
| &ngx_select_module, |
| #endif |
| #if (NGX_HAVE_POLL) |
| &ngx_poll_module, |
| #endif |
| #if (NGX_THREADS) |
| &ngx_thread_pool_module, |
| #endif |
| |
| #if (NGX_HTTP) |
| &ngx_http_module, |
| &ngx_http_core_module, |
| &ngx_http_log_module, |
| &ngx_http_upstream_module, |
| #endif |
| #if (NGX_HTTP_V2) |
| &ngx_http_v2_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_static_module, |
| #endif |
| #if (NGX_HTTP_GZIP_STATIC) |
| &ngx_http_gzip_static_module, |
| #endif |
| #if (NGX_HTTP_BROTLI_STATIC) |
| &ngx_http_brotli_static_module, |
| #endif |
| #if (NGX_HTTP_DAV) |
| &ngx_http_dav_module, |
| #endif |
| #if (NGX_HTTP_AUTOINDEX) |
| &ngx_http_autoindex_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_index_module, |
| #endif |
| #if (NGX_HTTP_RANDOM_INDEX) |
| &ngx_http_random_index_module, |
| #endif |
| #if (NGX_HTTP_MIRROR) |
| &ngx_http_mirror_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_try_files_module, |
| #endif |
| #if (NGX_HTTP_AUTH_REQUEST) |
| &ngx_http_auth_request_module, |
| #endif |
| #if (NGX_HTTP_AUTH_BASIC) |
| &ngx_http_auth_basic_module, |
| #endif |
| #if (NGX_HTTP_ACCESS) |
| &ngx_http_access_module, |
| #endif |
| #if (NGX_HTTP_LIMIT_CONN) |
| &ngx_http_limit_conn_module, |
| #endif |
| #if (NGX_HTTP_LIMIT_REQ) |
| &ngx_http_limit_req_module, |
| #endif |
| #if (NGX_HTTP_REALIP) |
| &ngx_http_realip_module, |
| #endif |
| #if (NGX_HTTP_GEO) |
| &ngx_http_geo_module, |
| #endif |
| #if 0 |
| &ngx_http_geoip_module, |
| #endif |
| #if (NGX_HTTP_MAP) |
| &ngx_http_map_module, |
| #endif |
| #if (NGX_HTTP_SPLIT_CLIENTS) |
| &ngx_http_split_clients_module, |
| #endif |
| #if (NGX_HTTP_REFERER) |
| &ngx_http_referer_module, |
| #endif |
| #if (NGX_HTTP_REWRITE) |
| &ngx_http_rewrite_module, |
| #endif |
| #if (NGX_HTTP_SSL) |
| &ngx_http_ssl_module, |
| #endif |
| #if (NGX_HTTP_PROXY) |
| &ngx_http_proxy_module, |
| #endif |
| #if (NGX_HTTP_FASTCGI) |
| &ngx_http_fastcgi_module, |
| #endif |
| #if (NGX_HTTP_UWSGI) |
| &ngx_http_uwsgi_module, |
| #endif |
| #if (NGX_HTTP_SCGI) |
| &ngx_http_scgi_module, |
| #endif |
| #if (NGX_HTTP_GRPC) |
| &ngx_http_grpc_module, |
| #endif |
| #if 0 |
| &ngx_http_perl_module, |
| #endif |
| #if (NGX_HTTP_MEMCACHED) |
| &ngx_http_memcached_module, |
| #endif |
| #if (NGX_HTTP_EMPTY_GIF) |
| &ngx_http_empty_gif_module, |
| #endif |
| #if (NGX_HTTP_BROWSER) |
| &ngx_http_browser_module, |
| #endif |
| #if (NGX_HTTP_SECURE_LINK) |
| &ngx_http_secure_link_module, |
| #endif |
| #if 0 |
| &ngx_http_degradation_module, |
| #endif |
| #if (NGX_HTTP_FLV) |
| &ngx_http_flv_module, |
| #endif |
| #if (NGX_HTTP_MP4) |
| &ngx_http_mp4_module, |
| #endif |
| #if (NGX_HTTP_UPSTREAM_HASH) |
| &ngx_http_upstream_hash_module, |
| #endif |
| #if (NGX_HTTP_UPSTREAM_IP_HASH) |
| &ngx_http_upstream_ip_hash_module, |
| #endif |
| #if (NGX_HTTP_UPSTREAM_LEAST_CONN) |
| &ngx_http_upstream_least_conn_module, |
| #endif |
| #if (NGX_HTTP_UPSTREAM_RANDOM) |
| &ngx_http_upstream_random_module, |
| #endif |
| #if (NGX_HTTP_UPSTREAM_KEEPALIVE) |
| &ngx_http_upstream_keepalive_module, |
| #endif |
| #if (NGX_HTTP_UPSTREAM_ZONE) |
| &ngx_http_upstream_zone_module, |
| #endif |
| #if (NGX_HTTP_STUB_STATUS) |
| &ngx_http_stub_status_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_write_filter_module, |
| &ngx_http_header_filter_module, |
| &ngx_http_chunked_filter_module, |
| #endif |
| #if (NGX_HTTP_V2) |
| &ngx_http_v2_filter_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_range_header_filter_module, |
| #endif |
| #if (NGX_HTTP_GZIP_FILTER) |
| &ngx_http_gzip_filter_module, |
| #endif |
| #if (NGX_HTTP_BROTLI_FILTER) |
| &ngx_http_brotli_filter_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_postpone_filter_module, |
| #endif |
| #if (NGX_HTTP_SSI) |
| &ngx_http_ssi_filter_module, |
| #endif |
| #if (NGX_HTTP_CHARSET) |
| &ngx_http_charset_filter_module, |
| #endif |
| #if 0 |
| &ngx_http_xslt_filter_module, |
| &ngx_http_image_filter_module, |
| #endif |
| #if (NGX_HTTP_SUB) |
| &ngx_http_sub_filter_module, |
| #endif |
| #if (NGX_HTTP_ADDITION) |
| &ngx_http_addition_filter_module, |
| #endif |
| #if (NGX_HTTP_GUNZIP) |
| &ngx_http_gunzip_filter_module, |
| #endif |
| #if (NGX_HTTP_USERID) |
| &ngx_http_userid_filter_module, |
| #endif |
| #if (NGX_HTTP) |
| &ngx_http_headers_filter_module, |
| &ngx_http_copy_filter_module, |
| &ngx_http_range_body_filter_module, |
| &ngx_http_not_modified_filter_module, |
| #endif |
| #if (NGX_HTTP_SLICE) |
| &ngx_http_slice_filter_module, |
| #endif |
| |
| #if (NGX_MAIL) |
| &ngx_mail_module, |
| &ngx_mail_core_module, |
| #endif |
| #if (NGX_MAIL_SSL) |
| &ngx_mail_ssl_module, |
| #endif |
| #if (NGX_MAIL_POP3) |
| &ngx_mail_pop3_module, |
| #endif |
| #if (NGX_MAIL_IMAP) |
| &ngx_mail_imap_module, |
| #endif |
| #if (NGX_MAIL_SMTP) |
| &ngx_mail_smtp_module, |
| #endif |
| #if (NGX_MAIL) |
| &ngx_mail_auth_http_module, |
| &ngx_mail_proxy_module, |
| &ngx_mail_realip_module, |
| #endif |
| |
| #if (NGX_STREAM) |
| &ngx_stream_module, |
| &ngx_stream_core_module, |
| &ngx_stream_log_module, |
| &ngx_stream_proxy_module, |
| &ngx_stream_upstream_module, |
| &ngx_stream_write_filter_module, |
| #endif |
| #if (NGX_STREAM_SSL) |
| &ngx_stream_ssl_module, |
| #endif |
| #if (NGX_STREAM_REALIP) |
| &ngx_stream_realip_module, |
| #endif |
| #if (NGX_STREAM_LIMIT_CONN) |
| &ngx_stream_limit_conn_module, |
| #endif |
| #if (NGX_STREAM_ACCESS) |
| &ngx_stream_access_module, |
| #endif |
| #if (NGX_STREAM_GEO) |
| &ngx_stream_geo_module, |
| #endif |
| #if (NGX_STREAM_MAP) |
| &ngx_stream_map_module, |
| #endif |
| #if (NGX_STREAM_SPLIT_CLIENTS) |
| &ngx_stream_split_clients_module, |
| #endif |
| #if (NGX_STREAM_RETURN) |
| &ngx_stream_return_module, |
| #endif |
| #if (NGX_STREAM_SET) |
| &ngx_stream_set_module, |
| #endif |
| #if (NGX_STREAM_UPSTREAM_HASH) |
| &ngx_stream_upstream_hash_module, |
| #endif |
| #if (NGX_STREAM_UPSTREAM_LEAST_CONN) |
| &ngx_stream_upstream_least_conn_module, |
| #endif |
| #if (NGX_STREAM_UPSTREAM_RANDOM) |
| &ngx_stream_upstream_random_module, |
| #endif |
| #if (NGX_STREAM_UPSTREAM_ZONE) |
| &ngx_stream_upstream_zone_module, |
| #endif |
| #if (NGX_STREAM_SSL_PREREAD) |
| &ngx_stream_ssl_preread_module, |
| #endif |
| |
| #if 0 |
| &ngx_google_perftools_module, |
| #endif |
| NULL |
| }; |
| |
| |
| char *ngx_module_names[] = { |
| "ngx_core_module", |
| "ngx_errlog_module", |
| "ngx_conf_module", |
| #if (NGX_SSL) |
| "ngx_openssl_module", |
| #endif |
| #if (NGX_PCRE) |
| "ngx_regex_module", |
| #endif |
| "ngx_events_module", |
| "ngx_event_core_module", |
| #if (NGX_HAVE_EPOLL) |
| "ngx_epoll_module", |
| #endif |
| #if (NGX_HAVE_KQUEUE) |
| "ngx_kqueue_module", |
| #endif |
| #if (NGX_HAVE_SELECT) |
| "ngx_select_module", |
| #endif |
| #if (NGX_HAVE_POLL) |
| "ngx_poll_module", |
| #endif |
| #if (NGX_THREADS) |
| "ngx_thread_pool_module", |
| #endif |
| |
| #if (NGX_HTTP) |
| "ngx_http_module", |
| "ngx_http_core_module", |
| "ngx_http_log_module", |
| "ngx_http_upstream_module", |
| #endif |
| #if (NGX_HTTP_V2) |
| "ngx_http_v2_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_static_module", |
| #endif |
| #if (NGX_HTTP_GZIP_STATIC) |
| "ngx_http_gzip_static_module", |
| #endif |
| #if (NGX_HTTP_BROTLI_STATIC) |
| "ngx_http_brotli_static_module", |
| #endif |
| #if (NGX_HTTP_DAV) |
| "ngx_http_dav_module", |
| #endif |
| #if (NGX_HTTP_AUTOINDEX) |
| "ngx_http_autoindex_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_index_module", |
| #endif |
| #if (NGX_HTTP_RANDOM_INDEX) |
| "ngx_http_random_index_module", |
| #endif |
| #if (NGX_HTTP_MIRROR) |
| "ngx_http_mirror_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_try_files_module", |
| #endif |
| #if (NGX_HTTP_AUTH_REQUEST) |
| "ngx_http_auth_request_module", |
| #endif |
| #if (NGX_HTTP_AUTH_BASIC) |
| "ngx_http_auth_basic_module", |
| #endif |
| #if (NGX_HTTP_ACCESS) |
| "ngx_http_access_module", |
| #endif |
| #if (NGX_HTTP_LIMIT_CONN) |
| "ngx_http_limit_conn_module", |
| #endif |
| #if (NGX_HTTP_LIMIT_REQ) |
| "ngx_http_limit_req_module", |
| #endif |
| #if (NGX_HTTP_REALIP) |
| "ngx_http_realip_module", |
| #endif |
| #if (NGX_HTTP_GEO) |
| "ngx_http_geo_module", |
| #endif |
| #if 0 |
| "ngx_http_geoip_module", |
| #endif |
| #if (NGX_HTTP_MAP) |
| "ngx_http_map_module", |
| #endif |
| #if (NGX_HTTP_SPLIT_CLIENTS) |
| "ngx_http_split_clients_module", |
| #endif |
| #if (NGX_HTTP_REFERER) |
| "ngx_http_referer_module", |
| #endif |
| #if (NGX_HTTP_REWRITE) |
| "ngx_http_rewrite_module", |
| #endif |
| #if (NGX_HTTP_SSL) |
| "ngx_http_ssl_module", |
| #endif |
| #if (NGX_HTTP_PROXY) |
| "ngx_http_proxy_module", |
| #endif |
| #if (NGX_HTTP_FASTCGI) |
| "ngx_http_fastcgi_module", |
| #endif |
| #if (NGX_HTTP_UWSGI) |
| "ngx_http_uwsgi_module", |
| #endif |
| #if (NGX_HTTP_SCGI) |
| "ngx_http_scgi_module", |
| #endif |
| #if (NGX_HTTP_GRPC) |
| "ngx_http_grpc_module", |
| #endif |
| #if 0 |
| "ngx_http_perl_module", |
| #endif |
| #if (NGX_HTTP_MEMCACHED) |
| "ngx_http_memcached_module", |
| #endif |
| #if (NGX_HTTP_EMPTY_GIF) |
| "ngx_http_empty_gif_module", |
| #endif |
| #if (NGX_HTTP_BROWSER) |
| "ngx_http_browser_module", |
| #endif |
| #if (NGX_HTTP_SECURE_LINK) |
| "ngx_http_secure_link_module", |
| #endif |
| #if 0 |
| "ngx_http_degradation_module", |
| #endif |
| #if (NGX_HTTP_FLV) |
| "ngx_http_flv_module", |
| #endif |
| #if (NGX_HTTP_MP4) |
| "ngx_http_mp4_module", |
| #endif |
| #if (NGX_HTTP_UPSTREAM_HASH) |
| "ngx_http_upstream_hash_module", |
| #endif |
| #if (NGX_HTTP_UPSTREAM_IP_HASH) |
| "ngx_http_upstream_ip_hash_module", |
| #endif |
| #if (NGX_HTTP_UPSTREAM_LEAST_CONN) |
| "ngx_http_upstream_least_conn_module", |
| #endif |
| #if (NGX_HTTP_UPSTREAM_RANDOM) |
| "ngx_http_upstream_random_module", |
| #endif |
| #if (NGX_HTTP_UPSTREAM_KEEPALIVE) |
| "ngx_http_upstream_keepalive_module", |
| #endif |
| #if (NGX_HTTP_UPSTREAM_ZONE) |
| "ngx_http_upstream_zone_module", |
| #endif |
| #if (NGX_HTTP_STUB_STATUS) |
| "ngx_http_stub_status_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_write_filter_module", |
| "ngx_http_header_filter_module", |
| "ngx_http_chunked_filter_module", |
| #endif |
| #if (NGX_HTTP_V2) |
| "ngx_http_v2_filter_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_range_header_filter_module", |
| #endif |
| #if (NGX_HTTP_GZIP_FILTER) |
| "ngx_http_gzip_filter_module", |
| #endif |
| #if (NGX_HTTP_BROTLI_FILTER) |
| "ngx_http_brotli_filter_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_postpone_filter_module", |
| #endif |
| #if (NGX_HTTP_SSI) |
| "ngx_http_ssi_filter_module", |
| #endif |
| #if (NGX_HTTP_CHARSET) |
| "ngx_http_charset_filter_module", |
| #endif |
| #if 0 |
| "ngx_http_xslt_filter_module", |
| "ngx_http_image_filter_module", |
| #endif |
| #if (NGX_HTTP_SUB) |
| "ngx_http_sub_filter_module", |
| #endif |
| #if (NGX_HTTP_ADDITION) |
| "ngx_http_addition_filter_module", |
| #endif |
| #if (NGX_HTTP_GUNZIP) |
| "ngx_http_gunzip_filter_module", |
| #endif |
| #if (NGX_HTTP_USERID) |
| "ngx_http_userid_filter_module", |
| #endif |
| #if (NGX_HTTP) |
| "ngx_http_headers_filter_module", |
| "ngx_http_copy_filter_module", |
| "ngx_http_range_body_filter_module", |
| "ngx_http_not_modified_filter_module", |
| #endif |
| #if (NGX_HTTP_SLICE) |
| "ngx_http_slice_filter_module", |
| #endif |
| |
| #if (NGX_MAIL) |
| "ngx_mail_module", |
| "ngx_mail_core_module", |
| #endif |
| #if (NGX_MAIL_SSL) |
| "ngx_mail_ssl_module", |
| #endif |
| #if (NGX_MAIL_POP3) |
| "ngx_mail_pop3_module", |
| #endif |
| #if (NGX_MAIL_IMAP) |
| "ngx_mail_imap_module", |
| #endif |
| #if (NGX_MAIL_SMTP) |
| "ngx_mail_smtp_module", |
| #endif |
| #if (NGX_MAIL) |
| "ngx_mail_auth_http_module", |
| "ngx_mail_proxy_module", |
| "ngx_mail_realip_module", |
| #endif |
| |
| #if (NGX_STREAM) |
| "ngx_stream_module", |
| "ngx_stream_core_module", |
| "ngx_stream_log_module", |
| "ngx_stream_proxy_module", |
| "ngx_stream_upstream_module", |
| "ngx_stream_write_filter_module", |
| #endif |
| #if (NGX_STREAM_SSL) |
| "ngx_stream_ssl_module", |
| #endif |
| #if (NGX_STREAM_REALIP) |
| "ngx_stream_realip_module", |
| #endif |
| #if (NGX_STREAM_LIMIT_CONN) |
| "ngx_stream_limit_conn_module", |
| #endif |
| #if (NGX_STREAM_ACCESS) |
| "ngx_stream_access_module", |
| #endif |
| #if (NGX_STREAM_GEO) |
| "ngx_stream_geo_module", |
| #endif |
| #if (NGX_STREAM_MAP) |
| "ngx_stream_map_module", |
| #endif |
| #if (NGX_STREAM_SPLIT_CLIENTS) |
| "ngx_stream_split_clients_module", |
| #endif |
| #if (NGX_STREAM_RETURN) |
| "ngx_stream_return_module", |
| #endif |
| #if (NGX_STREAM_SET) |
| "ngx_stream_set_module", |
| #endif |
| #if (NGX_STREAM_UPSTREAM_HASH) |
| "ngx_stream_upstream_hash_module", |
| #endif |
| #if (NGX_STREAM_UPSTREAM_LEAST_CONN) |
| "ngx_stream_upstream_least_conn_module", |
| #endif |
| #if (NGX_STREAM_UPSTREAM_RANDOM) |
| "ngx_stream_upstream_random_module", |
| #endif |
| #if (NGX_STREAM_UPSTREAM_ZONE) |
| "ngx_stream_upstream_zone_module", |
| #endif |
| #if (NGX_STREAM_SSL_PREREAD) |
| "ngx_stream_ssl_preread_module", |
| #endif |
| |
| #if 0 |
| "ngx_google_perftools_module", |
| #endif |
| NULL |
| }; |
| |
| |
| void |
| ngx_show_configure_options(void) |
| { |
| ngx_write_stderr("configure arguments:"); |
| |
| #ifdef NGX_PREFIX |
| ngx_write_stderr(" --prefix="); |
| (void) ngx_write_fd(ngx_stderr, NGX_PREFIX, ngx_strlen(NGX_PREFIX) - 1); |
| #endif |
| #ifdef NGX_CONF_PATH |
| ngx_write_stderr(" --conf-path=" NGX_CONF_PATH); |
| #endif |
| #ifdef NGX_ERROR_LOG_PATH |
| ngx_write_stderr(" --error-log-path=" NGX_ERROR_LOG_PATH); |
| #endif |
| #ifdef NGX_PID_PATH |
| ngx_write_stderr(" --pid-path=" NGX_PID_PATH); |
| #endif |
| #ifdef NGX_LOCK_PATH |
| ngx_write_stderr(" --lock-path=" NGX_LOCK_PATH); |
| #endif |
| #ifdef NGX_USER |
| ngx_write_stderr(" --user=" NGX_USER); |
| #endif |
| #ifdef NGX_GROUP |
| ngx_write_stderr(" --group=" NGX_GROUP); |
| #endif |
| |
| #if (NGX_HTTP) |
| #ifdef NGX_HTTP_LOG_PATH |
| ngx_write_stderr(" --http-log-path=" NGX_HTTP_LOG_PATH); |
| #endif |
| #ifdef NGX_HTTP_CLIENT_TEMP_PATH |
| ngx_write_stderr(" --http-client-body-temp-path=" |
| NGX_HTTP_CLIENT_TEMP_PATH); |
| #endif |
| #ifdef NGX_HTTP_FASTCGI_TEMP_PATH |
| ngx_write_stderr(" --http-fastcgi-temp-path=" NGX_HTTP_FASTCGI_TEMP_PATH); |
| #endif |
| #ifdef NGX_HTTP_PROXY_TEMP_PATH |
| ngx_write_stderr(" --http-proxy-temp-path=" NGX_HTTP_PROXY_TEMP_PATH); |
| #endif |
| #ifdef NGX_HTTP_SCGI_TEMP_PATH |
| ngx_write_stderr(" --http-scgi-temp-path=" NGX_HTTP_SCGI_TEMP_PATH); |
| #endif |
| #ifdef NGX_HTTP_UWSGI_TEMP_PATH |
| ngx_write_stderr(" --http-uwsgi-temp-path=" NGX_HTTP_UWSGI_TEMP_PATH); |
| #endif |
| #endif |
| |
| #if (NGX_COMPAT) |
| ngx_write_stderr(" --with-compat"); |
| #endif |
| #if (NGX_DEBUG) |
| ngx_write_stderr(" --with-debug"); |
| #endif |
| #if (NGX_HAVE_FILE_AIO) |
| ngx_write_stderr(" --with-file-aio"); |
| #endif |
| #if (NGX_THREADS) |
| ngx_write_stderr(" --with-threads"); |
| #endif |
| |
| #if (NGX_HAVE_POLL) |
| ngx_write_stderr(" --with-poll_module"); |
| #endif |
| #if (NGX_HAVE_SELECT) |
| ngx_write_stderr(" --with-select_module"); |
| #endif |
| |
| #if (NGX_HTTP) |
| #if (NGX_HTTP_ADDITION) |
| ngx_write_stderr(" --with-http_addition_module"); |
| #endif |
| #if (NGX_HTTP_AUTH_REQUEST) |
| ngx_write_stderr(" --with-http_auth_request_module"); |
| #endif |
| #if (NGX_HTTP_DAV) |
| ngx_write_stderr(" --with-http_dav_module"); |
| #endif |
| #if 0 |
| ngx_write_stderr(" --with-http_degradation_module"); |
| #endif |
| #if (NGX_HTTP_FLV) |
| ngx_write_stderr(" --with-http_flv_module"); |
| #endif |
| #if 0 |
| ngx_write_stderr(" --with-http_geoip_module"); |
| #endif |
| #if (NGX_HTTP_GUNZIP) |
| ngx_write_stderr(" --with-http_gunzip_module"); |
| #endif |
| #if (NGX_HTTP_GZIP_STATIC) |
| ngx_write_stderr(" --with-http_gzip_static_module"); |
| #endif |
| #if 0 |
| ngx_write_stderr(" --with-http_image_filter_module"); |
| #endif |
| #if (NGX_HTTP_MP4) |
| ngx_write_stderr(" --with-http_mp4_module"); |
| #endif |
| #if 0 |
| ngx_write_stderr(" --with-http_perl_module"); |
| #endif |
| #if (NGX_HTTP_RANDOM_INDEX) |
| ngx_write_stderr(" --with-http_random_index_module"); |
| #endif |
| #if (NGX_HTTP_REALIP) |
| ngx_write_stderr(" --with-http_realip_module"); |
| #endif |
| #if (NGX_HTTP_SECURE_LINK) |
| ngx_write_stderr(" --with-http_secure_link_module"); |
| #endif |
| #if (NGX_HTTP_SLICE) |
| ngx_write_stderr(" --with-http_slice_module"); |
| #endif |
| #if (NGX_HTTP_SSL) |
| ngx_write_stderr(" --with-http_ssl_module"); |
| #endif |
| #if (NGX_HTTP_STUB_STATUS) |
| ngx_write_stderr(" --with-http_stub_status_module"); |
| #endif |
| #if (NGX_HTTP_SUB) |
| ngx_write_stderr(" --with-http_sub_module"); |
| #endif |
| #if (NGX_HTTP_V2) |
| ngx_write_stderr(" --with-http_v2_module"); |
| #endif |
| #if 0 |
| ngx_write_stderr(" --with-http_xslt_module"); |
| #endif |
| #if !(NGX_HTTP_ACCESS) |
| ngx_write_stderr(" --without-http_access_module"); |
| #endif |
| #if !(NGX_HTTP_AUTH_BASIC) |
| ngx_write_stderr(" --without-http_auth_basic_module"); |
| #endif |
| #if !(NGX_HTTP_AUTOINDEX) |
| ngx_write_stderr(" --without-http_autoindex_module"); |
| #endif |
| #if !(NGX_HTTP_BROWSER) |
| ngx_write_stderr(" --without-http_browser_module"); |
| #endif |
| #if !(NGX_HTTP_CACHE) |
| ngx_write_stderr(" --without-http-cache"); |
| #endif |
| #if !(NGX_HTTP_CHARSET) |
| ngx_write_stderr(" --without-http_charset_module"); |
| #endif |
| #if !(NGX_HTTP_EMPTY_GIF) |
| ngx_write_stderr(" --without-http_empty_gif_module"); |
| #endif |
| #if !(NGX_HTTP_FASTCGI) |
| ngx_write_stderr(" --without-http_fastcgi_module"); |
| #endif |
| #if !(NGX_HTTP_GEO) |
| ngx_write_stderr(" --without-http_geo_module"); |
| #endif |
| #if !(NGX_HTTP_GRPC) |
| ngx_write_stderr(" --without-http_grpc_module"); |
| #endif |
| #if !(NGX_HTTP_GZIP_FILTER) |
| ngx_write_stderr(" --without-http_gzip_module"); |
| #endif |
| #if !(NGX_HTTP_LIMIT_CONN) |
| ngx_write_stderr(" --without-http_limit_conn_module"); |
| #endif |
| #if !(NGX_HTTP_LIMIT_REQ) |
| ngx_write_stderr(" --without-http_limit_req_module"); |
| #endif |
| #if !(NGX_HTTP_MAP) |
| ngx_write_stderr(" --without-http_map_module"); |
| #endif |
| #if !(NGX_HTTP_MEMCACHED) |
| ngx_write_stderr(" --without-http_memcached_module"); |
| #endif |
| #if !(NGX_HTTP_MIRROR) |
| ngx_write_stderr(" --without-http_mirror_module"); |
| #endif |
| #if !(NGX_HTTP_PROXY) |
| ngx_write_stderr(" --without-http_proxy_module"); |
| #endif |
| #if !(NGX_HTTP_REFERER) |
| ngx_write_stderr(" --without-http_referer_module"); |
| #endif |
| #if !(NGX_HTTP_REWRITE) |
| ngx_write_stderr(" --without-http_rewrite_module"); |
| #endif |
| #if !(NGX_HTTP_SCGI) |
| ngx_write_stderr(" --without-http_scgi_module"); |
| #endif |
| #if !(NGX_HTTP_SPLIT_CLIENTS) |
| ngx_write_stderr(" --without-http_split_clients_module"); |
| #endif |
| #if !(NGX_HTTP_SSI) |
| ngx_write_stderr(" --without-http_ssi_module"); |
| #endif |
| #if !(NGX_HTTP_UPSTREAM_HASH) |
| ngx_write_stderr(" --without-http_upstream_hash_module"); |
| #endif |
| #if !(NGX_HTTP_UPSTREAM_IP_HASH) |
| ngx_write_stderr(" --without-http_upstream_ip_hash_module"); |
| #endif |
| #if !(NGX_HTTP_UPSTREAM_KEEPALIVE) |
| ngx_write_stderr(" --without-http_upstream_keepalive_module"); |
| #endif |
| #if !(NGX_HTTP_UPSTREAM_LEAST_CONN) |
| ngx_write_stderr(" --without-http_upstream_least_conn_module"); |
| #endif |
| #if !(NGX_HTTP_UPSTREAM_RANDOM) |
| ngx_write_stderr(" --without-http_upstream_random_module"); |
| #endif |
| #if !(NGX_HTTP_UPSTREAM_ZONE) |
| ngx_write_stderr(" --without-http_upstream_zone_module"); |
| #endif |
| #if !(NGX_HTTP_USERID) |
| ngx_write_stderr(" --without-http_userid_module"); |
| #endif |
| #if !(NGX_HTTP_UWSGI) |
| ngx_write_stderr(" --without-http_uwsgi_module"); |
| #endif |
| #else |
| ngx_write_stderr(" --without-http"); |
| #endif |
| |
| #if (NGX_MAIL) |
| ngx_write_stderr(" --with-mail"); |
| #if (NGX_MAIL_SSL) |
| ngx_write_stderr(" --with-mail_ssl_module"); |
| #endif |
| #if !(NGX_MAIL_IMAP) |
| ngx_write_stderr(" --without-mail_imap_module"); |
| #endif |
| #if !(NGX_MAIL_POP3) |
| ngx_write_stderr(" --without-mail_pop3_module"); |
| #endif |
| #if !(NGX_MAIL_SMTP) |
| ngx_write_stderr(" --without-mail_smtp_module"); |
| #endif |
| #endif |
| |
| #if (NGX_STREAM) |
| ngx_write_stderr(" --with-stream"); |
| #if (NGX_STREAM_REALIP) |
| ngx_write_stderr(" --with-stream_realip_module"); |
| #endif |
| #if (NGX_STREAM_SSL) |
| ngx_write_stderr(" --with-stream_ssl_module"); |
| #endif |
| #if (NGX_STREAM_SSL_PREREAD) |
| ngx_write_stderr(" --with-stream_ssl_preread_module"); |
| #endif |
| #if !(NGX_STREAM_ACCESS) |
| ngx_write_stderr(" --without-stream_access_module"); |
| #endif |
| #if !(NGX_STREAM_GEO) |
| ngx_write_stderr(" --without-stream_geo_module"); |
| #endif |
| #if !(NGX_STREAM_LIMIT_CONN) |
| ngx_write_stderr(" --without-stream_limit_conn_module"); |
| #endif |
| #if !(NGX_STREAM_MAP) |
| ngx_write_stderr(" --without-stream_map_module"); |
| #endif |
| #if !(NGX_STREAM_RETURN) |
| ngx_write_stderr(" --without-stream_return_module"); |
| #endif |
| #if !(NGX_STREAM_SET) |
| ngx_write_stderr(" --without-stream_set_module"); |
| #endif |
| #if !(NGX_STREAM_SPLIT_CLIENTS) |
| ngx_write_stderr(" --without-stream_split_clients_module"); |
| #endif |
| #if !(NGX_STREAM_UPSTREAM_HASH) |
| ngx_write_stderr(" --without-stream_upstream_hash_module"); |
| #endif |
| #if !(NGX_STREAM_UPSTREAM_LEAST_CONN) |
| ngx_write_stderr(" --without-stream_upstream_least_conn_module"); |
| #endif |
| #if !(NGX_STREAM_UPSTREAM_RANDOM) |
| ngx_write_stderr(" --without-stream_upstream_random_module"); |
| #endif |
| #if !(NGX_STREAM_UPSTREAM_ZONE) |
| ngx_write_stderr(" --without-stream_upstream_zone_module"); |
| #endif |
| #endif |
| |
| #if 0 |
| ngx_write_stderr(" --with-google_perftools_module"); |
| #endif |
| |
| #if (NGX_SSL) |
| ngx_write_stderr(" --with-openssl=@boringssl"); |
| #endif |
| #if (NGX_PCRE) |
| ngx_write_stderr(" --with-pcre=@pcre"); |
| ngx_write_stderr(" --with-pcre-jit"); |
| #endif |
| #if (NGX_ZLIB) |
| ngx_write_stderr(" --with-zlib=@zlib"); |
| #endif |
| |
| #if (NGX_HTTP_BROTLI_FILTER) |
| ngx_write_stderr(" --add-module=@ngx_brotli//:http_brotli_filter"); |
| #endif |
| #if (NGX_HTTP_BROTLI_STATIC) |
| ngx_write_stderr(" --add-module=@ngx_brotli//:http_brotli_static"); |
| #endif |
| |
| ngx_write_stderr(NGX_LINEFEED); |
| } |
| |
| |
| #if !(NGX_NO_MAIN) |
| |
| int ngx_cdecl |
| main(int argc, char *const *argv) |
| { |
| return ngx_main(argc, argv); |
| } |
| |
| #endif |