how to clear a cookie value in request object
Michael Ellery
mellery451 at gmail.com
Fri Nov 1 16:41:20 UTC 2013
devs,
I'm looking for advice about how to properly clear a cookie value from the current request so that it will be omitted
from the request when it goes upstream (to proxy). Here's the code I currently have:
static ngx_str_t my_cookie_name = ngx_string("MyMagicCookieName");
ngx_uint_t i;
ngx_table_elt_t **h;
ngx_str_t null_header_value = ngx_null_string;
h = r->headers_in.cookies.elts;
for (i = 0; i < r->headers_in.cookies.nelts; i++) {
if (h[i]->value.len > my_cookie_name.len &&
0 == ngx_strncmp(h[i]->value.data, my_cookie_name.data, my_cookie_name.len))
{
h[i]->value = null_header_value;
break;
}
}
my main concern is leaking memory -- will the nulling of this value cause memory to be leaked? If so, how can I fix this?
A secondary concern is that I believe value can actually contain a list of comma separated of cookie name/vals, although
I've not actually encountered that problem so far. What would be the right way to wipe out only PART of the value data,
if that's indeed what I need to do?
Thanks,
Mike Ellery
More information about the nginx-devel
mailing list