1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

r20970: Allow to define workstation for samlogon in rpcclient (for testing).

Guenther
This commit is contained in:
Günther Deschner 2007-01-23 10:51:35 +00:00 committed by Gerald (Jerry) Carter
parent 029d4bb5e3
commit 5d4747fdf2
2 changed files with 17 additions and 8 deletions

View File

@ -733,6 +733,7 @@ NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli,
const char *domain,
const char *username,
const char *password,
const char *workstation,
int logon_type)
{
prs_struct qbuf, rbuf;
@ -750,7 +751,11 @@ NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli,
ZERO_STRUCT(r);
ZERO_STRUCT(ret_creds);
fstr_sprintf( clnt_name_slash, "\\\\%s", global_myname() );
if (workstation) {
fstr_sprintf( clnt_name_slash, "\\\\%s", workstation );
} else {
fstr_sprintf( clnt_name_slash, "\\\\%s", global_myname() );
}
/* Initialise input parameters */

View File

@ -338,11 +338,12 @@ static NTSTATUS cmd_netlogon_sam_logon(struct rpc_pipe_client *cli,
const char *username, *password;
int auth_level = 2;
uint32 logon_param = 0;
const char *workstation = NULL;
/* Check arguments */
if (argc < 3 || argc > 6) {
fprintf(stderr, "Usage: samlogon <username> <password> "
fprintf(stderr, "Usage: samlogon <username> <password> [workstation]"
"[logon_type (1 or 2)] [auth level (2 or 3)] [logon_parameter]\n");
return NT_STATUS_OK;
}
@ -350,18 +351,21 @@ static NTSTATUS cmd_netlogon_sam_logon(struct rpc_pipe_client *cli,
username = argv[1];
password = argv[2];
if (argc >= 4)
sscanf(argv[3], "%i", &logon_type);
if (argc >= 4)
workstation = argv[3];
if (argc >= 5)
sscanf(argv[4], "%i", &auth_level);
sscanf(argv[4], "%i", &logon_type);
if (argc == 6)
sscanf(argv[5], "%x", &logon_param);
if (argc >= 6)
sscanf(argv[5], "%i", &auth_level);
if (argc == 7)
sscanf(argv[6], "%x", &logon_param);
/* Perform the sam logon */
result = rpccli_netlogon_sam_logon(cli, mem_ctx, logon_param, lp_workgroup(), username, password, logon_type);
result = rpccli_netlogon_sam_logon(cli, mem_ctx, logon_param, lp_workgroup(), username, password, workstation, logon_type);
if (!NT_STATUS_IS_OK(result))
goto done;