[2/4] rpcrt4: Include authentication schemes in the quality of service match.
Hans Leidekker
hans at codeweavers.com
Tue Aug 20 05:54:06 CDT 2013
---
dlls/rpcrt4/rpc_binding.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/dlls/rpcrt4/rpc_binding.c b/dlls/rpcrt4/rpc_binding.c
index e575e65..161420d 100644
--- a/dlls/rpcrt4/rpc_binding.c
+++ b/dlls/rpcrt4/rpc_binding.c
@@ -1414,7 +1414,18 @@ BOOL RpcQualityOfService_IsEqual(const RpcQualityOfService *qos1, const RpcQuali
if (http_credentials1->AuthenticationTarget != http_credentials2->AuthenticationTarget)
return FALSE;
- /* authentication schemes and server certificate subject not currently used */
+ if (http_credentials1->NumberOfAuthnSchemes != http_credentials2->NumberOfAuthnSchemes)
+ return FALSE;
+
+ if ((!http_credentials1->AuthnSchemes && http_credentials2->AuthnSchemes) ||
+ (http_credentials1->AuthnSchemes && !http_credentials2->AuthnSchemes))
+ return FALSE;
+
+ if (memcmp(http_credentials1->AuthnSchemes, http_credentials2->AuthnSchemes,
+ http_credentials1->NumberOfAuthnSchemes * sizeof(http_credentials1->AuthnSchemes[0])))
+ return FALSE;
+
+ /* server certificate subject not currently used */
if (http_credentials1->TransportCredentials != http_credentials2->TransportCredentials)
{
--
1.7.10.4
More information about the wine-patches
mailing list