Hello! The $invalid_referer variable is always created with the NGX_HTTP_VAR_NOHASH flag in ngx_http_referer_module, which unfortunately prohibits its use in embedded dynamic languages like Perl and Lua (through the ngx_http_get_variable function).
Below attaches a patch that removes this flag.
This issue was originally reported by Fry-kun.
Thanks!
-agentzh
--- nginx-1.5.0/src/http/modules/ngx_http_referer_module.c 2013-05-06
03:27:10.000000000 -0700
+++ nginx-1.5.0-patched/src/http/modules/ngx_http_referer_module.c
2013-05-21 16:04:49.340286168 -0700
@@ -396,8 +396,7 @@ ngx_http_valid_referers(ngx_conf_t *cf,
ngx_str_set(&name, "invalid_referer");
- var = ngx_http_add_variable(cf, &name,
- NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOHASH);
+ var = ngx_http_add_variable(cf, &name, NGX_HTTP_VAR_CHANGEABLE);
if (var == NULL) {
return NGX_CONF_ERROR;
}
nginx-1.5.0-invalid_referer_hash.patch
Description: Binary data
_______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
