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:
parent
029d4bb5e3
commit
5d4747fdf2
@ -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 */
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user