From a0b1f5173187e6e690a53459384a9f806425c262 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 3 Oct 2009 15:33:12 +0200 Subject: [PATCH] s3:rpc: Fix is_known_pipename for dynamically loaded pipes (cherry picked from commit 476a5df4a3434687b17e91c0d70d0fd8d0f91c4a) --- source3/rpc_server/srv_pipe.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c index 8611be49e31..a246b6db50d 100644 --- a/source3/rpc_server/srv_pipe.c +++ b/source3/rpc_server/srv_pipe.c @@ -1092,6 +1092,7 @@ bool is_known_pipename(const char *cli_filename, struct ndr_syntax_id *syntax) { const char *pipename = cli_filename; int i; + NTSTATUS status; if (strnequal(pipename, "\\PIPE\\", 6)) { pipename += 5; @@ -1113,7 +1114,27 @@ bool is_known_pipename(const char *cli_filename, struct ndr_syntax_id *syntax) } } - DEBUG(10, ("is_known_pipename: %s unknown\n", cli_filename)); + status = smb_probe_module("rpc", pipename); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(10, ("is_known_pipename: %s unknown\n", cli_filename)); + return false; + } + DEBUG(10, ("is_known_pipename: %s loaded dynamically\n", pipename)); + + /* + * Scan the list again for the interface id + */ + + for (i=0; i