upgrade to cURL 7.9.7 + experimental patch to fix cURL with newer OpenSSL.

--
Original patch from: Jacob Meuser <jakemsr@jakemsr.com>
This patch (which has been modified to also work
with older versions of OpenSSL) from: Daniel Stenberg <daniel@haxx.se>
This commit is contained in:
brad 2002-06-09 18:36:38 +00:00
parent ef17074626
commit 26c9fd1178
3 changed files with 43 additions and 6 deletions

View File

@ -1,10 +1,10 @@
# $OpenBSD: Makefile,v 1.34 2002/04/16 22:49:36 brad Exp $
# $OpenBSD: Makefile,v 1.35 2002/06/09 18:36:38 brad Exp $
COMMENT= "get files from FTP, Gopher, HTTP or HTTPS servers"
DISTNAME= curl-7.9.6
DISTNAME= curl-7.9.7
CATEGORIES= net
NEED_VERSION= 1.516
NEED_VERSION= 1.528
MASTER_SITES= http://curl.haxx.se/download/ \
ftp://ftp.sunet.se/pub/www/utilities/curl/ \
ftp://cool.haxx.se/curl/ \

View File

@ -1,3 +1,3 @@
MD5 (curl-7.9.6.tar.gz) = c306c2d3fe58eecef18434d9e9156149
RMD160 (curl-7.9.6.tar.gz) = 8720460e0e14a2630712809b50a6d26937e3b7ec
SHA1 (curl-7.9.6.tar.gz) = 33278d881460cd2667cfcf3295f99825b4fe8399
MD5 (curl-7.9.7.tar.gz) = 5be31a5884560726cbd23808378937ee
RMD160 (curl-7.9.7.tar.gz) = 6773ab1363a40b4ae5a037b6d1db654f1bdbbb29
SHA1 (curl-7.9.7.tar.gz) = 6fcb23be788984bcfca7debe5f307ec65fb56101

View File

@ -0,0 +1,37 @@
$OpenBSD: patch-lib_ssluse_c,v 1.1 2002/06/09 18:36:38 brad Exp $
--- lib/ssluse.c.orig Tue Mar 19 00:54:55 2002
+++ lib/ssluse.c Sun Jun 9 12:30:08 2002
@@ -55,6 +55,15 @@
#undef HAVE_USERDATA_IN_PWD_CALLBACK
#endif
+#if OPENSSL_VERSION_NUMBER >= 0x00907001L
+/* ENGINE_load_private_key() takes four arguments */
+#define HAVE_ENGINE_LOAD_FOUR_ARGS
+#else
+/* ENGINE_load_private_key() takes three arguments */
+#undef HAVE_ENGINE_LOAD_FOUR_ARGS
+#endif
+
+
#ifndef HAVE_USERDATA_IN_PWD_CALLBACK
static char global_passwd[64];
#endif
@@ -283,11 +292,17 @@ int cert_stuff(struct connectdata *conn,
{ /* XXXX still needs some work */
EVP_PKEY *priv_key = NULL;
if (conn && conn->data && conn->data->engine) {
+#ifdef HAVE_ENGINE_LOAD_FOUR_ARGS
+ UI_METHOD *ui_method = UI_OpenSSL();
+#endif
if (!key_file || !key_file[0]) {
failf(data, "no key set to load from crypto engine\n");
return 0;
}
priv_key = ENGINE_load_private_key(conn->data->engine,key_file,
+#ifdef HAVE_ENGINE_LOAD_FOUR_ARGS
+ ui_method,
+#endif
data->set.key_passwd);
if (!priv_key) {
failf(data, "failed to load private key from crypto engine\n");