const char *client_address,
struct auth_serversupplied_info *server_info,
struct messaging_context *msg_ctx);
-NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *abstract_syntax,
+NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx,
+ const struct ndr_syntax_id *abstract_syntax,
struct auth_serversupplied_info *serversupplied_info,
+ struct messaging_context *msg_ctx,
struct rpc_pipe_client **presult);
NTSTATUS rpc_connect_spoolss_pipe(connection_struct *conn,
struct rpc_pipe_client **spoolss_pipe);
status = rpc_pipe_open_internal(tmp_ctx,
&ndr_table_spoolss.syntax_id,
server_info,
+ smbd_messaging_context(),
&spoolss_pipe);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("Couldn't open internal spoolss pipe: %s\n",
NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx,
const struct ndr_syntax_id *abstract_syntax,
struct auth_serversupplied_info *serversupplied_info,
+ struct messaging_context *msg_ctx,
struct rpc_pipe_client **presult)
{
struct rpc_pipe_client *result;
result->dispatch = rpc_pipe_internal_dispatch;
result->pipes_struct = make_internal_rpc_pipe_p(
- result, abstract_syntax, "", serversupplied_info,
- smbd_messaging_context());
+ result, abstract_syntax, "", serversupplied_info, msg_ctx);
if (result->pipes_struct == NULL) {
TALLOC_FREE(result);
return NT_STATUS_NO_MEMORY;
status = rpc_pipe_open_internal(p->mem_ctx, &ndr_table_lsarpc.syntax_id,
p->server_info,
+ p->msg_ctx,
&cli);
if (!NT_STATUS_IS_OK(status)) {
return status;
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_samr.syntax_id,
server_info,
+ smbd_messaging_context(),
&cli);
if (!NT_STATUS_IS_OK(status)) {
goto out;
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_samr.syntax_id,
server_info,
+ smbd_messaging_context(),
&cli);
if (!NT_STATUS_IS_OK(status)) {
goto out;
#include "librpc/gen_ndr/ndr_named_pipe_auth.h"
#include "../libcli/named_pipe_auth/npa_tstream.h"
#include "rpc_server.h"
+#include "smbd/globals.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
status = rpc_pipe_open_internal(conn,
&ndr_table_spoolss.syntax_id,
conn->server_info,
+ conn->sconn->msg_ctx,
&conn->spoolss_pipe);
if (!NT_STATUS_IS_OK(status)) {
return status;
status = rpc_pipe_open_internal(mem_ctx,
&ndr_table_winreg.syntax_id,
server_info,
+ smbd_messaging_context(),
&pipe_handle);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("winreg_printer_openkey: Could not connect to winreg_pipe: %s\n",
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_srvsvc.syntax_id,
conn->server_info,
+ conn->sconn->msg_ctx,
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("api_RNetShareAdd: could not connect to srvsvc: %s\n",
status = rpc_pipe_open_internal(
talloc_tos(), &ndr_table_samr.syntax_id,
- conn->server_info, &samr_pipe);
+ conn->server_info, conn->sconn->msg_ctx, &samr_pipe);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("api_RNetUserEnum: Could not connect to samr: %s\n",
nt_errstr(status)));
status = rpc_pipe_open_internal(
talloc_tos(), &ndr_table_samr.syntax_id,
- conn->server_info, &samr_pipe);
+ conn->server_info, conn->sconn->msg_ctx, &samr_pipe);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("api_RNetUserEnum: Could not connect to samr: %s\n",
nt_errstr(status)));
status = rpc_pipe_open_internal(
talloc_tos(), &ndr_table_samr.syntax_id,
- conn->server_info, &samr_pipe);
+ conn->server_info, conn->sconn->msg_ctx, &samr_pipe);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("api_RNetUserEnum: Could not connect to samr: %s\n",
nt_errstr(status)));
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_samr.syntax_id,
conn->server_info,
+ conn->sconn->msg_ctx,
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("api_SetUserPassword: could not connect to samr: %s\n",
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_samr.syntax_id,
conn->server_info,
+ conn->sconn->msg_ctx,
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("api_SamOEMChangePassword: could not connect to samr: %s\n",
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_srvsvc.syntax_id,
conn->server_info,
+ conn->sconn->msg_ctx,
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("api_RNetServerGetInfo: could not connect to srvsvc: %s\n",
status = rpc_pipe_open_internal(mem_ctx, &ndr_table_samr.syntax_id,
conn->server_info,
+ conn->sconn->msg_ctx,
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0,("api_RNetUserGetInfo: could not connect to samr: %s\n",
status = rpc_pipe_open_internal(mem_ctx,
&ndr_table_samr.syntax_id,
server_info,
+ winbind_messaging_context(),
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("open_samr_pipe: Could not connect to samr_pipe: %s\n",
status = rpc_pipe_open_internal(mem_ctx,
&ndr_table_lsarpc.syntax_id,
server_info,
+ winbind_messaging_context(),
&cli);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("open_lsa_pipe: Could not connect to lsa_pipe: %s\n",