crypt32(12/21): Add helper function to update signed message data

Juan Lang juan.lang at gmail.com
Tue Aug 21 09:24:24 CDT 2007


--Juan
-------------- next part --------------
From 1a99800a34865d830b4dc6c7ba1fffc335776931 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Mon, 20 Aug 2007 17:45:33 -0700
Subject: [PATCH] Add helper function to update signed message data
---
 dlls/crypt32/msg.c |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index 6c33941..9eab762 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -1089,6 +1089,20 @@ static BOOL CSignedMsgData_Sign(CSignedM
     return ret;
 }
 
+static BOOL CSignedMsgData_Update(CSignedMsgData *msg_data,
+ const BYTE *pbData, DWORD cbData, BOOL fFinal)
+{
+    BOOL ret = CSignedMsgData_UpdateHash(msg_data, pbData, cbData);
+
+    if (ret && fFinal)
+    {
+        ret = CSignedMsgData_UpdateAuthenticatedAttributes(msg_data);
+        if (ret)
+            ret = CSignedMsgData_Sign(msg_data);
+    }
+    return ret;
+}
+
 static BOOL CSignedEncodeMsg_Update(HCRYPTMSG hCryptMsg, const BYTE *pbData,
  DWORD cbData, BOOL fFinal)
 {
@@ -1097,14 +1111,7 @@ static BOOL CSignedEncodeMsg_Update(HCRY
 
     if (msg->base.streamed || (msg->base.open_flags & CMSG_DETACHED_FLAG))
     {
-        ret = CSignedMsgData_UpdateHash(&msg->msg_data, pbData, cbData);
-        if (ret && fFinal)
-        {
-            ret = CSignedMsgData_UpdateAuthenticatedAttributes(
-             &msg->msg_data);
-            if (ret)
-                ret = CSignedMsgData_Sign(&msg->msg_data);
-        }
+        ret = CSignedMsgData_Update(&msg->msg_data, pbData, cbData, fFinal);
         if (msg->base.streamed)
             FIXME("streamed partial stub\n");
     }
@@ -1127,12 +1134,8 @@ static BOOL CSignedEncodeMsg_Update(HCRY
             else
                 ret = TRUE;
             if (ret)
-                ret = CSignedMsgData_UpdateHash(&msg->msg_data, pbData, cbData);
-            if (ret)
-                ret = CSignedMsgData_UpdateAuthenticatedAttributes(
-                 &msg->msg_data);
-            if (ret)
-                ret = CSignedMsgData_Sign(&msg->msg_data);
+                ret = CSignedMsgData_Update(&msg->msg_data, pbData, cbData,
+                 fFinal);
         }
     }
     return ret;
-- 
1.4.1


More information about the wine-patches mailing list