config_entry
configuration_entry_add_mp_cache_entry(struct configuration_entry *config_entry,
++config_entry->mp_cache_entries_size;
config_entry->mp_cache_entries_size);
if (config_entry->mp_cache_entries_size - 1 > 0) {
config_entry->mp_cache_entries,
(config_entry->mp_cache_entries_size - 1) *
old_mp_entries = config_entry->mp_cache_entries;
config_entry->mp_cache_entries = new_mp_entries;
qsort(config_entry->mp_cache_entries,
config_entry->mp_cache_entries_size,
struct configuration_entry *config_entry, const char *mp_name)
result = bsearch(mp_name, config_entry->mp_cache_entries,
config_entry->mp_cache_entries_size,
struct configuration_entry *config_entry, const char *mp_name,
result = bsearch(mp_name, config_entry->mp_cache_entries,
config_entry->mp_cache_entries_size,
while (*start != config_entry->mp_cache_entries) {
while (*finish != config_entry->mp_cache_entries +
config_entry->mp_cache_entries_size) {
qstate->config_entry = configuration_find_entry(
if (qstate->config_entry == NULL) {
if (qstate->config_entry->enabled == 0) {
if (qstate->config_entry->perform_actual_lookups != 0)
qstate->config_entry->mp_cache_params.cep.entry_name);
qstate->config_entry->mp_cache_params.cep.entry_name);
(qstate->config_entry->perform_actual_lookups != 0))
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry,
(qstate->config_entry->perform_actual_lookups != 0)) {
configuration_lock_entry(qstate->config_entry,
configuration_unlock_entry(qstate->config_entry,
qstate->config_entry,
qstate->config_entry,
qstate->config_entry,
qstate->config_entry,
configuration_lock_entry(qstate->config_entry,
configuration_unlock_entry(qstate->config_entry,
configuration_lock_entry(qstate->config_entry,
if ((qstate->config_entry->mp_query_timeout.tv_sec != 0) ||
(qstate->config_entry->mp_query_timeout.tv_usec != 0))
&qstate->config_entry->mp_query_timeout,
configuration_unlock_entry(qstate->config_entry,
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry,
qstate->config_entry = configuration_find_entry(
if (qstate->config_entry == NULL) {
if (qstate->config_entry->enabled == 0) {
if (qstate->config_entry->perform_actual_lookups != 0) {
qstate->config_entry->mp_cache_params.cep.entry_name);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
if ((qstate->config_entry->mp_query_timeout.tv_sec != 0) ||
(qstate->config_entry->mp_query_timeout.tv_usec != 0))
&qstate->config_entry->mp_query_timeout,
configuration_unlock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
en_bkp = qstate->config_entry->mp_cache_params.cep.entry_name;
qstate->config_entry->mp_cache_params.cep.entry_name =
&qstate->config_entry->mp_cache_params);
qstate->config_entry->mp_cache_params.cep.entry_name = en_bkp;
configuration_entry_add_mp_cache_entry(qstate->config_entry,
configuration_unlock_entry(qstate->config_entry,
configuration_lock_entry(qstate->config_entry, CELT_MULTIPART);
configuration_unlock_entry(qstate->config_entry,
struct configuration_entry *config_entry;
config_entry = configuration_get_entry(config, i);
&config_entry->positive_cache_params);
config_entry->positive_cache_entry = find_cache_entry(retval,
config_entry->positive_cache_params.cep.entry_name);
assert(config_entry->positive_cache_entry !=
&config_entry->negative_cache_params);
config_entry->negative_cache_entry = find_cache_entry(retval,
config_entry->negative_cache_params.cep.entry_name);
assert(config_entry->negative_cache_entry !=
qstate->config_entry = configuration_find_entry(
if (qstate->config_entry == NULL) {
configuration_unlock_entry(config_entry, CELT_NEGATIVE);
if (qstate->config_entry->perform_actual_lookups != 0) {
clear_config_entry_part(qstate->config_entry,
configuration_lock_entry(config_entry, CELT_MULTIPART);
qstate->config_entry = configuration_find_entry(
for (i = 0; i < config_entry->mp_cache_entries_size; ++i)
if (qstate->config_entry == NULL) {
clear_config_entry(qstate->config_entry);
config_entry->mp_cache_entries[i],
configuration_unlock_entry(config_entry, CELT_MULTIPART);
clear_config_entry_part(struct configuration_entry *config_entry,
configuration_lock_entry(config_entry, CELT_POSITIVE);
if (config_entry->positive_cache_entry != NULL)
config_entry->positive_cache_entry,
configuration_unlock_entry(config_entry, CELT_POSITIVE);
configuration_lock_entry(config_entry, CELT_NEGATIVE);
if (config_entry->negative_cache_entry != NULL)
config_entry->negative_cache_entry,
configuration_unlock_entry(config_entry, CELT_NEGATIVE);
configuration_lock_entry(config_entry, CELT_MULTIPART);
if (configuration_entry_find_mp_cache_entries(config_entry,
configuration_unlock_entry(config_entry, CELT_MULTIPART);
qstate->config_entry = configuration_find_entry(
if (qstate->config_entry == NULL) {
if (qstate->config_entry->enabled == 0) {
if (qstate->config_entry->perform_actual_lookups != 0) {
qstate->config_entry->positive_cache_params.cep.entry_name);
configuration_lock_entry(qstate->config_entry, CELT_POSITIVE);
qstate->config_entry->positive_cache_entry = c_entry;
configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE);
if ((qstate->config_entry->common_query_timeout.tv_sec != 0) ||
(qstate->config_entry->common_query_timeout.tv_usec != 0))
&qstate->config_entry->common_query_timeout,
qstate->config_entry = configuration_find_entry (
if (qstate->config_entry == NULL) {
if (qstate->config_entry->enabled == 0) {
if (qstate->config_entry->perform_actual_lookups != 0) {
qstate->config_entry->negative_cache_params.cep.entry_name);
configuration_lock_entry(qstate->config_entry, CELT_NEGATIVE);
qstate->config_entry->negative_cache_entry = c_entry;
configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE);
if ((qstate->config_entry->common_query_timeout.tv_sec != 0) ||
(qstate->config_entry->common_query_timeout.tv_usec != 0))
&qstate->config_entry->common_query_timeout,
qstate->config_entry = configuration_find_entry(
if (qstate->config_entry == NULL) {
if (qstate->config_entry->enabled == 0) {
if (qstate->config_entry->perform_actual_lookups != 0)
qstate->config_entry->positive_cache_params.cep.entry_name);
qstate->config_entry->negative_cache_params.cep.entry_name);
configuration_lock_entry(qstate->config_entry, CELT_POSITIVE);
qstate->config_entry->positive_cache_entry = c_entry;
configuration_unlock_entry(qstate->config_entry, CELT_POSITIVE);
configuration_lock_entry(qstate->config_entry, CELT_NEGATIVE);
qstate->config_entry->negative_cache_entry = neg_c_entry;
configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE);
(qstate->config_entry->perform_actual_lookups != 0)) {
qstate->config_entry,
qstate->config_entry,
qstate->config_entry,
qstate->config_entry,
if ((qstate->config_entry->common_query_timeout.tv_sec != 0) ||
(qstate->config_entry->common_query_timeout.tv_usec != 0))
&qstate->config_entry->common_query_timeout,
clear_config_entry(struct configuration_entry *config_entry)
configuration_lock_entry(config_entry, CELT_POSITIVE);
if (config_entry->positive_cache_entry != NULL)
config_entry->positive_cache_entry,
configuration_unlock_entry(config_entry, CELT_POSITIVE);
configuration_lock_entry(config_entry, CELT_NEGATIVE);
if (config_entry->negative_cache_entry != NULL)
struct configuration_entry *config_entry;
config_entry->negative_cache_entry,
config_entry = configuration_get_entry(
if (config_entry->perform_actual_lookups == 0)
clear_config_entry_part(config_entry,
struct configuration_entry *config_entry;
struct config_entry *temp_config;
temp_config = calloc(CONFIG_SIZE, sizeof(struct config_entry));
static struct config_entry c[] = {