Blob Blame History Raw
diff -up kdelibs-4.3.1/kio/kssl/kopenssl.cpp.orig kdelibs-4.3.1/kio/kssl/kopenssl.cpp
--- kdelibs-4.3.1/kio/kssl/kopenssl.cpp.orig	2009-09-01 21:58:06.000000000 +0200
+++ kdelibs-4.3.1/kio/kssl/kopenssl.cpp	2009-09-01 22:08:16.000000000 +0200
@@ -622,7 +622,7 @@ KOpenSSLProxy::KOpenSSLProxy()
       K_SSL_set_session = (int (*)(SSL*,SSL_SESSION*)) d->sslLib->resolveFunction("SSL_set_session");
       K_d2i_SSL_SESSION = (SSL_SESSION* (*)(SSL_SESSION**,unsigned char**, long)) d->sslLib->resolveFunction("d2i_SSL_SESSION");
       K_i2d_SSL_SESSION = (int (*)(SSL_SESSION*,unsigned char**)) d->sslLib->resolveFunction("i2d_SSL_SESSION");
-      K_SSL_get_ciphers = (STACK *(*)(const SSL*)) d->sslLib->resolveFunction("SSL_get_ciphers");
+      K_SSL_get_ciphers = (STACK_OF(SSL_CIPHER) *(*)(const SSL*)) d->sslLib->resolveFunction("SSL_get_ciphers");
 #endif
 
 
diff -up kdelibs-4.3.1/kio/kssl/kopenssl.h.orig kdelibs-4.3.1/kio/kssl/kopenssl.h
--- kdelibs-4.3.1/kio/kssl/kopenssl.h.orig	2009-09-01 21:58:31.000000000 +0200
+++ kdelibs-4.3.1/kio/kssl/kopenssl.h	2009-09-01 22:48:44.000000000 +0200
@@ -44,6 +44,14 @@ class KOpenSSLProxyPrivate;
 #include <openssl/stack.h>
 #include <openssl/bn.h>
 #undef crypt
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+#define STACK _STACK
+#define OSSL_SKVALUE_RTYPE void
+#define OSSL_MORECONST const
+#else
+#define OSSL_SKVALUE_RTYPE char
+#define OSSL_MORECONST
+#endif
 #endif
 
 /**
@@ -505,6 +513,9 @@ public:
     */
    void sk_free(STACK *s);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+   void sk_free(void *s) { return sk_free(reinterpret_cast<STACK*>(s)); }
+#endif
 
    /*
     *  Number of elements in the stack
@@ -517,6 +528,9 @@ public:
     */
    char *sk_value(STACK *s, int n);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+   char *sk_value(void *s, int n) { return sk_value(reinterpret_cast<STACK*>(s), n); }
+#endif
 
    /*
     *  Create a new stack
@@ -529,6 +543,10 @@ public:
     */
    int sk_push(STACK *s, char *d);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+   int sk_push(void *s, void *d) { return sk_push(reinterpret_cast<STACK*>(s), reinterpret_cast<char*>(d)); }
+#endif
+
 
    /*
     *  Duplicate the stack