nginx-0.0.1-2002-12-27-19:22:50 import
diff --git a/src/core/nginx.c b/src/core/nginx.c index 17a3d10..0a0233f 100644 --- a/src/core/nginx.c +++ b/src/core/nginx.c
@@ -2,6 +2,7 @@ #include <nginx.h> #include <ngx_config.h> + #include <ngx_string.h> #include <ngx_errno.h> #include <ngx_time.h> @@ -12,6 +13,7 @@ #include <ngx_server.h> #include <ngx_connection.h> #include <ngx_listen.h> +#include <ngx_conf_file.h> /* STUB */ #include <ngx_http.h> @@ -62,6 +64,7 @@ ngx_create_array(ngx_pool, 10, sizeof(ngx_str_t)), 1); conf.pool = ngx_pool; conf.log = &ngx_log; + conf.type = NGX_CORE_MODULE_TYPE; conf_file.len = sizeof("nginx.conf") - 1; conf_file.data = "nginx.conf";
diff --git a/src/core/ngx_config_file.c b/src/core/ngx_conf_file.c similarity index 98% rename from src/core/ngx_config_file.c rename to src/core/ngx_conf_file.c index 79d7218..6b77121 100644 --- a/src/core/ngx_config_file.c +++ b/src/core/ngx_conf_file.c
@@ -1,7 +1,7 @@ #include <ngx_config.h> #include <ngx_core.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> static int argument_number[] = { @@ -75,7 +75,9 @@ name = (ngx_str_t *) cf->args->elts; for (i = 0; ngx_modules[i]; i++) { - if (cf->type != ngx_modules[i]->type) { + if (ngx_modules[i]->type != NULL + && ngx_modules[i]->type != cf->type) + { continue; } @@ -88,7 +90,9 @@ if (name->len == cmd->name.len && ngx_strcmp(name->data, cmd->name.data) == 0) { + ngx_log_debug(cf->log, "command '%s'" _ cmd->name.data); + cmd->set(cf, cmd, NULL); }
diff --git a/src/core/ngx_config_file.h b/src/core/ngx_conf_file.h similarity index 76% rename from src/core/ngx_config_file.h rename to src/core/ngx_conf_file.h index 97a4d2a..cab61a3 100644 --- a/src/core/ngx_config_file.h +++ b/src/core/ngx_conf_file.h
@@ -1,5 +1,5 @@ -#ifndef _NGX_HTTP_CONFIG_FILE_H_INCLUDED_ -#define _NGX_HTTP_CONFIG_FILE_H_INCLUDED_ +#ifndef _NGX_HTTP_CONF_FILE_H_INCLUDED_ +#define _NGX_HTTP_CONF_FILE_H_INCLUDED_ #include <ngx_config.h> @@ -12,21 +12,25 @@ #include <ngx_array.h> -#define NGX_CONF_NOARGS 1 -#define NGX_CONF_TAKE1 2 -#define NGX_CONF_TAKE2 4 +#define NGX_CONF_NOARGS 1 +#define NGX_CONF_TAKE1 2 +#define NGX_CONF_TAKE2 4 +#define NGX_CONF_ARGS_NUMBER 0x0ffff +#define NGX_CONF_ANY 0x10000 +#define NGX_CONF_BLOCK 0x20000 -#define NGX_CONF_ANY 0x10000 -#define NGX_CONF_BLOCK 0x20000 -#define NGX_CONF_UNSET -1 +#define NGX_CONF_UNSET -1 +#define NGX_CONF_ERROR (char *) -1 + #define NGX_CONF_BLOCK_DONE 1 #define NGX_CONF_FILE_DONE 2 -#define NGX_CONF_ERROR (char *) -1 +#define NGX_CORE_MODULE_TYPE 0x45524f43 /* "CORE" */ + typedef struct ngx_conf_s ngx_conf_t; @@ -80,4 +84,4 @@ extern ngx_module_t *ngx_modules[]; -#endif _NGX_HTTP_CONFIG_FILE_H_INCLUDED_ +#endif _NGX_HTTP_CONF_FILE_H_INCLUDED_
diff --git a/src/core/ngx_modules.c b/src/core/ngx_modules.c index ad9372b..e07c4e6 100644 --- a/src/core/ngx_modules.c +++ b/src/core/ngx_modules.c
@@ -1,7 +1,7 @@ #include <ngx_config.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> extern ngx_module_t ngx_http_header_filter_module;
diff --git a/src/http/modules/ngx_http_index_handler.c b/src/http/modules/ngx_http_index_handler.c index faddd74..a858237 100644 --- a/src/http/modules/ngx_http_index_handler.c +++ b/src/http/modules/ngx_http_index_handler.c
@@ -1,10 +1,12 @@ #include <ngx_config.h> + #include <ngx_core.h> #include <ngx_errno.h> #include <ngx_string.h> #include <ngx_files.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> + #include <ngx_http.h> #include <ngx_http_config.h> #include <ngx_http_index_handler.h>
diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h index b6bcfe7..4d41bf2 100644 --- a/src/http/ngx_http.h +++ b/src/http/ngx_http.h
@@ -3,13 +3,14 @@ #include <ngx_config.h> + #include <ngx_types.h> #include <ngx_string.h> #include <ngx_table.h> #include <ngx_hunk.h> #include <ngx_files.h> #include <ngx_connection.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> #define NGX_HTTP_VERSION_10 1000
diff --git a/src/http/ngx_http_config.c b/src/http/ngx_http_config.c index eb09d57..205b41b 100644 --- a/src/http/ngx_http_config.c +++ b/src/http/ngx_http_config.c
@@ -1,7 +1,13 @@ +/* TODO: + ngx_http_conf_ctx_t ctx; on stack or in pool ? */ + + #include <ngx_config.h> + #include <ngx_core.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> + #include <ngx_http.h> #include <ngx_http_core.h> #include <ngx_http_config.h> @@ -38,10 +44,11 @@ ngx_module_t ngx_http_module = { NULL, /* module context */ ngx_http_commands, /* module directives */ - 0, /* module type */ + NGX_CORE_MODULE_TYPE, /* module type */ NULL /* init module */ }; + static ngx_command_t ngx_http_core_commands[] = { {ngx_string("server"), @@ -83,7 +90,7 @@ { int i; ngx_http_module_t *module; - ngx_http_conf_ctx_t *ctx; + ngx_http_conf_ctx_t ctx; for (i = 0; ngx_modules[i]; i++) { if (ngx_modules[i]->type != NGX_HTTP_MODULE_TYPE) { @@ -98,9 +105,9 @@ ngx_pcalloc(cf->pool, sizeof(void *) * ngx_http_max_module), NGX_CONF_ERROR); - ctx->srv_conf = NULL; - ctx->loc_conf = null_loc_conf; - ctx->locations = NULL; + ctx.srv_conf = NULL; + ctx.loc_conf = null_loc_conf; + ctx.locations = NULL; for (i = 0; ngx_modules[i]; i++) { if (ngx_modules[i]->type != NGX_HTTP_MODULE_TYPE) { @@ -116,7 +123,7 @@ } } - cf->ctx = ctx; + cf->ctx = &ctx; cf->type = NGX_HTTP_MODULE_TYPE; return ngx_conf_parse(cf, NULL); }
diff --git a/src/http/ngx_http_core.c b/src/http/ngx_http_core.c index 848dd8e..30d8329 100644 --- a/src/http/ngx_http_core.c +++ b/src/http/ngx_http_core.c
@@ -1,7 +1,9 @@ #include <ngx_config.h> + #include <ngx_core.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> + #include <ngx_http.h> #include <ngx_http_core.h> #include <ngx_http_config.h>
diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c index aab4e52..3e85677 100644 --- a/src/http/ngx_http_header_filter.c +++ b/src/http/ngx_http_header_filter.c
@@ -2,11 +2,13 @@ #include <nginx.h> #include <ngx_config.h> + #include <ngx_core.h> #include <ngx_string.h> #include <ngx_table.h> #include <ngx_hunk.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> + #include <ngx_http.h> #include <ngx_http_write_filter.h>
diff --git a/src/http/ngx_http_output_filter.c b/src/http/ngx_http_output_filter.c index f195845..345a4f1 100644 --- a/src/http/ngx_http_output_filter.c +++ b/src/http/ngx_http_output_filter.c
@@ -1,10 +1,12 @@ #include <ngx_config.h> + #include <ngx_core.h> #include <ngx_files.h> #include <ngx_string.h> #include <ngx_hunk.h> -#include <ngx_config_file.h> +#include <ngx_conf_file.h> + #include <ngx_http.h> #include <ngx_http_config.h> #include <ngx_http_output_filter.h>
diff --git a/src/http/ngx_http_output_filter.h b/src/http/ngx_http_output_filter.h index f409b54..d8df958 100644 --- a/src/http/ngx_http_output_filter.h +++ b/src/http/ngx_http_output_filter.h
@@ -3,6 +3,7 @@ #include <ngx_hunk.h> +#include <ngx_conf_file.h> #include <ngx_http.h>
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c index c4321c7..45f6887 100644 --- a/src/http/ngx_http_write_filter.c +++ b/src/http/ngx_http_write_filter.c
@@ -1,8 +1,12 @@ #include <ngx_config.h> + #include <ngx_core.h> #include <ngx_hunk.h> +#include <ngx_conf_file.h> + #include <ngx_event_write.h> + #include <ngx_http.h> #include <ngx_http_config.h> #include <ngx_http_write_filter.h>