void
externalAclShutdown(void)
{
    external_acl *p;
    for (p = Config.externalAclHelperList; p; p = p->next) {
	helperShutdown(p->helper);
    }
}
示例#2
0
void
refreshCheckShutdown(void)
{
    refresh_check_helper *p = Config.Program.refresh_check;
    if (p) {
	helperShutdown(p->helper);
    }
}
示例#3
0
void
locationRewriteShutdown(void)
{
    if (!locrewriters)
	return;
    helperShutdown(locrewriters);
    if (!shutting_down)
	return;
    helperFree(locrewriters);
    locrewriters = NULL;
}
void
redirectShutdown(void)
{
    if (!redirectors)
        return;
    helperShutdown(redirectors);
    if (!shutting_down)
        return;
    helperFree(redirectors);
    redirectors = NULL;
}
void
authenticateShutdown(void)
{
    if (!authenticators)
	return;
    helperShutdown(authenticators);
    if (!shutting_down)
	return;
    helperFree(authenticators);
    authenticators = NULL;
}
示例#6
0
void
storeurlShutdown(void)
{
    if (!storeurlors)
	return;
    helperShutdown(storeurlors);
    if (!shutting_down)
	return;
    helperFree(storeurlors);
    storeurlors = NULL;
}
示例#7
0
void
dnsShutdown(void)
{
    if (!dnsservers)
	return;
    helperShutdown(dnsservers);
    wordlistDestroy(&dnsservers->cmdline);
    if (!shutting_down)
	return;
    helperFree(dnsservers);
    dnsservers = NULL;
}
示例#8
0
static void
free_refresh_check_helper(void *data)
{
    refresh_check_helper *p = data;
    while (p->format) {
	refresh_check_format *f = p->format;
	p->format = f->next;
	cbdataFree(f);
    }
    wordlistDestroy(&p->cmdline);
    if (p->helper) {
	helperShutdown(p->helper);
	helperFree(p->helper);
	p->helper = NULL;
    }
}
示例#9
0
static void
authBasicDone(void)
{
    if (basicauthenticators)
	helperShutdown(basicauthenticators);
    authbasic_initialised = 0;
    if (!shutting_down)
	return;
    if (basicauthenticators)
	helperFree(basicauthenticators);
    basicauthenticators = NULL;
    if (basic_data_pool) {
	memPoolDestroy(basic_data_pool);
	basic_data_pool = NULL;
    }
    debug(29, 2) ("authBasicDone: Basic authentication Shutdown.\n");
}
示例#10
0
static void
authDigestDone(void)
{
    if (digestauthenticators)
	helperShutdown(digestauthenticators);
    authdigest_initialised = 0;
    if (!shutting_down) {
	authenticateDigestNonceReconfigure();
	return;
    }
    if (digestauthenticators) {
	helperFree(digestauthenticators);
	digestauthenticators = NULL;
    }
    authDigestRequestShutdown();
    authDigestUserShutdown();
    authenticateDigestNonceShutdown();
    debug(29, 2) ("authenticateDigestDone: Digest authentication shut down.\n");
}
static void
free_external_acl(void *data)
{
    external_acl *p = data;
    safe_free(p->name);
    while (p->format) {
	external_acl_format *f = p->format;
	p->format = f->next;
	cbdataFree(f);
    }
    wordlistDestroy(&p->cmdline);
    if (p->helper) {
	helperShutdown(p->helper);
	helperFree(p->helper);
	p->helper = NULL;
    }
    while (p->lru_list.tail)
	external_acl_cache_delete(p, p->lru_list.tail->data);
    if (p->cache)
	hashFreeMemory(p->cache);
}