aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-12-20FTP: move FTP-specific struct field to ftpc_connDaniel Stenberg
"wait_data_conn" was added to the connectionbits in commit c834213ad5 for handling active FTP connections but as it is purely FTP specific and now only ever accessed by ftp.c I moved it into the FTP connection struct.
2011-12-20non-blocking active FTP: cleanup multi state usageDaniel Stenberg
Backpedaled out the funny double-change of state in the multi state machine by adding a new argument to the do_more() function to signal completion. This way it can remain in the DO_MORE state properly until done. Long term, the entire DO_MORE logic should be moved into the FTP code and be hidden from the multi code as the logic is only used for FTP.
2011-12-20FTP: perform active connections non-blockingGokhan Sengun
1- Two new error codes are introduced. CURLE_FTP_ACCEPT_FAILED to be set whenever ACCEPTing fails because of FTP server connected. CURLE_FTP_ACCEPT_TIMEOUT to be set whenever ACCEPTing timeouts. Neither of these errors are considered fatal and control connection remains OK because it could just be a firewall blocking server to connect to the client. 2- One new setopt option was introduced. CURLOPT_ACCEPTTIMEOUT_MS It sets the maximum amount of time FTP client is going to wait for a server to connect. Internal default accept timeout is 60 seconds.
2011-12-20sockets: new Curl_socket_check() can wait for 3 socketsDaniel Stenberg
This offers an alternative to the existing Curl_socket_ready() API which only checks one socket for read and one for write.
2011-12-20curl.h: add __ANDROID__ macro checkCédric Deltheil
When working with the Android Standalone Toolchain the compiler defines this macro: /path/to/arm-linux-androideabi-gcc -E -dM - < /dev/null \ | grep -i android #define __ANDROID__ 1 We really need to check both ANDROID and __ANDROID__ since I've observed that: * if you use Android.mk file(s) and the 'ndk-build' script (aka vanilla way), ANDROID is predefined (see -DANDROID extra C flag), * if you use the Android Standalone Toolchain, then __ANDROID__ is predefined as stated by the compiler
2011-12-20lib500: verify timers relative each otherDaniel Stenberg
As commit ce896875f8 fixed a timer that accidentally had been moved in code and then returned a bad timer, the lib500.c code (used in test 500 and some others) now verifies 5 timers against each other to verify that they have the correct relative values. We cannot compare against absolute values as the timings will vary a lot.
2011-12-20Curl_pgrsTime: store now in an auto variableDaniel Stenberg
It makes it easier to introduce debug outputs in this function, and everything in the function is using the value anyway so it might even be more efficient.
2011-12-20timer: restore PRETRANSFER timingDaniel Stenberg
Regression introduced in 7.23.0 with commit 9dd85bce. The function in which the PRETRANSFER time stamp was recorded was moved in time causing it be stored very quickly after the start timestamp. On most systems shorter than 1 millisecond and thus it wouldn't even show with -w "%{time_pretransfer}" using the command line tool. Bug: http://curl.haxx.se/mail/archive-2011-12/0022.html Reported by: Toni Moreno
2011-12-20libcurl.m4: Fix quoting arguments of AC_LANG_PROGRAMBernhard Reutner-Fischer
Parameters were underquoted, resulting in warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-12-20gitignore: ignore the symbol versioning fileDaniel Stenberg
2011-12-20tutorial: remove CURLM_CALL_MULTI_PERFORM add sharingDaniel Stenberg
The CURLM_CALL_MULTI_PERFORM reference is an old leftover I had to remove. I also added some blurb to the previously blank "sharing" section.
2011-12-19configure: add symbols versioning optionAlessandro Ghedini
Allow, at configure time, the production of versioned symbols. The symbols will look like "CURL_<FLAVOUR>_<VERSION> <SYMBOL>", where <FLAVOUR> represents the SSL flavour (e.g. OPENSSL, GNUTLS, NSS, ...), <VERSION> is the major SONAME version and <SYMBOL> is the actual symbol name. If no SSL library is enabled the symbols will be just "CURL_<VERSION> <SYMBOL>".
2011-12-19Use Curl_ssl_connect for non-blocking connect fallbackSven Wegener
This gets the appconnect time right for ssl backends, which don't support non-blocking connects. Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2011-12-19RELEASE-NOTES: synced with af9bc1604c1Daniel Stenberg
One new feature, one bug fix. Introduced references in this file for mentioned issues after this discussion: http://curl.haxx.se/mail/lib-2011-12/0187.html The plan is to let the references get moved over to the changes.html file at release-time
2011-12-19curl.1: minor white space cleanupDaniel Stenberg
2011-12-19docs: improve description of the --capath optionAlessandro Ghedini
Document the possibility of providing multiple values using the ":" separator, and the fact that the default value will be ignored if the option is used.
2011-12-19DOCS: Added SMTP information to CURLOPT_INFILESIZESteve Holme
2011-12-19Curl_proxyCONNECT: use newlines in debug outputDaniel Stenberg
2011-12-16curl -F: fix multiple file upload with custom typeDaniel Stenberg
Test case 1315 was added to verify this functionality. When passing in multiple files to a single -F, the parser would get all confused if one of the specified files had a custom type= assigned. Reported by: Colin Hogben
2011-12-16New test for multiple file uploadColin Hogben
test 1315 checks correct behaviour when uploading multiple files. Buggy behaviour has been seen where only two attachments are sent.
2011-12-15configure: libtool 1.5 tweaksYang Tse
2011-12-15Correct substitution var namesColin Hogben
Two variable names were wrong in the documentation.
2011-12-15Correct default upload mimetype in manualColin Hogben
The default content-type for file uploads is application/octet-stream, not text/plain as stated in the MANUAL.
2011-12-15docs: fix typo in curl_easy_setopt manpageAlessandro Ghedini
2011-12-13if2ip.[ch]: fix compilation with MinGWYang Tse
Avoid 'interface' literal that some MinGW versions define as a macro
2011-12-13connect.c: fix compiler warning 'enumerated type is mixed with another type'Yang Tse
2011-12-13if2ip.c: fix compiler warning 'unused parameter'Yang Tse
2011-12-13pop3.c: fix compiler warning variable may be used uninitializedYang Tse
2011-12-13if2ip.c: fix compiler warning 'enumerated type is mixed with another type'Yang Tse
2011-12-12CURLOPT_INTERFACE: avoid resolving interfaces namesJason Glasgow
Do not try to resolve interfaces names via DNS by recognizing interface names in a few ways. If the interface option argument has a prefix of "if!" then treat the argument as only an interface. Similarly, if the interface argument is the name of an interface (even if it does not have an IP address assigned), treat it as an interface name. Finally, if the interface argument is prefixed by "host!" treat it as a hostname that must be resolved by /etc/hosts or DNS. These changes allow a client using the multi interfaces to avoid blocking on name resolution if the interface loses its IP address or disappears.
2011-12-12RELEASE-NOTES: synced with 1259ccf7474Daniel Stenberg
5 more bugfixes, 5 more contributors
2011-12-12ConnectionExists: Fix reuse for TLS upgraded connectionsSteve Holme
Fixed the connection reuse detection in ConnectionExists() when comparing a new connection that is non-SSL based against that of a SSL based connection that has become so by being upgraded via TLS.
2011-12-09create_conn: don't switch to HTTP protocol if tunneling is enabledDaniel Stenberg
This is a regression since who knows when. When spotting that a HTTP proxy is used we must not uncondititionally enable the HTTP protocol since if we do tunneling through the proxy we're still using the target protocol. Reported by: Naveen Chandran
2011-12-07FAQ: add --resolve details to question 3.19Daniel Stenberg
2011-12-07Curl_closesocket: clear sock_accepted on closeGokhan Sengun
As a follow-up from commit d5b5f64bce3a8, clear the sock_accepted status when such a socket is closed to avoid a re-used connection to retain the state wrongly. Bug: http://curl.haxx.se/mail/lib-2011-12/0079.html
2011-12-07static SSL windows builds: add more libs to the linkDaniel Stenberg
Starting with some recent OpenSSL versions (1.0.0e was mentioned) linking with a static openssl requires a set of more libs to be linked on Windows. Thanks also to Steve Holme and Martin Storsj for additional feedback. Bug: http://curl.haxx.se/mail/lib-2011-12/0063.html Reported by: Ward Willats
2011-12-07multi interface: fix block when CONNECT_ONLY option is usedGokhan Sengun
2011-12-06Added some include files in a couple of example programsDan Fandrich
This improves portability of the examples. This patch was submitted to the OpenBSD ports collection by naddy.
2011-12-06MakefileBuild: fix the static buildDaniel Stenberg
This is a left-over fix from commit b7e242de0e that Tom Wright suggested. Reported by: Ward Willats
2011-12-06OpenSSL: check for the SSLv2 function in configureDaniel Stenberg
If no SSLv2 was detected in OpenSSL by configure, then we enforce the OPENSSL_NO_SSL2 define as it seems some people report it not being defined properly in the OpenSSL headers.
2011-12-05CURLOPT_CONNECTTIMEOUT: default is 300 secondsDaniel Stenberg
If the option is set to 0, the default timeout will be used - which in modern libcurl versions equals 300 seconds (== 5 minutes). Bug: http://curl.haxx.se/mail/lib-2011-12/0051.html Reported by: Vladimir Grishchenko
2011-12-05progress function example: include timed intervalRob Ward
Adds a timer based off of CURLINFO_TOTAL_TIME that is used to perform certain actions after a minimum amount of time has passed using the progress function. As a consequence the curl handle is now also passed into the progress function. Progress example now also includes an example of how to retreive the TOTAL_TIME and print it out.
2011-12-05RELEASE-NOTES: synced with 347f951c390Daniel Stenberg
8 more bugs, 5 more contributors
2011-12-05SSH: fix CURLOPT_SSH_HOST_PUBLIC_KEY_MD5Daniel Stenberg
When a 32 digit hex key is given as a hostkey md5 checksum, the code would still run it against the knownhost check and not properly acknowledge that the md5 should then be the sole guide for. The verbose output now includes the evaluated MD5 hostkey checksum. Some related source code comments were also updated. Bug: http://curl.haxx.se/bug/view.cgi?id=3451592 Reported by: Reza Arbab
2011-12-05Curl_resolver_is_resolved: differentiate between host/proxy errorsDaniel Stenberg
As there are different return codes for host vs proxy errors, this function now properly returns the code properly depending on what was attempted to get resolved. Bug: http://curl.haxx.se/mail/archive-2011-12/0010.html Reported by: Jason Liu
2011-12-05c-ares: return proxy failure for all proxy typesDaniel Stenberg
When making a distinction which return code to return, the code previously only regarded HTTP proxies to be proxies and thus return host-related errors for failures on other proxy types than HTTP. Now all proxy types will be considered proxies...
2011-12-05FTP: close callback fixDaniel Stenberg
Keep track of which sockets that are the result of accept() calls and refuse to call the closesocket callback for those sockets. Test case 596 now verifies that the open socket callback is called the same number of times as the closed socket callback for active FTP connections. Bug: http://curl.haxx.se/mail/lib-2011-12/0018.html Reported by: Gokhan Sengun
2011-12-05FTP: call opensocket callback properlyDaniel Stenberg
When the new socket is created for an active connection, it is now done using the open socket callback. Test case 596 was modified to run fine, although it hides the fact that the close callback is still called too many times, as it also gets called for closing sockets that were created with accept().
2011-12-05Curl_socket: internal replacement for socket()Daniel Stenberg
Moved out into a separate function to work as a "generic" socket() replacement.
2011-12-04test: verify the opensocket callback for FTPDaniel Stenberg
test 595: for passive FTP test 596: for active FTP