]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Add record type into log when set up fake records
authorMikhail Galanin <mgalanin@mimecast.com>
Fri, 10 Aug 2018 08:49:06 +0000 (09:49 +0100)
committerMikhail Galanin <mgalanin@mimecast.com>
Fri, 10 Aug 2018 08:49:06 +0000 (09:49 +0100)
contrib/librdns/rdns.h
contrib/librdns/util.c
src/libserver/dns.c

index 7ed35514f365f9cf68cf2b3099f12ad521817df9..4fa5a1521b798158ad8850aa153cc3778285e9dc 100644 (file)
@@ -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
index 1cace23862c8411fad649bb9de34f82bac45631e..11578a172cdc4fd3b26872c8756664b961eaff93 100644 (file)
@@ -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)
 {
index d75ad00e8641bf615e73476f020aeed833fef146..887cbffdf7107d5009a397e7d6407da9a600fb81 100644 (file)
@@ -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,