/* Try not to give the password away too easily */
if (!pass_must_change) {
+ const struct sockaddr_storage *remote_sockaddr =
+ smbXcli_conn_remote_sockaddr(cli->conn);
+
result = cli_rpc_pipe_open_with_creds(cli,
&ndr_table_samr,
NCACN_NP,
DCERPC_AUTH_TYPE_NTLMSSP,
DCERPC_AUTH_LEVEL_PRIVACY,
remote_machine,
+ remote_sockaddr,
creds,
&pipe_hnd);
} else {
enum dcerpc_AuthType auth_type,
enum dcerpc_AuthLevel auth_level,
const char *server,
+ const struct sockaddr_storage *remote_sockaddr,
struct cli_credentials *creds,
struct rpc_pipe_client **presult)
{
struct pipe_auth_data *auth = NULL;
const char *target_service = table->authservices->names[0];
NTSTATUS status;
- const struct sockaddr_storage *remote_sockaddr =
- smbXcli_conn_remote_sockaddr(cli->conn);
status = cli_rpc_pipe_open(cli,
transport,
enum dcerpc_AuthType auth_type,
enum dcerpc_AuthLevel auth_level,
const char *server,
+ const struct sockaddr_storage *remote_sockaddr,
struct cli_credentials *creds,
struct rpc_pipe_client **presult);
transport,
auth_type,
auth_level,
- smbXcli_conn_remote_name(cli->conn),
+ remote_name,
+ remote_sockaddr,
creds,
&cmd_entry->rpc_pipe);
break;
DCERPC_AUTH_TYPE_NTLMSSP,
DCERPC_AUTH_LEVEL_PRIVACY,
smbXcli_conn_remote_name(cli->conn),
+ smbXcli_conn_remote_sockaddr(cli->conn),
c->creds, &pipe_hnd);
} else {
nt_status = cli_rpc_pipe_open_noauth(
struct netlogon_creds_cli_context *p_creds;
struct cli_credentials *creds = NULL;
bool retry = false; /* allow one retry attempt for expired session */
+ const char *remote_name = NULL;
+ const struct sockaddr_storage *remote_sockaddr = NULL;
if (sid_check_is_our_sam(&domain->sid)) {
if (domain->rodc == false || need_rw_dc == false) {
goto anonymous;
}
+ remote_name = smbXcli_conn_remote_name(conn->cli->conn);
+ remote_sockaddr = smbXcli_conn_remote_sockaddr(conn->cli->conn);
+
/*
* We have an authenticated connection. Use a SPNEGO
* authenticated SAMR pipe with sign & seal.
NCACN_NP,
DCERPC_AUTH_TYPE_SPNEGO,
conn->auth_level,
- smbXcli_conn_remote_name(conn->cli->conn),
+ remote_name,
+ remote_sockaddr,
creds,
&conn->samr_pipe);
struct netlogon_creds_cli_context *p_creds;
struct cli_credentials *creds = NULL;
bool retry = false; /* allow one retry attempt for expired session */
+ const char *remote_name = NULL;
+ const struct sockaddr_storage *remote_sockaddr = NULL;
retry:
result = init_dc_connection_rpc(domain, false);
goto anonymous;
}
+ remote_name = smbXcli_conn_remote_name(conn->cli->conn);
+ remote_sockaddr = smbXcli_conn_remote_sockaddr(conn->cli->conn);
+
/*
* We have an authenticated connection. Use a SPNEGO
* authenticated LSA pipe with sign & seal.
(conn->cli, &ndr_table_lsarpc, NCACN_NP,
DCERPC_AUTH_TYPE_SPNEGO,
conn->auth_level,
- smbXcli_conn_remote_name(conn->cli->conn),
+ remote_name,
+ remote_sockaddr,
creds,
&conn->lsa_pipe);