WERROR werr;
unsigned int old_timeout = 0;
struct dcerpc_binding_handle *b;
+ DATA_BLOB session_key;
werr = libnetapi_open_pipe(ctx, r->in.server,
&ndr_table_wkssvc.syntax_id,
b = pipe_cli->binding_handle;
if (r->in.password) {
+
+ status = cli_get_session_key(ctx, pipe_cli, &session_key);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
encode_wkssvc_join_password_buffer(ctx,
r->in.password,
- &pipe_cli->auth->user_session_key,
+ &session_key,
&encrypted_password);
}
WERROR werr;
unsigned int old_timeout = 0;
struct dcerpc_binding_handle *b;
+ DATA_BLOB session_key;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_wkssvc.syntax_id,
b = pipe_cli->binding_handle;
if (r->in.password) {
+
+ status = cli_get_session_key(ctx, pipe_cli, &session_key);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
encode_wkssvc_join_password_buffer(ctx,
r->in.password,
- &pipe_cli->auth->user_session_key,
+ &session_key,
&encrypted_password);
}
NTSTATUS status;
WERROR werr;
struct dcerpc_binding_handle *b;
+ DATA_BLOB session_key;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_wkssvc.syntax_id,
b = pipe_cli->binding_handle;
if (r->in.password) {
+
+ status = cli_get_session_key(ctx, pipe_cli, &session_key);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
encode_wkssvc_join_password_buffer(ctx,
r->in.password,
- &pipe_cli->auth->user_session_key,
+ &session_key,
&encrypted_password);
}
NTSTATUS status;
WERROR werr;
struct dcerpc_binding_handle *b;
+ DATA_BLOB session_key;
werr = libnetapi_open_pipe(ctx, r->in.server_name,
&ndr_table_wkssvc.syntax_id,
b = pipe_cli->binding_handle;
if (r->in.password) {
+
+ status = cli_get_session_key(ctx, pipe_cli, &session_key);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
encode_wkssvc_join_password_buffer(ctx,
r->in.password,
- &pipe_cli->auth->user_session_key,
+ &session_key,
&encrypted_password);
}
#include "rpc_client/init_lsa.h"
#include "../libcli/security/security.h"
#include "../libds/common/flag_mapping.h"
+#include "rpc_client/cli_pipe.h"
/****************************************************************
****************************************************************/
uint32_t rid = 0;
struct USER_INFO_X uX;
struct dcerpc_binding_handle *b = NULL;
+ DATA_BLOB session_key;
ZERO_STRUCT(connect_handle);
ZERO_STRUCT(domain_handle);
goto done;
}
+ status = cli_get_session_key(ctx, pipe_cli, &session_key);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
uX.usriX_flags |= ACB_NORMAL;
status = set_user_info_USER_INFO_X(ctx, pipe_cli,
- &pipe_cli->auth->user_session_key,
+ &session_key,
&user_handle,
&uX);
if (!NT_STATUS_IS_OK(status)) {
struct USER_INFO_X uX;
struct dcerpc_binding_handle *b = NULL;
+ DATA_BLOB session_key;
ZERO_STRUCT(connect_handle);
ZERO_STRUCT(domain_handle);
goto done;
}
+ status = cli_get_session_key(ctx, pipe_cli, &session_key);
+ if (!NT_STATUS_IS_OK(status)) {
+ werr = ntstatus_to_werror(status);
+ goto done;
+ }
+
status = set_user_info_USER_INFO_X(ctx, pipe_cli,
- &pipe_cli->auth->user_session_key,
+ &session_key,
&user_handle,
&uX);
if (!NT_STATUS_IS_OK(status)) {