# HG changeset patch # User Igor Sysoev # Date 1041006170 0 # Node ID 53cd0589226152235201309b5aacbcbdfc194157 # Parent cd035a94e0b6ccd713e72ad1880f5d3770dcb326 nginx-0.0.1-2002-12-27-19:22:50 import diff --git a/src/core/nginx.c b/src/core/nginx.c --- a/src/core/nginx.c +++ b/src/core/nginx.c @@ -2,6 +2,7 @@ #include #include + #include #include #include @@ -12,6 +13,7 @@ #include #include #include +#include /* STUB */ #include @@ -62,6 +64,7 @@ int main(int argc, char *const *argv) 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 rename from src/core/ngx_config_file.c rename to src/core/ngx_conf_file.c --- a/src/core/ngx_config_file.c +++ b/src/core/ngx_conf_file.c @@ -1,7 +1,7 @@ #include #include -#include +#include static int argument_number[] = { @@ -75,7 +75,9 @@ int ngx_conf_parse(ngx_conf_t *cf, ngx_s 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 @@ int ngx_conf_parse(ngx_conf_t *cf, ngx_s 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 rename from src/core/ngx_config_file.h rename to src/core/ngx_conf_file.h --- 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 @@ -12,21 +12,25 @@ #include -#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 @@ char *ngx_conf_set_time_slot(ngx_conf_t 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 --- a/src/core/ngx_modules.c +++ b/src/core/ngx_modules.c @@ -1,7 +1,7 @@ #include -#include +#include 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 --- a/src/http/modules/ngx_http_index_handler.c +++ b/src/http/modules/ngx_http_index_handler.c @@ -1,10 +1,12 @@ #include + #include #include #include #include -#include +#include + #include #include #include diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h --- a/src/http/ngx_http.h +++ b/src/http/ngx_http.h @@ -3,13 +3,14 @@ #include + #include #include #include #include #include #include -#include +#include #define NGX_HTTP_VERSION_10 1000 diff --git a/src/http/ngx_http_config.c b/src/http/ngx_http_config.c --- 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 + #include -#include +#include + #include #include #include @@ -38,10 +44,11 @@ static ngx_command_t ngx_http_commands[ 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 @@ static char *ngx_http_block(ngx_conf_t * { 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 @@ static char *ngx_http_block(ngx_conf_t * 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 @@ static char *ngx_http_block(ngx_conf_t * } } - 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 --- a/src/http/ngx_http_core.c +++ b/src/http/ngx_http_core.c @@ -1,7 +1,9 @@ #include + #include -#include +#include + #include #include #include diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c --- a/src/http/ngx_http_header_filter.c +++ b/src/http/ngx_http_header_filter.c @@ -2,11 +2,13 @@ #include #include + #include #include #include #include -#include +#include + #include #include diff --git a/src/http/ngx_http_output_filter.c b/src/http/ngx_http_output_filter.c --- a/src/http/ngx_http_output_filter.c +++ b/src/http/ngx_http_output_filter.c @@ -1,10 +1,12 @@ #include + #include #include #include #include -#include +#include + #include #include #include diff --git a/src/http/ngx_http_output_filter.h b/src/http/ngx_http_output_filter.h --- a/src/http/ngx_http_output_filter.h +++ b/src/http/ngx_http_output_filter.h @@ -3,6 +3,7 @@ #include +#include #include diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c --- a/src/http/ngx_http_write_filter.c +++ b/src/http/ngx_http_write_filter.c @@ -1,8 +1,12 @@ #include + #include #include +#include + #include + #include #include #include