/*
- * $Id: HttpHeaderTools.cc,v 1.28 2001/01/04 21:09:00 wessels Exp $
+ * $Id: HttpHeaderTools.cc,v 1.29 2001/01/11 22:20:45 adrian Exp $
*
* DEBUG: section 66 HTTP Header Tools
* AUTHOR: Alex Rousskov
int
httpHdrMangle(HttpHeaderEntry * e, request_t * request)
{
+ int retval;
+
/* check with anonymizer tables */
header_mangler *hm;
aclCheck_t *checklist;
assert(e);
hm = &Config.header_access[e->id];
- checklist = aclChecklistCreate(hm->access_list,
- request, NULL);
+ checklist = aclChecklistCreate(hm->access_list, request, NULL);
/* aclCheckFast returns 1 for allow. */
if (1 == aclCheckFast(hm->access_list, checklist))
- return 1;
+ retval = 1;
/* It was denied; Do we replace it with something else? */
- if (NULL == hm->replacement)
- return 0;
+ else if (NULL == hm->replacement)
+ retval = 0;
/* yes, we do */
- stringReset(&e->value, hm->replacement);
- return 1;
+ else
+ stringReset(&e->value, hm->replacement);
+ retval = 1;
+
+ aclChecklistFree(checklist);
+ return retval;
}
/* Mangles headers for a list of headers. */