diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 88a4b19afb..14e91b2c19 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,11 @@ The license applies to all entries newer than 2009-04-28. */ +2012-04-18 04:39 UTC+0200 Viktor Szakats (harbour syenar.net) + * contrib/hbcurl/hbcurl.ch + * contrib/hbcurl/core.c + + added new features introduced between libcurl 7.22.0 and 7.25.0 (inclusive) + 2012-04-18 03:59 UTC+0200 Viktor Szakats (harbour syenar.net) * package/winuni/RELNOTES * updated some versions diff --git a/harbour/contrib/hbcurl/core.c b/harbour/contrib/hbcurl/core.c index a744d44c62..3787478fa7 100644 --- a/harbour/contrib/hbcurl/core.c +++ b/harbour/contrib/hbcurl/core.c @@ -904,6 +904,17 @@ HB_FUNC( CURL_EASY_SETOPT ) res = curl_easy_setopt( hb_curl->curl, CURLOPT_SOCKS5_GSSAPI_NEC, HB_CURL_OPT_BOOL( 3 ) ); break; #endif +#if LIBCURL_VERSION_NUM >= 0x071900 + case HB_CURLOPT_TCP_KEEPALIVE: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_TCP_KEEPALIVE, hb_parnl( 3 ) ); + break; + case HB_CURLOPT_TCP_KEEPIDLE: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_TCP_KEEPIDLE, hb_parnl( 3 ) ); + break; + case HB_CURLOPT_TCP_KEEPINTVL: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_TCP_KEEPINTVL, hb_parnl( 3 ) ); + break; +#endif /* Names and passwords options (Authentication) */ @@ -1137,6 +1148,11 @@ HB_FUNC( CURL_EASY_SETOPT ) } break; #endif +#if LIBCURL_VERSION_NUM >= 0x071900 + case HB_CURLOPT_MAIL_AUTH: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_MAIL_AUTH, hb_curl_StrHash( hb_curl, hb_parc( 3 ) ) ); + break; +#endif /* TFTP options */ @@ -1445,6 +1461,14 @@ HB_FUNC( CURL_EASY_SETOPT ) } break; #endif +#if LIBCURL_VERSION_NUM >= 0x071800 + case HB_CURLOPT_DNS_SERVERS: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_DNS_SERVERS, hb_curl_StrHash( hb_curl, hb_parc( 3 ) ) ); + break; + case HB_CURLOPT_ACCEPTTIMEOUT_MS: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_ACCEPTTIMEOUT_MS, hb_parnl( 3 ) ); + break; +#endif /* SSL and Security */ @@ -1524,6 +1548,16 @@ HB_FUNC( CURL_EASY_SETOPT ) res = curl_easy_setopt( hb_curl->curl, CURLOPT_CERTINFO, HB_CURL_OPT_BOOL( 3 ) ); break; #endif +#if LIBCURL_VERSION_NUM >= 0x071600 + case HB_CURLOPT_GSSAPI_DELEGATION: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_GSSAPI_DELEGATION, hb_parnl( 3 ) ); + break; +#endif +#if LIBCURL_VERSION_NUM >= 0x071900 + case HB_CURLOPT_SSL_OPTIONS: + res = curl_easy_setopt( hb_curl->curl, CURLOPT_SSL_OPTIONS, hb_parnl( 3 ) ); + break; +#endif /* SSH options */ diff --git a/harbour/contrib/hbcurl/hbcurl.ch b/harbour/contrib/hbcurl/hbcurl.ch index 3f1ae7dbdd..121356777a 100644 --- a/harbour/contrib/hbcurl/hbcurl.ch +++ b/harbour/contrib/hbcurl/hbcurl.ch @@ -251,6 +251,14 @@ #define HB_CURLOPT_WILDCARDMATCH 197 #define HB_CURLOPT_RESOLVE 198 #define HB_CURLOPT_TRANSFER_ENCODING 199 +#define HB_CURLOPT_GSSAPI_DELEGATION 200 +#define HB_CURLOPT_DNS_SERVERS 201 +#define HB_CURLOPT_ACCEPTTIMEOUT_MS 202 +#define HB_CURLOPT_SSL_OPTIONS 203 +#define HB_CURLOPT_TCP_KEEPALIVE 204 +#define HB_CURLOPT_TCP_KEEPIDLE 205 +#define HB_CURLOPT_TCP_KEEPINTVL 206 +#define HB_CURLOPT_MAIL_AUTH 207 #define HB_CURLOPT_DOWNLOAD 1001 /* Harbour special ones */ #define HB_CURLOPT_PROGRESSBLOCK 1002 #define HB_CURLOPT_UL_FILE_SETUP 1003 @@ -283,6 +291,9 @@ #define HB_CURL_NETRC_OPTIONAL 1 /* A user:password in the URL will be preferred */ #define HB_CURL_NETRC_REQUIRED 2 /* A user:password in the URL will be ignored. */ +/* HB_CURLOPT_SSL_OPTIONS values */ +#define HB_CURLSSLOPT_ALLOW_BEAST hb_bitShift( 1, 0 ) + /* HB_CURLOPT_HTTPAUTH option */ #define HB_CURLAUTH_NONE 0 /* nothing */ #define HB_CURLAUTH_BASIC 1 /* Basic (default) */ @@ -290,9 +301,10 @@ #define HB_CURLAUTH_GSSNEGOTIATE 4 /* GSS-Negotiate */ #define HB_CURLAUTH_NTLM 8 /* NTLM */ #define HB_CURLAUTH_DIGEST_IE hb_bitShift( 1, 4 ) /* Digest with IE flavour */ +#define HB_CURLAUTH_NTLM_WB hb_bitShift( 1, 5 ) /* NTLM delegating to winbind helper */ #define HB_CURLAUTH_ONLY hb_bitShift( 1, 31 ) /* used together with a single other type to force no auth or just that single type */ #define HB_CURLAUTH_ANY hb_bitNot( 0 ) /* all types set */ -#define HB_CURLAUTH_ANYSAFE hb_bitNot( HB_CURLAUTH_BASIC ) +#define HB_CURLAUTH_ANYSAFE hb_bitNot( hb_bitOr( HB_CURLAUTH_BASIC, HB_CURLAUTH_DIGEST_IE ) ) /* HB_CURLOPT_HTTP_VERSION option */ #define HB_CURL_HTTP_VERSION_NONE 0 /* setting this means we don't care, and that we'd like the library to choose the best possible for us! */