aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2013-10-15NSS: acknowledge the --no-sessionid/CURLOPT_SSL_SESSIONID_CACHE optionPaul Donohue
2013-10-15ssh: Handle successful SSH_USERAUTH_NONETyler Hall
According to the documentation for libssh2_userauth_list(), a NULL return value is not necessarily an error. You must call libssh2_userauth_authenticated() to determine if the SSH_USERAUTH_NONE request was successful. This fixes a segv when using sftp on a server that allows logins with an empty password. When NULL was interpreted as an error, it would free the session but not flag an error since the libssh2 errno would be clear. This resulted in dereferencing a NULL session pointer. Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
2013-10-15SSL: protocol version can be specified more preciselyGergely Nagy
CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2 enum values are added to force exact TLS version (CURL_SSLVERSION_TLSv1 means TLS 1.x). axTLS: axTLS only supports TLS 1.0 and 1.1 but it cannot be set that only one of these should be used, so we don't allow the new enum values. darwinssl: Added support for the new enum values. SChannel: Added support for the new enum values. CyaSSL: Added support for the new enum values. Bug: The original CURL_SSLVERSION_TLSv1 value enables only TLS 1.0 (it did the same before this commit), because CyaSSL cannot be configured to use TLS 1.0-1.2. GSKit: GSKit doesn't seem to support TLS 1.1 and TLS 1.2, so we do not allow those values. Bugfix: There was a typo that caused wrong SSL versions to be passed to GSKit. NSS: TLS minor version cannot be set, so we don't allow the new enum values. QsoSSL: TLS minor version cannot be set, so we don't allow the new enum values. OpenSSL: Added support for the new enum values. Bugfix: The original CURL_SSLVERSION_TLSv1 value enabled only TLS 1.0, now it enables 1.0-1.2. Command-line tool: Added command line options for the new values.
2013-10-14darwinssl: un-break iOS build after PKCS#12 feature addedNick Zitzmann
SecPKCS12Import() returns a few errors that are enumerated in OS X's headers but not in iOS' headers for some reason.
2013-10-13OpenSSL: improve the grammar of the language in 39beaa5ffbccDaniel Stenberg
Reported-by: Petr Pisar
2013-10-13OpenSSL: use failf() when subjectAltName mismatchesAndrej E Baranov
Write to CURLOPT_ERRORBUFFER information about mismatch alternative certificate subject names. Signed-off-by: Andrej E Baranov <admin@andrej-andb.ru>
2013-10-12ssh: improve the logic for detecting blocking directionKamil Dudka
This fixes a regression introduced by commit 0feeab78 limiting the speed of SCP upload to 16384 B/s on a fast connection (such as localhost).
2013-10-12Fixed typo in Makefile.inc that left http2.h out of the tar ballDan Fandrich
2013-10-09curl_setup_once: fix errno access for lwip on WindowsGisle Vanem
lib/curl_setup_once.h assumed lwIP on Windows uses 'SetLastError()' to set network errors. It doesn't; it uses 'errno'.
2013-10-07HTTP: Output http response 304 when modified time is too oldDerek Higgins
When using the -w '%{http_code}' flag and simulating a Not Modified then 304 should be output.
2013-10-02darwinssl: block TLS_RSA_WITH_NULL_SHA256 cipherNick Zitzmann
Credit (for catching a cipher I forgot to add to the blocked ciphers list): https://www.ssllabs.com/ssltest/viewMyClient.html
2013-10-02OpenSSL: acknowledge CURLOPT_SSL_VERIFYHOST without VERIFYPEERDaniel Stenberg
Setting only CURLOPT_SSL_VERIFYHOST without CURLOPT_SSL_VERIFYPEER set should still verify that the host name fields in the server certificate is fine or return failure. Bug: http://curl.haxx.se/mail/lib-2013-10/0002.html Reported-by: Ishan SinghLevett
2013-09-28win32: fix Visual Studio 2010 build with WINVER >= 0x600Daniel Stenberg
If no WINVER and/or _WIN32_IWNNT define was set, the Windows platform SDK often defaults to high value, e.g. 0x601 (whoch may probably depend on the Windows version being used, in my case Windows 7). If WINVER >= 0x600 then winsock2.h includes some defines for WSAPoll(), e.g. POLLIN, POLLPRI, POLLOUT etc. These defines clash with cURL's lib/select.h. Make sure HAVE_STRUCT_POLLFD is defined then. Bug: http://curl.haxx.se/bug/view.cgi?id=1282 Reported-by: "kdekker" Patch-by: Marcel Raad
2013-09-28ssluse.c: Fixed compilation warnings when ENGINE not supportedSteve Holme
The function "ssl_ui_reader" was declared but never referenced The function "ssl_ui_writer" was declared but never referenced
2013-09-25imap: Added clarification to the code about odd continuation responsesSteve Holme
2013-09-25ftp.c: Fixed compilation warningSteve Holme
There is an implicit conversion from "unsigned long" to "long"
2013-09-24sasl: Centralised the authentication mechanism stringsSteve Holme
Moved the standard SASL mechanism strings into curl_sasl.h rather than hard coding the same values over and over again in the protocols that use SASL authentication. For more information about the mechanism strings see: http://www.iana.org/assignments/sasl-mechanisms
2013-09-21openssl: use correct port number in error messageDaniel Stenberg
In ossl_connect_step2() when the "Unknown SSL protocol error" occurs, it would output the local port number instead of the remote one which showed when doing SSL over a proxy (but with the correct remote host name). As libcurl only speaks SSL to the remote we know it is the remote port. Bug: http://curl.haxx.se/bug/view.cgi?id=1281 Reported-by: Gordon Marler
2013-09-20pop3: Added basic SASL XOAUTH2 supportSteve Holme
Added the ability to use an XOAUTH2 bearer token [RFC6750] with POP3 for authentication using RFC6749 "OAuth 2.0 Authorization Framework". The bearer token is expected to be valid for the user specified in conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has an advertised auth mechanism of "XOAUTH2", the user and access token are formatted as a base64 encoded string and sent to the server as "AUTH XOAUTH2 <bearer token>".
2013-09-19darwinssl: enable BEAST workaround on iOS 7 & laterNick Zitzmann
iOS 7 finally added the option to enable 1/n-1 when using TLS 1.0 and a CBC cipher, so we now always turn that on unless the user manually turns it off using CURLSSLOPT_ALLOW_BEAST. It appears Apple also added some new PSK ciphers, but no interface to use them yet, so we at least support printing them if we find them.
2013-09-17cookies: add expirationYAMADA Yasuharu
Implement: Expired Cookies These following situation, curl removes cookie(s) from struct CookieInfo if the cookie expired. - Curl_cookie_add() - Curl_cookie_getlist() - cookie_output()
2013-09-17dns: fix compilation with MinGW from commit df69440d05f113Steve Holme
Avoid 'interface' literal that some MinGW versions define as a macro Additionally, corrected some very, very minor coding style errors.
2013-09-14imap: Fixed response check for NOOP commandSteve Holme
2013-09-12libcurl: New options to bind DNS to local interfaces or IP addressesKim Vandry
2013-09-11imap: Fixed response check for LSUB and UID commandsSteve Holme
2013-09-10NI_MAXSERV: remove all use of itDaniel Stenberg
Solaris with the SunStudio Compiler is reportedly missing this define, but as we're using it without any good reason on all the places it was used I've now instead switched to just use sensible buffer sizes that fit a 32 bit decimal number. Which also happens to be smaller than the common NI_MAXSERV value which is 32 on most machines. Bug: http://curl.haxx.se/bug/view.cgi?id=1277 Reported-by: D.Flinkmann
2013-09-10http2: use the support HTTP2 draft version in the upgrade headerDaniel Stenberg
... instead of HTTP/2.0 to work fine with the nghttpx proxy/server.
2013-09-10ldap.c: Fix compilation warningSteve Holme
warning: comparison between signed and unsigned integer expressions
2013-09-10imap/pop3/smtp: Speed up SSL connection initializationJiri Hruska
Don't wait for the next callback call (usually 1 second) before continuing with protocol specific connection initialization.
2013-09-10ldap.c: Corrected build error from commit 857f999353f333Steve Holme
2013-09-10README.http2: explain nghttp2 a littleDaniel Stenberg
2013-09-09http2: adjust to new nghttp2_pack_settings_payload protoDaniel Stenberg
This function was modified in nghttp2 git commit a1c3f89c72e51
2013-09-09url: handle abortion by read/write callbacks, tooKamil Dudka
Otherwise, the FTP protocol would unnecessarily hang 60 seconds if aborted in the CURLOPT_HEADERFUNCTION callback. Reported by: Tomas Mlcoch Bug: https://bugzilla.redhat.com/1005686
2013-09-09ldap: fix the build for systems with ldap_url_parse()Daniel Stenberg
Make sure that the custom struct fields are only used by code that doesn't use a struct defintion from the outside. Attempts to fix the problem introduced in 3dc6fc42bfc61b
2013-09-09pingpong: Check SSL library buffers for already read dataJiri Hruska
Otherwise the connection can get stuck during various phases, waiting for new data on the socket using select() etc., but it will never be received as the data has already been read into SSL library.
2013-09-09imap: Fixed calculation of transfer when partial FETCH receivedSteve Holme
The transfer size would be calculated incorrectly if the email contained within the FETCH response, had been partially received by the pingpong layer. As such the following, example output, would be seen if the amount remaining was smaller than the amount received: * Excess found in a non pipelined read: excess = 1394, size = 262, maxdownload = 262, bytecount = 1374 * transfer closed with -1112 bytes remaining to read Bug: http://curl.haxx.se/mail/lib-2013-08/0170.html Reported-by: John Dunn
2013-09-07http2: include curl_memory.hDaniel Stenberg
Detected by test 1132
2013-09-07http: fix build warning under LLVMNick Zitzmann
When building the code using LLVM Clang without NGHTTP2, I was getting this warning: ../lib/http.h:155:1: warning: empty struct is a GNU extension [-Wgnu] Placing a dummy variable into the data structure silenced the warning.
2013-09-07http2: actually init nghttp2 and send HTTP2-Settings properlyDaniel Stenberg
2013-09-07README.http2: how to use it best with the multi API?Daniel Stenberg
2013-09-07http2: first embryo toward Upgrade:Daniel Stenberg
2013-09-07http: rename use_http_1_1 to use_http_1_1plusDaniel Stenberg
Since it now actually says if 1.1 or a later version should be used.
2013-09-07Pass password to OpenSSL engine by user interfacePetr Písař
Recent OpenSSL uses user interface abstraction to negotiate access to private keys in the cryprographical engines. An OpenSSL application is expected to implement the user interface. Otherwise a default one provided by OpenSSL (interactive standard I/O) will be used and the aplication will have no way how to pass a password to the engine. Longer-desc: http://curl.haxx.se/mail/lib-2013-08/0265.html
2013-09-06http2: use correct include for snprintfGisle Vanem
Using the first little merge of nghttp2 into libcurl, I stumbeled on the missing 'snprintf' in MSVCRT. Isn't this how we do it for other libcurl files? I.e. use 'curl_msnprintf' and not 'snprintf' directly:
2013-09-06LDAP: fix bad free() when URL parsing failedGeoff Beier
When an error occurs parsing an LDAP URL, The ludp->lud_attrs[i] entries could be freed even though they sometimes point to data within an allocated area. This change introduces a lud_attrs_dup[] array for the duplicated string pointers, and it removes the unused lud_exts array. Bug: http://curl.haxx.se/mail/lib-2013-08/0209.html
2013-09-05darwinssl: add support for PKCS#12 files for client authenticationNick Zitzmann
I also documented the fact that the OpenSSL engine also supports them.
2013-09-04SASL: fix compiler warningsDaniel Stenberg
comparison between signed and unsigned integer expressions suggest parentheses around '&&' within '||' (twice)
2013-09-04Curl_setopt: refuse CURL_HTTP_VERSION_2_0 if built without supportDaniel Stenberg
2013-09-04http2: add http2.[ch] and add nghttp2 version outputDaniel Stenberg
2013-09-04imap/smtp: Fixed incorrect SASL mechanism selection with XOAUTH2 serversSteve Holme
XOAUTH2 would be selected in preference to LOGIN and PLAIN if the IMAP or SMTP server advertised support for it even though a user's password was supplied but bearer token wasn't. Modified the selection logic so that XOAUTH2 will only be selected if the server supports it and A) The curl user/libcurl programmer has specifically asked for XOAUTH via the ;AUTH=XOAUTH login option or 2) The bearer token is specified. Obviously if XOAUTH is asked for via the login option but no token is specified the user will receive a authentication failure which makes more sense than no known authentication mechanisms supported!