@@ -391,6 +391,14 @@ const char *rdns_strtype (enum rdns_request_type type); | |||
*/ | |||
enum rdns_request_type rdns_type_fromstr (const char *str); | |||
/** | |||
* Returns string representing request type | |||
* @param rcode | |||
* @return | |||
*/ | |||
const char * | |||
str_from_rdns_type (enum rdns_request_type rcode); | |||
/** | |||
* Parse string and return error code | |||
* @param str |
@@ -289,6 +289,40 @@ rdns_type_fromstr (const char *str) | |||
return RDNS_REQUEST_INVALID; | |||
} | |||
const char * | |||
str_from_rdns_type (enum rdns_request_type rcode) | |||
{ | |||
switch (rcode) { | |||
case RDNS_REQUEST_INVALID: | |||
return "(invalid)"; | |||
case RDNS_REQUEST_A: | |||
return "a"; | |||
case RDNS_REQUEST_NS: | |||
return "ns"; | |||
case RDNS_REQUEST_SOA: | |||
return "soa"; | |||
case RDNS_REQUEST_PTR: | |||
return "ptr"; | |||
case RDNS_REQUEST_MX: | |||
return "mx"; | |||
case RDNS_REQUEST_TXT: | |||
return "txt"; | |||
case RDNS_REQUEST_SRV: | |||
return "srv"; | |||
case RDNS_REQUEST_SPF: | |||
return "spf"; | |||
case RDNS_REQUEST_AAAA: | |||
return "aaaa"; | |||
case RDNS_REQUEST_TLSA: | |||
return "tlsa"; | |||
case RDNS_REQUEST_ANY: | |||
return "any"; | |||
default: | |||
return "(unknown)"; | |||
} | |||
} | |||
enum dns_rcode | |||
rdns_rcode_fromstr (const char *str) | |||
{ |
@@ -439,8 +439,8 @@ rspamd_dns_resolver_config_ucl (struct rspamd_config *cfg, | |||
case RDNS_REQUEST_SRV: | |||
default: | |||
msg_err_config ("invalid or unsupported reply element " | |||
"for fake DNS record %s: %s", | |||
name, str_rep); | |||
"for fake DNS record %s(%s): %s", | |||
name, str_from_rdns_type (rtype), str_rep); | |||
free (rep); | |||
break; | |||
} | |||
@@ -449,7 +449,7 @@ rspamd_dns_resolver_config_ucl (struct rspamd_config *cfg, | |||
ucl_object_iterate_free (rep_it); | |||
if (replies) { | |||
msg_info_config ("added fake record: %s", name); | |||
msg_info_config ("added fake record: %s(%s)", name, str_from_rdns_type (rtype)); | |||
rdns_resolver_set_fake_reply (dns_resolver->r, | |||
name, rtype, rcode, replies); | |||
} | |||
@@ -464,7 +464,7 @@ rspamd_dns_resolver_config_ucl (struct rspamd_config *cfg, | |||
if (replies_obj) { | |||
msg_warn_config ("replies are set for non-successful return " | |||
"code for %s, they will be ignored", name); | |||
"code for %s(%s), they will be ignored", name, str_from_rdns_type (rtype)); | |||
} | |||
rdns_resolver_set_fake_reply (dns_resolver->r, |