diff options
author | avl <avl@FreeBSD.org> | 2011-09-24 17:43:01 +0800 |
---|---|---|
committer | avl <avl@FreeBSD.org> | 2011-09-24 17:43:01 +0800 |
commit | e9ebf0cf7447d990b804ef03e21c7d5b1f3ede90 (patch) | |
tree | c5144d585b17afb0b0232d8060b15cc550981f8f /mail/heirloom-mailx | |
parent | 756aab6599c6b3bcaf1a523ac9a8d04d2d3df627 (diff) | |
download | freebsd-ports-gnome-e9ebf0cf7447d990b804ef03e21c7d5b1f3ede90.tar.gz freebsd-ports-gnome-e9ebf0cf7447d990b804ef03e21c7d5b1f3ede90.tar.zst freebsd-ports-gnome-e9ebf0cf7447d990b804ef03e21c7d5b1f3ede90.zip |
- Fix build with OpenSSL 1.x
PR: ports/158933
Submitted by: D'Arcy Cain <darcy at Vex.Net>
Obtained from: heirloom-mailx CVS
Diffstat (limited to 'mail/heirloom-mailx')
-rw-r--r-- | mail/heirloom-mailx/files/patch-makeconfig | 28 | ||||
-rw-r--r-- | mail/heirloom-mailx/files/patch-openssl.c | 121 |
2 files changed, 149 insertions, 0 deletions
diff --git a/mail/heirloom-mailx/files/patch-makeconfig b/mail/heirloom-mailx/files/patch-makeconfig new file mode 100644 index 000000000000..944c4e45fdb8 --- /dev/null +++ b/mail/heirloom-mailx/files/patch-makeconfig @@ -0,0 +1,28 @@ +--- makeconfig 2007/04/14 15:26:00 1.14 ++++ makeconfig 2009/05/26 21:04:15 1.15 +@@ -393,6 +393,25 @@ + ! + fi + ++if test x$have_openssl = xyes ++then ++ compile_check stack_of 'for STACK_OF()' '#define HAVE_STACK_OF' <<\! ++#include <openssl/ssl.h> ++#include <openssl/err.h> ++#include <openssl/x509v3.h> ++#include <openssl/x509.h> ++#include <openssl/rand.h> ++ ++int main(void) ++{ ++ STACK_OF(GENERAL_NAME) *gens = NULL; ++ printf("%p", gens); /* to make it used */ ++ SSLv23_client_method(); ++ PEM_read_PrivateKey(0, 0, 0, 0); ++ return 0; ++} ++! ++fi + + cat >$tmp2.c <<\! + #include <gssapi/gssapi.h> diff --git a/mail/heirloom-mailx/files/patch-openssl.c b/mail/heirloom-mailx/files/patch-openssl.c new file mode 100644 index 000000000000..4bc0200d6561 --- /dev/null +++ b/mail/heirloom-mailx/files/patch-openssl.c @@ -0,0 +1,121 @@ +--- openssl.c 2007/08/04 11:41:36 1.12 ++++ openssl.c 2009/05/26 21:04:15 1.13 +@@ -101,12 +101,17 @@ + static int ssl_rand_init(void); + static void ssl_init(void); + static int ssl_verify_cb(int success, X509_STORE_CTX *store); +-static SSL_METHOD *ssl_select_method(const char *uhp); ++static const SSL_METHOD *ssl_select_method(const char *uhp); + static void ssl_load_verifications(struct sock *sp); + static void ssl_certificate(struct sock *sp, const char *uhp); + static enum okay ssl_check_host(const char *server, struct sock *sp); ++#ifdef HAVE_STACK_OF ++static int smime_verify(struct message *m, int n, STACK_OF(X509) *chain, ++ X509_STORE *store); ++#else + static int smime_verify(struct message *m, int n, STACK *chain, + X509_STORE *store); ++#endif + static EVP_CIPHER *smime_cipher(const char *name); + static int ssl_password_cb(char *buf, int size, int rwflag, void *userdata); + static FILE *smime_sign_cert(const char *xname, const char *xname2, int warn); +@@ -203,10 +208,10 @@ + return 1; + } + +-static SSL_METHOD * ++static const SSL_METHOD * + ssl_select_method(const char *uhp) + { +- SSL_METHOD *method; ++ const SSL_METHOD *method; + char *cp; + + cp = ssl_method_string(uhp); +@@ -308,7 +313,11 @@ + X509 *cert; + X509_NAME *subj; + char data[256]; ++#ifdef HAVE_STACK_OF ++ STACK_OF(GENERAL_NAME) *gens; ++#else + /*GENERAL_NAMES*/STACK *gens; ++#endif + GENERAL_NAME *gen; + int i; + +@@ -357,7 +366,8 @@ + + ssl_init(); + ssl_set_vrfy_level(uhp); +- if ((sp->s_ctx = SSL_CTX_new(ssl_select_method(uhp))) == NULL) { ++ if ((sp->s_ctx = ++ SSL_CTX_new((SSL_METHOD *)ssl_select_method(uhp))) == NULL) { + ssl_gen_err(catgets(catd, CATSET, 261, "SSL_CTX_new() failed")); + return STOP; + } +@@ -496,7 +506,11 @@ + } + + static int ++#ifdef HAVE_STACK_OF ++smime_verify(struct message *m, int n, STACK_OF(X509) *chain, X509_STORE *store) ++#else + smime_verify(struct message *m, int n, STACK *chain, X509_STORE *store) ++#endif + { + struct message *x; + char *cp, *sender, *to, *cc, *cnttype; +@@ -505,7 +519,12 @@ + off_t size; + BIO *fb, *pb; + PKCS7 *pkcs7; ++#ifdef HAVE_STACK_OF ++ STACK_OF(X509) *certs; ++ STACK_OF(GENERAL_NAME) *gens; ++#else + STACK *certs, *gens; ++#endif + X509 *cert; + X509_NAME *subj; + char data[LINESIZE]; +@@ -614,7 +633,11 @@ + { + int *msgvec = vp, *ip; + int ec = 0; ++#ifdef HAVE_STACK_OF ++ STACK_OF(X509) *chain = NULL; ++#else + STACK *chain = NULL; ++#endif + X509_STORE *store; + char *ca_dir, *ca_file; + +@@ -687,7 +710,11 @@ + X509 *cert; + PKCS7 *pkcs7; + BIO *bb, *yb; ++#ifdef HAVE_STACK_OF ++ STACK_OF(X509) *certs; ++#else + STACK *certs; ++#endif + EVP_CIPHER *cipher; + + certfile = expand((char *)certfile); +@@ -950,9 +977,14 @@ + off_t size; + BIO *fb, *pb; + PKCS7 *pkcs7; ++#ifdef HAVE_STACK_OF ++ STACK_OF(X509) *certs; ++ STACK_OF(X509) *chain = NULL; ++#else + STACK *certs; +- X509 *cert; + STACK *chain = NULL; ++#endif ++ X509 *cert; + enum okay ok = OKAY; + + message_number = n; |