Hans Leidekker : rpcrt4: Include authentication schemes in the quality of service match.

Alexandre Julliard julliard at winehq.org
Tue Aug 20 14:38:38 CDT 2013


Module: wine
Branch: master
Commit: 1e3186c6c74b1e8ec6c140eee59815d492a32335
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1e3186c6c74b1e8ec6c140eee59815d492a32335

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Aug 20 12:54:06 2013 +0200

rpcrt4: Include authentication schemes in the quality of service match.

---

 dlls/rpcrt4/rpc_binding.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

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)
         {




More information about the wine-cvs mailing list