mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
s3:rpc: Fix is_known_pipename for dynamically loaded pipes
This commit is contained in:
parent
1341d4509c
commit
f3869f90f5
@ -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<rpc_lookup_size; i++) {
|
||||
if (strequal(pipename, rpc_lookup[i].pipe.clnt)) {
|
||||
*syntax = rpc_lookup[i].rpc_interface;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
DEBUG(10, ("is_known_pipename: pipe %s did not register itself!\n",
|
||||
pipename));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user