Juan Lang : crypt32: Make updating a hash a member of signed message data, not signed message.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Aug 21 15:22:23 CDT 2007


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Aug 20 17:44:12 2007 -0700

crypt32: Make updating a hash a member of signed message data, not signed message.

---

 dlls/crypt32/msg.c |   30 ++++++++++++++----------------
 1 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index b67dbbd..0afb662 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -819,6 +819,18 @@ static void CSignedMsgData_CloseHandles(CSignedMsgData *msg_data)
     CryptMemFree(msg_data->signerHandles);
 }
 
+static BOOL CSignedMsgData_UpdateHash(CSignedMsgData *msg_data,
+ const BYTE *pbData, DWORD cbData)
+{
+    DWORD i;
+    BOOL ret = TRUE;
+
+    for (i = 0; ret && i < msg_data->info->cSignerInfo; i++)
+        ret = CryptHashData(msg_data->signerHandles[i].contentHash, pbData,
+         cbData, 0);
+    return ret;
+}
+
 static void CSignedEncodeMsg_Close(HCRYPTMSG hCryptMsg)
 {
     CSignedEncodeMsg *msg = (CSignedEncodeMsg *)hCryptMsg;
@@ -928,20 +940,6 @@ static BOOL CSignedEncodeMsg_GetParam(HCRYPTMSG hCryptMsg, DWORD dwParamType,
     return ret;
 }
 
-static BOOL CSignedEncodeMsg_UpdateHash(CSignedEncodeMsg *msg,
- const BYTE *pbData, DWORD cbData)
-{
-    DWORD i;
-    BOOL ret = TRUE;
-
-    TRACE("(%p, %p, %d)\n", msg, pbData, cbData);
-
-    for (i = 0; ret && i < msg->msg_data.info->cSignerInfo; i++)
-        ret = CryptHashData(msg->msg_data.signerHandles[i].contentHash, pbData,
-         cbData, 0);
-    return ret;
-}
-
 static BOOL CRYPT_AppendAttribute(CRYPT_ATTRIBUTES *out,
  const CRYPT_ATTRIBUTE *in)
 {
@@ -1099,7 +1097,7 @@ static BOOL CSignedEncodeMsg_Update(HCRYPTMSG hCryptMsg, const BYTE *pbData,
 
     if (msg->base.streamed || (msg->base.open_flags & CMSG_DETACHED_FLAG))
     {
-        ret = CSignedEncodeMsg_UpdateHash(msg, pbData, cbData);
+        ret = CSignedMsgData_UpdateHash(&msg->msg_data, pbData, cbData);
         if (ret && fFinal)
         {
             ret = CSignedEncodeMsg_UpdateAuthenticatedAttributes(msg);
@@ -1128,7 +1126,7 @@ static BOOL CSignedEncodeMsg_Update(HCRYPTMSG hCryptMsg, const BYTE *pbData,
             else
                 ret = TRUE;
             if (ret)
-                ret = CSignedEncodeMsg_UpdateHash(msg, pbData, cbData);
+                ret = CSignedMsgData_UpdateHash(&msg->msg_data, pbData, cbData);
             if (ret)
                 ret = CSignedEncodeMsg_UpdateAuthenticatedAttributes(msg);
             if (ret)




More information about the wine-cvs mailing list