[PATCH 2/6] combase: Move CoQueryProxyBlanket().
Nikolay Sivov
nsivov at codeweavers.com
Thu Aug 6 01:13:05 CDT 2020
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/combase/combase.c | 25 ++++++++++++++++++++++
dlls/combase/combase.spec | 2 +-
dlls/ole32/compobj.c | 45 ---------------------------------------
dlls/ole32/ole32.spec | 2 +-
4 files changed, 27 insertions(+), 47 deletions(-)
diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c
index 9bf2252fb85..c67cf2fbce7 100644
--- a/dlls/combase/combase.c
+++ b/dlls/combase/combase.c
@@ -454,3 +454,28 @@ HRESULT WINAPI CoCreateGuid(GUID *guid)
if (status == RPC_S_OK || status == RPC_S_UUID_LOCAL_ONLY) return S_OK;
return HRESULT_FROM_WIN32(status);
}
+
+/******************************************************************************
+ * CoQueryProxyBlanket (combase.@)
+ */
+HRESULT WINAPI CoQueryProxyBlanket(IUnknown *proxy, DWORD *authn_service,
+ DWORD *authz_service, OLECHAR **servername, DWORD *authn_level,
+ DWORD *imp_level, void **auth_info, DWORD *capabilities)
+{
+ IClientSecurity *client_security;
+ HRESULT hr;
+
+ TRACE("%p, %p, %p, %p, %p, %p, %p, %p.\n", proxy, authn_service, authz_service, servername, authn_level, imp_level,
+ auth_info, capabilities);
+
+ hr = IUnknown_QueryInterface(proxy, &IID_IClientSecurity, (void **)&client_security);
+ if (SUCCEEDED(hr))
+ {
+ hr = IClientSecurity_QueryBlanket(client_security, proxy, authn_service, authz_service, servername,
+ authn_level, imp_level, auth_info, capabilities);
+ IClientSecurity_Release(client_security);
+ }
+
+ if (FAILED(hr)) ERR("-- failed with %#x.\n", hr);
+ return hr;
+}
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index ddfe5c5ca2e..ed6767263d8 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -135,7 +135,7 @@
@ stub CoPushServiceDomain
@ stub CoQueryAuthenticationServices
@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryClientBlanket
-@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryProxyBlanket
+@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stub CoReactivateObject
@ stub CoRegisterActivationFilter
@ stdcall CoRegisterClassObject(ptr ptr long long ptr) ole32.CoRegisterClassObject
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index f96d69c198c..b96edf99bf1 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -4191,51 +4191,6 @@ HRESULT WINAPI CoAllowSetForegroundWindow(IUnknown *pUnk, void *pvReserved)
FIXME("(%p, %p): stub\n", pUnk, pvReserved);
return S_OK;
}
-
-/***********************************************************************
- * CoQueryProxyBlanket [OLE32.@]
- *
- * Retrieves the security settings being used by a proxy.
- *
- * PARAMS
- * pProxy [I] Pointer to the proxy object.
- * pAuthnSvc [O] The type of authentication service.
- * pAuthzSvc [O] The type of authorization service.
- * ppServerPrincName [O] Optional. The server prinicple name.
- * pAuthnLevel [O] The authentication level.
- * pImpLevel [O] The impersonation level.
- * ppAuthInfo [O] Information specific to the authorization/authentication service.
- * pCapabilities [O] Flags affecting the security behaviour.
- *
- * RETURNS
- * Success: S_OK.
- * Failure: HRESULT code.
- *
- * SEE ALSO
- * CoCopyProxy, CoSetProxyBlanket.
- */
-HRESULT WINAPI CoQueryProxyBlanket(IUnknown *pProxy, DWORD *pAuthnSvc,
- DWORD *pAuthzSvc, OLECHAR **ppServerPrincName, DWORD *pAuthnLevel,
- DWORD *pImpLevel, void **ppAuthInfo, DWORD *pCapabilities)
-{
- IClientSecurity *pCliSec;
- HRESULT hr;
-
- TRACE("%p\n", pProxy);
-
- hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
- if (SUCCEEDED(hr))
- {
- hr = IClientSecurity_QueryBlanket(pCliSec, pProxy, pAuthnSvc,
- pAuthzSvc, ppServerPrincName,
- pAuthnLevel, pImpLevel, ppAuthInfo,
- pCapabilities);
- IClientSecurity_Release(pCliSec);
- }
-
- if (FAILED(hr)) ERR("-- failed with 0x%08x\n", hr);
- return hr;
-}
/***********************************************************************
* CoSetProxyBlanket [OLE32.@]
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index 0713a989eed..c737b2e386e 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -62,7 +62,7 @@
@ stdcall CoMarshalInterface(ptr ptr ptr long ptr long)
@ stub CoQueryAuthenticationServices
@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr)
-@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr)
+@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) combase.CoQueryProxyBlanket
@ stub CoQueryReleaseObject
@ stdcall CoRegisterChannelHook(ptr ptr)
@ stdcall CoRegisterClassObject(ptr ptr long long ptr)
--
2.27.0
More information about the wine-devel
mailing list