svn commit: samba r21236 - in branches/SAMBA_4_0/source/torture/rpc: .

metze at samba.org metze at samba.org
Thu Feb 8 10:44:55 GMT 2007


Author: metze
Date: 2007-02-08 10:44:54 +0000 (Thu, 08 Feb 2007)
New Revision: 21236

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21236

Log:
store and orint the dcerpc session key, gensec session key and user nthash
values for each drsuapi connection in RPC-DSSYNC

metze
Modified:
   branches/SAMBA_4_0/source/torture/rpc/dssync.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/dssync.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/dssync.c	2007-02-08 09:10:59 UTC (rev 21235)
+++ branches/SAMBA_4_0/source/torture/rpc/dssync.c	2007-02-08 10:44:54 UTC (rev 21236)
@@ -28,6 +28,11 @@
 #include "libcli/ldap/ldap_client.h"
 #include "torture/torture.h"
 #include "torture/ldap/proto.h"
+#include "libcli/auth/libcli_auth.h"
+#include "lib/crypto/crypto.h"
+#include "auth/credentials/credentials.h"
+#include "libcli/auth/libcli_auth.h"
+#include "auth/gensec/gensec.h"
 
 struct DsSyncBindInfo {
 	struct dcerpc_pipe *pipe;
@@ -37,6 +42,9 @@
 	struct drsuapi_DsBindInfo28 our_bind_info28;
 	struct drsuapi_DsBindInfo28 peer_bind_info28;
 	struct policy_handle bind_handle;
+	DATA_BLOB dce_key;
+	DATA_BLOB gen_key;
+	struct samr_Password nthash;
 };
 
 struct DsSyncLDAPInfo {
@@ -113,6 +121,7 @@
 	ctx->admin.drsuapi.req.out.bind_handle		= &ctx->admin.drsuapi.bind_handle;
 
 	/* ctx->new_dc ...*/
+	ctx->new_dc.credentials			= cmdline_credentials;
 
 	our_bind_info28				= &ctx->new_dc.drsuapi.our_bind_info28;
 	our_bind_info28->supported_extensions	|= DRSUAPI_SUPPORTED_EXTENSION_BASE;
@@ -172,6 +181,7 @@
 	NTSTATUS status;
 	BOOL ret = True;
 	struct event_context *event = NULL;
+	const struct samr_Password *nthash;
 
 	status = dcerpc_pipe_connect_b(ctx,
 				       &b->pipe, ctx->drsuapi_binding, 
@@ -214,6 +224,20 @@
 		}
 	}
 
+	dcerpc_fetch_session_key(b->pipe, &b->dce_key);
+	gensec_session_key(b->pipe->conn->security_state.generic_state, &b->gen_key);
+	nthash = cli_credentials_get_nt_hash(credentials, NULL);
+	if (nthash) b->nthash = *nthash;
+
+	if (lp_parm_bool(-1,"dssync","print_pwd_blobs",False)) {
+		DEBUG(0,("DCERPC session key:\n"));
+		dump_data(0, b->dce_key.data, b->dce_key.length);
+		DEBUG(0,("GENSEC session key:\n"));
+		dump_data(0, b->gen_key.data, b->gen_key.length);
+		DEBUG(0,("CREDENTIALS nthash:\n"));
+		dump_data(0, b->nthash.hash, sizeof(b->nthash.hash));
+	}
+
 	return ret;
 }
 
@@ -635,7 +659,7 @@
 	ret &= _test_DsBind(ctx, ctx->admin.credentials, &ctx->admin.drsuapi);
 	ret &= test_LDAPBind(ctx, ctx->admin.credentials, &ctx->admin.ldap);
 	ret &= test_GetInfo(ctx);
-	ret &= _test_DsBind(ctx, ctx->admin.credentials, &ctx->new_dc.drsuapi);
+	ret &= _test_DsBind(ctx, ctx->new_dc.credentials, &ctx->new_dc.drsuapi);
 	ret &= test_FetchData(ctx);
 	ret &= test_FetchNT4Data(ctx);
 



More information about the samba-cvs mailing list