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";
}