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>