summaryrefslogtreecommitdiff
path: root/source3/utils/net_ads.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2012-09-25 11:09:45 +0200
committerGünther Deschner <gd@samba.org>2012-10-02 16:22:31 +0200
commit0eded14f19806e87b2205677064d1413bcb86d38 (patch)
treeef3304373e24b509472ccdbe419b07f25236e704 /source3/utils/net_ads.c
parentec23d0a3eeeeb2f3969d4d113d80bd82cb1dbbcd (diff)
downloadsamba-0eded14f19806e87b2205677064d1413bcb86d38.tar.gz
samba-0eded14f19806e87b2205677064d1413bcb86d38.tar.bz2
samba-0eded14f19806e87b2205677064d1413bcb86d38.zip
s3-net: give more control how to update/register DNS entries.
Guenther
Diffstat (limited to 'source3/utils/net_ads.c')
-rw-r--r--source3/utils/net_ads.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c
index ffb79991de..7648dc7797 100644
--- a/source3/utils/net_ads.c
+++ b/source3/utils/net_ads.c
@@ -1206,6 +1206,17 @@ static NTSTATUS net_update_dns_internal(struct net_context *c,
for (i=0; i < ns_count; i++) {
+ uint32_t flags = DNS_UPDATE_SIGNED |
+ DNS_UPDATE_UNSIGNED |
+ DNS_UPDATE_UNSIGNED_SUFFICIENT |
+ DNS_UPDATE_PROBE |
+ DNS_UPDATE_PROBE_SUFFICIENT;
+
+ if (c->opt_force) {
+ flags &= ~DNS_UPDATE_PROBE_SUFFICIENT;
+ flags &= ~DNS_UPDATE_UNSIGNED_SUFFICIENT;
+ }
+
status = NT_STATUS_UNSUCCESSFUL;
/* Now perform the dns update - we'll try non-secure and if we fail,
@@ -1213,7 +1224,7 @@ static NTSTATUS net_update_dns_internal(struct net_context *c,
fstrcpy( dns_server, nameservers[i].hostname );
- dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs);
+ dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs, flags);
if (ERR_DNS_IS_OK(dns_err)) {
status = NT_STATUS_OK;
goto done;