Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 56669419e71578ed363610507e39dcd4 > files > 17

gridengine-6.2u5-5.fc13.src.rpm

diff -up gridengine/source/libs/comm/cl_ssl_framework.c.openssl gridengine/source/libs/comm/cl_ssl_framework.c
--- gridengine/source/libs/comm/cl_ssl_framework.c.openssl	2009-08-25 17:06:53.000000000 +0200
+++ gridengine/source/libs/comm/cl_ssl_framework.c	2009-08-25 17:06:03.000000000 +0200
@@ -234,8 +234,15 @@ static const char*          (*cl_com_ssl
 static int                  (*cl_com_ssl_func__SSL_get_ex_data_X509_STORE_CTX_idx)  (void);
 static void*                (*cl_com_ssl_func__SSL_CTX_get_ex_data)                 (SSL_CTX *ssl,int idx);
 static int                  (*cl_com_ssl_func__SSL_CTX_set_ex_data)                 (SSL_CTX *ssl,int idx,void *data);
+/* ugly workaround for extremely ugly usage of OpenSSL API */
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+#define STACK _STACK
+#define SKVAL_RTYPE char
+#else
+#define SKVAL_RTYPE void
+#endif
 static int                  (*cl_com_ssl_func__sk_num)                              (const STACK *);
-static char*                (*cl_com_ssl_func__sk_value)                            (const STACK *, int);
+static SKVAL_RTYPE*         (*cl_com_ssl_func__sk_value)                            (const STACK *, int);
 static int                  (*cl_com_ssl_func__X509_STORE_get_by_subject)           (X509_STORE_CTX *vs,int type,X509_NAME *name, X509_OBJECT *ret);
 static void                 (*cl_com_ssl_func__EVP_PKEY_free)                       (EVP_PKEY *pkey);
 static void                 (*cl_com_ssl_func__X509_STORE_CTX_set_error)            (X509_STORE_CTX *ctx,int s);
@@ -1706,7 +1713,7 @@ static int cl_com_ssl_build_symbol_table
       }
 
       func_name = "sk_value";
-      cl_com_ssl_func__sk_value = (char* (*)(const STACK *, int))dlsym(cl_com_ssl_crypto_handle, func_name);
+      cl_com_ssl_func__sk_value = (SKVAL_RTYPE* (*)(const STACK *, int))dlsym(cl_com_ssl_crypto_handle, func_name);
       if (cl_com_ssl_func__sk_value == NULL) {
          CL_LOG_STR(CL_LOG_ERROR,"dlsym error: can't get function address:", func_name);
          had_errors++;
diff -up gridengine/source/security/sec/HOWTO.openssl gridengine/source/security/sec/HOWTO