[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-1161-g2840902
Günther Deschner
gd at samba.org
Mon Aug 24 15:10:56 MDT 2009
The branch, master has been updated
via 28409026928a6051f0d0c58da66f6904b98962fd (commit)
via 4799020e9f1ab9bd811c9b5222af670db0705559 (commit)
from 87d30a1968af66619dfd60f9bc7accde2ac22345 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 28409026928a6051f0d0c58da66f6904b98962fd
Author: Günther Deschner <gd at samba.org>
Date: Mon Aug 24 23:02:20 2009 +0200
netlogon: add (yet) undocumented netlogon negotiate bit to bitmap.
This bit is set by the Win7 client while joining.
Guenther
commit 4799020e9f1ab9bd811c9b5222af670db0705559
Author: Günther Deschner <gd at samba.org>
Date: Mon Aug 24 23:00:47 2009 +0200
s3-netlogon: Only hand out rid when netlogon credential chain has been setup sucessfully.
Guenther
-----------------------------------------------------------------------
Summary of changes:
librpc/gen_ndr/ndr_netlogon.c | 1 +
librpc/gen_ndr/netlogon.h | 1 +
librpc/idl/netlogon.idl | 1 +
source3/rpc_server/srv_netlog_nt.c | 6 +++++-
4 files changed, 8 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/gen_ndr/ndr_netlogon.c b/librpc/gen_ndr/ndr_netlogon.c
index 18969ec..8bb22d8 100644
--- a/librpc/gen_ndr/ndr_netlogon.c
+++ b/librpc/gen_ndr/ndr_netlogon.c
@@ -6508,6 +6508,7 @@ _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *n
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_0x01000000", NETLOGON_NEG_0x01000000, r);
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
ndr->depth--;
diff --git a/librpc/gen_ndr/netlogon.h b/librpc/gen_ndr/netlogon.h
index 28307ff..bc8ff12 100644
--- a/librpc/gen_ndr/netlogon.h
+++ b/librpc/gen_ndr/netlogon.h
@@ -754,6 +754,7 @@ union netr_CONTROL_DATA_INFORMATION {
#define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
#define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
#define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
+#define NETLOGON_NEG_0x01000000 ( 0x01000000 )
#define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
#define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl
index c34059a..2a2a6eb 100644
--- a/librpc/idl/netlogon.idl
+++ b/librpc/idl/netlogon.idl
@@ -961,6 +961,7 @@ interface netlogon
NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION = 0x00100000,
NETLOGON_NEG_RODC_PASSTHROUGH = 0x00200000,
NETLOGON_NEG_SUPPORTS_AES_SHA2 = 0x00400000,
+ NETLOGON_NEG_0x01000000 = 0x01000000,
NETLOGON_NEG_AUTHENTICATED_RPC_LSASS = 0x20000000,
NETLOGON_NEG_AUTHENTICATED_RPC = 0x40000000
} netr_NegotiateFlags;
diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c
index 79ff7b1..8a93b20 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -513,6 +513,7 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p,
uint32_t in_neg_flags = *r->in.negotiate_flags;
struct netr_Credential srv_chal_out;
const char *fn;
+ uint32_t rid;
/* According to Microsoft (see bugid #6099)
* Windows 7 looks at the negotiate_flags
@@ -578,7 +579,7 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p,
status = get_md4pw((char *)p->dc->mach_pw,
r->in.account_name,
r->in.secure_channel_type,
- r->out.rid);
+ &rid);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("%s: failed to get machine password for "
"account %s: %s\n",
@@ -621,6 +622,9 @@ NTSTATUS _netr_ServerAuthenticate3(pipes_struct *p,
r->in.computer_name,
p->dc);
unbecome_root();
+
+ *r->out.rid = rid;
+
status = NT_STATUS_OK;
out:
--
Samba Shared Repository
More information about the samba-cvs
mailing list