Esempio n. 1
0
isc_result_t
new_ldap_cache(isc_mem_t *mctx, ldap_cache_t **cachep,
	       const char * const *argv)
{
	isc_result_t result;
	ldap_cache_t *cache = NULL;
	unsigned int cache_ttl;
	setting_t cache_settings[] = {
		{ "cache_ttl", default_uint(120) },
		end_of_settings
	};

	REQUIRE(cachep != NULL && *cachep == NULL);

	cache_settings[0].target = &cache_ttl;
	CHECK(set_settings(cache_settings, argv));

	CHECKED_MEM_GET_PTR(mctx, cache);
	ZERO_PTR(cache);
	isc_mem_attach(mctx, &cache->mctx);

	isc_interval_set(&cache->cache_ttl, cache_ttl, 0);

	if (cache_ttl) {
		CHECK(dns_rbt_create(mctx, cache_node_deleter, NULL,
				     &cache->rbt));
		CHECK(isc_mutex_init(&cache->mutex));
	}

	*cachep = cache;
	return ISC_R_SUCCESS;

cleanup:
	if (cache != NULL)
		destroy_ldap_cache(&cache);

	return result;
}
Esempio n. 2
0
#include <string.h>
#include <strings.h>

#include "log.h"
#include "settings.h"
#include "str.h"
#include "util.h"
#include "types.h"
#include "ldap_helper.h"
#include "zone_register.h"

isc_boolean_t verbose_checks = ISC_FALSE; /* log each failure in CHECK() macro */

/** Built-in defaults. */
static const setting_t settings_default[] = {
	{ "default_ttl",		default_uint(86400)		}, /* Seconds */
	{ "uri",			no_default_string		}, /* User have to set this */
	{ "connections",		default_uint(2)			},
	{ "reconnect_interval",		default_uint(60)		},
	{ "zone_refresh",		default_string("")		}, /* No longer supported */
	{ "timeout",			default_uint(10)		},
	{ "cache_ttl",			default_string("")		}, /* No longer supported */
	{ "timeout",			default_uint(10)		},
	{ "base",	 		no_default_string		}, /* User have to set this */
	{ "auth_method",		default_string("none")		},
	{ "bind_dn",			default_string("")		},
	{ "password",			default_string("")		},
	{ "krb5_principal",		default_string("")		},
	{ "sasl_mech",			default_string("GSSAPI")	},
	{ "sasl_user",			default_string("")		},
	{ "sasl_auth_name",		default_string("")		},