aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2013-03-15HTTP proxy: insert slash in URL if missingDaniel Stenberg
curl has been accepting URLs using slightly wrong syntax for a long time, such as when completely missing as slash "http://example.org" or missing a slash when a query part is given "http://example.org?q=foobar". curl would translate these into a legitimate HTTP request to servers, although as was shown in bug #1206 it was not adjusted properly in the cases where a HTTP proxy was used. Test 1213 and 1214 were added to the test suite to verify this fix. The test HTTP server was adjusted to allow us to specify test number in the host name only without using any slashes in a given URL. Bug: http://curl.haxx.se/bug/view.cgi?id=1206 Reported by: ScottJi
2013-03-14curl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibilityYang Tse
This commit alone does not fix anything nor modifies existing interfaces or behaviors, although it is a prerequisite for other fixes.
2013-03-14Makefile.vc6: add missing filesYang Tse
2013-03-14pipelining: Remove dead code.Linus Nielsen Feltzing
2013-03-13Multiple pipelines and limiting the number of connections.Linus Nielsen Feltzing
Introducing a number of options to the multi interface that allows for multiple pipelines to the same host, in order to optimize the balance between the penalty for opening new connections and the potential pipelining latency. Two new options for limiting the number of connections: CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections to the same host. When adding a handle that exceeds this limit, that handle will be put in a pending state until another handle is finished, so we can reuse the connection. CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total. When adding a handle that exceeds this limit, that handle will be put in a pending state until another handle is finished. The free connection will then be reused, if possible, or closed if the pending handle can't reuse it. Several new options for pipelining: CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a pipeline is "full" when a connection is to be reused, a new connection will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it. If not, the handle will be put in a pending state until a connection is ready (either free or a pipe got shorter). CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not be reused if it is currently processing a transfer with a content length that is larger than this. CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not be reused if it is currently processing a chunk larger than this. CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow pipelining. CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow pipelining. See the curl_multi_setopt() man page for details.
2013-03-13pop3: Removed unnecessary transfer cancellationSteve Holme
Following commit e450f66a02d8 and the changes in the multi interface being used internally, from 7.29.0, the transfer cancellation in pop3_dophase_done() is no longer required.
2013-03-12pop3: Fixed continuous wait when using --ftp-listSteve Holme
Don't initiate a transfer when using --ftp-list.
2013-03-12curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flagZdenek Pavlas
The flag can be used in pycurl-based applications where using the multi interface would not be acceptable because of the performance lost caused by implementing the select() loop in python. Bug: http://curl.haxx.se/bug/view.cgi?id=1168 Downstream Bug: https://bugzilla.redhat.com/919127
2013-03-12easy: do not ignore poll() failures other than EINTRKamil Dudka
2013-03-12curl.h: stricter CURL_EXTERN linkage decorations logicYang Tse
No API change involved. Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
2013-03-10imap: Reworked some function descriptionsSteve Holme
2013-03-10imap: Added some missing comments to imap_sendf()Steve Holme
2013-03-09email: Removed hard returns from init functionsSteve Holme
2013-03-09curl_multi_wait: avoid second loop if nothing to doDaniel Stenberg
... hopefully this will also make clang-analyzer stop warning on potentional NULL dereferences (which were false positives anyway).
2013-03-09multi_runsingle: avoid NULL dereferenceDaniel Stenberg
When Curl_do() returns failure, the connection pointer could be NULL so the code path following needs to that that into account. Bug: http://curl.haxx.se/mail/lib-2013-03/0062.html Reported by: Eric Hu
2013-03-09imap: Re-factored all perform based functionsSteve Holme
Standardised the naming of all perform based functions to be in the form imap_perform_something().
2013-03-09imap: Added description comments to all perform based functionsSteve Holme
2013-03-09imap: Removed the need for separate custom request functionsSteve Holme
Moved the custom request processing into the LIST command as the logic is the same.
2013-03-09imap: Corrected typo in commentSteve Holme
2013-03-09Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibilityYang Tse
2013-03-09imap: Moved imap_logout() to be grouped with the other perform functionsSteve Holme
2013-03-09email: Updated the function descriptions for the logout / quit functionsSteve Holme
Updated the function description comments following commit 4838d196fdbf.
2013-03-09email: Simplified the logout / quit functionsSteve Holme
Moved the blocking state machine to the disconnect functions so that the logout / quit functions are only responsible for sending the actual command needed to logout or quit. Additionally removed the hard return on failure.
2013-03-08email: Tidied up the *_regular_transfer() functionsSteve Holme
Added comments and simplified convoluted dophase_done comparison.
2013-03-08email: Simplified nesting of if statements in *_doing() functionsSteve Holme
2013-03-08imap: Fixed handling of untagged responses for the STORE custom commandSteve Holme
Added an exception, for the STORE command, to the untagged response processor in imap_endofresp() as servers will back respones containing the FETCH keyword instead.
2013-03-08polarssl.c: fix header filename typoGisle Vanem
2013-03-08configure: use XC_LIBTOOL for portability across libtool versionsYang Tse
2013-03-07imap: Fixed SELECT not being performed for custom requestsSteve Holme
2013-03-07email: Minor code tidy up following recent changesSteve Holme
Removed unwanted braces and added variable initialisation.
2013-03-07email: Optimised block_statemach() functionsSteve Holme
Optimised the result test in each of the block_statemach() functions.
2013-03-07checksrc: ban unsafe functionsDaniel Stenberg
The list of unsafe functions currently consists of sprintf, vsprintf, strcat, strncat and gets. Subsequently, some existing code needed updating to avoid warnings on this.
2013-03-06imap: Tidied up the APPEND and final APPEND response functionsSteve Holme
Removed unnecessary state changes on failure and setting of result codes on success.
2013-03-06imap: Tidied up the final FETCH response functionSteve Holme
Removed unnecessary state change on failure and setting of result code on success.
2013-03-06imap: Tidied up the LIST response functionSteve Holme
Reworked comments as they referenced custom commands, removed unnecessary state change on failure and setting of result code on success.
2013-03-06imap: Removed the custom request response functionSteve Holme
Removed imap_state_custom_resp() as imap_state_list_resp() provides the same functionality.
2013-03-06imap: Added check for empty UID in FETCH commandSteve Holme
As the UID has to be specified by the user for the FETCH command to work correctly, added a check to imap_fetch(), although strictly speaking it is protected by the call from imap_perform().
2013-03-06nss: fix misplaced code enabling non-blocking socket modeKamil Dudka
The option needs to be set on the SSL socket. Setting it on the model takes no effect. Note that the non-blocking mode is still not enabled for the handshake because the code is not yet ready for that.
2013-03-06imap: fix compiler warningDaniel Stenberg
imap.c:694:21: error: unused variable 'imapc' [-Werror=unused-variable]
2013-03-05imap: Added support for list commandSteve Holme
2013-03-05imap: Added list perform and response handler functionsSteve Holme
2013-03-05imap: Introduced IMAP_LIST stateSteve Holme
2013-03-05imap: Small tidy up of imap_select() to match imap_append()Steve Holme
Updated the style of imap_select() before adding the LIST command.
2013-03-05imap: Moved mailbox check from the imap_do() functionSteve Holme
In preparation for the addition of the LIST command, moved the mailbox check from imap_do() to imap_select() and imap_append().
2013-03-05curl_setup.h: Added S_IRDIR() macro for compilers that don't support itSteve Holme
Commit 26eaa8383001 introduces the use of S_ISDIR() yet some compilers, such as MSVC don't support it, so we must define a substitute using file flags and mask.
2013-03-04AddFormData: prevent only directories from being postedDaniel Stenberg
Commit f4cc54cb4746ae5a6d (shipped as part of the 7.29.0 release) was a bug fix that introduced a regression in that while trying to avoid allowing directory names, it also forbade "special" files like character devices and more. like "/dev/null" as was used by Oliver who reported this regression. Reported by: Oliver Gondža Bug: http://curl.haxx.se/mail/archive-2013-02/0040.html
2013-03-03darwinssl: fix infinite loop if server disconnected abruptlyNick Zitzmann
If the server hung up the connection without sending a closure alert, then we'd keep probing the socket for data even though it's dead. Now we're ready for this situation. Bug: http://curl.haxx.se/mail/lib-2013-03/0014.html Reported by: Aki Koskinen
2013-03-03imap: Added comments to imap_append()Steve Holme
2013-03-03imap: Added required mailbox check for FETCH and APPEND commandsJiri Hruska
2013-03-03pingpong.c: Fix enumerated type mixed with another typeSteve Holme