Daniel Stenberg [Wed, 8 Aug 2012 11:49:35 +0000 (13:49 +0200)]
verbose messages: fixed output of hostnames in re-used connections
I suspect this is a regression introduced in commit
207cf150, included
since 7.24.0.
Avoid showing '(nil)' as hostname in verbose output by making sure the
hostname fixup function is called early enough to set the pointers that
are used for this. The name data is set again for each request even for
re-used connections to handle multiple hostnames over the same
connection (like with proxy) or that the casing etc of the host name is
changed between requests (which has proven to be important at least once
in the past).
Test1011 was modified to use a redirect with a re-used a connection
since it then showed the bug and now lo longer does. There's currently
no easy way to have the test suite detect 'nil' texts in verbose ouputs
so no tests will detect if this problem gets reintroduced.
Bug: http://curl.haxx.se/mail/lib-2012-07/0111.html
Reported by: Gisle Vanem
Nick Zitzmann [Tue, 7 Aug 2012 23:08:54 +0000 (17:08 -0600)]
metalink: Un-broke the build when building --with-darwinssl
Guenter Knauf [Wed, 8 Aug 2012 03:03:16 +0000 (05:03 +0200)]
Fix some compiler warnings.
Daniel Stenberg [Tue, 7 Aug 2012 22:04:00 +0000 (00:04 +0200)]
TODO-RELEASE: two bugs fixed
These are now addressed:
323 - patch - select.c / Curl_socket_check() interrupted
325 - Avoid leak of local device string when reusing connection
Daniel Stenberg [Tue, 7 Aug 2012 22:03:30 +0000 (00:03 +0200)]
curl.1: minor format fix for --data-ascii
... and removal of trailing whitespace on a single line
Ant Bryan [Tue, 7 Aug 2012 17:15:06 +0000 (13:15 -0400)]
curl man page cleanup
Mike Crowe [Tue, 17 Jul 2012 16:43:49 +0000 (18:43 +0200)]
Avoid leak of local device string when reusing connection
Ensure that the copy of the CURLOPT_INTERFACE string is freed if we
decide we can reuse an existing connection.
Daniel Stenberg [Tue, 7 Aug 2012 21:30:05 +0000 (23:30 +0200)]
Curl_socket_check: fix timeout return value for select users
This is the same fix applied for the conditional code that uses select()
that was already done for the poll specific code in commit
b61e8b81f5038.
Maxime Larocque [Tue, 7 Aug 2012 21:24:13 +0000 (23:24 +0200)]
Curl_socket_check: fix return code for timeout
We found a problem with ftp transfer using libcurl (7.23 and 7.25)
inside an application which is receiving unix signals (SIGUSR1,
SIGUSR2...) almost continuously. (Linux 2.4, PowerPC, HAVE_POLL_FINE
defined).
Curl_socket_check() uses poll() to wait for the socket, and retries it
when a signal is received (EINTR). However, if a signal is received and
it also happens that the timeout has been reached, Curl_socket_check()
returns -1 instead of 0 (indicating an error instead of a timeout).
In our case, the result is an aborted connection even before the ftp
banner is received from the server, and a return value of
CURLE_OUT_OF_MEMORY from curl_easy_perform() (Curl_pp_multi_statemach(),
in pingpong.c, actually returns OOM if Curl_socket_check() fails :-)
Funny to debug on a system on which OOM is a possible cause).
Bug: http://curl.haxx.se/mail/lib-2012-07/0122.html
Daniel Stenberg [Tue, 7 Aug 2012 21:20:06 +0000 (23:20 +0200)]
RELEASE-NOTES: synced with
b4a558041fdf65c0
Daniel Stenberg [Tue, 7 Aug 2012 21:19:42 +0000 (23:19 +0200)]
TODO-RELEASE: fixed another bug
bug #3544688 "crash during retry with libcurl and SFTP"
Daniel Stenberg [Tue, 7 Aug 2012 13:01:54 +0000 (15:01 +0200)]
WSAPoll: disabled on all windows builds
Due to WSAPoll bugs, libcurl does not work as intended. When the cURL
library is used to setup a connection to an incorrect port, normally the
result is CURLE_COULDNT_CONNECT, /* 7 */, but due to the bug in WSAPoll,
the result now is CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was
reached */.
On August 1, Jan Koen Annot opened a case for this to Microsoft Premier
Online (https://premier.microsoft.com/). The support engineer handling
the case wrote that the case description is quite clear. He will try to
reproduce the issue and then proceed with troubleshooting it.
Reported by: Jan Koen Annot
Bug: http://curl.haxx.se/mail/lib-2012-07/0310.html
Daniel Stenberg [Tue, 7 Aug 2012 12:55:19 +0000 (14:55 +0200)]
retry request: only access the HTTP data if in fact HTTP
When figuring out if the data stream needs to be rewound when the
request is to be resent, we must not access the HTTP struct unless the
protocol used is indeed HTTP...
Bug: http://curl.haxx.se/bug/view.cgi?id=3544688
Daniel Stenberg [Tue, 7 Aug 2012 12:48:34 +0000 (14:48 +0200)]
TODO: support DANE, we already support gnutls without gcrypt
Daniel Stenberg [Tue, 7 Aug 2012 12:13:09 +0000 (14:13 +0200)]
curl-config: parentheses fix
Braces, not parentheses, should be used for shell variable names.
Bug: http://curl.haxx.se/bug/view.cgi?id=3551460
Reported by: Edward Sheldrake
Daniel Stenberg [Tue, 7 Aug 2012 11:57:13 +0000 (13:57 +0200)]
VC build: add define for openssl
This fixes a build failure of lib/ssluse.c.
Bug: http://curl.haxx.se/bug/view.cgi?id=3552997
Daniel Stenberg [Tue, 7 Aug 2012 11:49:13 +0000 (13:49 +0200)]
TODO-RELEASE: two bugs fixed!
Daniel Stenberg [Tue, 7 Aug 2012 11:45:59 +0000 (13:45 +0200)]
globbing: fix segfault when >9 globs were used
Stupid lack of range checks caused the code to overwrite local variables
after glob number nine. Added checks now.
Bug: http://curl.haxx.se/bug/view.cgi?id=3546353
Joe Mason [Mon, 6 Aug 2012 17:44:38 +0000 (13:44 -0400)]
sws: close sockets properly
Fix a bug where closed sockets (fd -1) were left in the all_sockets
list, because of missing parens in a pointer arithmetic expression
Reenable the tests that were locking up due to this bug.
Joe Mason [Mon, 6 Aug 2012 17:43:52 +0000 (13:43 -0400)]
Remove debug logs that were accidentally checked in
Joe Mason [Mon, 6 Aug 2012 17:01:46 +0000 (13:01 -0400)]
Use select in sws, which has better cross-platform support than poll
Joe Mason [Mon, 6 Aug 2012 16:36:08 +0000 (12:36 -0400)]
Use cross-platform curlx_nonblock instead of fcntl in sws
Daniel Stenberg [Mon, 6 Aug 2012 21:59:28 +0000 (23:59 +0200)]
operate: fix clang-analyzer warnings for never read variables
Two separate "Value stored to 'XXX' is never read" warnings
Daniel Stenberg [Mon, 6 Aug 2012 21:32:49 +0000 (23:32 +0200)]
operate: fix clang-analyzer warning
Value stored to 'separator' is never read
Daniel Stenberg [Mon, 6 Aug 2012 17:20:35 +0000 (19:20 +0200)]
metalink: change code order to build with gnutls-nettle
Bug: http://curl.haxx.se/bug/view.cgi?id=3554668
Reported by: Anthony G. Basile
Daniel Stenberg [Mon, 6 Aug 2012 13:04:25 +0000 (15:04 +0200)]
gtls: fix build failure by including nettle-specific headers
Bug: http://curl.haxx.se/bug/view.cgi?id=3554668
Reported by: Anthony G. Basile
Guenter Knauf [Mon, 6 Aug 2012 09:45:06 +0000 (11:45 +0200)]
Fixed compiler warning - argument is type long.
Daniel Stenberg [Sun, 5 Aug 2012 22:33:25 +0000 (00:33 +0200)]
DISABLED: disable the new tests that do NTLM
The tests 2025, 2028 and 2031 don't work for me so I'll have them
disabled for now until we solve the problem.
Joe Mason [Thu, 19 Jul 2012 17:58:10 +0000 (13:58 -0400)]
Add tests of auth retries
Joe Mason [Fri, 3 Aug 2012 16:37:52 +0000 (12:37 -0400)]
Cleanup handshake after clean NTLM failure
Joe Mason [Fri, 27 Jul 2012 21:25:45 +0000 (17:25 -0400)]
Zero out auth structs before transfer
Joe Mason [Thu, 2 Aug 2012 21:22:46 +0000 (17:22 -0400)]
Add a polling loop in main to read from more than one socket at once. Add the O_NONBLOCK and
SO_KEEPALIVE flag to all sockets. Note that several loops which used to continue on a return value
of 0 (theoretical since 0 would never be returned without O_NONBLOCK) now break on 0 so that they
won't continue reading until after poll is called again.
Joe Mason [Thu, 2 Aug 2012 21:11:05 +0000 (17:11 -0400)]
Change return values of get_request, accept_connection and service_connection to add a return code
for non-blocking sockets: now -1 means error or connection finished, 1 means data was read, and 0
means there is no data available now so need to wait for poll (new return value)
Joe Mason [Wed, 1 Aug 2012 21:09:38 +0000 (17:09 -0400)]
Hoist the loop out of get_request, and make sure that it can be reentered when a request is
half-finished.
Note the the req struct used to be re-initialized AFTER reading pipeline data, so now that we
initialize it from the caller we must be careful not to overwrite the pipeline data.
Also we now need to handle the case where the buffer is already full when get_request is called -
previously this never happened as it was always called with an empty buffer and looped until done.
Now get_request is called in a loop, so the next step is to run the loop on a socket only when poll
signals it is readable.
Joe Mason [Wed, 1 Aug 2012 17:30:46 +0000 (13:30 -0400)]
Move blocks of code from the sws main loop into their own functions for easier refactoring later.
The next step will be to call the correct function after a poll, rather than looping unconditionally
Joe Mason [Wed, 1 Aug 2012 17:22:02 +0000 (13:22 -0400)]
Remove the --fork option of sws, since it makes refactoring to use poll more complicated and should
be redundant once we poll
Kamil Dudka [Mon, 30 Jul 2012 12:20:07 +0000 (14:20 +0200)]
file: use fdopen() for uploaded files if available
It eliminates noisy events when using inotify and fixes a TOCTOU issue.
Bug: https://bugzilla.redhat.com/844385
Guenter Knauf [Sun, 29 Jul 2012 13:14:40 +0000 (15:14 +0200)]
Added DWANT_IDN_PROTOTYPES define for MSVC too.
Discussion on the list: http://curl.haxx.se/mail/lib-2012-07/0271.html
Guenter Knauf [Sun, 29 Jul 2012 12:30:52 +0000 (14:30 +0200)]
Added Win32 problems.
Guenter Knauf [Sun, 29 Jul 2012 12:15:23 +0000 (14:15 +0200)]
Added hint to read docs/INSTALL too.
Guenter Knauf [Sun, 29 Jul 2012 11:16:58 +0000 (13:16 +0200)]
Added new file to distro.
Steve Holme [Sat, 28 Jul 2012 10:46:50 +0000 (11:46 +0100)]
TODO: Updated after 7.27.0 release
Removed APOP and SASL authentication from the POP3 section and metalink
support from the client section as these features were implemented in
this release.
Moved adding gssapi to SASL into it's own section rather than repeat it
for each protocol.
Daniel Stenberg [Fri, 27 Jul 2012 22:16:51 +0000 (00:16 +0200)]
TODO-RELEASE: updated after 7.27.0 release
Daniel Stenberg [Fri, 27 Jul 2012 22:00:26 +0000 (00:00 +0200)]
THANKS: 12 new contributors from the 7.27.0 release
Daniel Stenberg [Fri, 27 Jul 2012 21:57:27 +0000 (23:57 +0200)]
version bump: start towards next release
Let's call it 7.27.1 for now, but it it probably going to become 7.28.0
when released.
Guenter Knauf [Fri, 27 Jul 2012 01:54:58 +0000 (03:54 +0200)]
Fixed compiler warning 'unused parameter'.
Guenter Knauf [Fri, 27 Jul 2012 01:27:51 +0000 (03:27 +0200)]
Added prototypes to kill compiler warning.
Guenter Knauf [Fri, 27 Jul 2012 01:19:21 +0000 (03:19 +0200)]
Added --with-winidn to configure.
This needs another look from the configure experts. I tested that
it works so far with MinGW64 cross-compiler; libcurl builds and
links fine, but curl not yet ...
Ant Bryan [Tue, 24 Jul 2012 02:57:41 +0000 (22:57 -0400)]
Update man page info on --metalink and typo.
Daniel Stenberg [Thu, 26 Jul 2012 22:31:15 +0000 (00:31 +0200)]
RELEASE-NOTES: remove mentioned of bug never in a release
The --silent bug came with
7561a0fc834c435 which was never in a release.
Pointed out by Kamil Dudka
Daniel Stenberg [Thu, 26 Jul 2012 22:14:33 +0000 (00:14 +0200)]
RELEASE-NOTES: synced with
33b815e894fb
4 more bugfixes, 3 more contributors
Guenter Knauf [Thu, 26 Jul 2012 00:49:39 +0000 (02:49 +0200)]
Changed Windows IDN text to 'WinIDN'.
Synced the output to the same short form as we now use for
Windows SSL (WinSSL).
Nick Zitzmann [Tue, 17 Jul 2012 02:20:57 +0000 (20:20 -0600)]
darwinssl: fixed freeze involving the multi interface
Previously the curl_multi interface would freeze if darwinssl was
enabled and at least one of the handles tried to connect to a Web site
using HTTPS. Removed the "wouldblock" state darwinssl was using because
I figured out a solution for our "would block but in which direction?"
dilemma.
Guenter Knauf [Wed, 25 Jul 2012 11:16:22 +0000 (13:16 +0200)]
Added support for tls-srp to MinGW builds.
Daniel Stenberg [Mon, 23 Jul 2012 22:29:39 +0000 (00:29 +0200)]
curl_easy_setopt: fix typo
Reported by: Santhana Todatry
Daniel Stenberg [Sun, 22 Jul 2012 20:38:38 +0000 (22:38 +0200)]
keepalive: multiply value for OS-specific units
DragonFly uses milliseconds, while our API and Linux use full seconds.
Reported by: John Marino
Bug: http://curl.haxx.se/bug/view.cgi?id=3546257
Kamil Dudka [Fri, 20 Jul 2012 11:33:58 +0000 (13:33 +0200)]
http: print reason phrase from HTTP status line on error
Bug: https://bugzilla.redhat.com/676596
Kamil Dudka [Sat, 21 Jul 2012 23:55:45 +0000 (01:55 +0200)]
tool_operate: fix misplaced initialization of orig_noprogress
... and orig_isatty which caused --silent to be entirely ignored in case
the standard output was redirected to a file!
Anton Yabchinskiy [Sat, 21 Jul 2012 10:40:25 +0000 (14:40 +0400)]
Client's "qop" value should not be quoted (RFC2617, section 3.2.2).
Guenter Knauf [Sat, 21 Jul 2012 07:02:03 +0000 (09:02 +0200)]
Fixed typo.
Daniel Stenberg [Sun, 15 Jul 2012 22:18:37 +0000 (00:18 +0200)]
make: make distclean work again
The clean-local hook needed some polish to make sure make distclean
works. Added comment describing why.
Daniel Stenberg [Sun, 15 Jul 2012 20:59:09 +0000 (22:59 +0200)]
test Makefile: only feature 'unit' once in the list of dirs
Dan Fandrich [Fri, 20 Jul 2012 19:02:58 +0000 (21:02 +0200)]
Fixed some typos in documentation
Guenter Knauf [Fri, 20 Jul 2012 15:22:10 +0000 (17:22 +0200)]
Fixed CR issue with Win32 version on MSYS.
Previous fix didnt work on Linux ...
Guenter Knauf [Fri, 20 Jul 2012 13:39:28 +0000 (15:39 +0200)]
Fixed CR issue with Win32 version on MSYS.
Guenter Knauf [Fri, 20 Jul 2012 13:30:41 +0000 (15:30 +0200)]
Fixed MSYS <-> Windows path convertion.
Replaced the Windows real path from mount hack with a more
reliable and simpler hack: the MSYS shell has a builtin pwd
which understands a -W option which does convertion to Windows
paths. Tested and confirmed that this works on all MSYS versions
I have back to a 3 year old one.
Guenter Knauf [Thu, 19 Jul 2012 14:31:08 +0000 (16:31 +0200)]
Follow-up fix to detect SSL libs with MinGW.
1) the check for winssl needs to come before nss check
2) the SSL checks must begin with a new if or else we will
never find any SSL lib with MinGW.
Guenter Knauf [Tue, 17 Jul 2012 18:35:23 +0000 (20:35 +0200)]
Tell git to not convert configure-related files.
Guenter Knauf [Tue, 17 Jul 2012 05:13:58 +0000 (07:13 +0200)]
Trial to teach runtests.pl about WinSSL.
Guenter Knauf [Tue, 17 Jul 2012 04:55:38 +0000 (06:55 +0200)]
Fixed warning 'uninitialized value in numeric gt'.
This is a MSYS/MinGW-only warning; full warning text is:
Use of uninitialized value in numeric gt (>) at ../../curl/tests/runtests.pl line 2227.
Daniel Stenberg [Sun, 15 Jul 2012 20:39:06 +0000 (22:39 +0200)]
RELEASE-NOTES: synced with
9d11716933616
Fixed 6 bugs, added 3 contributors
Daniel Stenberg [Sun, 15 Jul 2012 18:31:37 +0000 (20:31 +0200)]
multi_runsingle: added precaution against easy_conn NULL pointer
In many states the easy_conn pointer is referenced and just assumed to
be working. This is an added extra check since analyzing indicates
there's a risk we can end up in these states with a NULL pointer there.
Daniel Stenberg [Fri, 13 Jul 2012 21:39:25 +0000 (23:39 +0200)]
getparam: fix the GetStr() macro
It should return PARAM_NO_MEM if the strdup fails. Spotted by
clang-analyzer
Guenter Knauf [Sun, 15 Jul 2012 16:25:55 +0000 (18:25 +0200)]
Tell git to not convert configure-related files.
Daniel Stenberg [Fri, 13 Jul 2012 12:28:12 +0000 (14:28 +0200)]
parse_proxy: remove dead assignment
Spotted by clang-analyzer
Daniel Stenberg [Fri, 13 Jul 2012 12:12:39 +0000 (14:12 +0200)]
ftp_do_more: add missing check of return code
Spotted by clang-analyzer. The return code was never checked, just
stored.
Daniel Stenberg [Fri, 13 Jul 2012 11:38:02 +0000 (13:38 +0200)]
getinfo: use va_end and cut off Curl_ from static funcs
va_end() needs to be used after va_start() and we don't normally use
Curl_ prefixes for purely static functions.
Philip Craig [Fri, 13 Jul 2012 11:04:10 +0000 (21:04 +1000)]
Split up Curl_getinfo
This avoids false positives from clang's scan-build.
Guenter Knauf [Thu, 12 Jul 2012 13:18:00 +0000 (15:18 +0200)]
Added error checking for curl_global_init().
Guenter Knauf [Thu, 12 Jul 2012 13:01:18 +0000 (15:01 +0200)]
Added curl_global_* functions.
Guenter Knauf [Thu, 12 Jul 2012 12:15:58 +0000 (14:15 +0200)]
Minor fixes to MinGW makefiles.
Daniel Stenberg [Thu, 12 Jul 2012 06:40:43 +0000 (08:40 +0200)]
docs: mention CURL_GLOBAL_DEFAULT
Guenter Knauf [Thu, 12 Jul 2012 00:02:22 +0000 (02:02 +0200)]
Added curl_global_* functions.
Daniel Stenberg [Wed, 11 Jul 2012 22:32:23 +0000 (00:32 +0200)]
tests: verify the stricter numeric option parser
Test 1409 and 1410 verifies the stricter numeric option parser
introduced the other day in commit
f2b6ebed7b.
Daniel Stenberg [Wed, 11 Jul 2012 22:07:16 +0000 (00:07 +0200)]
SWS: use of uninitialized memory fix
I made "connmon" not get initialized properly before use, and I use the
big hammer and make sure we always clear the entire struct to avoid any
problem like this in the future.
Daniel Stenberg [Wed, 11 Jul 2012 21:50:19 +0000 (23:50 +0200)]
test48: verify that HEAD doesn't close extra
Two commits ago, we fixed a bug where the connction would be closed
prematurely after a HEAD. Now I added connection-monitor to test 48 and
added a second HEAD and make sure that both are sent over the same
connection.
This triggered a failure before the bug fix and now works. Will help us
avoid a future regression of this kind.
Daniel Stenberg [Wed, 11 Jul 2012 21:49:01 +0000 (23:49 +0200)]
connection-monitor: always log disconnect when enabled
This makes verifying easier and makes us more sure curl closes the
connection only at the correct point in time. Adjusted test 206 and 1008
accordingly and updated the docs for it.
Daniel Stenberg [Wed, 11 Jul 2012 21:13:52 +0000 (23:13 +0200)]
HEAD: don't force-close after response-headers
A HEAD response has no body length and gets the headers like the
corresponding GET would so it should not get closed after the response
based on the same rules. This mistake caused connections that did HEAD
to get closed too often without a valid reason.
Bug: http://curl.haxx.se/bug/view.cgi?id=3542731
Reported by: Eelco Dolstra
Guenter Knauf [Wed, 11 Jul 2012 22:07:01 +0000 (00:07 +0200)]
Removed trailing empty strings from awk script.
Guenter Knauf [Wed, 11 Jul 2012 21:23:19 +0000 (23:23 +0200)]
Cleaned up version awk script.
Guenter Knauf [Wed, 11 Jul 2012 19:59:20 +0000 (21:59 +0200)]
Added project copyright header.
Guenter Knauf [Wed, 11 Jul 2012 15:40:09 +0000 (17:40 +0200)]
Removed libcurl.imp from Makefile.am.
Updated .gitignore for NetWare created files.
Guenter Knauf [Wed, 11 Jul 2012 14:52:48 +0000 (16:52 +0200)]
Added missing dependency to export list.
Guenter Knauf [Wed, 11 Jul 2012 14:01:48 +0000 (16:01 +0200)]
Fixed export list path.
Guenter Knauf [Wed, 11 Jul 2012 13:48:02 +0000 (15:48 +0200)]
Changed NetWare build to generate export list.
Guenter Knauf [Wed, 11 Jul 2012 10:58:54 +0000 (12:58 +0200)]
Added pointer to FAQ for linkage errors.
Guenter Knauf [Wed, 11 Jul 2012 09:54:49 +0000 (11:54 +0200)]
Small NetWare makefile tweak.
Guenter Knauf [Wed, 11 Jul 2012 09:33:08 +0000 (11:33 +0200)]
Changed MinGW makefiles to use WINSSL now.
Daniel Stenberg [Tue, 10 Jul 2012 21:20:05 +0000 (23:20 +0200)]
test231: fix wrong -C use!
Daniel Stenberg [Tue, 10 Jul 2012 21:11:30 +0000 (23:11 +0200)]
cmdline: parse numerical options stricter
1 - str2offset() no longer accepts negative numbers since offsets are by
nature positive.
2 - introduced str2unum() for the command line parser that accepts
numericals which are not supposed to be negative, so that it will
properly complain on apparent bad uses and mistakes.
Bug: http://curl.haxx.se/mail/archive-2012-07/0013.html