diff -uNr gsoap-2.7.orig//soapcpp2/stdsoap2.cpp gsoap-2.7/soapcpp2/stdsoap2.cpp --- gsoap-2.7.orig//soapcpp2/stdsoap2.cpp 2011-09-03 07:03:34.532000130 +0200 +++ gsoap-2.7/soapcpp2/stdsoap2.cpp 2011-09-03 07:11:26.218000131 +0200 @@ -4001,7 +4001,12 @@ { X509_EXTENSION *ext = X509_get_ext(peer, i); const char *ext_str = OBJ_nid2sn(OBJ_obj2nid(X509_EXTENSION_get_object(ext))); if (ext_str && !strcmp(ext_str, "subjectAltName")) - { X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext); + { +#if (OPENSSL_VERSION_NUMBER >= 0x10000000L) + const X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext); +#else + X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext); +#endif void *ext_data; #if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) const unsigned char *data;