Welcome! Log In Create A New Profile

Advanced

[nginx] svn commit: r4769 - in trunk/src: core http

Anonymous User
July 29, 2012 04:00PM
Author: ru
Date: 2012-07-29 19:59:06 +0000 (Sun, 29 Jul 2012)
New Revision: 4769
URL: http://trac.nginx.org/nginx/changeset/4769/nginx

Log:
Improved diagnostics when a directive is specified in the wrong context.


Modified:
trunk/src/core/ngx_conf_file.c
trunk/src/core/ngx_conf_file.h
trunk/src/http/ngx_http_core_module.c

Modified: trunk/src/core/ngx_conf_file.c
===================================================================
--- trunk/src/core/ngx_conf_file.c 2012-07-29 19:45:30 UTC (rev 4768)
+++ trunk/src/core/ngx_conf_file.c 2012-07-29 19:59:06 UTC (rev 4769)
@@ -282,24 +282,16 @@
{
char *rv;
void *conf, **confp;
- ngx_uint_t i, multi;
+ ngx_uint_t i, found;
ngx_str_t *name;
ngx_command_t *cmd;

name = cf->args->elts;

- multi = 0;
+ found = 0;

for (i = 0; ngx_modules[i]; i++) {

- /* look up the directive in the appropriate modules */
-
- if (ngx_modules[i]->type != NGX_CONF_MODULE
- && ngx_modules[i]->type != cf->module_type)
- {
- continue;
- }
-
cmd = ngx_modules[i]->commands;
if (cmd == NULL) {
continue;
@@ -315,16 +307,18 @@
continue;
}

+ found = 1;

+ if (ngx_modules[i]->type != NGX_CONF_MODULE
+ && ngx_modules[i]->type != cf->module_type)
+ {
+ continue;
+ }
+
/* is the directive's location right ? */

if (!(cmd->type & cf->cmd_type)) {
- if (cmd->type & NGX_CONF_MULTI) {
- multi = 1;
- continue;
- }
-
- goto not_allowed;
+ continue;
}

if (!(cmd->type & NGX_CONF_BLOCK) && last != NGX_OK) {
@@ -408,17 +402,16 @@
}
}

- if (multi == 0) {
+ if (found) {
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
- "unknown directive \"%s\"", name->data);
+ "\"%s\" directive is not allowed here", name->data);

return NGX_ERROR;
}

-not_allowed:
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "unknown directive \"%s\"", name->data);

- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
- "\"%s\" directive is not allowed here", name->data);
return NGX_ERROR;

invalid:

Modified: trunk/src/core/ngx_conf_file.h
===================================================================
--- trunk/src/core/ngx_conf_file.h 2012-07-29 19:45:30 UTC (rev 4768)
+++ trunk/src/core/ngx_conf_file.h 2012-07-29 19:59:06 UTC (rev 4769)
@@ -45,7 +45,7 @@
#define NGX_CONF_ANY 0x00000400
#define NGX_CONF_1MORE 0x00000800
#define NGX_CONF_2MORE 0x00001000
-#define NGX_CONF_MULTI 0x00002000
+#define NGX_CONF_MULTI 0x00000000 /* compatibility */

#define NGX_DIRECT_CONF 0x00010000


Modified: trunk/src/http/ngx_http_core_module.c
===================================================================
--- trunk/src/http/ngx_http_core_module.c 2012-07-29 19:45:30 UTC (rev 4768)
+++ trunk/src/http/ngx_http_core_module.c 2012-07-29 19:59:06 UTC (rev 4769)
@@ -222,7 +222,7 @@
NULL },

{ ngx_string("server"),
- NGX_HTTP_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_MULTI|NGX_CONF_NOARGS,
+ NGX_HTTP_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS,
ngx_http_core_server,
0,
0,

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] svn commit: r4769 - in trunk/src: core http

Anonymous User 1107 July 29, 2012 04:00PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 262
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready