diff options
author | Amitay Isaacs <amitay@gmail.com> | 2014-11-03 11:57:50 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2014-11-21 06:14:55 +0100 |
commit | b7f6b09a13daaa702aef5a0ab9f458521e4902b1 (patch) | |
tree | 3cf45c6eac011b917088033daffa7c8ed7c9858a /source4/torture/dns | |
parent | 5ec63b8bc1a16b1bbda7ec8e5442a1b3d6f2d13c (diff) | |
download | samba-b7f6b09a13daaa702aef5a0ab9f458521e4902b1.tar.gz |
s4-dns: dlz-bind: Add trailing '.' to all fqdn strings
BIND 9.10.x is strict when sending records via putrr and putnamedrr.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10620
Thanks to Guenter Kukkukk for identifying the problem and resolution.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Guenter Kukkukk <kukks@samba.org>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Fri Nov 21 06:14:55 CET 2014 on sn-devel-104
Diffstat (limited to 'source4/torture/dns')
-rw-r--r-- | source4/torture/dns/dlz_bind9.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/source4/torture/dns/dlz_bind9.c b/source4/torture/dns/dlz_bind9.c index 93da21f51c9..de07f67e814 100644 --- a/source4/torture/dns/dlz_bind9.c +++ b/source4/torture/dns/dlz_bind9.c @@ -353,7 +353,7 @@ static bool test_dlz_bind9_lookup(struct torture_context *tctx) expected1->records[0].type = "soa"; expected1->records[0].ttl = 3600; expected1->records[0].data = talloc_asprintf(expected1->records, - "%s.%s hostmaster.%s 1 900 600 86400 3600", + "%s.%s. hostmaster.%s. 1 900 600 86400 3600", torture_setting_string(tctx, "host", NULL), lpcfg_dnsdomain(tctx->lp_ctx), lpcfg_dnsdomain(tctx->lp_ctx)); @@ -362,7 +362,7 @@ static bool test_dlz_bind9_lookup(struct torture_context *tctx) expected1->records[1].name = expected1->query_name; expected1->records[1].type = "ns"; expected1->records[1].ttl = 900; - expected1->records[1].data = talloc_asprintf(expected1->records, "%s.%s", + expected1->records[1].data = talloc_asprintf(expected1->records, "%s.%s.", torture_setting_string(tctx, "host", NULL), lpcfg_dnsdomain(tctx->lp_ctx)); torture_assert(tctx, expected1->records[1].data != NULL, "talloc failed"); @@ -471,40 +471,44 @@ static bool test_dlz_bind9_zonedump(struct torture_context *tctx) expected1->num_records); torture_assert(tctx, expected1->records != NULL, "talloc failed"); - expected1->records[0].name = lpcfg_dnsdomain(tctx->lp_ctx); + expected1->records[0].name = talloc_asprintf(expected1->records, + "%s.", lpcfg_dnsdomain(tctx->lp_ctx)); expected1->records[0].type = "soa"; expected1->records[0].ttl = 3600; expected1->records[0].data = talloc_asprintf(expected1->records, - "%s.%s hostmaster.%s 1 900 600 86400 3600", + "%s.%s. hostmaster.%s. 1 900 600 86400 3600", torture_setting_string(tctx, "host", NULL), lpcfg_dnsdomain(tctx->lp_ctx), lpcfg_dnsdomain(tctx->lp_ctx)); torture_assert(tctx, expected1->records[0].data != NULL, "talloc failed"); - expected1->records[1].name = lpcfg_dnsdomain(tctx->lp_ctx); + expected1->records[1].name = talloc_asprintf(expected1->records, + "%s.", lpcfg_dnsdomain(tctx->lp_ctx)); expected1->records[1].type = "ns"; expected1->records[1].ttl = 900; - expected1->records[1].data = talloc_asprintf(expected1->records, "%s.%s", + expected1->records[1].data = talloc_asprintf(expected1->records, "%s.%s.", torture_setting_string(tctx, "host", NULL), lpcfg_dnsdomain(tctx->lp_ctx)); torture_assert(tctx, expected1->records[1].data != NULL, "talloc failed"); - expected1->records[2].name = lpcfg_dnsdomain(tctx->lp_ctx); + expected1->records[2].name = talloc_asprintf(expected1->records, + "%s.", lpcfg_dnsdomain(tctx->lp_ctx)); expected1->records[2].type = "aaaa"; expected1->records[2].ttl = 900; - expected1->records[3].name = lpcfg_dnsdomain(tctx->lp_ctx); + expected1->records[3].name = talloc_asprintf(expected1->records, + "%s.", lpcfg_dnsdomain(tctx->lp_ctx)); expected1->records[3].type = "a"; expected1->records[3].ttl = 900; - expected1->records[4].name = talloc_asprintf(expected1->records, "%s.%s", + expected1->records[4].name = talloc_asprintf(expected1->records, "%s.%s.", torture_setting_string(tctx, "host", NULL), lpcfg_dnsdomain(tctx->lp_ctx)); torture_assert(tctx, expected1->records[4].name != NULL, "unknown host"); expected1->records[4].type = "aaaa"; expected1->records[4].ttl = 900; - expected1->records[5].name = talloc_asprintf(expected1->records, "%s.%s", + expected1->records[5].name = talloc_asprintf(expected1->records, "%s.%s.", torture_setting_string(tctx, "host", NULL), lpcfg_dnsdomain(tctx->lp_ctx)); torture_assert(tctx, expected1->records[5].name != NULL, "unknown host"); |