From 0ce6a01d4154cf41eda30bd6875d9453130f353d Mon Sep 17 00:00:00 2001 From: Rom Walton Date: Wed, 17 Dec 2008 20:18:48 +0000 Subject: [PATCH] LIB: Update to libcurl 7.19.2 curl/ svn path=/trunk/boinc/; revision=16710 --- checkin_notes | 8 +++- curl/include/curl/curl.h | 46 +++++++++++++++++-- curl/include/curl/curlver.h | 8 ++-- curl/include/curl/typecheck-gcc.h | 6 ++- .../{7.17.1.Sync => 7.19.2.Sync}/hostip.h | 0 5 files changed, 58 insertions(+), 10 deletions(-) rename curl/patches/{7.17.1.Sync => 7.19.2.Sync}/hostip.h (100%) diff --git a/checkin_notes b/checkin_notes index 9db71eff00..02031903f9 100644 --- a/checkin_notes +++ b/checkin_notes @@ -10190,7 +10190,6 @@ David 16 Dec 2008 boinc_api.cpp,h Charlie 17 Dec 2008 - - MGR: Reset messages whether client is restarted by manager or elsewhere to guarantee they are refreshed. - MGR: Always scroll Messages displays to last message if connection @@ -10203,3 +10202,10 @@ Charlie 17 Dec 2008 MainDocument.cpp ViewMessages.cpp sg_DlgMessages.cpp + +Rom 17 Dec 2008 + LIB: Update to libcurl 7.19.2 + + curl/ + + \ No newline at end of file diff --git a/curl/include/curl/curl.h b/curl/include/curl/curl.h index c9a763537d..daa925fa87 100644 --- a/curl/include/curl/curl.h +++ b/curl/include/curl/curl.h @@ -1103,8 +1103,9 @@ typedef enum { CINIT(NEW_FILE_PERMS, LONG, 159), CINIT(NEW_DIRECTORY_PERMS, LONG, 160), - /* Obey RFC 2616/10.3.2 and keep POSTs as POSTs after a 301 */ - CINIT(POST301, LONG, 161), + /* Set the behaviour of POST when redirecting. Values must be set to one + of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */ + CINIT(POSTREDIR, LONG, 161), /* used by scp/sftp to verify the host's public key */ CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162), @@ -1135,6 +1136,19 @@ typedef enum { /* (IPv6) Address scope */ CINIT(ADDRESS_SCOPE, LONG, 171), + /* Collect certificate chain info and allow it to get retrievable with + CURLINFO_CERTINFO after the transfer is complete. (Unfortunately) only + working with OpenSSL-powered builds. */ + CINIT(CERTINFO, LONG, 172), + + /* "name" and "pwd" to use when fetching. */ + CINIT(USERNAME, OBJECTPOINT, 173), + CINIT(PASSWORD, OBJECTPOINT, 174), + + /* "name" and "pwd" to use with Proxy when fetching. */ + CINIT(PROXYUSERNAME, OBJECTPOINT, 175), + CINIT(PROXYPASSWORD, OBJECTPOINT, 176), + CURLOPT_LASTENTRY /* the last unused */ } CURLoption; @@ -1142,6 +1156,11 @@ typedef enum { the obsolete stuff removed! */ /* Backwards compatibility with older names */ +/* These are scheduled to disappear by 2011 */ + +/* This was added in version 7.19.1 */ +#define CURLOPT_POST301 CURLOPT_POSTREDIR + /* These are scheduled to disappear by 2009 */ /* The following were added in 7.17.0 */ @@ -1206,6 +1225,14 @@ enum { CURL_SSLVERSION_LAST /* never use, keep last */ }; +/* symbols to use with CURLOPT_POSTREDIR. + CURL_REDIR_POST_301 and CURL_REDIR_POST_302 can be bitwise ORed so that + CURL_REDIR_POST_301 | CURL_REDIR_POST_302 == CURL_REDIR_POST_ALL */ + +#define CURL_REDIR_GET_ALL 0 +#define CURL_REDIR_POST_301 1 +#define CURL_REDIR_POST_302 2 +#define CURL_REDIR_POST_ALL (CURL_REDIR_POST_301|CURL_REDIR_POST_302) typedef enum { CURL_TIMECOND_NONE, @@ -1491,6 +1518,15 @@ CURL_EXTERN void curl_slist_free_all(struct curl_slist *); */ CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused); +/* info about the certificate chain, only for OpenSSL builds. Asked + for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ +struct curl_certinfo { + int num_of_certs; /* number of certificates with information */ + struct curl_slist **certinfo; /* for each index in this array, there's a + linked list with textual information in the + format "name: value" */ +}; + #define CURLINFO_STRING 0x100000 #define CURLINFO_LONG 0x200000 #define CURLINFO_DOUBLE 0x300000 @@ -1533,9 +1569,10 @@ typedef enum { CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31, CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32, CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33, + CURLINFO_CERTINFO = CURLINFO_SLIST + 34, /* Fill in new entries below here! */ - CURLINFO_LASTONE = 33 + CURLINFO_LASTONE = 34 } CURLINFO; /* CURLINFO_RESPONSE_CODE is the new name for the option previously known as @@ -1746,7 +1783,8 @@ CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask); #include "multi.h" /* the typechecker doesn't work in C++ (yet) */ -#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \ +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \ + ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \ !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK) #include "typecheck-gcc.h" #else diff --git a/curl/include/curl/curlver.h b/curl/include/curl/curlver.h index 457a6e43ea..5ec9cd4148 100644 --- a/curl/include/curl/curlver.h +++ b/curl/include/curl/curlver.h @@ -31,13 +31,13 @@ /* This is the version number of the libcurl package from which this header file origins: */ -#define LIBCURL_VERSION "7.19.0" +#define LIBCURL_VERSION "7.19.2" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MINOR 19 -#define LIBCURL_VERSION_PATCH 0 +#define LIBCURL_VERSION_PATCH 2 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will @@ -54,7 +54,7 @@ and it is always a greater number in a more recent release. It makes comparisons with greater than and less than work. */ -#define LIBCURL_VERSION_NUM 0x071300 +#define LIBCURL_VERSION_NUM 0x071302 /* * This is the date and time when the full source package was created. The @@ -65,6 +65,6 @@ * * "Mon Feb 12 11:35:33 UTC 2007" */ -#define LIBCURL_TIMESTAMP "Mon Sep 1 14:38:47 UTC 2008" +#define LIBCURL_TIMESTAMP "Thu Nov 13 13:02:15 UTC 2008" #endif /* __CURL_CURLVER_H */ diff --git a/curl/include/curl/typecheck-gcc.h b/curl/include/curl/typecheck-gcc.h index a997af89a3..feb7a702f1 100644 --- a/curl/include/curl/typecheck-gcc.h +++ b/curl/include/curl/typecheck-gcc.h @@ -20,7 +20,7 @@ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * - * $Id: typecheck-gcc.h,v 1.5 2008-06-09 11:13:19 mmarek Exp $ + * $Id: typecheck-gcc.h,v 1.8 2008-10-17 03:59:02 yangtse Exp $ ***************************************************************************/ /* wraps curl_easy_setopt() with typechecking */ @@ -196,7 +196,11 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist, (option) == CURLOPT_INTERFACE || \ (option) == CURLOPT_NETRC_FILE || \ (option) == CURLOPT_USERPWD || \ + (option) == CURLOPT_USERNAME || \ + (option) == CURLOPT_PASSWORD || \ (option) == CURLOPT_PROXYUSERPWD || \ + (option) == CURLOPT_PROXYUSERNAME || \ + (option) == CURLOPT_PROXYPASSWORD || \ (option) == CURLOPT_ENCODING || \ (option) == CURLOPT_REFERER || \ (option) == CURLOPT_USERAGENT || \ diff --git a/curl/patches/7.17.1.Sync/hostip.h b/curl/patches/7.19.2.Sync/hostip.h similarity index 100% rename from curl/patches/7.17.1.Sync/hostip.h rename to curl/patches/7.19.2.Sync/hostip.h