[BUG] ngx_http_sub_filter_module can not handle ambiguous patterns

Maxim Dounin mdounin at mdounin.ru
Fri Dec 28 13:34:43 UTC 2012


Hello!

On Thu, Dec 27, 2012 at 09:08:10PM -0800, agentzh wrote:

> Hello!
> 
> I found an issue in the standard ngx_http_sub_filter_module shipped
> with the Nginx core while playing with it tonight.
> 
> The minimal use case to reproduce this issue is as follows:
> 
>     location = /t {
>         default_type text/html;
>         return 200 ababac;
>         sub_filter abac X;
>     }
> 
> The output of location = /t is "ababac" instead of "abX".
> ngx_http_sub_filter_module just fails to find a match when it really
> should.
> 
> It seems that the parser in this module is just too simple and its
> state machine does not take into account the potential ambiguity
> involved in the user patterns.
> 
> If this limitation is by design, then IMHO it should be mentioned in
> the official documentation:
> 
>     http://nginx.org/en/docs/http/ngx_http_sub_module.html

It's a bug, and it's expected to be fixed soon.

-- 
Maxim Dounin
http://nginx.com/support.html



More information about the nginx-devel mailing list