mirror of https://github.com/getdnsapi/getdns.git
Merge branch 'devel/std-suffix-handling' into release/v1.0.0beta
This commit is contained in:
commit
4187636f41
|
@ -48,6 +48,7 @@ static struct const_info consts_info[] = {
|
|||
{ 551, "GETDNS_APPEND_NAME_ONLY_TO_SINGLE_LABEL_AFTER_FAILURE", GETDNS_APPEND_NAME_ONLY_TO_SINGLE_LABEL_AFTER_FAILURE_TEXT },
|
||||
{ 552, "GETDNS_APPEND_NAME_ONLY_TO_MULTIPLE_LABEL_NAME_AFTER_FAILURE", GETDNS_APPEND_NAME_ONLY_TO_MULTIPLE_LABEL_NAME_AFTER_FAILURE_TEXT },
|
||||
{ 553, "GETDNS_APPEND_NAME_NEVER", GETDNS_APPEND_NAME_NEVER_TEXT },
|
||||
{ 554, "GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST", GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST_TEXT },
|
||||
{ 600, "GETDNS_CONTEXT_CODE_NAMESPACES", GETDNS_CONTEXT_CODE_NAMESPACES_TEXT },
|
||||
{ 601, "GETDNS_CONTEXT_CODE_RESOLUTION_TYPE", GETDNS_CONTEXT_CODE_RESOLUTION_TYPE_TEXT },
|
||||
{ 602, "GETDNS_CONTEXT_CODE_FOLLOW_REDIRECTS", GETDNS_CONTEXT_CODE_FOLLOW_REDIRECTS_TEXT },
|
||||
|
|
|
@ -1213,7 +1213,7 @@ getdns_context_create_with_extended_memory_functions(
|
|||
#if defined(HAVE_LIBUNBOUND) && !defined(HAVE_UB_CTX_SET_STUB)
|
||||
result->root_servers_fn[0] = 0;
|
||||
#endif
|
||||
result->append_name = GETDNS_APPEND_NAME_ONLY_TO_SINGLE_LABEL_AFTER_FAILURE;
|
||||
result->append_name = GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST;
|
||||
result->suffixes = no_suffixes;
|
||||
result->suffixes_len = sizeof(no_suffixes);
|
||||
|
||||
|
|
|
@ -191,6 +191,8 @@ _getdns_check_dns_req_complete(getdns_dns_req *dns_req)
|
|||
}
|
||||
} while (dns_req->suffix_len > 1 && *dns_req->suffix);
|
||||
if (dns_req->append_name == GETDNS_APPEND_NAME_ALWAYS ||
|
||||
dns_req->append_name ==
|
||||
GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST ||
|
||||
(dns_req->suffix_len > 1 && *dns_req->suffix)) {
|
||||
for ( netreq_p = dns_req->netreqs
|
||||
; (netreq = *netreq_p)
|
||||
|
|
|
@ -814,6 +814,9 @@ getdns_validate_dnssec2(getdns_list *to_validate,
|
|||
time_t validation_time, uint32_t skew);
|
||||
|
||||
|
||||
#define GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST ((getdns_append_name_t) 554 )
|
||||
#define GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST_TEXT "See getdns_context_set_append_name()"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ cat > const-info.c << END_OF_HEAD
|
|||
static struct const_info consts_info[] = {
|
||||
{ -1, NULL, "/* <unknown getdns value> */" },
|
||||
END_OF_HEAD
|
||||
gawk '/^[ ]+GETDNS_[A-Z_]+[ ]+=[ ]+[0-9]+/{ key = sprintf("%4d", $3); consts[key] = $1; }/^#define GETDNS_[A-Z_]+[ ]+[0-9]+/ && !/^#define GETDNS_RRTYPE/ && !/^#define GETDNS_RRCLASS/ && !/^#define GETDNS_OPCODE/ && !/^#define GETDNS_RCODE/ && !/_TEXT/{ key = sprintf("%4d", $3); consts[key] = $2; }/^#define GETDNS_[A-Z_]+[ ]+\(\(getdns_return_t) [0-9]+ \)/{ key = sprintf("%4d", $4); consts[key] = $2; }END{ n = asorti(consts, const_vals); for ( i = 1; i <= n; i++) { val = const_vals[i]; name = consts[val]; print "\t{ "val", \""name"\", "name"_TEXT },"}}' getdns/getdns.h.in getdns/getdns_extra.h.in | sed 's/,,/,/g' >> const-info.c
|
||||
gawk '/^[ ]+GETDNS_[A-Z_]+[ ]+=[ ]+[0-9]+/{ key = sprintf("%4d", $3); consts[key] = $1; }/^#define GETDNS_[A-Z_]+[ ]+[0-9]+/ && !/^#define GETDNS_RRTYPE/ && !/^#define GETDNS_RRCLASS/ && !/^#define GETDNS_OPCODE/ && !/^#define GETDNS_RCODE/ && !/_TEXT/{ key = sprintf("%4d", $3); consts[key] = $2; }/^#define GETDNS_[A-Z_]+[ ]+\(\(getdns_(return|append_name)_t) [0-9]+ \)/{ key = sprintf("%4d", $4); consts[key] = $2; }END{ n = asorti(consts, const_vals); for ( i = 1; i <= n; i++) { val = const_vals[i]; name = consts[val]; print "\t{ "val", \""name"\", "name"_TEXT },"}}' getdns/getdns.h.in getdns/getdns_extra.h.in | sed 's/,,/,/g' >> const-info.c
|
||||
cat >> const-info.c << END_OF_TAIL
|
||||
};
|
||||
|
||||
|
|
|
@ -830,7 +830,9 @@ _getdns_dns_req_new(getdns_context *context, getdns_eventloop *loop,
|
|||
GETDNS_FREE(result->my_mf, result);
|
||||
return NULL;
|
||||
}
|
||||
if (result->append_name == GETDNS_APPEND_NAME_ALWAYS) {
|
||||
if (result->append_name == GETDNS_APPEND_NAME_ALWAYS ||
|
||||
( result->append_name == GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST
|
||||
&& result->name[0] && result->name[result->name[0]+1] == 0)){
|
||||
for (
|
||||
; result->suffix_len > 1 && *result->suffix
|
||||
; result->suffix += result->suffix_len
|
||||
|
|
|
@ -520,7 +520,8 @@ print_usage(FILE *out, const char *progname)
|
|||
fprintf(out, "\t-x\tDo not follow redirects\n");
|
||||
fprintf(out, "\t-X\tFollow redirects (default)\n");
|
||||
|
||||
fprintf(out, "\t-W\tAppend suffix always (default)\n");
|
||||
fprintf(out, "\t-0\tAppend suffix to single label first (default)\n");
|
||||
fprintf(out, "\t-W\tAppend suffix always\n");
|
||||
fprintf(out, "\t-1\tAppend suffix only to single label after failure\n");
|
||||
fprintf(out, "\t-M\tAppend suffix only to multi label name after failure\n");
|
||||
fprintf(out, "\t-N\tNever append a suffix\n");
|
||||
|
@ -1043,6 +1044,10 @@ getdns_return_t parse_args(int argc, char **argv)
|
|||
(void) getdns_context_set_append_name(context,
|
||||
GETDNS_APPEND_NAME_ONLY_TO_SINGLE_LABEL_AFTER_FAILURE);
|
||||
break;
|
||||
case '0':
|
||||
(void) getdns_context_set_append_name(context,
|
||||
GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST);
|
||||
break;
|
||||
case 'M':
|
||||
(void) getdns_context_set_append_name(context,
|
||||
GETDNS_APPEND_NAME_ONLY_TO_MULTIPLE_LABEL_NAME_AFTER_FAILURE);
|
||||
|
|
Loading…
Reference in New Issue