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