--- /dev/null
+--- ./crypto/wvtripledes.cc.orig 2005-08-15 07:49:26.000000000 +0200
++++ ./crypto/wvtripledes.cc 2005-08-15 07:50:18.000000000 +0200
+@@ -102,7 +102,8 @@
+ // ECB works 64bits at a time
+ while (len >= 8)
+ {
+-#if OPENSSL_VERSION_NUMBER >= 0x0090705FL
++#if OPENSSL_VERSION_NUMBER >= 0x0090705FL \
++ && OPENSSL_VERSION_NUMBER < 0x0090800fL
+ DES_ecb3_encrypt(data, crypt,
+ &deskey1, &deskey2, &deskey3,
+ mode == ECBEncrypt ? DES_ENCRYPT : DES_DECRYPT);
+--- ./crypto/wvx509.cc.orig 2005-08-15 07:50:40.000000000 +0200
++++ ./crypto/wvx509.cc 2005-08-15 07:54:59.000000000 +0200
+@@ -1162,12 +1162,19 @@
+ else
+ {
+ void *ext_data = NULL;
++#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
++ const unsigned char **ext_value_data;
++ ext_value_data = (const_cast<const unsigned char **>
++ (&ext->value->data));
++#else
++ unsigned char **ext_value_data = &ext->value->data;
++#endif
+ if (method->it)
+- ext_data = ASN1_item_d2i(NULL, &ext->value->data,
++ ext_data = ASN1_item_d2i(NULL, ext_value_data,
+ ext->value->length,
+ ASN1_ITEM_ptr(method->it));
+ else
+- ext_data = method->d2i(NULL, &ext->value->data,
++ ext_data = method->d2i(NULL, ext_value_data,
+ ext->value->length);
+
+ if (method->i2s)