svn commit: samba r9979 - in branches/tmp/RPCREWRITE/source: rpc_client rpcclient

jra at samba.org jra at samba.org
Sat Sep 3 00:33:28 GMT 2005


Author: jra
Date: 2005-09-03 00:33:27 +0000 (Sat, 03 Sep 2005)
New Revision: 9979

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

Log:
Ensure the creds stream is set up when testing the netlogon pipe.
Jeremy.

Modified:
   branches/tmp/RPCREWRITE/source/rpc_client/cli_lsarpc.c
   branches/tmp/RPCREWRITE/source/rpcclient/rpcclient.c


Changeset:
Modified: branches/tmp/RPCREWRITE/source/rpc_client/cli_lsarpc.c
===================================================================
--- branches/tmp/RPCREWRITE/source/rpc_client/cli_lsarpc.c	2005-09-02 23:42:56 UTC (rev 9978)
+++ branches/tmp/RPCREWRITE/source/rpc_client/cli_lsarpc.c	2005-09-03 00:33:27 UTC (rev 9979)
@@ -178,7 +178,7 @@
 	LSA_R_LOOKUP_SIDS r;
 	DOM_R_REF ref;
 	LSA_TRANS_NAME_ENUM t_names;
-	NTSTATUS result;
+	NTSTATUS result = NT_STATUS_OK;
 	int i;
 
 	ZERO_STRUCT(q);

Modified: branches/tmp/RPCREWRITE/source/rpcclient/rpcclient.c
===================================================================
--- branches/tmp/RPCREWRITE/source/rpcclient/rpcclient.c	2005-09-02 23:42:56 UTC (rev 9978)
+++ branches/tmp/RPCREWRITE/source/rpcclient/rpcclient.c	2005-09-03 00:33:27 UTC (rev 9979)
@@ -519,23 +519,6 @@
 	/* Open pipe */
 
 	if (cmd_entry->pipe_idx != -1 && cmd_entry->rpc_pipe == NULL) {
-#if 0
-		if (lp_client_schannel() && (cmd_entry->pipe_idx == PI_NETLOGON) && !(cli->pipe_auth_flags & AUTH_PIPE_SCHANNEL)) {
-		uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS;
-		uint32 sec_channel_type;
-	uchar trust_password[16];
-	
-		if (!secrets_fetch_trust_account_password(lp_workgroup(),
-							  trust_password,
-							  NULL, &sec_channel_type)) {
-			return NT_STATUS_UNSUCCESSFUL;
-		}
-		
-		ntresult = cli_nt_setup_creds(cli, sec_channel_type, 
-					      trust_password,
-					      &neg_flags, 2);
-}
-#endif
 		switch (pipe_default_auth_type) {
 			case PIPE_AUTH_TYPE_NONE:
 				cmd_entry->rpc_pipe = cli_rpc_pipe_open_noauth(cli,
@@ -566,6 +549,32 @@
 				get_pipe_name_from_index(cmd_entry->pipe_idx)));
 			return NT_STATUS_UNSUCCESSFUL;
 		}
+
+		if (cmd_entry->pipe_idx == PI_NETLOGON) {
+			uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS;
+			uint32 sec_channel_type;
+			uchar trust_password[16];
+	
+			if (!secrets_fetch_trust_account_password(lp_workgroup(),
+							trust_password,
+							NULL, &sec_channel_type)) {
+				return NT_STATUS_UNSUCCESSFUL;
+			}
+		
+			ntresult = rpccli_netlogon_setup_creds(cmd_entry->rpc_pipe,
+						cli->desthost,
+						lp_workgroup(),
+						global_myname(),
+						trust_password,
+						sec_channel_type,
+						&neg_flags);
+
+			if (!NT_STATUS_IS_OK(ntresult)) {
+				DEBUG(0, ("Could not initialise credentials for %s.\n",
+					get_pipe_name_from_index(cmd_entry->pipe_idx)));
+				return ntresult;
+			}
+		}
 	}
 
 	/* Run command */



More information about the samba-cvs mailing list