summaryrefslogtreecommitdiff
path: root/source3/rpcclient/rpcclient.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2003-04-09 15:54:17 +0000
committerVolker Lendecke <vlendec@samba.org>2003-04-09 15:54:17 +0000
commit7238bf5f40e16360439e028fa7607a5a28e02965 (patch)
tree1816898133cbf06270a5a01afa61ae0dcacf7821 /source3/rpcclient/rpcclient.c
parentf0121aa901a99374df7ac8f43dbd50efdc3e79dd (diff)
downloadsamba-7238bf5f40e16360439e028fa7607a5a28e02965.tar.gz
samba-7238bf5f40e16360439e028fa7607a5a28e02965.tar.bz2
samba-7238bf5f40e16360439e028fa7607a5a28e02965.zip
This is the netlogon schannel client code. Try a
rpcclient -S pdc -U% -c "samlogon user password" and it should work with the schannel. Needs testing against platforms different from NT4SP6. Volker (This used to be commit eaef0d8aeff1aa5a067679be3f17e08d7434e1e8)
Diffstat (limited to 'source3/rpcclient/rpcclient.c')
-rw-r--r--source3/rpcclient/rpcclient.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/source3/rpcclient/rpcclient.c b/source3/rpcclient/rpcclient.c
index 2338d72f19..0cb4ba98c8 100644
--- a/source3/rpcclient/rpcclient.c
+++ b/source3/rpcclient/rpcclient.c
@@ -475,11 +475,28 @@ static NTSTATUS do_cmd(struct cli_state *cli,
/* Open pipe */
- if (cmd_entry->pipe_idx != -1)
- if (!cli_nt_session_open(cli, cmd_entry->pipe_idx)) {
- DEBUG(0, ("Could not initialize pipe\n"));
+ if (cmd_entry->pipe_idx == PI_NETLOGON) {
+ uchar trust_password[16];
+
+ if (!secrets_fetch_trust_account_password(lp_workgroup(),
+ trust_password,
+ NULL)) {
+ return NT_STATUS_UNSUCCESSFUL;
+ }
+
+ if (!cli_nt_open_netlogon(cli, trust_password,
+ SEC_CHAN_WKSTA)) {
+ DEBUG(0, ("Could not initialize NETLOGON pipe\n"));
return NT_STATUS_UNSUCCESSFUL;
}
+ } else {
+ if (cmd_entry->pipe_idx != -1) {
+ if (!cli_nt_session_open(cli, cmd_entry->pipe_idx)) {
+ DEBUG(0, ("Could not initialize pipe\n"));
+ return NT_STATUS_UNSUCCESSFUL;
+ }
+ }
+ }
/* Run command */