[SCM] Samba Shared Repository - branch v3-3-test updated -
release-3-2-0pre2-2430-g12e47be
Günther Deschner
gd at samba.org
Wed May 14 07:46:55 GMT 2008
The branch, v3-3-test has been updated
via 12e47be02f93e2f41af5772f6a83568b3574d032 (commit)
via 836877c4005ba081c0a4cc97726830d6dbd62d34 (commit)
from c84d49429191423a81d558042fe949c26f5de5fe (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test
- Log -----------------------------------------------------------------
commit 12e47be02f93e2f41af5772f6a83568b3574d032
Author: Günther Deschner <gd at samba.org>
Date: Wed May 14 09:42:23 2008 +0200
dsgetdcname: In case we didn't get a mailslot reply, don't cache the nodestatus.
Guenther
commit 836877c4005ba081c0a4cc97726830d6dbd62d34
Author: Günther Deschner <gd at samba.org>
Date: Wed May 14 09:41:24 2008 +0200
mailslot: Also pick domain name and pdc name from type 15 cldap reply.
Guenther
-----------------------------------------------------------------------
Summary of changes:
source/libsmb/clidgram.c | 23 ++++++++++++++++++++++-
source/libsmb/dsgetdcname.c | 4 +++-
2 files changed, 25 insertions(+), 2 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/libsmb/clidgram.c b/source/libsmb/clidgram.c
index 367b028..8b35a69 100644
--- a/source/libsmb/clidgram.c
+++ b/source/libsmb/clidgram.c
@@ -274,11 +274,16 @@ bool receive_getdc_response(TALLOC_CTX *mem_ctx,
switch (*nt_version) {
case 1:
+ case 16:
+ case 17:
+
returned_domain = r.logon1.domain_name;
returned_dc = r.logon1.pdc_name;
break;
case 2:
case 3:
+ case 18:
+ case 19:
returned_domain = r.logon3.domain_name;
returned_dc = r.logon3.pdc_name;
break;
@@ -300,10 +305,26 @@ bool receive_getdc_response(TALLOC_CTX *mem_ctx,
returned_domain = r.logon13.domain;
returned_dc = r.logon13.pdc_name;
break;
- default:
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ returned_domain = r.logon15.domain;
+ returned_dc = r.logon15.pdc_name;
+ break;
+ case 29:
+ case 30:
+ case 31:
returned_domain = r.logon29.domain;
returned_dc = r.logon29.pdc_name;
break;
+ default:
+ return false;
}
if (!strequal(returned_domain, domain_name)) {
diff --git a/source/libsmb/dsgetdcname.c b/source/libsmb/dsgetdcname.c
index 30d7c94..1538502 100644
--- a/source/libsmb/dsgetdcname.c
+++ b/source/libsmb/dsgetdcname.c
@@ -1223,6 +1223,7 @@ static NTSTATUS process_dc_netbios(TALLOC_CTX *mem_ctx,
const char *dc_name = NULL;
fstring tmp_dc_name;
union nbt_cldap_netlogon *r = NULL;
+ bool store_cache = false;
uint32_t nt_version = NETLOGON_VERSION_1 |
NETLOGON_VERSION_5 |
NETLOGON_VERSION_5EX_WITH_IP;
@@ -1261,6 +1262,7 @@ static NTSTATUS process_dc_netbios(TALLOC_CTX *mem_ctx,
&nt_version,
&dc_name,
&r)) {
+ store_cache = true;
namecache_store(dc_name, NBT_NAME_SERVER, 1, &ip_list);
goto make_reply;
}
@@ -1302,7 +1304,7 @@ static NTSTATUS process_dc_netbios(TALLOC_CTX *mem_ctx,
status = make_dc_info_from_cldap_reply(mem_ctx, flags, &dclist[i].ss,
nt_version, r, info);
- if (NT_STATUS_IS_OK(status)) {
+ if (NT_STATUS_IS_OK(status) && store_cache) {
return store_cldap_reply(mem_ctx, flags, &dclist[i].ss,
nt_version, r);
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list