platform/upstream/curl.git
11 years agoif2ip.c: Fixed warning: unused parameter 'remote_scope'
Marc Hoersken [Sat, 6 Apr 2013 18:30:13 +0000 (20:30 +0200)]
if2ip.c: Fixed warning: unused parameter 'remote_scope'

11 years agoruntests.pl: Fixed --verbose parameter passed to http_pipe.py
Marc Hoersken [Sat, 6 Apr 2013 18:24:10 +0000 (20:24 +0200)]
runtests.pl: Fixed --verbose parameter passed to http_pipe.py

11 years agosockfilt.c: Reduce CPU load while running under a Windows PIPE
Marc Hoersken [Sat, 6 Apr 2013 17:05:16 +0000 (19:05 +0200)]
sockfilt.c: Reduce CPU load while running under a Windows PIPE

11 years agotftpd.c: Apply sread timeout to the whole data transfer session
Marc Hoersken [Sat, 6 Apr 2013 17:00:42 +0000 (19:00 +0200)]
tftpd.c: Apply sread timeout to the whole data transfer session

11 years agogetpart.pm: Strip carriage returns to fix Windows support
Marc Hoersken [Sat, 6 Apr 2013 16:10:56 +0000 (18:10 +0200)]
getpart.pm: Strip carriage returns to fix Windows support

11 years agoftp tests: libcurl returns CURLE_FTP_ACCEPT_FAILED better now
Daniel Stenberg [Sat, 6 Apr 2013 15:49:58 +0000 (17:49 +0200)]
ftp tests: libcurl returns CURLE_FTP_ACCEPT_FAILED better now

Since commit 57aeabcc1a20f, it handles errors on the control connection
while waiting for the data connection better.

Test 591 and 592 are updated accordingly.

11 years agoFTP: wait on both connections during active STOR state
Daniel Stenberg [Fri, 5 Apr 2013 06:39:24 +0000 (08:39 +0200)]
FTP: wait on both connections during active STOR state

When doing PORT and upload (STOR), this function needs to extract the
file descriptor for both connections so that it will respond immediately
when the server eventually connects back.

This flaw caused active connections to become unnecessary slow but they
would still often work due to the normal polling on a timeout. The bug
also would not occur if the server connected back very fast, like when
testing on local networks.

Bug: http://curl.haxx.se/bug/view.cgi?id=1183
Reported by: Daniel Theron

11 years agotftpd.c: Follow up cleanup and restore of previous sockopt
Marc Hoersken [Sat, 6 Apr 2013 15:18:13 +0000 (17:18 +0200)]
tftpd.c: Follow up cleanup and restore of previous sockopt

11 years agoconnect: treat an interface bindlocal() problem as a non-fatal error
Kim Vandry [Wed, 3 Apr 2013 20:06:51 +0000 (16:06 -0400)]
connect: treat an interface bindlocal() problem as a non-fatal error

I am using curl_easy_setopt(CURLOPT_INTERFACE, "if!something") to force
transfers to use a particular interface but the transfer fails with
CURLE_INTERFACE_FAILED, "Failed binding local connection end" if the
interface I specify has no IPv6 address. The cause is as follows:

The remote hostname resolves successfully and has an IPv6 address and an
IPv4 address.

cURL attempts to connect to the IPv6 address first.

bindlocal (in lib/connect.c) fails because Curl_if2ip cannot find an
IPv6 address on the interface.

This is a fatal error in singleipconnect()

This change will make cURL try the next IP address in the list.

Also included are two changes related to IPv6 address scope:

- Filter the choice of address in Curl_if2ip to only consider addresses
with the same scope ID as the connection address (mismatched scope for
local and remote address does not result in a working connection).

- bindlocal was ignoring the scope ID of addresses returned by
Curl_if2ip . Now it uses them.

Bug: http://curl.haxx.se/bug/view.cgi?id=1189

11 years agotftpd.c: Fixed sread timeout on Windows by setting it manually
Marc Hoersken [Sat, 6 Apr 2013 12:39:56 +0000 (14:39 +0200)]
tftpd.c: Fixed sread timeout on Windows by setting it manually

11 years agoftp.pm: Added tskill to support Windows XP Home
Marc Hoersken [Sat, 6 Apr 2013 10:55:57 +0000 (12:55 +0200)]
ftp.pm: Added tskill to support Windows XP Home

11 years agoruntests.pl: Modularization of MinGW/Msys compatibility functions
Marc Hoersken [Sat, 6 Apr 2013 10:45:05 +0000 (12:45 +0200)]
runtests.pl: Modularization of MinGW/Msys compatibility functions

11 years agoftp.pm: Made Perl testsuite able to handle Windows processes
Marc Hoersken [Sat, 6 Apr 2013 09:56:04 +0000 (11:56 +0200)]
ftp.pm: Made Perl testsuite able to handle Windows processes

11 years agoutil.c: Revert workaround eeefcdf, 6eb56e7 and e3787e8
Marc Hoersken [Sat, 6 Apr 2013 09:55:30 +0000 (11:55 +0200)]
util.c: Revert workaround eeefcdf, 6eb56e7 and e3787e8

11 years agoftp.pm: Made Perl testsuite able to kill Windows processes
Marc Hoersken [Sat, 6 Apr 2013 09:33:55 +0000 (11:33 +0200)]
ftp.pm: Made Perl testsuite able to kill Windows processes

11 years agoutil.c: Follow up cleanup on eeefcdf
Marc Hoersken [Sat, 6 Apr 2013 08:03:43 +0000 (10:03 +0200)]
util.c: Follow up cleanup on eeefcdf

11 years agocpp: use #ifdef __MINGW32__ to avoid compiler complaints
Daniel Stenberg [Fri, 5 Apr 2013 22:55:27 +0000 (00:55 +0200)]
cpp: use #ifdef __MINGW32__ to avoid compiler complaints

... instead of just #if

11 years agoutil.c: Made write_pidfile write the correct PID on MinGW/Msys
Marc Hoersken [Fri, 5 Apr 2013 22:40:25 +0000 (00:40 +0200)]
util.c: Made write_pidfile write the correct PID on MinGW/Msys

This workaround fixes an issue on MinGW/Msys regarding the Perl
testsuite scripts not being able to signal or control the server
processes. The MinGW Perl runtime only sees the Msys processes and
their corresponding PIDs, but sockfilt (and other servers) wrote the
Windows PID into their PID-files. Since this PID is useless to the
testsuite, the write_pidfile function was changed to search for the
Msys PID and write that into the PID-file.

11 years agoRELEASE-NOTES: synced with 5e722b2d09087
Daniel Stenberg [Fri, 5 Apr 2013 21:31:00 +0000 (23:31 +0200)]
RELEASE-NOTES: synced with 5e722b2d09087

3 more bug fixes, 6 more contributors

11 years agosockfilt.c: Fixed handling of multiple fds being signaled
Marc Hoersken [Fri, 5 Apr 2013 11:31:12 +0000 (13:31 +0200)]
sockfilt.c: Fixed handling of multiple fds being signaled

11 years agocurl_global_init.3: improve description of CURL_GLOBAL_ALL
Kamil Dudka [Fri, 5 Apr 2013 11:13:26 +0000 (13:13 +0200)]
curl_global_init.3: improve description of CURL_GLOBAL_ALL

Reported by: Tomas Mlcoch

11 years agoexamples/multi-single.c: fix the order of destructions
Kamil Dudka [Fri, 5 Apr 2013 11:08:59 +0000 (13:08 +0200)]
examples/multi-single.c: fix the order of destructions

... so that it adheres to the API documentation.

Reported by: Tomas Mlcoch

11 years agoCurl_open: restore default MAXCONNECTS to 5
Daniel Stenberg [Fri, 5 Apr 2013 07:20:04 +0000 (09:20 +0200)]
Curl_open: restore default MAXCONNECTS to 5

At some point recently we lost the default value for the easy handle's
connection cache, and this change puts it back to 5 - which is the
former default value and it is documented in the curl_easy_setopt.3 man
page.

11 years agosockfilt.c: Added wrapper functions to fix Windows console issues
Marc Hoersken [Thu, 4 Apr 2013 20:50:01 +0000 (22:50 +0200)]
sockfilt.c: Added wrapper functions to fix Windows console issues

The new read and write wrapper functions support reading from stdin
and writing to stdout/stderr on Windows by using the appropriate
Windows API functions and data types.

11 years agolib1509.c: fix compiler warnings
Yang Tse [Thu, 4 Apr 2013 14:20:27 +0000 (16:20 +0200)]
lib1509.c: fix compiler warnings

11 years agoeasy.c: fix compiler warning
Yang Tse [Thu, 4 Apr 2013 14:18:44 +0000 (16:18 +0200)]
easy.c: fix compiler warning

11 years ago--engine: spellfix the help message
Daniel Stenberg [Thu, 4 Apr 2013 14:24:38 +0000 (16:24 +0200)]
--engine: spellfix the help message

Reported by: Fredrik Thulin

11 years agohttp_negotiate.c: follow-up for commit 3dcc1a9c
Yang Tse [Thu, 4 Apr 2013 10:09:39 +0000 (12:09 +0200)]
http_negotiate.c: follow-up for commit 3dcc1a9c

11 years agoeasy: Fix the broken CURLOPT_MAXCONNECTS option
Linus Nielsen Feltzing [Thu, 4 Apr 2013 08:33:39 +0000 (10:33 +0200)]
easy: Fix the broken CURLOPT_MAXCONNECTS option

Copy the CURLOPT_MAXCONNECTS option to CURLMOPT_MAXCONNECTS in
curl_easy_perform().

Bug: http://curl.haxx.se/bug/view.cgi?id=1212
Reported-by: Steven Gu
11 years agoUpdated copyright date.
Guenter Knauf [Thu, 4 Apr 2013 02:04:21 +0000 (04:04 +0200)]
Updated copyright date.

11 years agoAnother small output fix for --help and --version.
Guenter Knauf [Thu, 4 Apr 2013 02:01:01 +0000 (04:01 +0200)]
Another small output fix for --help and --version.

11 years agohttp_negotiate.c: fix several SPNEGO memory handling issues
Yang Tse [Wed, 3 Apr 2013 23:57:25 +0000 (01:57 +0200)]
http_negotiate.c: fix several SPNEGO memory handling issues

11 years agoAdded a cont to specify base64 line wrap.
Guenter Knauf [Wed, 3 Apr 2013 22:55:01 +0000 (00:55 +0200)]
Added a cont to specify base64 line wrap.

11 years agoFixed version output.
Guenter Knauf [Wed, 3 Apr 2013 22:23:58 +0000 (00:23 +0200)]
Fixed version output.

11 years agoAdded support for --help and --version options.
Guenter Knauf [Wed, 3 Apr 2013 22:21:10 +0000 (00:21 +0200)]
Added support for --help and --version options.

11 years agoAdded option to specify length of base64 output.
Guenter Knauf [Wed, 3 Apr 2013 22:02:49 +0000 (00:02 +0200)]
Added option to specify length of base64 output.

Based on a patch posted to the list by Richard Michael.

11 years agocurl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD
Daniel Stenberg [Wed, 3 Apr 2013 13:39:38 +0000 (15:39 +0200)]
curl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD

11 years agoCurl_cookie_add: only increase numcookies for new cookies
Yasuharu Yamada [Tue, 2 Apr 2013 09:45:15 +0000 (11:45 +0200)]
Curl_cookie_add: only increase numcookies for new cookies

Count up numcookies in Curl_cookie_add() only when cookie is new one

11 years agoSO_SNDBUF: don't set SNDBUF for win32 versions vista or later
Daniel Stenberg [Tue, 2 Apr 2013 09:22:41 +0000 (11:22 +0200)]
SO_SNDBUF: don't set SNDBUF for win32 versions vista or later

The Microsoft knowledge-base article
http://support.microsoft.com/kb/823764 describes how to use SNDBUF to
overcome a performance shortcoming in winsock, but it doesn't apply to
Windows Vista and later versions. If the described SNDBUF magic is
applied when running on those more recent Windows versions, it seems to
instead have the reversed effect in many cases and thus make libcurl
perform less good on those systems.

This fix thus adds a run-time version-check that does the SNDBUF magic
conditionally depending if it is deemed necessary or not.

Bug: http://curl.haxx.se/bug/view.cgi?id=1188
Reported by: Andrew Kurushin
Tested by: Christian Hägele

11 years agodarwinssl: additional descriptive messages of SSL handshake errors
Nick Zitzmann [Tue, 2 Apr 2013 00:24:32 +0000 (18:24 -0600)]
darwinssl: additional descriptive messages of SSL handshake errors

(This doesn't need to appear in the release notes.)

11 years agoAdded dns and connect time to output.
Guenter Knauf [Mon, 1 Apr 2013 12:54:01 +0000 (14:54 +0200)]
Added dns and connect time to output.

11 years agoRELEASE-NOTES: synced with 0614b902136
Daniel Stenberg [Sun, 31 Mar 2013 22:36:50 +0000 (00:36 +0200)]
RELEASE-NOTES: synced with 0614b902136

11 years agocode-policed
Daniel Stenberg [Sun, 31 Mar 2013 22:36:39 +0000 (00:36 +0200)]
code-policed

11 years agotcpkeepalive: support TCP_KEEPIDLE/TCP_KEEPINTVL on win32
Daniel Stenberg [Sun, 31 Mar 2013 21:17:16 +0000 (23:17 +0200)]
tcpkeepalive: support TCP_KEEPIDLE/TCP_KEEPINTVL on win32

Patch by: Robert Wruck
Bug: http://curl.haxx.se/bug/view.cgi?id=1209

11 years agoBINDINGS: BBHTTP is a cocoa binding, Julia has a binding
Daniel Stenberg [Sat, 30 Mar 2013 21:04:56 +0000 (22:04 +0100)]
BINDINGS: BBHTTP is a cocoa binding, Julia has a binding

11 years agoftp_sendquote: use PPSENDF, not FTPSENDF
Daniel Stenberg [Fri, 29 Mar 2013 20:19:45 +0000 (21:19 +0100)]
ftp_sendquote: use PPSENDF, not FTPSENDF

The last remaining code piece that still used FTPSENDF now uses PPSENDF.
In the problematic case, a PREQUOTE series was done on a re-used
connection when Curl_pp_init() hadn't been called so it had messed up
pointers. The init call is done properly from Curl_pp_sendf() so this
change fixes this particular crash.

Bug: http://curl.haxx.se/mail/lib-2013-03/0319.html
Reported by: Sam Deane

11 years agoRELEASE-NOTES: Corrected typo
Steve Holme [Wed, 27 Mar 2013 20:35:28 +0000 (20:35 +0000)]
RELEASE-NOTES: Corrected typo

11 years agomulti-uv.c: remove unused variable
Clemens Gruber [Wed, 27 Mar 2013 13:04:34 +0000 (14:04 +0100)]
multi-uv.c: remove unused variable

11 years agoRELEASE-NOTES: add two references
Daniel Stenberg [Sun, 10 Mar 2013 18:48:09 +0000 (19:48 +0100)]
RELEASE-NOTES: add two references

11 years agotest1509: verify proxy header response headers count
Daniel Stenberg [Fri, 15 Mar 2013 16:28:32 +0000 (17:28 +0100)]
test1509: verify proxy header response headers count

Modified sws to support and use custom CONNECT responses instead of the
previously naive hard-coded version. Made the HTTP test server able to
extract test case number from the host name in a CONNECT request by
finding the number after the last dot. It makes 'machine.moo.123' use
test case 123.

Adapted a larger amount of tests to the new <connect> style.

Bug: http://curl.haxx.se/bug/view.cgi?id=1204
Reported by: Martin Jansen

11 years agoAdded libuv example multi-uv.c
Clemens Gruber [Tue, 26 Mar 2013 22:22:30 +0000 (23:22 +0100)]
Added libuv example multi-uv.c

11 years agoNTLM: fix several NTLM code paths memory leaks
Yang Tse [Sun, 24 Mar 2013 03:47:57 +0000 (04:47 +0100)]
NTLM: fix several NTLM code paths memory leaks

11 years agoWIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage
Yang Tse [Mon, 25 Mar 2013 02:15:52 +0000 (03:15 +0100)]
WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage

As of 25-mar-2013 wcsdup() _wcsdup() and _tcsdup() are only used in
WIN32 specific code, so tracking of these has not been extended for
other build targets. Without this fix, memory tracking system on
WIN32 builds, when using these functions, would provide misleading
results.

In order to properly extend this support for all targets curl.h
would have to define curl_wcsdup_callback prototype and consequently
wchar_t should be visible before that in curl.h.  IOW curl_wchar_t
defined in curlbuild.h and this pulling whatever system header is
required to get wchar_t definition.

Additionally a new curl_global_init_mem() function that also receives
user defined wcsdup() callback would be required.

11 years agocurl_ntlm_msgs.c: revert commit 463082bea4
Yang Tse [Sat, 23 Mar 2013 00:44:57 +0000 (01:44 +0100)]
curl_ntlm_msgs.c: revert commit 463082bea4

reverts unreleased invalid memory leak fix

11 years agoRELEASE-NOTES: synced with bc6037ed3ec02
Daniel Stenberg [Sat, 23 Mar 2013 22:29:40 +0000 (23:29 +0100)]
RELEASE-NOTES: synced with bc6037ed3ec02

More changes, bugfixes and contributors!

11 years agoCurl_proxyCONNECT: count received headers
Martin Jansen [Wed, 6 Mar 2013 20:20:44 +0000 (21:20 +0100)]
Curl_proxyCONNECT: count received headers

Proxy servers tend to add their own headers at the beginning of
responses. The size of these headers was not taken into account by
CURLINFO_HEADER_SIZE before this change.

Bug: http://curl.haxx.se/bug/view.cgi?id=1204

11 years agosasl: Corrected a few violations of the curl coding standards
Steve Holme [Thu, 21 Mar 2013 22:21:22 +0000 (22:21 +0000)]
sasl: Corrected a few violations of the curl coding standards

Corrected some incorrectly positioned pointer variable declarations to
be "char *" rather than "char* ".

11 years agomulti.c: Corrected a couple of violations of the curl coding standards
Steve Holme [Thu, 21 Mar 2013 19:14:03 +0000 (19:14 +0000)]
multi.c: Corrected a couple of violations of the curl coding standards

Corrected some incorrectly positioned pointer variable declarations to
be "type *" rather than "type* ".

11 years agoimap-tests: Added CRLF to reply data to be compliant with RFC-822
Steve Holme [Thu, 21 Mar 2013 12:42:32 +0000 (12:42 +0000)]
imap-tests: Added CRLF to reply data to be compliant with RFC-822

Updated the reply data in tests: 800, 801, 802, 804 and 1321 to possess
the CRLF as per RFC-822.

11 years agomulti.c: Fix compilation warning
Steve Holme [Thu, 21 Mar 2013 07:33:45 +0000 (07:33 +0000)]
multi.c: Fix compilation warning

warning: an enumerated type is mixed with another type

11 years agomulti.c: fix compilation error
Steve Holme [Wed, 20 Mar 2013 23:36:46 +0000 (23:36 +0000)]
multi.c: fix compilation error

warning: conversion from enumeration type to different enumeration type

11 years agolib1900.c: fix compilation warning
Steve Holme [Wed, 20 Mar 2013 23:32:48 +0000 (23:32 +0000)]
lib1900.c: fix compilation warning

warning: declaration of 'time' shadows a global declaration

11 years agobuild_vms.com: use existing curlbuild.h and parsing fix
John E. Malmberg [Wed, 20 Mar 2013 19:36:20 +0000 (20:36 +0100)]
build_vms.com: use existing curlbuild.h and parsing fix

This patch removes building curlbuild.h from the build_vms.com procedure
and uses the one in the daily or release tarball instead.

packages/vms/build_curlbuild_h.com is obsolete with this change.

Accessing the library module name "tool_main" needs different handling
when the optional extended parsing is enabled.

Tested on IA64/VMS 8.4 and VAX/VMS 7.3

11 years agodarwinssl: disable ECC ciphers under Mountain Lion by default
Nick Zitzmann [Tue, 19 Mar 2013 21:21:34 +0000 (15:21 -0600)]
darwinssl: disable ECC ciphers under Mountain Lion by default

I found out that ECC doesn't work as of OS X 10.8.3, so those ciphers are
turned off until the next point release of OS X.

11 years agoFEATURES: Small tidy up for constancy and grammar
Steve Holme [Mon, 18 Mar 2013 22:43:16 +0000 (22:43 +0000)]
FEATURES: Small tidy up for constancy and grammar

11 years agoCurl_proxyCONNECT: clear 'rewindaftersend' on success
Oliver Schindler [Mon, 18 Mar 2013 21:40:35 +0000 (22:40 +0100)]
Curl_proxyCONNECT: clear 'rewindaftersend' on success

After having done a POST over a CONNECT request, the 'rewindaftersend'
boolean could be holding the previous value which could lead to badness.

This should be tested for in a new test case!

Bug: https://groups.google.com/d/msg/msysgit/B31LNftR4BI/KhRTz0iuGmUJ

11 years agoTODO: Reordered the protocol and security sections
Steve Holme [Mon, 18 Mar 2013 21:43:34 +0000 (21:43 +0000)]
TODO: Reordered the protocol and security sections

Moved SMTP, POP3, IMAP and New Protocol sections to be listed after the
other protocols (FTP, HTTP and TELNET) and SASL to be after SSL and
GnuTLS as these are all security related.

Additionally fixed numbering of the SSL and GnuTLS sections as they
weren't consecutive.

11 years agotests: specify 'text' mode for some output files in verify section
Yang Tse [Mon, 18 Mar 2013 19:44:46 +0000 (20:44 +0100)]
tests: specify 'text' mode for some output files in verify section

11 years agoimap: Fixed incorrect initial response generation for SASL AUTHENTICATE
Steve Holme [Sun, 17 Mar 2013 00:20:42 +0000 (00:20 +0000)]
imap: Fixed incorrect initial response generation for SASL AUTHENTICATE

Fixed incorrect initial response generation for the NTLM and LOGIN SASL
authentication mechanisms when the SASL-IR was detected.

Introduced in commit: 6da7dc026c14.

11 years agoFEATURES: Expanded the supported enhanced IMAP command list
Steve Holme [Sat, 16 Mar 2013 11:42:17 +0000 (11:42 +0000)]
FEATURES: Expanded the supported enhanced IMAP command list

11 years agoTODO: Corrected typo in TOC
Steve Holme [Sat, 16 Mar 2013 10:36:25 +0000 (10:36 +0000)]
TODO: Corrected typo in TOC

11 years agoTODO: Added IMAP section and removed unused Other protocols section
Steve Holme [Sat, 16 Mar 2013 10:18:43 +0000 (10:18 +0000)]
TODO: Added IMAP section and removed unused Other protocols section

11 years agoTODO: Added graceful base64 decoding failure to SMTP and POP3
Steve Holme [Sat, 16 Mar 2013 00:28:16 +0000 (00:28 +0000)]
TODO: Added graceful base64 decoding failure to SMTP and POP3

11 years agoTODO: Corrected typo on section 10.2 heading
Steve Holme [Sat, 16 Mar 2013 00:02:40 +0000 (00:02 +0000)]
TODO: Corrected typo on section 10.2 heading

11 years agotests: 96, 558, 1330: strip build subdirectory dependent leading path
Yang Tse [Fri, 15 Mar 2013 23:59:17 +0000 (00:59 +0100)]
tests: 96, 558, 1330: strip build subdirectory dependent leading path

11 years agoTODO: Added section 10.2 Initial response to POP3 to do list
Steve Holme [Fri, 15 Mar 2013 23:55:31 +0000 (23:55 +0000)]
TODO: Added section 10.2 Initial response to POP3 to do list

11 years agoimap-tests: Corrected copy/paste error in test808 reply data
Steve Holme [Fri, 15 Mar 2013 20:08:54 +0000 (20:08 +0000)]
imap-tests: Corrected copy/paste error in test808 reply data

11 years agounit1330.c: fix date
Yang Tse [Fri, 15 Mar 2013 19:05:03 +0000 (20:05 +0100)]
unit1330.c: fix date

11 years agotests: add #96 #558 and #1330
Yang Tse [Fri, 15 Mar 2013 18:58:00 +0000 (19:58 +0100)]
tests: add #96 #558 and #1330

These verfy that the 'memory tracking' subsystem is actually doing its
job when using curl tool (#96), a test in libtest (#558) and also a unit
test (#1330), in order to prevent regressions in this functionallity.

11 years agoimap-tests: Added test808 for custom EXAMINE command
Steve Holme [Fri, 15 Mar 2013 18:12:58 +0000 (18:12 +0000)]
imap-tests: Added test808 for custom EXAMINE command

11 years agoHTTP proxy: insert slash in URL if missing
Daniel Stenberg [Fri, 15 Mar 2013 13:18:16 +0000 (14:18 +0100)]
HTTP proxy: insert slash in URL if missing

curl has been accepting URLs using slightly wrong syntax for a long
time, such as when completely missing as slash "http://example.org" or
missing a slash when a query part is given
"http://example.org?q=foobar".

curl would translate these into a legitimate HTTP request to servers,
although as was shown in bug #1206 it was not adjusted properly in the
cases where a HTTP proxy was used.

Test 1213 and 1214 were added to the test suite to verify this fix.

The test HTTP server was adjusted to allow us to specify test number in
the host name only without using any slashes in a given URL.

Bug: http://curl.haxx.se/bug/view.cgi?id=1206
Reported by: ScottJi

11 years agoftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands
Steve Holme [Thu, 14 Mar 2013 22:49:57 +0000 (22:49 +0000)]
ftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands

Used hard coded data from RFC-3501 section 6.3.2.

11 years agocurl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibility
Yang Tse [Thu, 7 Feb 2013 19:12:04 +0000 (20:12 +0100)]
curl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibility

This commit alone does not fix anything nor modifies existing
interfaces or behaviors, although it is a prerequisite for other
fixes.

11 years agoMakefile.vc6: add missing files
Yang Tse [Thu, 14 Mar 2013 17:35:01 +0000 (18:35 +0100)]
Makefile.vc6: add missing files

11 years agopipelining: Remove dead code.
Linus Nielsen Feltzing [Thu, 14 Mar 2013 12:30:59 +0000 (13:30 +0100)]
pipelining: Remove dead code.

11 years agoMultiple pipelines and limiting the number of connections.
Linus Nielsen Feltzing [Fri, 15 Feb 2013 10:50:45 +0000 (11:50 +0100)]
Multiple pipelines and limiting the number of connections.

Introducing a number of options to the multi interface that
allows for multiple pipelines to the same host, in order to
optimize the balance between the penalty for opening new
connections and the potential pipelining latency.

Two new options for limiting the number of connections:

CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
to the same host. When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished, so we can reuse the connection.

CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished. The free connection will then be reused, if possible, or
closed if the pending handle can't reuse it.

Several new options for pipelining:

CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
pipeline is "full" when a connection is to be reused, a new connection
will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
If not, the handle will be put in a pending state until a connection is
ready (either free or a pipe got shorter).

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a transfer with a content
length that is larger than this.

CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a chunk larger than this.

CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
pipelining.

CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
pipelining.

See the curl_multi_setopt() man page for details.

11 years agotool_main.c: remove redundant vms_show storage-class specifier
Yang Tse [Wed, 13 Mar 2013 22:35:24 +0000 (23:35 +0100)]
tool_main.c: remove redundant vms_show storage-class specifier

vms_show 'extern' storage-class specifier removed from tool_main.c due to...

- Advice from Tor Arntsen: http://curl.haxx.se/mail/lib-2013-03/0164.html

- HP OpenVMS docs stating that 'Extern is the default storage class for
  variables declared outside a function.'
  http://h71000.www7.hp.com/commercial/c/docs/dec_c_help_5.html
  (Storage_Classes section)

11 years agotest509: libcurl initialization with memory callbacks and actual usage
Yang Tse [Wed, 13 Mar 2013 20:49:50 +0000 (21:49 +0100)]
test509: libcurl initialization with memory callbacks and actual usage

11 years agopop3: Removed unnecessary transfer cancellation
Steve Holme [Wed, 13 Mar 2013 20:19:43 +0000 (20:19 +0000)]
pop3: Removed unnecessary transfer cancellation

Following commit e450f66a02d8 and the changes in the multi interface
being used internally, from 7.29.0, the transfer cancellation in
pop3_dophase_done() is no longer required.

11 years agoMakefile.am: add VMS files not being included in tarball
Yang Tse [Wed, 13 Mar 2013 10:42:52 +0000 (11:42 +0100)]
Makefile.am: add VMS files not being included in tarball

11 years agobuild_vms.com: VMS build fixes
Tom Grace [Wed, 13 Mar 2013 03:58:51 +0000 (04:58 +0100)]
build_vms.com: VMS build fixes

Added missing slash in cc_full_list.
Removed unwanted extra quotes inside symbol tool_main
for non-VAX architectures that triggered link failure.
Replaced curl_sys_inc with sys_inc.

11 years agotool_main.c: fix VMS global variable storage-class specifier
Tom Grace [Wed, 13 Mar 2013 02:13:52 +0000 (03:13 +0100)]
tool_main.c: fix VMS global variable storage-class specifier

An extern submits a psect and a global reference to the linker to point
to it. Using "extern int vms_show = 0" also creates a globaldef.

The use of the extern by itself does declare a psect but does not declare
a globalsymbol. It does declare a globalref. But the linker needs one and
only one globaldef or there is an error.

11 years agoOS400: synchronize RPG binding
Patrick Monnerat [Tue, 12 Mar 2013 14:37:34 +0000 (15:37 +0100)]
OS400: synchronize RPG binding

11 years agopop3: Fixed continuous wait when using --ftp-list
Steve Holme [Tue, 12 Mar 2013 13:09:03 +0000 (13:09 +0000)]
pop3: Fixed continuous wait when using --ftp-list

Don't initiate a transfer when using --ftp-list.

11 years agocurl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag
Zdenek Pavlas [Mon, 11 Mar 2013 13:57:07 +0000 (14:57 +0100)]
curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag

The flag can be used in pycurl-based applications where using the multi
interface would not be acceptable because of the performance lost caused
by implementing the select() loop in python.

Bug: http://curl.haxx.se/bug/view.cgi?id=1168
Downstream Bug: https://bugzilla.redhat.com/919127

11 years agoeasy: do not ignore poll() failures other than EINTR
Kamil Dudka [Mon, 11 Mar 2013 15:57:25 +0000 (16:57 +0100)]
easy: do not ignore poll() failures other than EINTR

11 years agocurl.h: stricter CURL_EXTERN linkage decorations logic
Yang Tse [Mon, 11 Mar 2013 23:24:37 +0000 (00:24 +0100)]
curl.h: stricter CURL_EXTERN linkage decorations logic

No API change involved.

Info: http://curl.haxx.se/mail/lib-2013-02/0234.html

11 years agoTHANKS: Latin-1'ified Jiri's name
Daniel Stenberg [Mon, 11 Mar 2013 18:40:02 +0000 (19:40 +0100)]
THANKS: Latin-1'ified Jiri's name

11 years agotest806: Added CRLF to reply data to be compliant with RFC-822
Steve Holme [Mon, 11 Mar 2013 13:06:55 +0000 (13:06 +0000)]
test806: Added CRLF to reply data to be compliant with RFC-822

11 years agotest805: added crlf newlines to make data size match
Daniel Stenberg [Mon, 11 Mar 2013 12:26:15 +0000 (13:26 +0100)]
test805: added crlf newlines to make data size match

since mails sent are supposed to have CRLF line endings I added them and
now the data size after (\Seen) matches again properly