[PATCH 5/6] combase: Move CoQueryClientBlanket().

Nikolay Sivov nsivov at codeweavers.com
Thu Aug 6 01:13:08 CDT 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/combase/combase.c    | 23 ++++++++++++++++++
 dlls/combase/combase.spec |  2 +-
 dlls/ole32/compobj.c      | 50 ---------------------------------------
 dlls/ole32/ole32.spec     |  2 +-
 4 files changed, 25 insertions(+), 52 deletions(-)

diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c
index 595a7569b09..5af6b3d9ed6 100644
--- a/dlls/combase/combase.c
+++ b/dlls/combase/combase.c
@@ -524,3 +524,26 @@ HRESULT WINAPI CoCopyProxy(IUnknown *proxy, IUnknown **proxy_copy)
     if (FAILED(hr)) ERR("-- failed with %#x.\n", hr);
     return hr;
 }
+
+/***********************************************************************
+ *           CoQueryClientBlanket        (combase.@)
+ */
+HRESULT WINAPI CoQueryClientBlanket(DWORD *authn_service, DWORD *authz_service, OLECHAR **servername,
+        DWORD *authn_level, DWORD *imp_level, RPC_AUTHZ_HANDLE *privs, DWORD *capabilities)
+{
+    IServerSecurity *server_security;
+    HRESULT hr;
+
+    TRACE("%p, %p, %p, %p, %p, %p, %p.\n", authn_service, authz_service, servername, authn_level, imp_level,
+            privs, capabilities);
+
+    hr = CoGetCallContext(&IID_IServerSecurity, (void **)&server_security);
+    if (SUCCEEDED(hr))
+    {
+        hr = IServerSecurity_QueryBlanket(server_security, authn_service, authz_service, servername, authn_level,
+                imp_level, privs, capabilities);
+        IServerSecurity_Release(server_security);
+    }
+
+    return hr;
+}
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index 669b42486fd..6d13ea6038e 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -134,7 +134,7 @@
 @ stub CoPopServiceDomain
 @ stub CoPushServiceDomain
 @ stub CoQueryAuthenticationServices
-@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryClientBlanket
+@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr)
 @ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr)
 @ stub CoReactivateObject
 @ stub CoRegisterActivationFilter
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index b1fedf17c88..c4daeb3b3d9 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -4250,56 +4250,6 @@ HRESULT WINAPI CoSwitchCallContext(IUnknown *pObject, IUnknown **ppOldObject)
     return S_OK;
 }
 
-/***********************************************************************
- *           CoQueryClientBlanket [OLE32.@]
- *
- * Retrieves the authentication information about the client of the currently
- * executing server call in the current thread.
- *
- * PARAMS
- *  pAuthnSvc     [O] Optional. The type of authentication service.
- *  pAuthzSvc     [O] Optional. The type of authorization service.
- *  pServerPrincName [O] Optional. The server prinicple name.
- *  pAuthnLevel   [O] Optional. The authentication level.
- *  pImpLevel     [O] Optional. The impersonation level.
- *  pPrivs        [O] Optional. Information about the privileges of the client.
- *  pCapabilities [IO] Optional. Flags affecting the security behaviour.
- *
- * RETURNS
- *  Success: S_OK.
- *  Failure: HRESULT code.
- *
- * SEE ALSO
- *  CoImpersonateClient, CoRevertToSelf, CoGetCallContext.
- */
-HRESULT WINAPI CoQueryClientBlanket(
-    DWORD *pAuthnSvc,
-    DWORD *pAuthzSvc,
-    OLECHAR **pServerPrincName,
-    DWORD *pAuthnLevel,
-    DWORD *pImpLevel,
-    RPC_AUTHZ_HANDLE *pPrivs,
-    DWORD *pCapabilities)
-{
-    IServerSecurity *pSrvSec;
-    HRESULT hr;
-
-    TRACE("(%p, %p, %p, %p, %p, %p, %p)\n",
-        pAuthnSvc, pAuthzSvc, pServerPrincName, pAuthnLevel, pImpLevel,
-        pPrivs, pCapabilities);
-
-    hr = CoGetCallContext(&IID_IServerSecurity, (void **)&pSrvSec);
-    if (SUCCEEDED(hr))
-    {
-        hr = IServerSecurity_QueryBlanket(
-            pSrvSec, pAuthnSvc, pAuthzSvc, pServerPrincName, pAuthnLevel,
-            pImpLevel, pPrivs, pCapabilities);
-        IServerSecurity_Release(pSrvSec);
-    }
-
-    return hr;
-}
-
 /***********************************************************************
  *           CoImpersonateClient [OLE32.@]
  *
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index c64392d5238..e08305810fd 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -61,7 +61,7 @@
 @ stdcall CoMarshalInterThreadInterfaceInStream(ptr ptr ptr)
 @ stdcall CoMarshalInterface(ptr ptr ptr long ptr long)
 @ stub CoQueryAuthenticationServices
-@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr)
+@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr) combase.CoQueryClientBlanket
 @ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) combase.CoQueryProxyBlanket
 @ stub CoQueryReleaseObject
 @ stdcall CoRegisterChannelHook(ptr ptr)
-- 
2.27.0




More information about the wine-devel mailing list