/********************************************************************
********************************************************************/
-WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx,
- const char *server_name,
- struct cli_state **cli)
+static WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx,
+ const char *server_name,
+ struct cli_state **cli)
{
struct cli_state *cli_ipc = NULL;
********************************************************************/
WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx,
- struct cli_state *cli,
+ const char *server_name,
const struct ndr_syntax_id *interface,
+ struct cli_state **pcli,
struct rpc_pipe_client **presult)
{
struct rpc_pipe_client *result = NULL;
NTSTATUS status;
+ WERROR werr;
+ struct cli_state *cli = NULL;
- if (!cli || !presult) {
+ if (!presult) {
return WERR_INVALID_PARAM;
}
+ werr = libnetapi_open_ipc_connection(ctx, server_name, &cli);
+ if (!W_ERROR_IS_OK(werr)) {
+ return werr;
+ }
+
status = pipe_cm_open(ctx, cli, interface, &result);
if (!NT_STATUS_IS_OK(status)) {
libnetapi_set_error_string(ctx, "failed to open PIPE %s: %s",
}
*presult = result;
+ *pcli = cli;
+
return WERR_OK;
}
NTSTATUS status;
WERROR werr;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_netlogon.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_netlogon.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
NTSTATUS status;
WERROR werr;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_netlogon.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_netlogon.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
struct cli_state *cli = NULL;
struct rpc_pipe_client *pipe_cli = NULL;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_netlogon.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_netlogon.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
goto done;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_INVALID_PARAM;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_INVALID_PARAM;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_INVALID_PARAM;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_INVALID_PARAM;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_INVALID_PARAM;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_UNKNOWN_LEVEL;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
WERROR werr;
unsigned int old_timeout = 0;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_wkssvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server,
+ &ndr_table_wkssvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
WERROR werr;
unsigned int old_timeout = 0;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_wkssvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_wkssvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
WERROR werr;
const char *buffer = NULL;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_wkssvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_wkssvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
NTSTATUS status;
WERROR werr;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_wkssvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_wkssvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(alias_handle);
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(alias_handle);
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(alias_handle);
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(alias_handle);
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(alias_handle);
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
break;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
if (r->in.level == 3) {
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_lsarpc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_lsarpc.syntax_id,
+ &cli,
&lsa_pipe);
if (!W_ERROR_IS_OK(werr)) {
goto done;
TALLOC_FREE(lsa_pipe);
}
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
NET_API_STATUS libnetapi_set_error_string(struct libnetapi_ctx *ctx, const char *format, ...);
NET_API_STATUS libnetapi_get_debuglevel(struct libnetapi_ctx *ctx, char **debuglevel);
-WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx,
- const char *server_name,
- struct cli_state **cli);
WERROR libnetapi_shutdown_cm(struct libnetapi_ctx *ctx);
WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx,
- struct cli_state *cli,
+ const char *server_name,
const struct ndr_syntax_id *interface,
+ struct cli_state **pcli,
struct rpc_pipe_client **presult);
WERROR libnetapi_samr_open_domain(struct libnetapi_ctx *mem_ctx,
struct rpc_pipe_client *pipe_cli,
WERROR werr;
union srvsvc_NetSrvInfo info;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_srvsvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_srvsvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
WERROR werr;
union srvsvc_NetSrvInfo info;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_srvsvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_srvsvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
WERROR werr;
struct srvsvc_NetRemoteTODInfo *info = NULL;
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_srvsvc.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_srvsvc.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
goto done;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
ZERO_STRUCT(domain_handle);
ZERO_STRUCT(user_handle);
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
+
if (!W_ERROR_IS_OK(werr)) {
goto done;
}
return WERR_NOT_SUPPORTED;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
return WERR_UNKNOWN_LEVEL;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
goto done;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
goto done;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
goto done;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;
goto done;
}
- werr = libnetapi_open_ipc_connection(ctx, r->in.server_name, &cli);
- if (!W_ERROR_IS_OK(werr)) {
- goto done;
- }
-
- werr = libnetapi_open_pipe(ctx, cli, &ndr_table_samr.syntax_id,
+ werr = libnetapi_open_pipe(ctx, r->in.server_name,
+ &ndr_table_samr.syntax_id,
+ &cli,
&pipe_cli);
if (!W_ERROR_IS_OK(werr)) {
goto done;