On Sun, Oct 03, 2010 at 02:44:36PM +0200, Dorian Büttner wrote: > ok tryin what i found here https://trac.macports.org/ticket/25628 , 'll > let you know...
Seems to work. I removed the #ifdef's, we really don't need them... ok? Index: Makefile =================================================================== RCS file: /cvs/ports/x11/kde/libs3/Makefile,v retrieving revision 1.109 diff -u -p -r1.109 Makefile --- Makefile 10 Jul 2010 12:44:30 -0000 1.109 +++ Makefile 3 Oct 2010 18:28:49 -0000 @@ -93,7 +93,7 @@ LIB_DEPENDS-cups = \ WANTLIB-cups = ${WANTLIB} -REVISION-main = 10 +REVISION-main = 11 REVISION-cups = 6 WANTLIB-main += Half Iex IlmImf.>=4 IlmThread Imath artsflow.>=1.0 \ artsflow_idl aspell audiofile bz2 glib-2.0 gmodule-2.0 gthread-2.0 \ Index: patches/patch-kio_kssl_kopenssl_cc =================================================================== RCS file: patches/patch-kio_kssl_kopenssl_cc diff -N patches/patch-kio_kssl_kopenssl_cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kio_kssl_kopenssl_cc 3 Oct 2010 18:28:49 -0000 @@ -0,0 +1,58 @@ +$OpenBSD$ +--- kio/kssl/kopenssl.cc.orig Sat Jul 22 10:16:39 2006 ++++ kio/kssl/kopenssl.cc Sun Oct 3 19:52:18 2010 +@@ -96,9 +96,8 @@ static int (*K_BIO_write) (BIO *b, const void *data, + static int (*K_PEM_ASN1_write_bio) (int (*)(),const char *,BIO *,char *, + const EVP_CIPHER *,unsigned char *,int , + pem_password_cb *, void *) = 0L; +-static ASN1_METHOD* (*K_X509_asn1_meth) (void) = 0L; +-static int (*K_ASN1_i2d_fp)(int (*)(),FILE *,unsigned char *) = 0L; +-static int (*K_i2d_ASN1_HEADER)(ASN1_HEADER *, unsigned char **) = 0L; ++static int (*K_ASN1_item_i2d_fp)(ASN1_ITEM *,FILE *,unsigned char *) = 0L; ++static ASN1_ITEM *K_NETSCAPE_X509_it = 0L; + static int (*K_X509_print_fp) (FILE *, X509*) = 0L; + static int (*K_i2d_PKCS12) (PKCS12*, unsigned char**) = 0L; + static int (*K_i2d_PKCS12_fp) (FILE *, PKCS12*) = 0L; +@@ -404,9 +403,8 @@ KConfig *cfg; + K_BIO_ctrl = (long (*) (BIO *,int,long,void *)) _cryptoLib->symbol("BIO_ctrl"); + K_BIO_write = (int (*) (BIO *b, const void *data, int len)) _cryptoLib->symbol("BIO_write"); + K_PEM_ASN1_write_bio = (int (*)(int (*)(), const char *,BIO*, char*, const EVP_CIPHER *, unsigned char *, int, pem_password_cb *, void *)) _cryptoLib->symbol("PEM_ASN1_write_bio"); +- K_X509_asn1_meth = (ASN1_METHOD* (*)(void)) _cryptoLib->symbol("X509_asn1_meth"); +- K_ASN1_i2d_fp = (int (*)(int (*)(), FILE*, unsigned char *)) _cryptoLib->symbol("ASN1_i2d_fp"); +- K_i2d_ASN1_HEADER = (int (*)(ASN1_HEADER *, unsigned char **)) _cryptoLib->symbol("i2d_ASN1_HEADER"); ++ K_ASN1_item_i2d_fp = (int (*)(ASN1_ITEM *, FILE*, unsigned char *)) _cryptoLib->symbol("ASN1_item_i2d_fp"); ++ K_NETSCAPE_X509_it = (ASN1_ITEM *) _cryptoLib->symbol("NETSCAPE_X509_it"); + K_X509_print_fp = (int (*)(FILE*, X509*)) _cryptoLib->symbol("X509_print_fp"); + K_i2d_PKCS12 = (int (*)(PKCS12*, unsigned char**)) _cryptoLib->symbol("i2d_PKCS12"); + K_i2d_PKCS12_fp = (int (*)(FILE *, PKCS12*)) _cryptoLib->symbol("i2d_PKCS12_fp"); +@@ -568,7 +566,7 @@ KConfig *cfg; + K_SSL_set_session = (int (*)(SSL*,SSL_SESSION*)) _sslLib->symbol("SSL_set_session"); + K_d2i_SSL_SESSION = (SSL_SESSION* (*)(SSL_SESSION**,unsigned char**, long)) _sslLib->symbol("d2i_SSL_SESSION"); + K_i2d_SSL_SESSION = (int (*)(SSL_SESSION*,unsigned char**)) _sslLib->symbol("i2d_SSL_SESSION"); +- K_SSL_get_ciphers = (STACK *(*)(const SSL*)) _sslLib->symbol("SSL_get_ciphers"); ++ K_SSL_get_ciphers = (STACK_OF(SSL_CIPHER) *(*)(const SSL*)) _sslLib->symbol("SSL_get_ciphers"); + #endif + + +@@ -956,19 +954,11 @@ int KOpenSSLProxy::PEM_write_bio_X509(BIO *bp, X509 *x + else return -1; + } + +- +-ASN1_METHOD *KOpenSSLProxy::X509_asn1_meth(void) { +- if (K_X509_asn1_meth) return (K_X509_asn1_meth)(); +- else return 0L; +-} +- +- + int KOpenSSLProxy::ASN1_i2d_fp(FILE *out,unsigned char *x) { +- if (K_ASN1_i2d_fp && K_i2d_ASN1_HEADER) +- return (K_ASN1_i2d_fp)((int (*)())K_i2d_ASN1_HEADER, out, x); ++ if (K_ASN1_item_i2d_fp && K_NETSCAPE_X509_it) ++ return (K_ASN1_item_i2d_fp)(K_NETSCAPE_X509_it, out, x); + else return -1; + } +- + + int KOpenSSLProxy::X509_print(FILE *fp, X509 *x) { + if (K_X509_print_fp) return (K_X509_print_fp)(fp, x); Index: patches/patch-kio_kssl_kopenssl_h =================================================================== RCS file: patches/patch-kio_kssl_kopenssl_h diff -N patches/patch-kio_kssl_kopenssl_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kio_kssl_kopenssl_h 3 Oct 2010 18:28:49 -0000 @@ -0,0 +1,48 @@ +$OpenBSD$ +--- kio/kssl/kopenssl.h.orig Sat Jul 22 10:16:39 2006 ++++ kio/kssl/kopenssl.h Sun Oct 3 19:53:42 2010 +@@ -48,6 +48,7 @@ class KOpenSSLProxyPrivate; + #include <openssl/stack.h> + #include <openssl/bn.h> + #undef crypt ++#define STACK _STACK + #endif + + #include <kstaticdeleter.h> +@@ -448,12 +449,6 @@ friend class KStaticDeleter<KOpenSSLProxy>; (public) + + + /* +- * X509_asn1_meth - used for netscape output +- */ +- ASN1_METHOD *X509_asn1_meth(); +- +- +- /* + * ASN1_i2d_fp - used for netscape output + */ + int ASN1_i2d_fp(FILE *out, unsigned char *x); +@@ -531,6 +526,7 @@ friend class KStaticDeleter<KOpenSSLProxy>; (public) + */ + void sk_free(STACK *s); + ++ void sk_free(void *s) { return sk_free(reinterpret_cast<STACK*>(s)); } + + /* + * Number of elements in the stack +@@ -543,6 +539,7 @@ friend class KStaticDeleter<KOpenSSLProxy>; (public) + */ + char *sk_value(STACK *s, int n); + ++ char *sk_value(void *s, int n) { return sk_value(reinterpret_cast<STACK*>(s), n); } + + /* + * Create a new stack +@@ -555,6 +552,7 @@ friend class KStaticDeleter<KOpenSSLProxy>; (public) + */ + int sk_push(STACK *s, char *d); + ++ int sk_push(void *s, void *d) { return sk_push(reinterpret_cast<STACK*>(s), reinterpret_cast<char*>(d)); } + + /* + * Duplicate the stack Index: patches/patch-kio_kssl_ksmimecrypto_cc =================================================================== RCS file: patches/patch-kio_kssl_ksmimecrypto_cc diff -N patches/patch-kio_kssl_ksmimecrypto_cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kio_kssl_ksmimecrypto_cc 3 Oct 2010 18:28:49 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- kio/kssl/ksmimecrypto.cc.orig Mon Oct 10 17:05:44 2005 ++++ kio/kssl/ksmimecrypto.cc Sun Oct 3 19:44:11 2010 +@@ -87,7 +87,7 @@ KSMIMECryptoPrivate::KSMIMECryptoPrivate(KOpenSSLProxy + + + STACK_OF(X509) *KSMIMECryptoPrivate::certsToX509(QPtrList<KSSLCertificate> &certs) { +- STACK_OF(X509) *x509 = sk_new(NULL); ++ STACK_OF(X509) *x509 = reinterpret_cast<STACK_OF(X509)*>(sk_new(NULL)); + KSSLCertificate *cert = certs.first(); + while(cert) { + sk_X509_push(x509, cert->getCert()); Index: patches/patch-kio_kssl_ksslcertificate_cc =================================================================== RCS file: patches/patch-kio_kssl_ksslcertificate_cc diff -N patches/patch-kio_kssl_ksslcertificate_cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kio_kssl_ksslcertificate_cc 3 Oct 2010 18:28:49 -0000 @@ -0,0 +1,29 @@ +$OpenBSD$ +--- kio/kssl/ksslcertificate.cc.orig Thu Jan 19 18:06:12 2006 ++++ kio/kssl/ksslcertificate.cc Sun Oct 3 19:54:38 2010 +@@ -1003,17 +1003,16 @@ return qba; + QByteArray KSSLCertificate::toNetscape() { + QByteArray qba; + #ifdef KSSL_HAVE_SSL +-ASN1_HEADER ah; +-ASN1_OCTET_STRING os; +-KTempFile ktf; ++ NETSCAPE_X509 nx; ++ ASN1_OCTET_STRING hdr; ++ KTempFile ktf; + +- os.data = (unsigned char *)NETSCAPE_CERT_HDR; +- os.length = strlen(NETSCAPE_CERT_HDR); +- ah.header = &os; +- ah.data = (char *)getCert(); +- ah.meth = d->kossl->X509_asn1_meth(); ++ hdr.data = (unsigned char *)NETSCAPE_CERT_HDR; ++ hdr.length = strlen(NETSCAPE_CERT_HDR); ++ nx.header = &hdr; ++ nx.cert = getCert(); + +- d->kossl->ASN1_i2d_fp(ktf.fstream(),(unsigned char *)&ah); ++ d->kossl->ASN1_i2d_fp(ktf.fstream(),(unsigned char *)&nx); + + ktf.close(); +