[SCM] Samba Shared Repository - branch master updated -
c7625979ceb350d90d87d2add6ed7156440072c3
Gerald Carter
jerry at samba.org
Fri Oct 3 15:54:36 GMT 2008
The branch, master has been updated
via c7625979ceb350d90d87d2add6ed7156440072c3 (commit)
via 8e1d93e6a692676744c267dfd0d95802ff036a5f (commit)
from 63e908e4b4b07455e14ac04d8efb3c4a3d043692 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit c7625979ceb350d90d87d2add6ed7156440072c3
Author: Gerald (Jerry) Carter <jerry at samba.org>
Date: Fri Oct 3 10:51:54 2008 -0500
net_dns: Make "lwinet ads dns register" honor the "interfaces" parameter.
This is helpful on multihomed hosts that only require a subset
of IP addresses be registered with DNS.
commit 8e1d93e6a692676744c267dfd0d95802ff036a5f
Author: Gerald (Jerry) Carter <jerry at samba.org>
Date: Fri Oct 3 10:51:21 2008 -0500
libaddns: Use the same prerequisite for DDNS update as Windows XP.
Hostname, TYPE: CNAME, CLASS: NONE
This has to have been broken for ages. I cannot see
how it would have worked in any environment.
-----------------------------------------------------------------------
Summary of changes:
source3/libaddns/dnsrecord.c | 4 ++--
source3/utils/net_dns.c | 25 ++++++++++++-------------
2 files changed, 14 insertions(+), 15 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/libaddns/dnsrecord.c b/source3/libaddns/dnsrecord.c
index 500cbd6..559c264 100644
--- a/source3/libaddns/dnsrecord.c
+++ b/source3/libaddns/dnsrecord.c
@@ -378,10 +378,10 @@ DNS_ERROR dns_create_update_request(TALLOC_CTX *mem_ctx,
if (!ERR_DNS_IS_OK(err)) return err;
/*
- * The zone must be used at all
+ * Use the same prereq as WinXP -- No CNAME records for this host.
*/
- err = dns_create_rrec(req, domainname, QTYPE_ANY, DNS_CLASS_ANY,
+ err = dns_create_rrec(req, hostname, QTYPE_CNAME, DNS_CLASS_NONE,
0, 0, NULL, &rec);
if (!ERR_DNS_IS_OK(err)) goto error;
diff --git a/source3/utils/net_dns.c b/source3/utils/net_dns.c
index 14d45e2..46f38d4 100644
--- a/source3/utils/net_dns.c
+++ b/source3/utils/net_dns.c
@@ -150,9 +150,10 @@ int get_my_ip_address( struct sockaddr_storage **pp_ss )
struct sockaddr_storage *list = NULL;
int count = 0;
- /* find the first non-loopback address from our list of interfaces */
+ /* Honor the configured list of interfaces to register */
- n = get_interfaces(nics, MAX_INTERFACES);
+ load_interfaces();
+ n = iface_count();
if (n <= 0) {
return -1;
@@ -163,19 +164,17 @@ int get_my_ip_address( struct sockaddr_storage **pp_ss )
}
for ( i=0; i<n; i++ ) {
- if (is_loopback_addr(&nics[i].ip)) {
+ const struct sockaddr_storage *nic_sa_storage = NULL;
+
+ if ((nic_sa_storage = iface_n_sockaddr_storage(i)) == NULL)
+ continue;
+
+ /* Don't register loopback addresses */
+ if (is_loopback_addr(nic_sa_storage)) {
continue;
}
-#if defined(HAVE_IPV6)
- if ((nics[i].ip.ss_family == AF_INET6)) {
- memcpy(&list[count++], &nics[i].ip,
- sizeof(struct sockaddr_storage));
- } else
-#endif
- if (nics[i].ip.ss_family == AF_INET) {
- memcpy(&list[count++], &nics[i].ip,
- sizeof(struct sockaddr_storage));
- }
+
+ memcpy(&list[count++], nic_sa_storage, sizeof(struct sockaddr_storage));
}
*pp_ss = list;
--
Samba Shared Repository
More information about the samba-cvs
mailing list