Hello!
On Fri, Feb 17, 2012 at 12:43:39PM +0400, Max wrote:
>
> 16 февраля 2012, 14:08 от Maxim Dounin <mdounin@mdounin.ru>:
> > On Thu, Feb 16, 2012 at 01:08:58PM +0400, Max wrote:
> > > the value of the NGX_HTTP_CACHE_SCARCE cache status is defined in
> > > nginx-1.1.15/src/http/ngx_http_cache.h, but unlike the other cache
> > > status strings, it's missing from
> > nginx-1.1.15/src/http/ngx_http_file_cache.c.
> > >
> > > The function ngx_http_upstream_cache_status() in
> > > nginx-1.1.15/src/http/ngx_http_upstream.c references the status
> > > strings directly as ngx_http_cache_status[n].len, so with the
> > > SCARCE cache status string missing, this is a segmentation violation
> > > waiting to happen.
> > >
> > > Here's the patch to fix the problem:
> > >
> > > <patch>
> > > --- src/http/ngx_http_file_cache.c.orig 2012-02-16 00:18:21.000000000 -0800
> > > +++ src/http/ngx_http_file_cache.c 2012-02-16 00:25:00.000000000 -0800
> > > @@ -53,7 +53,8 @@
> > > ngx_string("EXPIRED"),
> > > ngx_string("STALE"),
> > > ngx_string("UPDATING"),
> > > - ngx_string("HIT")
> > > + ngx_string("HIT"),
> > > + ngx_string("SCARCE")
> > > };
> > > ---</patch>
> >
> > The NGX_HTTP_CACHE_SCARCE value can't appear in u->cache_status,
> > and hence there is no real problem. It's a special value used by
> > cache to inform upstream that there is no cached response (i.e.
> > MISS cache status) and cacheing should be enabled due to min_uses
> > preventing it.
>
> You mean DISABLED due to file cache node exists being 0 or min_uses
> being set too high?
Yep, s/should/should not/.
Maxim Dounin
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx