[EMAIL PROTECTED] - Wed Mar 29 02:30:32 2006]:

> Hi
> 
> I think fPIC is required, the code may not compile without fPIC. I
will try
> with other 0.9.7e/f/g version and let you know. Also on other 64bit
systems
> i.e. HP-UX, Solaris, Linux x86_64, SGI the openssl works just fine.
> 
> The x_name.c file difference between 7d and 8a is not much as shown
below. I
> see that there are variable type changes and some defines.
> 
> [EMAIL PROTECTED]:ssl]$ diff 64/openssl-0.9.7d/crypto/asn1/x_name.c
> 64.8a/openssl-0.9.8a/crypto/asn1/x_name.c
> 64c64
> < static int x509_name_ex_d2i(ASN1_VALUE **val, unsigned char **in, long
> len, const ASN1_ITEM *it,
> ---
> > static int x509_name_ex_d2i(ASN1_VALUE **val, const unsigned char **in,
> long len, const ASN1_ITEM *it,
> 126c126
> <       ASN1err(ASN1_F_X509_NAME_NEW, ERR_R_MALLOC_FAILURE);
> ---
> >       ASN1err(ASN1_F_X509_NAME_EX_NEW, ERR_R_MALLOC_FAILURE);
> 159c159
> < static int x509_name_ex_d2i(ASN1_VALUE **val, unsigned char **in, long
> len, const ASN1_ITEM *it,
> ---
> > static int x509_name_ex_d2i(ASN1_VALUE **val, const unsigned char **in,
> long len, const ASN1_ITEM *it,
> 162,163c162,163
> <       unsigned char *p = *in, *q;
> <       STACK *intname = NULL;
> ---
> >       const unsigned char *p = *in, *q;
> >       STACK *intname = NULL, **intname_pp = &intname;
> 165c165
> <       X509_NAME *nm = NULL;
> ---
> >       X509_NAME *nm = NULL, **nm_pp = &nm;
> 171,172c171,173
> <       ret = ASN1_item_ex_d2i((ASN1_VALUE **)&intname, &p, len,
> ASN1_ITEM_rptr(X509_NAME_INTERNAL),
> <                                                               tag,
aclass,
> opt, ctx);
> ---
> >       ret = ASN1_item_ex_d2i((ASN1_VALUE **)intname_pp,
> >                              &p, len,
ASN1_ITEM_rptr(X509_NAME_INTERNAL),
> >                              tag, aclass, opt, ctx);
> 177c178
> <       if(!x509_name_ex_new((ASN1_VALUE **)&nm, NULL)) goto err;
> ---
> >       if(!x509_name_ex_new((ASN1_VALUE **)nm_pp, NULL)) goto err;
> 199c200
> <       ASN1err(ASN1_F_D2I_X509_NAME, ERR_R_NESTED_ASN1_ERROR);
> ---
> >       ASN1err(ASN1_F_X509_NAME_EX_D2I, ERR_R_NESTED_ASN1_ERROR);
> 221c222
> <       STACK *intname = NULL;
> ---
> >       STACK *intname = NULL, **intname_pp = &intname;
> 239c240,241
> <       len = ASN1_item_ex_i2d((ASN1_VALUE **)&intname, NULL,
> ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
> ---
> >       len = ASN1_item_ex_i2d((ASN1_VALUE **)intname_pp, NULL,
> >                              ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1,
-1);
> 242c244,245
> <       ASN1_item_ex_i2d((ASN1_VALUE **)&intname, &p,
> ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
> ---
> >       ASN1_item_ex_i2d((ASN1_VALUE **)intname_pp,
> >                        &p, ASN1_ITEM_rptr(X509_NAME_INTERNAL), -1, -1);
> 248c251
> <       ASN1err(ASN1_F_D2I_X509_NAME, ERR_R_MALLOC_FAILURE);
> ---
> >       ASN1err(ASN1_F_X509_NAME_ENCODE, ERR_R_MALLOC_FAILURE);
> 
> 

This is starting to look more like a compiler bug. Those changes are
largely to avoid a "type puned" warning from newer versions of gcc and
should have no other effect. Have you tried substituting the old version
of that file into a newer version of OpenSSL and seeing what happens?

Steve.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to