Broken constructors for CSM_MsgToVerify
John Stark <[email protected]> Fri, 02 Nov 2001 18:41:29 +0000
| Newsgroups | gmane.ietf.sfl |
|---|---|
| Organization | Metanate Ltd |
| Message-ID | <[email protected]> |
Erik Rissanen [mailto:[email protected]] wrote: > One more thing: Some of the overloaded versions of > CSM_MsgToVerify::CSM_MsgToVerify and CSM_MsgToVerify::PreProc do not process > the signerInfos so that they become available in > CSM_MsgToVerify::m_pSignerInfos. Is this a bug? > For instance: > > // Does not work: > CSM_ContentInfoMsg *pcim = new CSM_ContentInfoMsg(pSMIMEMsg); > CSM_MsgToVerify *pMsg = new CSM_MsgToVerify(pcim); > pMsg->PreProc(pAppLogin); > // pMsg->m_pSignerInfos == NULL now > > //Works: > // pci is SNACC ContentInfo with signedData in pci->content > CSM_MsgToVerify *pMsg = new CSM_MsgToVerify(pAppLogin, (CSM_Buffer *) > pci->content.value); > pMsg->PreProc(pAppLogin); > // pMsg->m_pSignerInfos != NULL now I have been trying to write some verify code using SFL 1.9 and have come across the same problem. It's obvious from the source. In sm_Verify.cpp revision 1.89, the only place where the m_pSignerInfos array is constructed is in the code at line 343 in the PreProc() method that takes only a blob as parameter. This method is also called by: 1. the constructor that takes a pCSMIME and a blob (CSM_Buffer *). 2. the Verify method that takes a pCSMIME and a blob. 3. the PreProc method that takes a pCSMIME, a blob and an optional recipient list. The constructors that take a CSM_ContentInfoMsg pointer or a CSM_Content pointer don't call it. This looks to me to be a mistake. Is there going to be a new release soon that fixes this? John Stark [email protected]