aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-11-29POP3: detect when LIST returns no mailsDaniel Stenberg
By making sure the function can detect an "end of body" sequence immediately on the first line, test 811 is now enabled.
2011-11-29ftpserver: output CRLF in logsDaniel Stenberg
Previously the log function would just filter out all CR and LF occurances from the log to make it more readable. This had the downside that it made it very hard to see CR LFs when they actually matters. Now, they're instead converted to "[CR]" and "[LR]" in the log to become apparent to readers.
2011-11-29POP3: fix end of body detectionDaniel Stenberg
Curl_pop3_write() now has a state machine that scans for the end of a POP3 body so that the CR LF '.' CR LF sequence can come in everything from one up to five subsequent packets. Test case 810 is modified to use SLOWDOWN which makes the server pause between each single byte and thus makes the POP3 body get sent to curl basically one byte at a time.
2011-11-28test: added POP3 test with dot-prefixed lineDaniel Stenberg
Test 815 is disabled for now since libcurl currently doesn't unescape such lines the way it should. See mail: http://curl.haxx.se/mail/lib-2011-11/0324.html
2011-11-27configure: fix to make older pkg-config play wellDaniel Stenberg
configure.ac:1349: error: possibly undefined macro: PKG_CONFIG_LIBDIR Obviously this is not a problem with pkg-config 0.26 but older versions seem to show this. Fix suggested by: Kamil Dudka Reported by: Guenter Bug: http://curl.haxx.se/mail/lib-2011-11/0298.html
2011-11-25test 1211: FTP test to repeat bug #3429299Daniel Stenberg
"Active FTP hangs if server does not open data connection" The server first sends a 150 and then when libcurl waits for the data transfer, the server sends a 425.
2011-11-25configure: add support for pkg-config detection of libidnMark Brand
2011-11-25FTP tests 1206 - 1209: don't expect QUITDaniel Stenberg
The protocol parts for these tests do not include QUIT simply because the error is CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout error without specificly saying for which connection it concerns, and for timeouts libcurl marks the control channel as "invalid". As this test case times out for the data connection it could still use the control channel.
2011-11-25CyaSSL 2.0+ library initialization adjustmentYang Tse
2011-11-25rectify commentJonas Schnelli
2011-11-25SSLSESSION_SHARED: new macro to check if session is sharedDaniel Stenberg
Added convenience macro to use to check if a handle is using a shared SSL session, and fixed so that Curl_ssl_close_all() doesn't lock when the session isn't shared.
2011-11-25telnet.c: fix MSVC compiler warningYang Tse
2011-11-25tvdiff_secs(): sub-zero time difference adjustmentYang Tse
Skip a floating point addition operation when integral part of time difference is zero. This avoids potential floating point addition rounding problems while preserving decimal part value.
2011-11-25telnet: fix macros to allow proper semicolon useDaniel Stenberg
Macros that look like function calls need to be made so that we can use semicolons properly for indentation and for reducing the risk for mistakes when using them.
2011-11-25TELNET: improved treatment of optionsLaurent Rabret
1) enables the Window Size option 2) allows the server to enable the echo mode 3) allows an app using libcurl to disable the default binary mode Signed-off-by: Laurent Rabret
2011-11-25RELEASE-NOTES: synced with 2c905fd1f82Daniel Stenberg
2011-11-24query-part: ignore the URI part for given protocolsJonas Schnelli
By setting PROTOPT_NOURLQUERY in the protocol handler struct, the protocol will get the "query part" of the URL cut off before the data is handled by the protocol-specific code. This makes libcurl adhere to RFC3986 section 2.2. Test 1220 is added to verify a file:// URL with query-part.
2011-11-24symbols.pl: provide LIBCURL_HAS macro for appsDaniel Stenberg
Experience has shown that the symbols-in-versions file is very useful to applications that want to build with a wide range of libcurl versions. It is however easy to get it wrong and the source gets a bit messy with all the fixed numerical comparisions. The point of this script is to provide an easy-to-use macro for libcurl- using applications to do preprocessor checks for specific libcurl defines, and yet make the code clearly show what the macro is used for.
2011-11-24lib573.c: fix double data type variable comparison with zeroYang Tse
2011-11-24getinfo.c: reset app connect time when clearing session-info time variablesYang Tse
2011-11-24Fix unreleased regression when using windows gnutls versions older than 2.8Yang Tse
2011-11-23gnutls: only translate winsock errors for old versionsMark Brand
Bugfix: https handshake fails using gnutls 3 on windows http://sourceforge.net/tracker/index.php?func=detail&aid=3441084&group_id=976&atid=100976 New gnutls versions have an error handler that knows about Winsock errors, which is why gnutls_transport_set_global_errno() was deprecated and then removed. This is a correction of commit f5bb370 (blame me) which meant to reimplement gnutls_transport_set_global_errno(), which is not necessary.
2011-11-21protocol_connect: show verbose connect and set connect timeDaniel Stenberg
Regression: commit b998d95b (shipped first in release 7.22.0) made the condition always equal false that should reset the TIMER_CONNECT timer and call the Curl_verboseconnect() function. Reported by: "Captain Basil" Bug: http://curl.haxx.se/mail/archive-2011-11/0035.html
2011-11-20-J -O: use -O name if no Content-Disposition header comes!Daniel Stenberg
A regression between 7.22.0 and 7.23.0 -- downloading a file with the flags -O and -J results in the content being written to stdout if and only if there was no Content-Disposition header in the http response. If there is a C-D header with a filename attribute, the output is correctly written. Reported by: Dave Reisner Bug: http://curl.haxx.se/mail/archive-2011-11/0030.html
2011-11-19Add support for using nettle instead of gcrypt as gnutls backendMartin Storsjo
2011-11-18test: SFTP quote commands with * prefixJonas Schnelli
Related to the f64812ca63 commit
2011-11-18CURLOPT_QUOTE: SFTP supports the '*'-prefix nowDaniel Stenberg
2011-11-18SFTP: support '*' prefix for quote operationsJonas Schnelli
prefixing a command with '*' means it is allowed to fail without aborting the chain actions
2011-11-17getsessionid: don't ever return while lockedDaniel Stenberg
Also, check for the session sharing bit instead of comparing pointers
2011-11-17Curl_ssl_getsessionid: increase the value, not the pointerDaniel Stenberg
2011-11-17THANKS: one new contributor in 7.23.1Daniel Stenberg
2011-11-17SSL session share: move the age counter to the share objectAlejandro Alvarez Ayllon
Previously the age counter would be counted individually in each easy handle that shared SSL sessions!
2011-11-17libtest build: add the missing lib586Alejandro Alvarez Ayllon
2011-11-17CURLOPT_DNS_SERVERS: set name servers if possibleJason Glasgow
2011-11-17RELEASE-NOTES: correct the release and contributor numbersDaniel Stenberg
2011-11-17FindWin32CACert: return OK even if CA cert isn't foundDaniel Stenberg
Bug: http://curl.haxx.se/mail/lib-2011-11/0180.html Reported by: Mark Brand
2011-11-16curl has been built on many Android versionsDan Fandrich
2011-11-157.24.0: start the workDaniel Stenberg
2011-11-15THANKS: added 18 new contributors from 7.23.0Daniel Stenberg
2011-11-14curl_easy_setopt arguments should be of type long in the examplesDan Fandrich
2011-11-12RELEASE-NOTES: synced with 10120e6aDaniel Stenberg
one more bug fix and contributor
2011-11-11progress_cb: avoid buffer overflowDaniel Stenberg
The progress bar output function would blindly use the terminal width without bounds checking. When using a very wide terminal that caused a buffer overflow and segfault. We now limit the max bar with to 255 columns, and I simplified the code to avoid an extra snprintf and buffer. Bug: http://curl.haxx.se/bug/view.cgi?id=3435710 Reported by: Alexey Zakhlestin
2011-11-11Active mode FTP test cases with server not establishing data connectionYang Tse
591 -> FTP multi PORT and 425 on upload 592 -> FTP multi PORT and 421 on upload 593 -> FTP multi PORT upload, no data conn and no transient neg. reply 594 -> FTP multi PORT upload, no data conn and no positive prelim. reply 1206 -> FTP PORT and 425 on download 1207 -> FTP PORT and 421 on download 1208 -> FTP PORT download, no data conn and no transient negative reply 1209 -> FTP PORT download, no data conn and no positive preliminary reply
2011-11-08Fix to skip untrusted certs.Guenter Knauf
2011-11-06RELEASE-NOTES: synced with e3166df1bb3Daniel Stenberg
4 new bugfixes, 2 more contributors
2011-11-06ftp PORT: don't hang if bind() failsDaniel Stenberg
When the user requests PORT with a specific port or port range, the code could lock up in an endless loop. There's now an extra conditional that makes sure to special treat the error and try the local address only once so a second failure will abort the loop correctly. Bug: http://curl.haxx.se/bug/view.cgi?id=3433968 Reported by: Gokhan Sengun
2011-11-06pingpong: change two comments wrongly referring "FTP"Daniel Stenberg
Just a sign of where the code originally was ripped out from. Now it is generic "pingpong".
2011-11-06test 590: verify the bug fix in 4851dafcf1Daniel Stenberg
This test is created to verify Rene Bernhardt's patch which makes sure libcurl properly _not_ deals with Negotiate if not asked to even if the proxy says it can serve it.
2011-11-06HTTP auth: fix proxy Negotiate bugRene Bernhardt
If a proxy offers several Authentication schemes where NTLM and Negotiate are offered by the proxy and you tell libcurl not to use the Negotiate scheme then the request never returns when the proxy answers with its HTTP 407 reply. It is reproducible by the following steps: - Use a proxy that offers NTLM and Negotiate ( CURLOPT_PROXY and CURLOPT_PROXYPORT ) - Tell libcurl NOT to use Negotiate CURL_EASY_SETOPT(CURLOPT_PROXYAUTH, CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_NTLM ) - Start the request The call to CURL_EASY_PERFORM never returns. If you switch on debug logging you can see that libcurl issues a new request As soon as it received the 407 reply. Instead it should return and set the response code to 407. Bug: http://curl.haxx.se/mail/lib-2011-10/0323.html
2011-11-04ssluse.c: fix calling of OpenSSL's ERR_remove_state(0)Yang Tse
Move calling of ERR_remove_state(0) a.k.a ERR_remove_thread_state(NULL) from Curl_ossl_close_all() to Curl_ossl_cleanup(). In this way ERR_remove_state(0) is now only called in libcurl by curl_global_cleanup(). Previously it would get called by functions curl_easy_cleanup(), curl_multi_cleanup and potentially each time a connection was removed from a connection cache leading to premature destruction of OpenSSL's thread local state hash. Multi-threaded apps using OpenSSL enabled libcurl should still call function ERR_remove_state(0) or ERR_remove_thread_state(NULL) at the very end end of threads that do not call curl_global_cleanup().