[SCM] Samba Shared Repository - branch master updated
Andrew Tridgell
tridge at samba.org
Tue Jun 7 22:08:02 MDT 2011
The branch, master has been updated
via 4afe426 s4-ipv6: fill in pdc_ip in DsRGetDCNameEx2
via e14538d s4-wins: ensure we only use IPv4 for WINS owner
via 79ef434 s4-interface: raise the debug level for interface discovery
from c790213 s4-gensec bring GSS_S_CONTEXT_EXPIRED into it's own error handler
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 4afe426877fed3ed4d1dae4a8d96dce3f4983b91
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Jun 8 11:49:24 2011 +1000
s4-ipv6: fill in pdc_ip in DsRGetDCNameEx2
this may be different from the CLDAP response, as it can be IPv6
Autobuild-User: Andrew Tridgell <tridge at samba.org>
Autobuild-Date: Wed Jun 8 06:07:29 CEST 2011 on sn-devel-104
commit e14538d9394fc5d21a5e3ec34574b9fb5c468ba2
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Jun 8 10:42:02 2011 +1000
s4-wins: ensure we only use IPv4 for WINS owner
commit 79ef434b900288f23f352dcce083c37308baef2d
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Jun 8 10:41:38 2011 +1000
s4-interface: raise the debug level for interface discovery
-----------------------------------------------------------------------
Summary of changes:
source4/lib/socket/interface.c | 6 +++---
source4/nbt_server/wins/wins_ldb.c | 2 +-
source4/nbt_server/wins/winsserver.c | 2 +-
source4/rpc_server/netlogon/dcerpc_netlogon.c | 15 ++++++++++++---
4 files changed, 17 insertions(+), 8 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/lib/socket/interface.c b/source4/lib/socket/interface.c
index 9cb8f5e..d5b610f 100644
--- a/source4/lib/socket/interface.c
+++ b/source4/lib/socket/interface.c
@@ -116,18 +116,18 @@ static void add_interface(TALLOC_CTX *mem_ctx, const struct iface_struct *ifs, s
/* keep string versions too, to avoid people tripping over the implied
static in inet_ntoa() */
print_sockaddr(addr, sizeof(addr), &iface->ip);
- DEBUG(2,("added interface %s ip=%s ",
+ DEBUG(4,("added interface %s ip=%s ",
iface->name, addr));
iface->ip_s = talloc_strdup(iface, addr);
print_sockaddr(addr, sizeof(addr),
&iface->bcast);
- DEBUG(2,("bcast=%s ", addr));
+ DEBUG(4,("bcast=%s ", addr));
iface->bcast_s = talloc_strdup(iface, addr);
print_sockaddr(addr, sizeof(addr),
&iface->netmask);
- DEBUG(2,("netmask=%s\n", addr));
+ DEBUG(4,("netmask=%s\n", addr));
iface->nmask_s = talloc_strdup(iface, addr);
/*
diff --git a/source4/nbt_server/wins/wins_ldb.c b/source4/nbt_server/wins/wins_ldb.c
index 6519f9e..304c98d 100644
--- a/source4/nbt_server/wins/wins_ldb.c
+++ b/source4/nbt_server/wins/wins_ldb.c
@@ -93,7 +93,7 @@ static int wins_ldb_init(struct ldb_module *module)
if (!owner) {
struct interface *ifaces;
load_interface_list(module, lp_ctx, &ifaces);
- owner = iface_list_n_ip(ifaces, 0);
+ owner = iface_list_first_v4(ifaces);
if (!owner) {
owner = "0.0.0.0";
}
diff --git a/source4/nbt_server/wins/winsserver.c b/source4/nbt_server/wins/winsserver.c
index 604c86e..5f1f417 100644
--- a/source4/nbt_server/wins/winsserver.c
+++ b/source4/nbt_server/wins/winsserver.c
@@ -1058,7 +1058,7 @@ NTSTATUS nbtd_winsserver_init(struct nbtd_server *nbtsrv)
if (owner == NULL) {
struct interface *ifaces;
load_interface_list(nbtsrv->task, nbtsrv->task->lp_ctx, &ifaces);
- owner = iface_list_n_ip(ifaces, 0);
+ owner = iface_list_first_v4(ifaces);
}
nbtsrv->winssrv->wins_db = winsdb_connect(nbtsrv->winssrv, nbtsrv->task->event_ctx,
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c
index 8964c1d..d5a7eeb 100644
--- a/source4/rpc_server/netlogon/dcerpc_netlogon.c
+++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c
@@ -37,6 +37,7 @@
#include "lib/tsocket/tsocket.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
#include "librpc/gen_ndr/ndr_irpc.h"
+#include "lib/socket/netif.h"
struct netlogon_server_pipe_state {
struct netr_Credential client_challenge;
@@ -1233,6 +1234,7 @@ static NTSTATUS dcesrv_netr_NetrEnumerateTrustedDomains(struct dcesrv_call_state
static NTSTATUS dcesrv_netr_LogonGetCapabilities(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
struct netr_LogonGetCapabilities *r)
{
+
/* we don't support AES yet */
return NT_STATUS_NOT_IMPLEMENTED;
}
@@ -1710,6 +1712,8 @@ static WERROR dcesrv_netr_DsRGetDCNameEx2(struct dcesrv_call_state *dce_call,
NTSTATUS status;
const char *dc_name = NULL;
const char *domain_name = NULL;
+ struct interface *ifaces;
+ const char *pdc_ip;
ZERO_STRUCTP(r->out.info);
@@ -1815,10 +1819,15 @@ static WERROR dcesrv_netr_DsRGetDCNameEx2(struct dcesrv_call_state *dce_call,
W_ERROR_HAVE_NO_MEMORY(info);
info->dc_unc = talloc_asprintf(mem_ctx, "\\\\%s", dc_name);
W_ERROR_HAVE_NO_MEMORY(info->dc_unc);
- info->dc_address = talloc_asprintf(mem_ctx, "\\\\%s",
- response.data.nt5_ex.sockaddr.pdc_ip);
+
+ load_interface_list(mem_ctx, lp_ctx, &ifaces);
+ pdc_ip = iface_list_best_ip(ifaces, addr);
+ if (pdc_ip == NULL) {
+ pdc_ip = "127.0.0.1";
+ }
+ info->dc_address = talloc_asprintf(mem_ctx, "\\\\%s", pdc_ip);
W_ERROR_HAVE_NO_MEMORY(info->dc_address);
- info->dc_address_type = DS_ADDRESS_TYPE_INET; /* TODO: make this dynamic? for ipv6 */
+ info->dc_address_type = DS_ADDRESS_TYPE_INET;
info->domain_guid = response.data.nt5_ex.domain_uuid;
info->domain_name = domain_name;
info->forest_name = response.data.nt5_ex.forest;
--
Samba Shared Repository
More information about the samba-cvs
mailing list