]> granicus.if.org Git - curl/log
curl
13 years agotest proxy supports CONNECT
Daniel Stenberg [Sat, 17 Dec 2011 22:47:22 +0000 (23:47 +0100)]
test proxy supports CONNECT

There's a new 'http-proxy' server for tests that runs on a separate port
and lets clients do HTTP CONNECT to other ports on the same host to
allow us to test HTTP "tunneling" properly.

Test cases now have a <proxy> section in <verify> to check that the
proxy protocol part matches correctly.

Test case 80, 83, 95, 275, 503 and 1078 have been converted. Test 1316
was added.

13 years agocurl_easy_strerror.3: minor synopsis edit of the look
Daniel Stenberg [Mon, 2 Jan 2012 14:59:59 +0000 (15:59 +0100)]
curl_easy_strerror.3: minor synopsis edit of the look

13 years agohostip.c: fix potential write past the end of string buffer
Yang Tse [Mon, 2 Jan 2012 12:44:56 +0000 (13:44 +0100)]
hostip.c: fix potential write past the end of string buffer

13 years agohostip.c: fix Curl_loadhostpairs() OOM handling
Yang Tse [Mon, 2 Jan 2012 12:41:09 +0000 (13:41 +0100)]
hostip.c: fix Curl_loadhostpairs() OOM handling

13 years agoruntests.pl: on test failure, don't show trace log files of other tests
Yang Tse [Mon, 2 Jan 2012 12:40:12 +0000 (13:40 +0100)]
runtests.pl: on test failure, don't show trace log files of other tests

13 years agoCurl_input_negotiate: use the correct buffer for input
Daniel Stenberg [Sun, 1 Jan 2012 21:36:32 +0000 (22:36 +0100)]
Curl_input_negotiate: use the correct buffer for input

Unfortunately we have no test cases for this and I have no SSPI build or
server to verify this with. The change seems simple enough though.

Bug: http://curl.haxx.se/bug/view.cgi?id=3466497
Reported by: Patrice Guerin

13 years agoruntests: put trace outputs in log/trace[num] for all tests
Daniel Stenberg [Sun, 1 Jan 2012 14:58:53 +0000 (15:58 +0100)]
runtests: put trace outputs in log/trace[num] for all tests

13 years agojust a stupid typo
Daniel Stenberg [Sat, 31 Dec 2011 22:53:52 +0000 (23:53 +0100)]
just a stupid typo

13 years agoSFTP dir: increase buffer size counter
Daniel Stenberg [Tue, 27 Dec 2011 21:58:03 +0000 (22:58 +0100)]
SFTP dir: increase buffer size counter

When the buffer gets realloced to hold the file name in the
SSH_SFTP_READDIR_LINK state, the counter was not bumped accordingly.

Reported by: Armel Asselin
Patch by: Armel Asselin
Bug: http://curl.haxx.se/mail/lib-2011-12/0249.html

13 years agoRELEASE-NOTES: synced with 81ebdd9e287
Daniel Stenberg [Sat, 31 Dec 2011 10:22:26 +0000 (11:22 +0100)]
RELEASE-NOTES: synced with 81ebdd9e287

6 more bugfixes, 3 more contributors

13 years agocreate_hostcache_id: use the key lower cased
Daniel Stenberg [Fri, 30 Dec 2011 21:46:57 +0000 (22:46 +0100)]
create_hostcache_id: use the key lower cased

... to make sure the DNS cache is properly case insensitive

13 years agochanged case: use new host name for subsequent HTTP requests
Daniel Stenberg [Sat, 31 Dec 2011 09:39:54 +0000 (10:39 +0100)]
changed case: use new host name for subsequent HTTP requests

When a HTTP connection is re-used for a subsequent request without
proxy, it would always re-use the Host: header of the first request. As
host names are case insensitive it would make curl send another host
name case that what the particular request used.

Now it will instead always use the most recent host name to always use
the desired casing.

Added test case 1318 to verify.

Bug: http://curl.haxx.se/mail/lib-2011-12/0314.html
Reported by: Alex Vinnik

13 years agoCURLOPT_RESOLVE: avoid adding already present host names
Daniel Stenberg [Sat, 31 Dec 2011 09:28:10 +0000 (10:28 +0100)]
CURLOPT_RESOLVE: avoid adding already present host names

The load host names to DNS cache function was moved to hostip.c and it
now makes sure to not add host names that already are present in the
cache. It would previously lead to memory leaks when for example using
the --resolve and multiple URLs on the command line.

13 years agoruntests.pl: Use logmsg more consistently
Dan Fandrich [Sat, 31 Dec 2011 08:49:34 +0000 (00:49 -0800)]
runtests.pl: Use logmsg more consistently

13 years agoexamples: update README, Makefile.inc and gitignore with pop3s examples
Alessandro Ghedini [Wed, 28 Dec 2011 15:33:17 +0000 (16:33 +0100)]
examples: update README, Makefile.inc and gitignore with pop3s examples

13 years agoexamples: add a couple of simple pop3s examples
Alessandro Ghedini [Wed, 28 Dec 2011 14:01:05 +0000 (15:01 +0100)]
examples: add a couple of simple pop3s examples

These examples show how to fetch a single message (RETR command) and how to
list all the messages in a given mailbox (LIST command), with authentication
via SSL.

They were both based on the https.c example.

13 years agoremoved execute file permission
Yang Tse [Fri, 30 Dec 2011 02:53:25 +0000 (03:53 +0100)]
removed execute file permission

13 years agoremoved trailing whitespace
Yang Tse [Fri, 30 Dec 2011 02:36:18 +0000 (03:36 +0100)]
removed trailing whitespace

13 years agoftpserver.pl: arbitrary application data splitting among TCP packets [II]
Yang Tse [Thu, 29 Dec 2011 22:40:06 +0000 (23:40 +0100)]
ftpserver.pl: arbitrary application data splitting among TCP packets [II]

Take in account that 'pingpong' server commands may arrive splitted among
several sockfilt 'DATA' PDU's.

13 years agoftpserver.pl: arbitrary application data splitting among TCP packets [I]
Yang Tse [Wed, 28 Dec 2011 22:04:23 +0000 (23:04 +0100)]
ftpserver.pl: arbitrary application data splitting among TCP packets [I]

Initial step in order to allow our pingpong server to better support arbitrary
application data splitting among TCP packets. This first commit only addresses
reasembly of data that sockfilter processes reads from soockets and pingpong
server later reads from sockfilters stdout.

13 years agotestcurl.pl: 82c344a3 follow-up
Yang Tse [Tue, 27 Dec 2011 12:23:47 +0000 (13:23 +0100)]
testcurl.pl: 82c344a3 follow-up

13 years agotestcurl.pl: log ACLOCAL_FLAGS
Yang Tse [Mon, 26 Dec 2011 16:09:44 +0000 (17:09 +0100)]
testcurl.pl: log ACLOCAL_FLAGS

13 years agotestcurl.pl: third party m4 warnings filtering adjustment
Yang Tse [Mon, 26 Dec 2011 16:01:04 +0000 (17:01 +0100)]
testcurl.pl: third party m4 warnings filtering adjustment

Make testcurl.pl ignore messages pertaining to third party m4 files we don't
care nor use on a file basis policy while retaining all other warnings.

This closes temporary commit e71e226f

13 years agotransfer: avoid unnecessary timeout event when waiting for 100-continue
Kamil Dudka [Sun, 25 Dec 2011 21:37:24 +0000 (22:37 +0100)]
transfer: avoid unnecessary timeout event when waiting for 100-continue

The commit 9dd85bc unintentionally changed the way we compute the time
spent waiting for 100-continue.  In particular, when using a SSL client
certificate, the time spent by SSL handshake was included and could
cause the CURL_TIMEOUT_EXPECT_100 timeout to be mistakenly fired up.

Bug: https://bugzilla.redhat.com/767490
Reported by: Mamoru Tasaka

13 years agotransfer.c: move a logging statement placement
Yang Tse [Sun, 25 Dec 2011 11:11:51 +0000 (12:11 +0100)]
transfer.c: move a logging statement placement

13 years agohash.c: fix OOM triggered segfault
Yang Tse [Sun, 25 Dec 2011 10:35:45 +0000 (11:35 +0100)]
hash.c: fix OOM triggered segfault

13 years agoftp_do_more: don't return success until all is done
Daniel Stenberg [Fri, 23 Dec 2011 23:12:00 +0000 (00:12 +0100)]
ftp_do_more: don't return success until all is done

ftp_do_more() returns after accepting the server connect however it
needs to fall through and set "*complete" to TRUE before exit from the
function.

Bug: http://curl.haxx.se/mail/lib-2011-12/0250.html
Reported by: Gokhan Sengun

13 years agoCurl_do_more: fix typo logic
Daniel Stenberg [Fri, 23 Dec 2011 23:09:41 +0000 (00:09 +0100)]
Curl_do_more: fix typo logic

In the recent do_more fix the new logic was mistakenly checking the
pointer instead of what it points to.

Reported by: Gokhan Sengun
Bug: http://curl.haxx.se/mail/lib-2011-12/0250.html

13 years agoSFTP mkdir: use correct permission
Daniel Stenberg [Fri, 23 Dec 2011 22:54:13 +0000 (23:54 +0100)]
SFTP mkdir: use correct permission

When sending quote command to a SFTP server and 'mkdir' was used, it
would send fixed permissions and not use the CURLOPT_NEW_DIRECTORY_PERMS
as it should.

Reported by: Armel
Patch by: Armel
Bug: http://curl.haxx.se/mail/lib-2011-12/0249.html

13 years agobuildconf: minor tweaks commit 430527a1 follow-up
Yang Tse [Fri, 23 Dec 2011 16:45:42 +0000 (17:45 +0100)]
buildconf: minor tweaks commit 430527a1 follow-up

13 years agoRequire a less ancient version of perl
Colin Hogben [Fri, 23 Dec 2011 10:56:48 +0000 (10:56 +0000)]
Require a less ancient version of perl

The INTERNALS document suggested that compatibility should be
maintained with perl version 4, but this was untrue - scripts such as
chksource.pl and runtests.pl use perl5-isms.

13 years agoresolve: don't leak pre-populated dns entries
Daniel Stenberg [Fri, 23 Dec 2011 13:30:43 +0000 (14:30 +0100)]
resolve: don't leak pre-populated dns entries

CURLOPT_RESOLVE populates the DNS cache with entries that are marked as
eternally in use. Those entries need to be taken care of when the cache
is killed off.

Bug: http://curl.haxx.se/bug/view.cgi?id=3463121
Reported by: "tw84452852"

13 years agonew test: verify --resolve
Daniel Stenberg [Thu, 22 Dec 2011 07:32:34 +0000 (08:32 +0100)]
new test: verify --resolve

Test 1317 verifies --resolve (leaked memory)

Bug: http://curl.haxx.se/bug/view.cgi?id=3463121
Reported by: "tw84452852"

13 years agotestcurl.pl: temporary change
Yang Tse [Fri, 23 Dec 2011 10:08:06 +0000 (11:08 +0100)]
testcurl.pl: temporary change

Allow autobuilds to run a couple of days without filtering out aclocal
underquoted definition warnings.

13 years agooperate: removed a single trailing space
Daniel Stenberg [Wed, 21 Dec 2011 20:17:34 +0000 (21:17 +0100)]
operate: removed a single trailing space

13 years ago--retry: Retry transfers on timeout and DNS errors
Dan Fandrich [Wed, 21 Dec 2011 19:09:09 +0000 (11:09 -0800)]
--retry: Retry transfers on timeout and DNS errors

13 years agobuildconf: minor tweaks
Yang Tse [Wed, 21 Dec 2011 15:21:37 +0000 (16:21 +0100)]
buildconf: minor tweaks

13 years agoformdata.c: OOM handling fixes
Yang Tse [Wed, 21 Dec 2011 14:38:47 +0000 (15:38 +0100)]
formdata.c: OOM handling fixes

13 years agoTODO: 1.7 Happy Eyeball dual stack connect
Daniel Stenberg [Wed, 21 Dec 2011 08:53:05 +0000 (09:53 +0100)]
TODO: 1.7 Happy Eyeball dual stack connect

13 years agoruntests.pl: Fixed perl warning when using the -l option
Dan Fandrich [Wed, 21 Dec 2011 02:31:53 +0000 (18:31 -0800)]
runtests.pl: Fixed perl warning when using the -l option

13 years agoRELEASE-NOTES: added two references
Daniel Stenberg [Tue, 20 Dec 2011 22:57:39 +0000 (23:57 +0100)]
RELEASE-NOTES: added two references

13 years agoCurl_socket_check: enlarge poll struct array to 3
Daniel Stenberg [Tue, 20 Dec 2011 22:33:54 +0000 (23:33 +0100)]
Curl_socket_check: enlarge poll struct array to 3

This function was introduced in commit 5527417afae0 and as pointed out
by Gokhan Sengun, the array with poll structs must large enough to hold
3 sockets since that is what the function can accept. It could be noted
that he had this fixed in his patch as posted in
http://curl.haxx.se/mail/lib-2011-12/0179.html

Bug: http://curl.haxx.se/mail/lib-2011-12/0228.html
Reported by: Gokhan Sengun

13 years agoRELEASE-NOTES: synced with 380bade777
Daniel Stenberg [Tue, 20 Dec 2011 22:27:41 +0000 (23:27 +0100)]
RELEASE-NOTES: synced with 380bade777

5 new bugfixes, 2 new changes and 4 new contributors

13 years agoTODO: remove active FTP from section 2.1
Daniel Stenberg [Tue, 20 Dec 2011 22:26:47 +0000 (23:26 +0100)]
TODO: remove active FTP from section 2.1

It is no longer done blocking in the multi interface

13 years agolibcurl docs: add the new FTP accept option + errors
Daniel Stenberg [Tue, 20 Dec 2011 22:14:18 +0000 (23:14 +0100)]
libcurl docs: add the new FTP accept option + errors

13 years agotimeleft_accept: ack global timeout, moved to ftp.c
Daniel Stenberg [Tue, 20 Dec 2011 19:55:54 +0000 (20:55 +0100)]
timeleft_accept: ack global timeout, moved to ftp.c

First off the timeout for accepting a server connect back must of course
respect a global timeout. Then the timeleft function is only used by ftp
code so it was moved to ftp.c and made static.

13 years agolibcurl-tutorial.3: curl doesn't sent pragma no-cache
Daniel Stenberg [Tue, 20 Dec 2011 19:32:47 +0000 (20:32 +0100)]
libcurl-tutorial.3: curl doesn't sent pragma no-cache

It did a long time ago

13 years agolibcurl-multi.3: active FTP is no longer blocking!
Daniel Stenberg [Tue, 20 Dec 2011 19:32:31 +0000 (20:32 +0100)]
libcurl-multi.3: active FTP is no longer blocking!

13 years agoFTP: move FTP-specific struct field to ftpc_conn
Daniel Stenberg [Tue, 20 Dec 2011 12:06:26 +0000 (13:06 +0100)]
FTP: move FTP-specific struct field to ftpc_conn

"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.

13 years agonon-blocking active FTP: cleanup multi state usage
Daniel Stenberg [Tue, 20 Dec 2011 11:52:24 +0000 (12:52 +0100)]
non-blocking active FTP: cleanup multi state usage

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.

13 years agoFTP: perform active connections non-blocking
Gokhan Sengun [Mon, 19 Dec 2011 13:35:20 +0000 (14:35 +0100)]
FTP: perform active connections non-blocking

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.

13 years agosockets: new Curl_socket_check() can wait for 3 sockets
Daniel Stenberg [Thu, 8 Dec 2011 15:14:30 +0000 (16:14 +0100)]
sockets: new Curl_socket_check() can wait for 3 sockets

This offers an alternative to the existing Curl_socket_ready() API which
only checks one socket for read and one for write.

13 years agocurl.h: add __ANDROID__ macro check
Cédric Deltheil [Tue, 20 Dec 2011 11:23:11 +0000 (12:23 +0100)]
curl.h: add __ANDROID__ macro check

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

13 years agolib500: verify timers relative each other
Daniel Stenberg [Tue, 20 Dec 2011 14:41:43 +0000 (15:41 +0100)]
lib500: verify timers relative each other

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.

13 years agoCurl_pgrsTime: store now in an auto variable
Daniel Stenberg [Tue, 20 Dec 2011 14:05:50 +0000 (15:05 +0100)]
Curl_pgrsTime: store now in an auto variable

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.

13 years agotimer: restore PRETRANSFER timing
Daniel Stenberg [Tue, 20 Dec 2011 13:59:46 +0000 (14:59 +0100)]
timer: restore PRETRANSFER timing

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

13 years agolibcurl.m4: Fix quoting arguments of AC_LANG_PROGRAM
Bernhard Reutner-Fischer [Tue, 20 Dec 2011 12:31:08 +0000 (13:31 +0100)]
libcurl.m4: Fix quoting arguments of AC_LANG_PROGRAM

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>
13 years agogitignore: ignore the symbol versioning file
Daniel Stenberg [Tue, 20 Dec 2011 10:07:23 +0000 (11:07 +0100)]
gitignore: ignore the symbol versioning file

13 years agotutorial: remove CURLM_CALL_MULTI_PERFORM add sharing
Daniel Stenberg [Tue, 20 Dec 2011 08:48:32 +0000 (09:48 +0100)]
tutorial: remove CURLM_CALL_MULTI_PERFORM add sharing

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.

13 years agoconfigure: add symbols versioning option
Alessandro Ghedini [Fri, 16 Dec 2011 14:33:48 +0000 (15:33 +0100)]
configure: add symbols versioning option

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>".

13 years agoUse Curl_ssl_connect for non-blocking connect fallback
Sven Wegener [Fri, 27 May 2011 15:46:11 +0000 (17:46 +0200)]
Use Curl_ssl_connect for non-blocking connect fallback

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>
13 years agoRELEASE-NOTES: synced with af9bc1604c1
Daniel Stenberg [Mon, 19 Dec 2011 19:08:59 +0000 (20:08 +0100)]
RELEASE-NOTES: synced with af9bc1604c1

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

13 years agocurl.1: minor white space cleanup
Daniel Stenberg [Mon, 19 Dec 2011 13:23:23 +0000 (14:23 +0100)]
curl.1: minor white space cleanup

13 years agodocs: improve description of the --capath option
Alessandro Ghedini [Sat, 17 Dec 2011 14:04:57 +0000 (15:04 +0100)]
docs: improve description of the --capath option

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.

13 years agoDOCS: Added SMTP information to CURLOPT_INFILESIZE
Steve Holme [Thu, 15 Dec 2011 22:24:25 +0000 (22:24 +0000)]
DOCS: Added SMTP information to CURLOPT_INFILESIZE

13 years agoCurl_proxyCONNECT: use newlines in debug output
Daniel Stenberg [Sat, 17 Dec 2011 22:47:01 +0000 (23:47 +0100)]
Curl_proxyCONNECT: use newlines in debug output

13 years agocurl -F: fix multiple file upload with custom type
Daniel Stenberg [Fri, 16 Dec 2011 10:43:25 +0000 (11:43 +0100)]
curl -F: fix multiple file upload with custom type

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

13 years agoNew test for multiple file upload
Colin Hogben [Tue, 13 Dec 2011 21:00:38 +0000 (21:00 +0000)]
New test for multiple file upload

test 1315 checks correct behaviour when uploading multiple files.
Buggy behaviour has been seen where only two attachments are sent.

13 years agoconfigure: libtool 1.5 tweaks
Yang Tse [Thu, 15 Dec 2011 17:01:00 +0000 (18:01 +0100)]
configure: libtool 1.5 tweaks

13 years agoCorrect substitution var names
Colin Hogben [Thu, 15 Dec 2011 09:08:42 +0000 (09:08 +0000)]
Correct substitution var names

Two variable names were wrong in the documentation.

13 years agoCorrect default upload mimetype in manual
Colin Hogben [Wed, 14 Dec 2011 13:30:54 +0000 (13:30 +0000)]
Correct default upload mimetype in manual

The default content-type for file uploads is application/octet-stream,
not text/plain as stated in the MANUAL.

13 years agodocs: fix typo in curl_easy_setopt manpage
Alessandro Ghedini [Wed, 14 Dec 2011 21:00:56 +0000 (22:00 +0100)]
docs: fix typo in curl_easy_setopt manpage

13 years agoif2ip.[ch]: fix compilation with MinGW
Yang Tse [Tue, 13 Dec 2011 17:37:33 +0000 (18:37 +0100)]
if2ip.[ch]: fix compilation with MinGW

Avoid 'interface' literal that some MinGW versions define as a macro

13 years agoconnect.c: fix compiler warning 'enumerated type is mixed with another type'
Yang Tse [Tue, 13 Dec 2011 15:18:08 +0000 (16:18 +0100)]
connect.c: fix compiler warning 'enumerated type is mixed with another type'

13 years agoif2ip.c: fix compiler warning 'unused parameter'
Yang Tse [Tue, 13 Dec 2011 15:08:42 +0000 (16:08 +0100)]
if2ip.c: fix compiler warning 'unused parameter'

13 years agopop3.c: fix compiler warning variable may be used uninitialized
Yang Tse [Tue, 13 Dec 2011 14:58:02 +0000 (15:58 +0100)]
pop3.c: fix compiler warning variable may be used uninitialized

13 years agoif2ip.c: fix compiler warning 'enumerated type is mixed with another type'
Yang Tse [Tue, 13 Dec 2011 14:47:26 +0000 (15:47 +0100)]
if2ip.c: fix compiler warning 'enumerated type is mixed with another type'

13 years agoCURLOPT_INTERFACE: avoid resolving interfaces names
Jason Glasgow [Fri, 4 Nov 2011 20:48:05 +0000 (16:48 -0400)]
CURLOPT_INTERFACE: avoid resolving interfaces names

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.

13 years agoRELEASE-NOTES: synced with 1259ccf7474
Daniel Stenberg [Mon, 12 Dec 2011 19:06:50 +0000 (20:06 +0100)]
RELEASE-NOTES: synced with 1259ccf7474

5 more bugfixes, 5 more contributors

13 years agoConnectionExists: Fix reuse for TLS upgraded connections
Steve Holme [Sun, 11 Dec 2011 16:03:08 +0000 (16:03 +0000)]
ConnectionExists: Fix reuse for TLS upgraded connections

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.

13 years agocreate_conn: don't switch to HTTP protocol if tunneling is enabled
Daniel Stenberg [Fri, 9 Dec 2011 21:51:08 +0000 (22:51 +0100)]
create_conn: don't switch to HTTP protocol if tunneling is enabled

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

13 years agoFAQ: add --resolve details to question 3.19
Daniel Stenberg [Wed, 7 Dec 2011 22:08:15 +0000 (23:08 +0100)]
FAQ: add --resolve details to question 3.19

13 years agoCurl_closesocket: clear sock_accepted on close
Gokhan Sengun [Wed, 7 Dec 2011 15:00:20 +0000 (16:00 +0100)]
Curl_closesocket: clear sock_accepted on close

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

13 years agostatic SSL windows builds: add more libs to the link
Daniel Stenberg [Wed, 7 Dec 2011 14:52:25 +0000 (15:52 +0100)]
static SSL windows builds: add more libs to the link

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

13 years agomulti interface: fix block when CONNECT_ONLY option is used
Gokhan Sengun [Tue, 6 Dec 2011 22:41:24 +0000 (23:41 +0100)]
multi interface: fix block when CONNECT_ONLY option is used

13 years agoAdded some include files in a couple of example programs
Dan Fandrich [Wed, 7 Dec 2011 03:54:48 +0000 (19:54 -0800)]
Added some include files in a couple of example programs

This improves portability of the examples.  This patch was
submitted to the OpenBSD ports collection by naddy.

13 years agoMakefileBuild: fix the static build
Daniel Stenberg [Tue, 6 Dec 2011 19:02:57 +0000 (20:02 +0100)]
MakefileBuild: fix the static build

This is a left-over fix from commit b7e242de0e that Tom Wright
suggested.

Reported by: Ward Willats

13 years agoOpenSSL: check for the SSLv2 function in configure
Daniel Stenberg [Tue, 6 Dec 2011 13:22:45 +0000 (14:22 +0100)]
OpenSSL: check for the SSLv2 function in configure

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.

13 years agoCURLOPT_CONNECTTIMEOUT: default is 300 seconds
Daniel Stenberg [Mon, 5 Dec 2011 22:19:50 +0000 (23:19 +0100)]
CURLOPT_CONNECTTIMEOUT: default is 300 seconds

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

13 years agoprogress function example: include timed interval
Rob Ward [Mon, 5 Dec 2011 22:07:38 +0000 (23:07 +0100)]
progress function example: include timed interval

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.

13 years agoRELEASE-NOTES: synced with 347f951c390
Daniel Stenberg [Mon, 5 Dec 2011 21:58:30 +0000 (22:58 +0100)]
RELEASE-NOTES: synced with 347f951c390

8 more bugs, 5 more contributors

13 years agoSSH: fix CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
Daniel Stenberg [Mon, 5 Dec 2011 21:20:48 +0000 (22:20 +0100)]
SSH: fix CURLOPT_SSH_HOST_PUBLIC_KEY_MD5

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

13 years agoCurl_resolver_is_resolved: differentiate between host/proxy errors
Daniel Stenberg [Mon, 5 Dec 2011 11:44:55 +0000 (12:44 +0100)]
Curl_resolver_is_resolved: differentiate between host/proxy errors

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

13 years agoc-ares: return proxy failure for all proxy types
Daniel Stenberg [Mon, 5 Dec 2011 11:41:38 +0000 (12:41 +0100)]
c-ares: return proxy failure for all proxy types

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...

13 years agoFTP: close callback fix
Daniel Stenberg [Mon, 5 Dec 2011 11:34:27 +0000 (12:34 +0100)]
FTP: close callback fix

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

13 years agoFTP: call opensocket callback properly
Daniel Stenberg [Mon, 5 Dec 2011 10:42:10 +0000 (11:42 +0100)]
FTP: call opensocket callback properly

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().

13 years agoCurl_socket: internal replacement for socket()
Daniel Stenberg [Mon, 5 Dec 2011 09:58:38 +0000 (10:58 +0100)]
Curl_socket: internal replacement for socket()

Moved out into a separate function to work as a "generic" socket()
replacement.

13 years agotest: verify the opensocket callback for FTP
Daniel Stenberg [Sun, 4 Dec 2011 22:10:12 +0000 (23:10 +0100)]
test: verify the opensocket callback for FTP

test 595: for passive FTP
test 596: for active FTP

13 years agoCURLOPT_DNS_SERVERS: set name servers if possible (fix)
Jason Glasgow [Thu, 1 Dec 2011 04:39:02 +0000 (23:39 -0500)]
CURLOPT_DNS_SERVERS: set name servers if possible (fix)

Ensure that CURLE_OK is returned if setting the name servers is successfull.

13 years agomulti interface: only use non-NULL function pointer!
Daniel Stenberg [Fri, 2 Dec 2011 20:10:28 +0000 (21:10 +0100)]
multi interface: only use non-NULL function pointer!

If the socket callback function pointer hasn't been set, we must not
attempt to use it. Commit adc88ca20 made it more likely to occur.