Module: wine Branch: master Commit: de88fedcce46fa51e3b84e8819882c1faa75c386 URL: http://source.winehq.org/git/wine.git/?a=commit;h=de88fedcce46fa51e3b84e8819...
Author: Juan Lang juan.lang@gmail.com Date: Mon Aug 20 17:45:33 2007 -0700
crypt32: 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(CSignedMsgData *msg_data) 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(HCRYPTMSG hCryptMsg, const BYTE *pbData,
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(HCRYPTMSG hCryptMsg, const BYTE *pbData, 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;