diff -up gsoap-2.7/gsoap/stdsoap2.cpp.openssl gsoap-2.7/gsoap/stdsoap2.cpp --- gsoap-2.7/gsoap/stdsoap2.cpp.openssl 2008-10-02 19:36:28.000000000 +0200 +++ gsoap-2.7/gsoap/stdsoap2.cpp 2009-08-22 22:20:49.000000000 +0200 @@ -4153,7 +4153,12 @@ again: { 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;