On Thu, 27 Jun 2002, Richard Levitte via RT wrote:

> 
> [[EMAIL PROTECTED] - Thu Jun 27 11:32:12 2002]:
> 
> > x509.h : This is the change I'm genuinely unsure about.  x509.h
> > includes
> > asn1.h, but both x509/x_all.c and x509v3/v3_bitst.c reference (via
> > macros)
> > struct ASN1_ITEM_st, which is defined not in asn1.h but in asn1t.h.
> > Since both files include x509.h, which includes asn1.h, and since
> > asn1t.h
> > includes asn1.h, I've changed x509.h to include asn1t.h instead of
> > asn1.h.
> > Someone who knows the code better may be able to come up with a 
> better
> > solution.
> 
> I'm not sure why this should be a problem.  Have you gotten some 
> kind off errors or warnings because if the inclusion of asn1.h 
> instead of asn1t.h?  You see, asn1.h does define ASN1_ITEM and 
> declares the extense of struct ASN1_ITEM_st.  Unless the .c files 
> you mention are actually poking in that structure or need to know 
> it's size, there's no reason to define the structure.  I haven't had 
> any problems in my builds (on Linux and Solaris)...

I get the following errors in x_all.c:

Error E2450 .\crypto\x509\x_all.c 72: Undefined structure 'ASN1_ITEM_st' 
in function X509_verify
Error E2450 .\crypto\x509\x_all.c 72: Undefined structure 'ASN1_ITEM_st' 
in function X509_verify

...and the same errors in X509_REQ_verify, X509_CRL_verify, 
NETSCAPE_SPKI_verify, X509_sign, etc.  This appears to be related to the 
ASN1_ITEM_rptr macro, though why this should be, I don't know.  There's 
quite a depth of macros there, though, so maybe I missed something.  I'll 
take a closer look.

> Eeeeeep!  Not good to do that without making the same change to 
> VC-32.pl and so on as you did to BC-32.pl...  I'll see if I've the 
> energy to make an effort there...

Attached, the patch to do this, as well as to make the appropriate change 
in do_masm.bat.  I would have done this originally, but since the commit 
messages for x86nasm.pl indicating nasm wasn't working anyway, I figured 
no-one could be using Visual C with nasm :-)

-- 
Jon Bright
Lead Programmer, Silicon Circus Ltd.
http://www.siliconcircus.com
diff -ur origopenssl/ms/do_masm.bat openssl/ms/do_masm.bat

--- origopenssl/ms/do_masm.bat  Mon Jul 12 23:35:10 1999

+++ openssl/ms/do_masm.bat      Thu Jun 27 12:10:17 2002

@@ -3,54 +3,54 @@

 

 echo Bignum

 cd crypto\bn\asm

-perl x86.pl win32 > bn-win32.asm

+perl x86.pl win32 > bn_win32.asm

 cd ..\..\..

 

 echo DES

 cd crypto\des\asm

-perl des-586.pl win32 > d-win32.asm

+perl des-586.pl win32 > d_win32.asm

 cd ..\..\..

 

 echo "crypt(3)"

 

 cd crypto\des\asm

-perl crypt586.pl win32 > y-win32.asm

+perl crypt586.pl win32 > y_win32.asm

 cd ..\..\..

 

 echo Blowfish

 

 cd crypto\bf\asm

-perl bf-586.pl win32 > b-win32.asm

+perl bf-586.pl win32 > b_win32.asm

 cd ..\..\..

 

 echo CAST5

 cd crypto\cast\asm

-perl cast-586.pl win32 > c-win32.asm

+perl cast-586.pl win32 > c_win32.asm

 cd ..\..\..

 

 echo RC4

 cd crypto\rc4\asm

-perl rc4-586.pl win32 > r4-win32.asm

+perl rc4-586.pl win32 > r4_win32.asm

 cd ..\..\..

 

 echo MD5

 cd crypto\md5\asm

-perl md5-586.pl win32 > m5-win32.asm

+perl md5-586.pl win32 > m5_win32.asm

 cd ..\..\..

 

 echo SHA1

 cd crypto\sha\asm

-perl sha1-586.pl win32 > s1-win32.asm

+perl sha1-586.pl win32 > s1_win32.asm

 cd ..\..\..

 

 echo RIPEMD160

 cd crypto\ripemd\asm

-perl rmd-586.pl win32 > rm-win32.asm

+perl rmd-586.pl win32 > rm_win32.asm

 cd ..\..\..

 

 echo RC5\32

 cd crypto\rc5\asm

-perl rc5-586.pl win32 > r5-win32.asm

+perl rc5-586.pl win32 > r5_win32.asm

 cd ..\..\..

 

 echo on

diff -ur origopenssl/util/pl/VC-32.pl openssl/util/pl/VC-32.pl

--- origopenssl/util/pl/VC-32.pl        Mon Feb 19 15:01:52 2001

+++ openssl/util/pl/VC-32.pl    Thu Jun 27 12:08:11 2002

@@ -66,24 +66,24 @@

 

 if (!$no_asm)

        {

-       $bn_asm_obj='crypto\bn\asm\bn-win32.obj';

-       $bn_asm_src='crypto\bn\asm\bn-win32.asm';

-       $des_enc_obj='crypto\des\asm\d-win32.obj crypto\des\asm\y-win32.obj';

-       $des_enc_src='crypto\des\asm\d-win32.asm crypto\des\asm\y-win32.asm';

-       $bf_enc_obj='crypto\bf\asm\b-win32.obj';

-       $bf_enc_src='crypto\bf\asm\b-win32.asm';

-       $cast_enc_obj='crypto\cast\asm\c-win32.obj';

-       $cast_enc_src='crypto\cast\asm\c-win32.asm';

-       $rc4_enc_obj='crypto\rc4\asm\r4-win32.obj';

-       $rc4_enc_src='crypto\rc4\asm\r4-win32.asm';

-       $rc5_enc_obj='crypto\rc5\asm\r5-win32.obj';

-       $rc5_enc_src='crypto\rc5\asm\r5-win32.asm';

-       $md5_asm_obj='crypto\md5\asm\m5-win32.obj';

-       $md5_asm_src='crypto\md5\asm\m5-win32.asm';

-       $sha1_asm_obj='crypto\sha\asm\s1-win32.obj';

-       $sha1_asm_src='crypto\sha\asm\s1-win32.asm';

-       $rmd160_asm_obj='crypto\ripemd\asm\rm-win32.obj';

-       $rmd160_asm_src='crypto\ripemd\asm\rm-win32.asm';

+       $bn_asm_obj='crypto\bn\asm\bn_win32.obj';

+       $bn_asm_src='crypto\bn\asm\bn_win32.asm';

+       $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj';

+       $des_enc_src='crypto\des\asm\d_win32.asm crypto\des\asm\y_win32.asm';

+       $bf_enc_obj='crypto\bf\asm\b_win32.obj';

+       $bf_enc_src='crypto\bf\asm\b_win32.asm';

+       $cast_enc_obj='crypto\cast\asm\c_win32.obj';

+       $cast_enc_src='crypto\cast\asm\c_win32.asm';

+       $rc4_enc_obj='crypto\rc4\asm\r4_win32.obj';

+       $rc4_enc_src='crypto\rc4\asm\r4_win32.asm';

+       $rc5_enc_obj='crypto\rc5\asm\r5_win32.obj';

+       $rc5_enc_src='crypto\rc5\asm\r5_win32.asm';

+       $md5_asm_obj='crypto\md5\asm\m5_win32.obj';

+       $md5_asm_src='crypto\md5\asm\m5_win32.asm';

+       $sha1_asm_obj='crypto\sha\asm\s1_win32.obj';

+       $sha1_asm_src='crypto\sha\asm\s1_win32.asm';

+       $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj';

+       $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';

        $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";

        }

 

Reply via email to