Rob Shearman : rpcrt4: Use RpcServerRegisterIfEx with RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH in the server test .
Alexandre Julliard
julliard at winehq.org
Tue Jun 10 06:28:02 CDT 2008
Module: wine
Branch: master
Commit: a1a5d8d02a94360f8ab183fb70232783ed051a9e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a1a5d8d02a94360f8ab183fb70232783ed051a9e
Author: Rob Shearman <robertshearman at gmail.com>
Date: Mon Jun 9 22:36:43 2008 +0100
rpcrt4: Use RpcServerRegisterIfEx with RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH in the server test.
This allows the test to run correctly on XP SP2 upwards instead of
failing with ERROR_ACCESS_DENIED.
---
dlls/rpcrt4/tests/server.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/dlls/rpcrt4/tests/server.c b/dlls/rpcrt4/tests/server.c
index 5cc9d42..5f6da37 100644
--- a/dlls/rpcrt4/tests/server.c
+++ b/dlls/rpcrt4/tests/server.c
@@ -1240,13 +1240,24 @@ server(void)
static unsigned char np[] = "ncacn_np";
static unsigned char pipe[] = PIPE;
RPC_STATUS status, iptcp_status, np_status;
+ RPC_STATUS (RPC_ENTRY *pRpcServerRegisterIfEx)(RPC_IF_HANDLE,UUID*,
+ RPC_MGR_EPV*, unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
iptcp_status = RpcServerUseProtseqEp(iptcp, 20, port, NULL);
ok(iptcp_status == RPC_S_OK, "RpcServerUseProtseqEp(ncacn_ip_tcp) failed with status %ld\n", iptcp_status);
np_status = RpcServerUseProtseqEp(np, 0, pipe, NULL);
ok(np_status == RPC_S_OK, "RpcServerUseProtseqEp(ncacn_np) failed with status %ld\n", np_status);
- status = RpcServerRegisterIf(s_IServer_v0_0_s_ifspec, NULL, NULL);
+ pRpcServerRegisterIfEx = (void *)GetProcAddress(GetModuleHandle("rpcrt4.dll"), "RpcServerRegisterIfEx");
+ if (pRpcServerRegisterIfEx)
+ {
+ trace("Using RpcServerRegisterIfEx\n");
+ status = pRpcServerRegisterIfEx(s_IServer_v0_0_s_ifspec, NULL, NULL,
+ RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH,
+ RPC_C_LISTEN_MAX_CALLS_DEFAULT, NULL);
+ }
+ else
+ status = RpcServerRegisterIf(s_IServer_v0_0_s_ifspec, NULL, NULL);
ok(status == RPC_S_OK, "RpcServerRegisterIf failed with status %ld\n", status);
status = RpcServerListen(1, 20, TRUE);
ok(status == RPC_S_OK, "RpcServerListen failed with status %ld\n", status);
More information about the wine-cvs
mailing list