mirror of https://github.com/getdnsapi/getdns.git
Default extensions settings via config file
This commit is contained in:
parent
584193eb39
commit
acad529654
|
@ -997,7 +997,11 @@ static int _jsmn_get_dict(char *js, jsmntok_t *t, size_t count,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
key = js + t[j].start;
|
key = js + t[j].start;
|
||||||
js[t[j].type == JSMN_STRING ? t[j].end : t[j].end - 1] = '\0';
|
if (t[j].type== JSMN_PRIMITIVE) {
|
||||||
|
js[t[j].end - 1] = '\0';
|
||||||
|
i++;
|
||||||
|
} else
|
||||||
|
js[t[j].end] = '\0';
|
||||||
j += 1;
|
j += 1;
|
||||||
switch (t[j].type) {
|
switch (t[j].type) {
|
||||||
case JSMN_OBJECT:
|
case JSMN_OBJECT:
|
||||||
|
@ -1124,6 +1128,20 @@ static getdns_return_t _get_list_or_read_file(const getdns_dict *config,
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define EXTENSION_SETTING_INT(X) \
|
||||||
|
} else if (_streq(setting, #X )) { \
|
||||||
|
if ((r = getdns_dict_get_int(config, #X , &n))) \
|
||||||
|
fprintf(stderr, "Could not get \"" #X "\""); \
|
||||||
|
else if ((r = getdns_dict_set_int(extensions, #X , n))) \
|
||||||
|
fprintf(stderr,"Error setting \"" #X "\"");
|
||||||
|
|
||||||
|
#define EXTENSION_SETTING_DICT(X) \
|
||||||
|
} else if (_streq(setting, #X )) { \
|
||||||
|
if ((r = getdns_dict_get_dict(config, #X , &dict))) \
|
||||||
|
fprintf(stderr, "Could not get \"" #X "\""); \
|
||||||
|
else if ((r = getdns_dict_set_dict(extensions, #X , dict))) \
|
||||||
|
fprintf(stderr,"Error setting \"" #X "\"");
|
||||||
|
|
||||||
static getdns_return_t configure_with_config_dict(const getdns_dict *config);
|
static getdns_return_t configure_with_config_dict(const getdns_dict *config);
|
||||||
static getdns_return_t configure_setting_with_config_dict(
|
static getdns_return_t configure_setting_with_config_dict(
|
||||||
const getdns_dict *config, const getdns_bindata *setting)
|
const getdns_dict *config, const getdns_bindata *setting)
|
||||||
|
@ -1395,6 +1413,30 @@ static getdns_return_t configure_setting_with_config_dict(
|
||||||
fprintf(stderr, "Could not get listen_count");
|
fprintf(stderr, "Could not get listen_count");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**************************************/
|
||||||
|
/**** ****/
|
||||||
|
/**** Default extensions setting ****/
|
||||||
|
/**** ****/
|
||||||
|
/**************************************/
|
||||||
|
EXTENSION_SETTING_DICT(add_opt_parameters)
|
||||||
|
EXTENSION_SETTING_INT(add_warning_for_bad_dns)
|
||||||
|
EXTENSION_SETTING_INT(dnssec_return_all_statuses)
|
||||||
|
EXTENSION_SETTING_INT(dnssec_return_full_validation_chain)
|
||||||
|
EXTENSION_SETTING_INT(dnssec_return_only_secure)
|
||||||
|
EXTENSION_SETTING_INT(dnssec_return_status)
|
||||||
|
EXTENSION_SETTING_INT(dnssec_return_validation_chain)
|
||||||
|
#if defined(DNSSEC_ROADBLOCK_AVOIDANCE) && defined(HAVE_LIBUNBOUND)
|
||||||
|
EXTENSION_SETTING_INT(dnssec_roadblock_avoidance)
|
||||||
|
#endif
|
||||||
|
#ifdef EDNS_COOKIES
|
||||||
|
EXTENSION_SETTING_INT(edns_cookies)
|
||||||
|
#endif
|
||||||
|
EXTENSION_SETTING_DICT(header)
|
||||||
|
EXTENSION_SETTING_INT(return_api_information)
|
||||||
|
EXTENSION_SETTING_INT(return_both_v4_and_v6)
|
||||||
|
EXTENSION_SETTING_INT(return_call_reporting)
|
||||||
|
EXTENSION_SETTING_INT(specify_class)
|
||||||
|
|
||||||
/************************************/
|
/************************************/
|
||||||
/**** ****/
|
/**** ****/
|
||||||
/**** Ignored context settings ****/
|
/**** Ignored context settings ****/
|
||||||
|
|
Loading…
Reference in New Issue