[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]
