Ok thanks. Lets step back. The change I made was:

SEC_ASN1_MKSUB(SECOID_AlgorithmIDTemplate)
 static SEC_ASN1Template template[] = {
   { SEC_ASN1_SEQUENCE, 0, NULL, sizeof (SDRResult) },
   { SEC_ASN1_OCTET_STRING, offsetof(SDRResult, keyid) },
   { SEC_ASN1_INLINE | SEC_ASN1_XTRN, offsetof(SDRResult, alg),
SEC_ASN1_SUB(SECOID_AlgorithmIDTemplate) },
   { SEC_ASN1_OCTET_STRING, offsetof(SDRResult, data) },
   { 0 }
 };

It used to be:

static SEC_ASN1Template template[] = {
 { SEC_ASN1_SEQUENCE, 0, NULL, sizeof (SDRResult) },
 { SEC_ASN1_OCTET_STRING, offsetof(SDRResult, keyid) },
 { SEC_ASN1_INLINE, offsetof(SDRResult, alg),
NSS_Get_SECOID_AlgorithmIDTemplate },
 { SEC_ASN1_OCTET_STRING, offsetof(SDRResult, data) },
 { 0 }
};

Does the change look OK?
Also what exactly does the error mean, "Exception Breakpoint error:
breakpoint has been reached (0x800000003)" ? What is this breakpoint?

-- P

"Nelson B. Bolyard" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Patrick wrote:
> >
> > Update on this:
> >
> > the change you propose seems to work fine except that the problem seems
to
> > be with successive encoding/decoding operations. That is to say, I can
> > encode/decode *once*, but when I do another successive encode/decode in
same
> > program, I get the original error back
> > Is there a macro for "resetting the template"?
>
> Templates are constants, not changed by the decoding process.
> They do not contain state information.  So there should be no problem
> with using the same template multiple times in succession, or even
> simultaneously by multiple threads.
>
> > Why didn't I see this problem in NSS3.1?
>
> I'd guess you were tesing only on Unix?



Reply via email to