Solve dns txt record query issue in samba4 4.0.5-GIT-9ec44d4

zhang jian zhangjian.tag at gmail.com
Wed Mar 27 23:01:32 MDT 2013


Hello all,
This is my first post. I don't know whether it has been patched by others.

diff --git a/source4/dns_server/dns_query.c b/source4/dns_server/dns_query.c
index 54e0c7f..04e32cd 100644
--- a/source4/dns_server/dns_query.c
+++ b/source4/dns_server/dns_query.c
@@ -89,12 +89,20 @@ static WERROR create_response_rr(const struct
dns_name_question *question,
        case DNS_QTYPE_PTR:
                ans[ai].rdata.ptr_record = talloc_strdup(ans,
rec->data.ptr);
                break;
+        case DNS_QTYPE_MX:
+                ans[ai].rdata.mx_record.preference =
rec->data.mx.wPriority;
+                ans[ai].rdata.mx_record.exchange = talloc_strdup(
+                        ans, rec->data.mx.nameTarget);
+                if (ans[ai].rdata.mx_record.exchange == NULL) {
+                        return WERR_NOMEM;
+                }
+                break;
        case DNS_QTYPE_TXT:
-               tmp = talloc_asprintf(ans, "\"%s\"", rec->data.txt.str[0]);
+               tmp = talloc_asprintf(ans, "%s", rec->data.txt.str[0]);
                W_ERROR_HAVE_NO_MEMORY(tmp);
                for (i=1; i<rec->data.txt.count; i++) {
                        tmp = talloc_asprintf_append_buffer(
-                               tmp, " \"%s\"", rec->data.txt.str[i]);
+                               tmp, " %s", rec->data.txt.str[i]);
                        W_ERROR_HAVE_NO_MEMORY(tmp);
                }
                ans[ai].rdata.txt_record.txt = tmp;




I met a issue when I installed samba4+iRedmail. I'm using internal dns in
samba4.
I add a SPF txt record in dns, but I got below:
# dig -t txt xxx.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6.3 <<>> -t txt xxx.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49926
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;dl-fine.com. IN TXT

;; ANSWER SECTION:
xxx.com. 900 IN TXT "\"v=spf1 mx mx:mail.xxx.com ~all\""

Please note the ugly \", I don't know why you added them. It's incorrect.


More information about the samba-technical mailing list