]> granicus.if.org Git - curl/log
curl
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.

13 years agomulti: handle timeouts on DNS servers by checking for new sockets
Jason Glasgow [Wed, 30 Nov 2011 20:23:44 +0000 (15:23 -0500)]
multi: handle timeouts on DNS servers by checking for new sockets

If the first name server is not available, the multi interface does
not invoke the socket_cb when the DNS request to the first name server
timesout.  Ensure that the list of sockets are always updated after
calling Curl_resolver_is_resolved.

This bug can be reproduced if Curl is complied with --enable_ares and
your code uses the multi socket interfaces and the
CURLMOPT_SOCKETFUNCTION option.  To test try:
  iptables -I INPUT \
           -s $(sed -n -e '/name/{s/.* //p;q}' /etc/resolv.conf)/32 \
           -j REJECT
and then run a program which uses the multi-interface.

13 years agotest 815: verify POP3 dot-first-on-line unescaping
Daniel Stenberg [Thu, 1 Dec 2011 09:20:42 +0000 (10:20 +0100)]
test 815: verify POP3 dot-first-on-line unescaping

13 years agoPOP3: fixed escaped dot not being striped out
Steve Holme [Wed, 30 Nov 2011 18:23:09 +0000 (18:23 +0000)]
POP3: fixed escaped dot not being striped out

Changed the eob detection to work across the whole of the buffer so that
lines that begin with a dot (which the server will have escaped) are
passed to the client application correctly.

13 years agobuildconf: follow-up for commit 7e02f7fd
Yang Tse [Wed, 30 Nov 2011 20:53:21 +0000 (21:53 +0100)]
buildconf: follow-up for commit 7e02f7fd

13 years agobuildconf: fix libtool 1.5.x warnings triggered with autoconf 2.6x or later
Yang Tse [Wed, 30 Nov 2011 18:31:50 +0000 (19:31 +0100)]
buildconf: fix libtool 1.5.x warnings triggered with autoconf 2.6x or later

Using libtool 1.5.x (x < 26) with autoconf 2.6x or later generates warnings
due to some libtool variables not following naming convention for variables
that will be cached.

This is addressed renaming a couple of variables to make these follow expected
naming convention.

13 years agoRELEASE-NOTES: synced with 1038d0aa1
Daniel Stenberg [Wed, 30 Nov 2011 15:38:58 +0000 (16:38 +0100)]
RELEASE-NOTES: synced with 1038d0aa1

5 bugfixes and 1 new contributor

13 years agopop3.c: fix compiler warning
Yang Tse [Tue, 29 Nov 2011 19:28:49 +0000 (20:28 +0100)]
pop3.c: fix compiler warning

13 years agoconfigure: avoid usage of macro PKG_CHECK_MODULES
Yang Tse [Tue, 29 Nov 2011 18:11:34 +0000 (19:11 +0100)]
configure: avoid usage of macro PKG_CHECK_MODULES

libidn option adjusted in order to use pkg-config info when available
in a similar way as we already do for other libraries.

13 years agoPOP3: detect when LIST returns no mails
Daniel Stenberg [Tue, 29 Nov 2011 12:43:46 +0000 (13:43 +0100)]
POP3: detect when LIST returns no mails

By making sure the function can detect an "end of body" sequence
immediately on the first line, test 811 is now enabled.

13 years agoftpserver: output CRLF in logs
Daniel Stenberg [Tue, 29 Nov 2011 12:41:10 +0000 (13:41 +0100)]
ftpserver: output CRLF in logs

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.

13 years agoPOP3: fix end of body detection
Daniel Stenberg [Mon, 28 Nov 2011 22:02:35 +0000 (23:02 +0100)]
POP3: fix end of body detection

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.

13 years agotest: added POP3 test with dot-prefixed line
Daniel Stenberg [Mon, 28 Nov 2011 22:34:16 +0000 (23:34 +0100)]
test: added POP3 test with dot-prefixed line

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

13 years agoconfigure: fix to make older pkg-config play well
Daniel Stenberg [Sun, 27 Nov 2011 19:00:30 +0000 (20:00 +0100)]
configure: fix to make older pkg-config play well

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

13 years agotest 1211: FTP test to repeat bug #3429299
Daniel Stenberg [Fri, 25 Nov 2011 22:15:58 +0000 (23:15 +0100)]
test 1211: FTP test to repeat bug #3429299

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

13 years agoconfigure: add support for pkg-config detection of libidn
Mark Brand [Fri, 25 Nov 2011 22:00:16 +0000 (23:00 +0100)]
configure: add support for pkg-config detection of libidn

13 years agoFTP tests 1206 - 1209: don't expect QUIT
Daniel Stenberg [Fri, 25 Nov 2011 21:38:13 +0000 (22:38 +0100)]
FTP tests 1206 - 1209: don't expect QUIT

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.

13 years agoCyaSSL 2.0+ library initialization adjustment
Yang Tse [Fri, 25 Nov 2011 16:23:36 +0000 (17:23 +0100)]
CyaSSL 2.0+ library initialization adjustment

13 years agorectify comment
Jonas Schnelli [Fri, 25 Nov 2011 14:02:43 +0000 (15:02 +0100)]
rectify comment