Geo: ensure that default entry is always present.

If 0.0.0.0/32 entry was present and there was no explicit "default",
we failed to add an empty string as a default value.
This commit is contained in:
Ruslan Ermilov 2012-12-21 08:46:52 +00:00
parent a0caa70c98
commit f1819242fc

View File

@ -453,16 +453,14 @@ ngx_http_geo_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
ngx_destroy_pool(ctx.temp_pool);
ngx_destroy_pool(pool);
if (ngx_radix32tree_find(ctx.tree, 0) != NGX_RADIX_NO_VALUE) {
return rv;
}
if (ngx_radix32tree_insert(ctx.tree, 0, 0,
(uintptr_t) &ngx_http_variable_null_value)
== NGX_ERROR)
{
return NGX_CONF_ERROR;
}
/* NGX_BUSY is okay (default was set explicitly) */
}
return rv;