[PATCH] Making $invalid_referer accessible in Perl (and Lua)

Maxim Dounin mdounin at mdounin.ru
Wed May 22 18:54:37 UTC 2013


Hello!

On Tue, May 21, 2013 at 04:29:36PM -0700, agentzh wrote:

> 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;
>      }

Committed, thanks.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



More information about the nginx-devel mailing list