NTSTATUS status;
WERROR werr;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS |
- CLI_FULL_CONNECTION_ANONYMOUS_FALLBACK,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
(const char **)r->out.buffer,
&werr);
done:
- if (cli) {
- cli_shutdown(cli);
- }
return werr;
}
NTSTATUS status;
WERROR werr;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS |
- CLI_FULL_CONNECTION_ANONYMOUS_FALLBACK,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
goto done;
}
done:
- if (cli) {
- cli_shutdown(cli);
- }
return werr;
struct cli_state *cli = NULL;
struct rpc_pipe_client *pipe_cli = NULL;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS |
- CLI_FULL_CONNECTION_ANONYMOUS_FALLBACK,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
}
done:
- if (cli) {
- cli_shutdown(cli);
- }
-
return werr;
}
WERROR werr;
unsigned int old_timeout = 0;
- status = cli_full_connection(&cli, NULL, r->in.server,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
if (old_timeout) {
cli_set_timeout(cli, old_timeout);
}
- cli_shutdown(cli);
}
return werr;
WERROR werr;
unsigned int old_timeout = 0;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
done:
if (cli) {
- cli_set_timeout(cli, old_timeout);
- cli_shutdown(cli);
+ if (old_timeout) {
+ cli_set_timeout(cli, old_timeout);
+ }
}
return werr;
NTSTATUS status;
WERROR werr;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
}
done:
- if (cli) {
- cli_shutdown(cli);
- }
-
return werr;
}
NTSTATUS status;
WERROR werr;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
#include "includes.h"
#include "lib/netapi/netapi.h"
+#include "lib/netapi/netapi_private.h"
extern bool AllowDebugChange;
NET_API_STATUS libnetapi_free(struct libnetapi_ctx *ctx)
{
+ libnetapi_shutdown_cm(ctx);
if (ctx->krb5_cc_env) {
char *env = getenv(KRB5_ENV_CCNAME);
WERROR werr;
union srvsvc_NetSrvInfo info;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
}
done:
- if (cli) {
- cli_shutdown(cli);
- }
-
return werr;
}
WERROR werr;
union srvsvc_NetSrvInfo info;
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
}
done:
- if (cli) {
- cli_shutdown(cli);
- }
-
return werr;
}
goto done;
}
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
rpccli_samr_Close(pipe_cli, ctx, &connect_handle);
}
- cli_shutdown(cli);
-
return werr;
}
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(user_handle);
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
rpccli_samr_Close(pipe_cli, ctx, &connect_handle);
}
- cli_shutdown(cli);
-
return werr;
}
return WERR_NOT_SUPPORTED;
}
- status = cli_full_connection(&cli, NULL, r->in.server_name,
- NULL, 0,
- "IPC$", "IPC",
- ctx->username,
- ctx->workgroup,
- ctx->password,
- CLI_FULL_CONNECTION_USE_KERBEROS |
- CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
- Undefined, NULL);
-
- if (!NT_STATUS_IS_OK(status)) {
- werr = ntstatus_to_werror(status);
+ werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
goto done;
}
r->out.buffer);
done:
+ if (!cli) {
+ return werr;
+ }
+
if (is_valid_policy_hnd(&domain_handle)) {
rpccli_samr_Close(pipe_cli, ctx, &domain_handle);
}
rpccli_samr_Close(pipe_cli, ctx, &connect_handle);
}
- if (cli) {
- cli_shutdown(cli);
- }
-
return werr;
}