aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2011-04-07HTTP pipelining: Fix handling of zero-length responsesChris Smowton
Also add test case 584 for the same Bug: http://curl.haxx.se/bug/view.cgi?id=3214223
2011-04-05Changed some nonportable typesDan Fandrich
2011-04-05Don't list NTLM in curl-config when HTTP is disabledDan Fandrich
Also, fixed Curl_proxyCONNECT() stub with HTTP disabled.
2011-04-05return code cleanup: build, init and run-time errorsDaniel Stenberg
Stop the abuse of CURLE_FAILED_INIT as return code for things not being init related by introducing two new return codes: CURLE_NOT_BUILT_IN and CURLE_UNKNOWN_OPTION CURLE_NOT_BUILT_IN replaces return code 4 that has been obsoleted for several years. It is used for returning error when something is attempted to be used but the feature/option was not enabled or explictitly disabled at build-time. Getting this error mostly means that libcurl needs to be rebuilt. CURLE_FAILED_INIT is now saved and used strictly for init failures. Getting this problem means something went seriously wrong, like a resource shortage or similar. CURLE_UNKNOWN_OPTION is the option formerly known as CURLE_UNKNOWN_TELNET_OPTION (and the old name is still present, separately defined to be removed in a very distant future). This error code is meant to be used to return when an option is given to libcurl that isn't known. This problem would mostly indicate a problem in the program that uses libcurl.
2011-04-05FTP+proxy: macrofied functions when proxy disabledDaniel Stenberg
In my attempts to reduce #ifdefs in code, the SOCKS functions are now macros when libcurl is built without proxy support and therefore the FTP code could avoid some #ifs.
2011-04-05[pop3 starttls] PASS command was not sent after upgrade to TLS.Ben Noordhuis
2011-04-05[pop3 starttls] the command to send is STLS, not STARTTLS.Ben Noordhuis
2011-04-04http-proxy: move proxy code to http_proxy.cDaniel Stenberg
The new http_proxy.* files now host HTTP proxy specific code (500+ lines moved out from http.c), and as a consequence there is a macro introduced for the Curl_proxyCONNECT() function so that code can use it without actually supporting proxy (or HTTP) in builds.
2011-04-04disable cookies: remove ifdefs, move codeDaniel Stenberg
1 - make sure to #define macros for cookie functions in the cookie header when cookies are disabled to avoid having to use #ifdefs in code using those functions. 2 - move cookie-specific code to cookie.c and use the functio conditionally as mentioned in (1). net result: 6 #if lines removed, and 9 lines of code less
2011-04-04nss: fix a crash within SSL_AuthCertificate()Kamil Dudka
The bug was introduced in 806dbb0 (a wrong value was passed in as the first argument to the default callback in our wrapper).
2011-04-03multi: shorten linesDaniel Stenberg
We keep them less than 80 columns
2011-04-02multi: conn goes bad when data changeDaniel Stenberg
Within multi_socket when conn is used as a shorthand, data could be changed and multi_runsingle could modify the connectdata struct to deal with. This bug has not been included in a public release. Using 'conn' like that turned out to be ugly. This change is a partial revert of commit f1c6cd42f474df59. Reported by: Miroslav Spousta Bug: http://curl.haxx.se/bug/view.cgi?id=3265485
2011-04-01Increased script version.Guenter Knauf
2011-04-01Make use of proxy vars if set.Guenter Knauf
Posted to the list by Quanah Gibson-Mount [quanah zimbra.com].
2011-04-01Use var again instead of hard-coded filename.Guenter Knauf
2011-03-29typo fixGisle Vanem
2011-03-25TSL-SRP: enabled with OpenSSLPeter Sylvester
If a new enough OpenSSL version is used, configure detects the TLS-SRP support and enables it.
2011-03-25fix: re-use of bound connectionsDaniel Stenberg
When asked to bind the local end of a connection when doing a request, the code will now disqualify other existing connections from re-use even if they are connected to the correct remote host. This will also affect which connections that can be used for pipelining, so that only connections that aren't bound or bound to the same device/port you're asking for will be considered.
2011-03-23rtsp: move protocol code to dedicated fileDaniel Stenberg
The RTSP-specific function for checking for "dead" connection is better located in rtsp.c. The code using this is now written without #ifdefs as the function call is instead turned into a macro (in rtsp.h) when RTSP is disabled.
2011-03-23ipv6: only probe onceDaniel Stenberg
Move ipv6-functional-probe into a single function that is used from all places that need to know. Make the probe function store the result in a static variable so that subsequent invokes just returns the previous result and won't have to probe again.
2011-03-21progress: don't print the last update on a separate line.Julien Chaffraix
Curl_posttransfer is called too soon to add the final new line. Moved the new line logic to pgrsDone as there is no more call to update the progress status after this call. Reported by: Dmitri Shubin <sbn_at_tbricks.com> http://curl.haxx.se/mail/lib-2010-12/0162.html
2011-03-20retry-request: rewind if data was sentDaniel Stenberg
When libcurl sends a HTTP request on a re-used connection and detects it being closed (ie no data at all was read from it), it is important to rewind if any data in the request was sent using the read callback or was read from file, as otherwise the retried request will be broken. Reported by: Chris Smowton Bug: http://curl.haxx.se/bug/view.cgi?id=3195205
2011-03-19url: 0 is PROTOPT_NONE.Julien Chaffraix
Tiny tweak after Daniel's refactoring of the protocol handlers.
2011-03-19pop3: add state name in debug arrayDaniel Stenberg
We have an array with the state names only built and used when built debug enabled and this need to list all the states from the .h
2011-03-18pop3: use Curl_safefree() to allow torture tests to succeedDan Fandrich
2011-03-18pop3: remove unused variableDaniel Stenberg
2011-03-17Added support for LISTing a single POP3 messageDan Fandrich
Added tests for a number of POP3 LIST operations, including one that shows a curl problem when listing no messages, so is disabled.
2011-03-17pop3: fixed memory leak in an error retrieval caseDan Fandrich
2011-03-17connection setup: if HTTP is disabled asking for HTTP proxy is badDaniel Stenberg
2011-03-16scan-build warningDaniel Stenberg
Value stored to 'len' is never read
2011-03-16ldap_recv: check return code from ldap_get_dn_berDaniel Stenberg
2011-03-16compiler warnings fixedDaniel Stenberg
Use (void)[variable] to inhibit unused argument/variables warnings.
2011-03-15SMTP-multi: non-blocking connectBen Noordhuis
Use Curl_ssl_connect_nonblocking() when upgrading the connection to TLS/SSL while using the multi interface.
2011-03-15SMTP in multi mode: use Curl_ssl_connect_nonblocking() when connecting.Ben Noordhuis
2011-03-15buildfix: spell define correctlyDaniel Stenberg
2011-03-15nss: do not ignore value of CURLOPT_SSL_VERIFYPEERKamil Dudka
When NSS-powered libcurl connected to a SSL server with CURLOPT_SSL_VERIFYPEER equal to zero, NSS remembered that the peer certificate was accepted by libcurl and did not ask the second time when connecting to the same server with CURLOPT_SSL_VERIFYPEER equal to one. This patch turns off the SSL session cache for the particular SSL socket if peer verification is disabled. In order to avoid any performance impact, the peer verification is completely skipped in that case, which makes it even faster than before. Bug: https://bugzilla.redhat.com/678580
2011-03-15protocol handler cleanup: SSL awarenessDaniel Stenberg
As a follow-up to commit 8831000bc0: don't assume that the SSL powered protocol alternatives are available.
2011-03-15ldap: use the new protocol handler setupDaniel Stenberg
Use the new flags field and stop using the old protocol defines.
2011-03-14protocols: use CURLPROTO_ internallyDaniel Stenberg
The PROT_* set of internal defines for the protocols is no longer used. We now use the same bits internally as we have defined in the public header using the CURLPROTO_ prefix. This is for simplicity and because the PROT_* prefix was already used duplicated internally for a set of KRB4 values. The PROTOPT_* defines were moved up to just below the struct definition within which they are used.
2011-03-14protocol handler: added flags fieldDaniel Stenberg
The protocol handler struct got a 'flags' field for special information and characteristics of the given protocol. This now enables us to move away central protocol information such as CLOSEACTION and DUALCHANNEL from single defines in a central place, out to each protocol's definition. It also made us stop abusing the protocol field for other info than the protocol, and we could start cleaning up other protocol-specific things by adding flags bits to set in the handler struct. The "protocol" field connectdata struct was removed as well and the code now refers directly to the conn->handler->protocol field instead. To make things work properly, the code now always store a conn->given pointer that points out the original handler struct so that the code can learn details from the original protocol even if conn->handler is modified along the way - for example when switching to go over a HTTP proxy.
2011-03-14sslgen: define Curl_ssl_connect_nonblocking for non-SSLDaniel Stenberg
The non-blocking connect improvement for IMAP showed that we didn't properly define the Curl_ssl_connect_nonblocking function for non-SSL builds. Reported by: Tor Arntsen
2011-03-14mk-ca-bundle.pl: Only download if modifiedAsk Bjørn Hansen
Only download and convert the certdata to the ca-bundle.crt if Mozilla changed the data The Perl LWP module (which in a bit of a circular reference is used by mk-ca-bundle.pl) is now indirectly using this script. I made this small tweak to make it easier to automatically maintain the generated ca-bundle.crt file in version control.
2011-03-13SSH: add protocol lock directionDaniel Stenberg
Some protocols have to call the underlying functions without regard to what exact state the socket signals. For example even if the socket says "readable", the send function might need to be called while uploading, or vice versa. This is the case for libssh2 based protocols: SCP and SFTP and we now introduce a define to set those protocols and we make the multi interface code aware of this concept. This is another fix to make test 582 run properly.
2011-03-13state: add missing state to debug tableDaniel Stenberg
As a new state recently was added to the IMAP state machine it has to be in the array of names as well as otherwise libcurl crashes when a debug version runs...
2011-03-13ssh_statemach_act: set cselect for sftp uploadDaniel Stenberg
For uploads we want to use the _sending_ function even when the socket turns out readable as the underlying libssh2 sftp send function will deal with both accordingly. This is what the cselect_bits magic is for. Fixes test 582.
2011-03-13Merge branch 'imap' of https://github.com/bnoordhuis/curl into bnoordhuis-imapDaniel Stenberg
2011-03-13VC: add missing fileKarl M
http_negotiate_sspi.c was added to the source tree recently
2011-03-13GSS: handle reuse fixMarcus Sundberg
Make GSS authentication work when a curl handle is reused for multiple authenticated requests, by always setting negdata->state in output_auth_headers(). Signed-off-by: Marcus Sundberg <marcus.sundberg@aptilo.com>
2011-03-13SFTP: gracefully handle shutdown earlyDaniel Stenberg
When using the multi interface and a handle using SFTP was removed very early on, we would get a segfault due to the code assumed data was there that hadn't yet been setup. Bug: http://curl.haxx.se/mail/lib-2011-03/0066.html Reported by: Saqib Ali
2011-03-12PROT_CLOSEACTION: added SFTP and SCPDaniel Stenberg
Both SFTP and SCP are protocols that need to shut down stuff properly when the connection is about to get torned down. The primary effect of not doing this shows up as memory leaks (when using SCP or SFTP with the multi interface). This is one of the problems detected by test 582.