--- libesmtp-1.0.4/smtp-tls.c.ssl 2005-12-15 19:59:49.000000000 +0100 +++ libesmtp-1.0.4/smtp-tls.c 2006-03-24 23:43:02.000000000 +0100 @@ -552,11 +552,15 @@ extstr = OBJ_nid2sn (OBJ_obj2nid (X509_EXTENSION_get_object (ext))); if (strcmp (extstr, "subjectAltName") == 0) { +#if (OPENSSL_VERSION_NUMBER > 0x00908000L) + const unsigned char *data; +#else unsigned char *data; +#endif STACK_OF(CONF_VALUE) *val; CONF_VALUE *nval; X509V3_EXT_METHOD *meth; - void *ext_str = NULL; + void *ext_str = NULL; int stack_len; meth = X509V3_EXT_get (ext); @@ -564,13 +568,15 @@ break; data = ext->value->data; #if (OPENSSL_VERSION_NUMBER > 0x00907000L) - if (meth->it) - ext_str = ASN1_item_d2i (NULL, &data, ext->value->length, - ASN1_ITEM_ptr (meth->it)); - else + if (meth->it) + ext_str = ASN1_item_d2i (NULL, &data, ext->value->length, + ASN1_ITEM_ptr (meth->it)); + else + ext_str = meth->d2i (NULL, &data, ext->value->length); +#else + ext_str = meth->d2i(NULL, &data, ext->value->length); #endif - ext_str = meth->d2i (NULL, &data, ext->value->length); - val = meth->i2v (meth, ext_str, NULL); + val = meth->i2v(meth, ext_str, NULL); stack_len = sk_CONF_VALUE_num (val); for (j = 0; j < stack_len; j++) {