platform/upstream/curl.git
14 years agosecurity.c: Made block_write return a CURLcode.
Julien Chaffraix [Fri, 10 Sep 2010 07:17:17 +0000 (00:17 -0700)]
security.c: Made block_write return a CURLcode.

While doing so, renamed it to socket_write to better match its
function.

14 years agosecurity.c: Made block_read and sec_get_data return CURLcode.
Julien Chaffraix [Fri, 10 Sep 2010 07:07:09 +0000 (00:07 -0700)]
security.c: Made block_read and sec_get_data return CURLcode.

To do so, made block_read call Curl_read_plain instead of read.

While changing them renamed block_read to socket_read and sec_get_data
to read_data to better match their function.

Also fixed a potential memory leak in block_read.

14 years agoSecurity.c: Fix headers guard to match the rest of the code.
Julien Chaffraix [Fri, 10 Sep 2010 06:52:49 +0000 (23:52 -0700)]
Security.c: Fix headers guard to match the rest of the code.

14 years agoconfigure: Fix the LDAPS disable message
Julien Chaffraix [Tue, 21 Sep 2010 05:27:11 +0000 (22:27 -0700)]
configure: Fix the LDAPS disable message

... for example when LDAP is not compiled.

Fixed the logic to match the rest of the options' message that is we
update the default message only if the option is not disabled after the
different checks.

Reported by: Guenter Knauf

14 years agoRELEASE-NOTES: sync with 8665d4e5 and c-ares >= 1.6.0 note
Daniel Stenberg [Tue, 21 Sep 2010 20:29:21 +0000 (22:29 +0200)]
RELEASE-NOTES: sync with 8665d4e5 and c-ares >= 1.6.0 note

14 years agoparse_remote_port: ignore colons without port number
Daniel Stenberg [Tue, 21 Sep 2010 17:51:30 +0000 (19:51 +0200)]
parse_remote_port: ignore colons without port number

Obviously, browsers ignore a colon without a following port number. Both
Firefox and Chrome just removes the colon for such URLs. This change
does not remove the colon for URLs sent over a HTTP proxy, so we should
consider doing that change as well.

Reported by: github user 'kreshano'

14 years agoRELEASE-NOTES: in sync with 19f45eaa799
Daniel Stenberg [Tue, 21 Sep 2010 14:53:30 +0000 (16:53 +0200)]
RELEASE-NOTES: in sync with 19f45eaa799

14 years agoduphandle: use ares_dup()
Daniel Stenberg [Tue, 21 Sep 2010 14:41:14 +0000 (16:41 +0200)]
duphandle: use ares_dup()

curl_easy_duphandle() was not properly duping the ares channel. The
ares_dup() function was introduced in c-ares 1.6.0 so by starting to use
this function we also raise the bar and require c-ares >= 1.6.0
(released Dec 9, 2008) for such builds.

Reported by: Ning Dong
Bug: http://curl.haxx.se/mail/lib-2010-08/0318.html

14 years agoMacOSX-Framework: updates for Snowleopard
Hendrik Visage [Mon, 20 Sep 2010 22:07:45 +0000 (00:07 +0200)]
MacOSX-Framework: updates for Snowleopard

1) PPC64 appears to be an 10.5 only supported architecture, so I
forced 10.5 for 64bit if there is a need for PPC64, else 64bit only
does x86_64

2) proper "make clean" after every ./configure. fixes a bug where
subsequent runs the 32bit do not get compiled

3) Added a version numbering curl-$VERSION} rather than the "stock standard" A

14 years agoRELEASE-NOTES: synced with 5fcc4332d62fe
Daniel Stenberg [Mon, 20 Sep 2010 22:02:10 +0000 (00:02 +0200)]
RELEASE-NOTES: synced with 5fcc4332d62fe

Removed the duplicate entry of Kamil in the credits.

14 years agoconfigure: don't enable RTMP if the lib detect fails
Daniel Stenberg [Mon, 20 Sep 2010 21:20:36 +0000 (23:20 +0200)]
configure: don't enable RTMP if the lib detect fails

librtmp is often statically linked and using sub dependencies like
OpenSSL, so we need to make sure we can actually link with it properly
before enabling it. Otherwise we easily end up trying to link with a
RTMP lib that fails.

14 years agoTODO: added 8.4 non-gcrypt under GnuTLS
Daniel Stenberg [Mon, 20 Sep 2010 21:19:51 +0000 (23:19 +0200)]
TODO: added 8.4 non-gcrypt under GnuTLS

We must not assume gcrypt just because of GnuTLS

14 years agoconfigure: check for gcrypt if using GnuTLS
Daniel Stenberg [Mon, 20 Sep 2010 21:05:23 +0000 (23:05 +0200)]
configure: check for gcrypt if using GnuTLS

1 - libcurl assumes that there are gcrypt functions available when
GnuTLS is.

2 - GnuTLS can be built to use libnettle instead as crypto library,
which breaks assumption (1)

This change makes configure make sure that if GnuTLS is requested and
detected, it also makes sure that gcrypt is present or it errors
out. This is mostly a way to make the user more aware of this flaw, the
correct fix would be to detect which crypto layer that is in use and
adapt our code to use that instead of blindly assuming gcrypt.

Reported by: Michal Gorny
Bug: http://curl.haxx.se/bug/view.cgi?id=3071038

14 years agoRELEASE-NOTES: sync from d2a7fd2fe65b to HEAD
Daniel Stenberg [Sat, 18 Sep 2010 21:16:07 +0000 (23:16 +0200)]
RELEASE-NOTES: sync from d2a7fd2fe65b to HEAD

14 years agoFTP: fix bad check of Curl_timeleft() return code
Daniel Stenberg [Sat, 18 Sep 2010 21:08:32 +0000 (23:08 +0200)]
FTP: fix bad check of Curl_timeleft() return code

When it returns 0 it means no timeout. Only a negative value means that
we're out of time.

14 years agoLDAP: moved variable declaration to avoid compiler warn
Daniel Stenberg [Sat, 18 Sep 2010 20:50:04 +0000 (22:50 +0200)]
LDAP: moved variable declaration to avoid compiler warn

If built without HTTP or proxy support it would cause a compiler warning
due to the unused variable. I moved the declaration of it into the only
scope it is used.

14 years agoLDAP: Use FALSE instead of bool_false when setting bits.close
Tor Arntsen [Sat, 18 Sep 2010 12:16:49 +0000 (14:16 +0200)]
LDAP: Use FALSE instead of bool_false when setting bits.close

bool_false is the internal name used in the setup_once.h definition
we fall back to for non-C99 non-stdbool systems, it's not the actual
name to use in assignments (we use bool_false, bool_true there to
avoid global namespace problems, see comment in setup_once.h).
The correct C99 value to use is 'false', but let's use FALSE as
used elsewhere when assigning to bits.close. FALSE is set equal
to 'false' in setup_once.h when possible.

This fixes a build problem on C99 targets.

14 years agoLDAP: Add missing declaration for 'result'
Tor Arntsen [Sat, 18 Sep 2010 12:15:52 +0000 (14:15 +0200)]
LDAP: Add missing declaration for 'result'

14 years agoLDAP: Support for tunnelling queries through HTTP proxy
Mauro Iorio [Fri, 17 Sep 2010 22:03:23 +0000 (00:03 +0200)]
LDAP: Support for tunnelling queries through HTTP proxy

As of curl-7.21.1 tunnelling ldap queries through HTTP Proxies is not
supported. Actually if --proxytunnel command-line option (or equivalent
CURLOPT_HTTPPROXYTUNNEL) is used for ldap queries like
ldap://ldap.my.server.com/... You are unable to successfully execute the
query. In facts ldap_*_bind is executed directly against the ldap server
and proxy is totally ignored. This is true for both openLDAP and
Microsoft LDAP API.

Step to reproduce the error:
Just launch "curl --proxytunnel --proxy 192.168.1.1:8080
ldap://ldap.my.server.com/dc=... "

This fix adds an invocation to Curl_proxyCONNECT against the provided
proxy address and on successful "CONNECT" it tunnels ldap query to the
final ldap server through the HTTP proxy. As far as I know Microsoft
LDAP APIs don't permit tunnelling in any way so the patch provided is
for OpenLDAP only.  The patch has been developed against OpenLDAP 2.4.23
and has been tested with Microsoft ISA Server 2006 and works properly
with basic, digest and NTLM authentication.

14 years agotimeout: use the correct start value as offset
Daniel Stenberg [Fri, 17 Sep 2010 21:02:33 +0000 (23:02 +0200)]
timeout: use the correct start value as offset

Rodric provide an awesome recipe that proved libcurl didn't timeout at
the requested time - it instead often timed out at [connect time] +
[timeout time] instead of the documented and intended [timeout time]
only. This bug was due to the code using the wrong base offset when
comparing against "now". I could also take the oppurtinity to simplify
the code by properly using of the generic help function for this:
Curl_timeleft.

Reported by: Rodric Glaser
Bug: http://curl.haxx.se/bug/view.cgi?id=3061535

14 years agoCurl_timeleft: avoid returning "no timeout" by mistake
Daniel Stenberg [Fri, 17 Sep 2010 20:58:08 +0000 (22:58 +0200)]
Curl_timeleft: avoid returning "no timeout" by mistake

As this function uses return code 0 to mean that there is no timeout, it
needs to check that it doesn't return a time left value that is exactly
zero. It could lead to libcurl doing an extra 1000 ms select() call and
thus not timing out as accurately as it should.

I fell over this bug when working on the bug 3061535 but this fix does
not correct that problem alone, although this is a problem that needs to
be fixed.

Reported by: Rodric Glaser
Bug: http://curl.haxx.se/bug/view.cgi?id=3061535

14 years agowhitespace: unified source
Daniel Stenberg [Thu, 16 Sep 2010 21:32:24 +0000 (23:32 +0200)]
whitespace: unified source

if ( => if(
while ( => while(

and some other changes in the similar spirit, trying to make the
whole file use the same style

14 years agoremote-header-name: don't output filename when NULL
Daniel Stenberg [Thu, 16 Sep 2010 21:27:03 +0000 (23:27 +0200)]
remote-header-name: don't output filename when NULL

14 years agoTheArtOfHttpScripting: use long options
James Bursa [Wed, 15 Sep 2010 14:43:48 +0000 (16:43 +0200)]
TheArtOfHttpScripting: use long options

14 years agogetinmemory: make the example easier to follow
James Bursa [Tue, 14 Sep 2010 20:52:04 +0000 (22:52 +0200)]
getinmemory: make the example easier to follow

1. Remove the comment warning that it's "not been verified to work". It
   works with no problems in my testing.

2. Remove 2 unnecessary includes.

3. Remove the myrealloc(). Initialize chunk.memory with malloc() instead
   of NULL. The comments for these two parts contradicted each other.

4. Handle out of memory from realloc() instead of continuing.

5. Print a brief status message at the end.

14 years agomulti: don't do extra expire calls for the connection
Daniel Stenberg [Tue, 14 Sep 2010 20:40:05 +0000 (22:40 +0200)]
multi: don't do extra expire calls for the connection

The timeout is set for the connect phase already at the start of the
request so we should not add a new one, and we MUST not set expire to 0
as that will remove any other potentially existing timeouts.

14 years agoFix a bashism: test a = b is more portable than ==.
Peter Pentchev [Sun, 12 Sep 2010 20:47:55 +0000 (23:47 +0300)]
Fix a bashism: test a = b is more portable than ==.

14 years agoglob_word: remove a check that is always false
Daniel Stenberg [Sun, 12 Sep 2010 14:37:55 +0000 (16:37 +0200)]
glob_word: remove a check that is always false

14 years agoinflate_stream: remove redundant check that is always true
Daniel Stenberg [Sun, 12 Sep 2010 14:34:16 +0000 (16:34 +0200)]
inflate_stream: remove redundant check that is always true

14 years agodigest: make it clear the condition is always true
Daniel Stenberg [Fri, 10 Sep 2010 07:22:33 +0000 (09:22 +0200)]
digest: make it clear the condition is always true

14 years agossluse: removed redundant check that is always true
Daniel Stenberg [Fri, 10 Sep 2010 07:20:59 +0000 (09:20 +0200)]
ssluse: removed redundant check that is always true

14 years agoLink curl and the test apps with -lrt explicitly when necessary
Dan Fandrich [Sun, 12 Sep 2010 00:04:05 +0000 (17:04 -0700)]
Link curl and the test apps with -lrt explicitly when necessary

When curl calls a function from that library then it needs to
explicitly link to the library instead of piggybacking on
libcurl's own dependency.  Without this, GNU ld with the
--no-add-needed flag fails when linking (which Fedora now does
by default).

Reported by: Quanah Gibson-Mount
Bug: http://curl.haxx.se/mail/lib-2010-09/0085.html

14 years agoMention the Debian Popularity Contest
Dan Fandrich [Thu, 9 Sep 2010 19:38:15 +0000 (12:38 -0700)]
Mention the Debian Popularity Contest

14 years agotest565: Don't hardcode IP:PORT
Tor Arntsen [Thu, 9 Sep 2010 10:26:36 +0000 (12:26 +0200)]
test565: Don't hardcode IP:PORT

Use %HOSTIP:%HTTPPORT instead of 127.0.0.1:8990 so that
verification works if the baseport change option is used
when executing runtests.pl.

14 years agocurl.1: updated protocols and polished language
Daniel Stenberg [Wed, 8 Sep 2010 22:04:55 +0000 (00:04 +0200)]
curl.1: updated protocols and polished language

14 years agoFAQ: CURL_STATICLIB for visual studio users
Daniel Stenberg [Wed, 8 Sep 2010 21:23:19 +0000 (23:23 +0200)]
FAQ: CURL_STATICLIB for visual studio users

Clarified as it isn't used with a -D option for them.

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

14 years agoFAQ: updated and added host with custom IP question
Daniel Stenberg [Tue, 7 Sep 2010 17:05:07 +0000 (19:05 +0200)]
FAQ: updated and added host with custom IP question

Added "3.19 How do I get HTTP from a host using a specific IP address?"
and updated some stuff about certs etc.

14 years agochunky parser: only rewind if needed
Daniel Stenberg [Tue, 7 Sep 2010 16:22:54 +0000 (18:22 +0200)]
chunky parser: only rewind if needed

The code reading chunked encoding attempts to rewind the code if it had
read more data than the chunky parser consumes. The rewinding can fail
and it will then cause an error. This change now makes the rewinding
only happen if pipelining is in use - as that's the only time it really
needs to be done.

Bug: http://curl.haxx.se/mail/lib-2010-08/0297.html
Reported by: Ron Parker

14 years agortsp: avoid SIGSEGV on malformed header
Kamil Dudka [Mon, 6 Sep 2010 14:03:37 +0000 (16:03 +0200)]
rtsp: avoid SIGSEGV on malformed header

14 years agortsp: avoid SIGSEGV on malformed header
Kamil Dudka [Mon, 6 Sep 2010 13:31:01 +0000 (15:31 +0200)]
rtsp: avoid SIGSEGV on malformed header

14 years agowarning: fix conversion to 'int' from 'size_t'
Daniel Stenberg [Sun, 5 Sep 2010 22:18:58 +0000 (00:18 +0200)]
warning: fix conversion to 'int' from 'size_t'

14 years agoportabilty: use proper variable type to hold sockets
Daniel Stenberg [Sun, 5 Sep 2010 22:02:54 +0000 (00:02 +0200)]
portabilty: use proper variable type to hold sockets

Curl_getconnectinfo() is changed to return a proper curl_socket_t for
the last socket so that it'll work more portably (and cause less
compiler warnings).

14 years agoTrial to fix another compiler warning with braces.
Guenter Knauf [Fri, 3 Sep 2010 18:35:34 +0000 (20:35 +0200)]
Trial to fix another compiler warning with braces.

14 years agoUse checkprefix() to compare protocol-specific strings
Dan Fandrich [Fri, 3 Sep 2010 04:12:14 +0000 (21:12 -0700)]
Use checkprefix() to compare protocol-specific strings

Otherwise, there could be problems running in certain locales.

14 years agoMoved S_ISREG define to setup as suggested by Dan.
Guenter Knauf [Thu, 2 Sep 2010 02:37:13 +0000 (04:37 +0200)]
Moved S_ISREG define to setup as suggested by Dan.

14 years agoUse own typedef as workaround for broken sspi.h header (f.e. Watcom).
Guenter Knauf [Wed, 1 Sep 2010 22:38:16 +0000 (00:38 +0200)]
Use own typedef as workaround for broken sspi.h header (f.e. Watcom).

14 years agoAdded some hacks in order to build with VC from git.
Guenter Knauf [Wed, 1 Sep 2010 22:22:41 +0000 (00:22 +0200)]
Added some hacks in order to build with VC from git.

Adam Light posted this patch to the list which enables builds from
git with VC versions other than vc6; also he added a vc10 target.

14 years agoAdded S_ISREG define for Win32.
Guenter Knauf [Wed, 1 Sep 2010 22:07:05 +0000 (00:07 +0200)]
Added S_ISREG define for Win32.

14 years agomulti: fixes for timing out handles
Daniel Stenberg [Wed, 1 Sep 2010 14:52:23 +0000 (16:52 +0200)]
multi: fixes for timing out handles

Add a timeout check for handles in the state machine so that they will
timeout in all states disregarding what actions that may or may not
happen.

Fixed a bug in socket_action introduced recently when looping over timed
out handles: it wouldn't assign the 'data' variable and thus it wouldn't
properly take care of handles.

In the update_timer function, the code now checks if the timeout has
been removed and then it tells the application. Previously it would
always let the remaining timeout(s) just linger to expire later on.

14 years agothreaded resolver: no more expire 0 calls
Daniel Stenberg [Wed, 1 Sep 2010 14:47:42 +0000 (16:47 +0200)]
threaded resolver: no more expire 0 calls

Curl_expire() set to 0 expires ALL timeouts so it should only be called
if we truly and really want to remove all timeouts for the handle.

14 years agoresolve_server: simplify code
Daniel Stenberg [Wed, 1 Sep 2010 14:04:39 +0000 (16:04 +0200)]
resolve_server: simplify code

Make use of the helper function Curl_timeleft() instead of duplicating
code.

14 years agomulti: make sure the next timeout is used when one expires
Daniel Stenberg [Mon, 30 Aug 2010 22:08:45 +0000 (00:08 +0200)]
multi: make sure the next timeout is used when one expires

Each easy handle has a list of timeouts, so as soon as the main timeout
for a handle expires, we must make sure to get the next entry from the
list and re-add the handle to the splay tree.

This was attempted previously but was done poorly in my commit
232ad6549a68450.

14 years agoAdded proxy keyword to allow skipping test in proxyless configs
Dan Fandrich [Mon, 30 Aug 2010 22:07:21 +0000 (15:07 -0700)]
Added proxy keyword to allow skipping test in proxyless configs

14 years agomulti: set timeouts when transfer begins
Daniel Stenberg [Sat, 28 Aug 2010 22:16:34 +0000 (00:16 +0200)]
multi: set timeouts when transfer begins

When a new transfer is about to start we now set the proper timeouts to
expire for the multi interface if they are set for the handle. This is a
follow-up bugfix to make sure that easy handles timeout properly when
the times expire and the multi interface is used. This also improves
curl_multi_timeout().

14 years agoCURLOPT_DIRLISTONLY: don't use with CURLOPT_WILDCARDMATCH
Daniel Stenberg [Sat, 28 Aug 2010 21:07:21 +0000 (23:07 +0200)]
CURLOPT_DIRLISTONLY: don't use with CURLOPT_WILDCARDMATCH

14 years agoFAQ: update list of supported protocols
Daniel Stenberg [Fri, 27 Aug 2010 21:15:45 +0000 (23:15 +0200)]
FAQ: update list of supported protocols

14 years agoIn the m4 detection line, factor out the 2>dev/null
Fabian Keil [Thu, 19 Aug 2010 14:07:03 +0000 (16:07 +0200)]
In the m4 detection line, factor out the 2>dev/null

14 years agoIf m4 doesn't support --version, try if gm4 does.
Fabian Keil [Thu, 19 Aug 2010 14:04:18 +0000 (16:04 +0200)]
If m4 doesn't support --version, try if gm4 does.

14 years agoIf the m4 version isn't recognized at all, just say so
Fabian Keil [Thu, 19 Aug 2010 13:50:32 +0000 (15:50 +0200)]
If the m4 version isn't recognized at all, just say so

'm4 version  found. You need a GNU m4 installed!' is a bit confusing.

14 years agoHISTORY: mention the gopher story
Daniel Stenberg [Wed, 25 Aug 2010 20:57:11 +0000 (22:57 +0200)]
HISTORY: mention the gopher story

14 years agoTweaked some test data files
Dan Fandrich [Wed, 25 Aug 2010 23:43:26 +0000 (16:43 -0700)]
Tweaked some test data files

Fixed some issues that caused xmllint failures, added features
and keywords, fixed some quotes and removed some <strip> sections
that unnecessarily limited test checking.

14 years agoAdded new source files to Symbian and TPF makefiles
Dan Fandrich [Wed, 25 Aug 2010 18:48:57 +0000 (11:48 -0700)]
Added new source files to Symbian and TPF makefiles

14 years agoRELEASE-NOTES: sync from b980c9a02 to HEAD
Daniel Stenberg [Wed, 25 Aug 2010 15:17:12 +0000 (17:17 +0200)]
RELEASE-NOTES: sync from b980c9a02 to HEAD

14 years agoMakefile: add gopher.c file to build
Daniel Stenberg [Wed, 25 Aug 2010 13:56:35 +0000 (15:56 +0200)]
Makefile: add gopher.c file to build

As the VC and RISCOS makefiles don't use the .inc file

14 years agoruntests: fix uninitialized variable warning
Daniel Stenberg [Wed, 25 Aug 2010 13:10:40 +0000 (15:10 +0200)]
runtests: fix uninitialized variable warning

14 years agogopher tests: revert parts of gopher in the pingpong server
Daniel Stenberg [Tue, 24 Aug 2010 22:56:14 +0000 (00:56 +0200)]
gopher tests: revert parts of gopher in the pingpong server

Introduced in the initial gopher commits, there was added logic to do
GOPHER test serving in the pingpong server but as it resembles HTTP much
more than FTP or SMTP, the gopher testing has been moved over to instead
use the sws (HTTP) server. This change simply removes unused code.

14 years agogopher tests: use sws and adjusted to more standard style
Daniel Stenberg [Tue, 24 Aug 2010 22:47:45 +0000 (00:47 +0200)]
gopher tests: use sws and adjusted to more standard style

14 years agosws: added basic gopher support
Daniel Stenberg [Tue, 24 Aug 2010 22:45:52 +0000 (00:45 +0200)]
sws: added basic gopher support

14 years agogopher: enable the header callback/verbosity
Daniel Stenberg [Tue, 24 Aug 2010 22:45:17 +0000 (00:45 +0200)]
gopher: enable the header callback/verbosity

14 years agogopher: fix test case line endings
Daniel Stenberg [Tue, 24 Aug 2010 21:15:59 +0000 (23:15 +0200)]
gopher: fix test case line endings

Patches over email very easily lose CRLF line endings in files otherwise
LF-only so I had to put them back where needed.

14 years agogopher: fix memory leak and busyloop
Daniel Stenberg [Tue, 24 Aug 2010 21:14:00 +0000 (23:14 +0200)]
gopher: fix memory leak and busyloop

The fix for the busyloop really only is a temporary work-around.  It
causes a BLOCKING behavior which is a NO-NO. This function should rather
be split up in a do and a doing piece where the pieces that aren't
possible to send now will be sent in the doing function repeatedly until
the entire request is sent.

14 years agoGopher using Curl_write; test suite (4 tests)
Cameron Kaiser [Mon, 23 Aug 2010 21:30:59 +0000 (14:30 -0700)]
Gopher using Curl_write; test suite (4 tests)

14 years agoRemove url.c test
Cameron Kaiser [Thu, 12 Aug 2010 16:25:43 +0000 (09:25 -0700)]
Remove url.c test

14 years agoForgot gopher.h in Makefile.inc
Cameron Kaiser [Thu, 12 Aug 2010 15:32:00 +0000 (08:32 -0700)]
Forgot gopher.h in Makefile.inc

14 years agoGopher protocol support (initial release)
Cameron Kaiser [Thu, 12 Aug 2010 14:55:48 +0000 (07:55 -0700)]
Gopher protocol support (initial release)

14 years agohttp: handle trailer headers in all chunked responses
Daniel Stenberg [Wed, 25 Aug 2010 11:42:14 +0000 (13:42 +0200)]
http: handle trailer headers in all chunked responses

HTTP allows that a server sends trailing headers after all the chunks
have been sent WITHOUT signalling their presence in the first response
headers. The "Trailer:" header is only a SHOULD there and as we need to
handle the situation even without that header I made libcurl ignore
Trailer: completely.

Test case 1116 was added to verify this and to make sure we handle more
than one trailer header properly.

Reported by: Patrick McManus
Bug: http://curl.haxx.se/bug/view.cgi?id=3052450

14 years agoTODO: we now support RTMP
Daniel Stenberg [Wed, 25 Aug 2010 07:20:08 +0000 (09:20 +0200)]
TODO: we now support RTMP

14 years agoTODO: done "NTLM with other crypto functions"
Daniel Stenberg [Wed, 25 Aug 2010 07:18:46 +0000 (09:18 +0200)]
TODO: done "NTLM with other crypto functions"

Since NTLM was made to work with the NSS API as well, the primary SSL
alternatives will be built with NTLM support in libcurl.

14 years agoTODO: fixed "Make curl_multi_info_read faster"
Daniel Stenberg [Wed, 25 Aug 2010 07:17:09 +0000 (09:17 +0200)]
TODO: fixed "Make curl_multi_info_read faster"

It is really fast now

14 years agoFixed a NULL pointer dereference in form posting
Dan Fandrich [Tue, 24 Aug 2010 23:45:31 +0000 (16:45 -0700)]
Fixed a NULL pointer dereference in form posting

It was introduced in commit eeb2cb05 along with the -F type=
change. Also fixed a typo in the name of the magic filename=
parameter. Tweaked tests 39 and 173 to better test this path.

14 years agomulti: Fix compile warning on 64-bit systems
Ben Greear [Tue, 24 Aug 2010 16:30:26 +0000 (18:30 +0200)]
multi:  Fix compile warning on 64-bit systems

14 years agoMention PolarSSL in tutorial & add some URLs to INSTALL
Dan Fandrich [Mon, 23 Aug 2010 22:07:14 +0000 (15:07 -0700)]
Mention PolarSSL in tutorial & add some URLs to INSTALL

14 years agoRESUME_FROM: clarify what ftp uploads do
Daniel Stenberg [Sun, 22 Aug 2010 22:36:11 +0000 (00:36 +0200)]
RESUME_FROM: clarify what ftp uploads do

The numerical value passed to CURLOPT_RESUME_FROM for FTP uploads is
interpreted and used as position where to resume the _reading_ of the
local file and it will "blindly" append that data on the remote
file. This was certainly not clear in the docs previously.

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

14 years agoCurl_is_connected: use correct errno
Dirk Manske [Fri, 20 Aug 2010 22:29:35 +0000 (00:29 +0200)]
Curl_is_connected: use correct errno

The correctly extracted errno contents were mistakenly overwritten by a newer
value that wasn't the correct error value.

Bug: http://curl.haxx.se/mail/lib-2010-08/0242.html

14 years agocmdline: make -F type= accept ;charset=
Daniel Stenberg [Fri, 20 Aug 2010 22:21:24 +0000 (00:21 +0200)]
cmdline: make -F type= accept ;charset=

The -F option allows some custom parameters within the given string, and
those strings are separated with semicolons. You can for example specify
"name=daniel;type=text/plain" to set content-type for the
field. However, the use of semicolons like that made it not work fine if
you specified one within the content-type, like for:
"name=daniel;type=text/plain;charset=UTF-8"
... as the second one would be seen as a separator and "charset" is no
parameter curl knows anything about so it was just silently discarded.

The new logic now checks if the semicolon and following keyword looks
like a parameter it knows about and if it isn't it is assumed to be
meant to be used within the content-type string itself.

I modified test case 186 to verify that this works as intended.

Reported by: Larry Stone
Bug: http://curl.haxx.se/bug/view.cgi?id=3048988

14 years agoAdded mk-ca-bundle.vbs script.
Guenter Knauf [Fri, 20 Aug 2010 01:02:49 +0000 (03:02 +0200)]
Added mk-ca-bundle.vbs script.

The script works exactly same as the Perl one except for one thing:
when the text descriptions generated with openssl are included then
the md5 fingerprints are missing; seems openssl has either a bug or
a feature which prints the md5 fingerprint output to stdout instead
of writing them to specified file; this script could here do the same
as what the Perl scripr does (redirect stdout into file) but this
makes the script take up double the time because it needs to launch
cmd.exe 140 times (fo each openssl call). So I think for now we just
ommit the md5 fingerprints, and see if openssl will be fixed.

14 years agoTrial to fix win32 autobuilds.
Guenter Knauf [Fri, 20 Aug 2010 00:33:29 +0000 (02:33 +0200)]
Trial to fix win32 autobuilds.

It seems that its time to look at some better ideas for the win32
non-configure builds; probably a prebuild target which copies
config-win32.h to curl_config.h and appends also then feature
defines like USE_ARES.

14 years agoUse the S_ISREG macro to determine what is a regular file
Dan Fandrich [Thu, 19 Aug 2010 18:45:54 +0000 (11:45 -0700)]
Use the S_ISREG macro to determine what is a regular file

14 years agoAC_INIT: avoid a warning with autoconf 2.66
Kamil Dudka [Thu, 19 Aug 2010 14:38:22 +0000 (16:38 +0200)]
AC_INIT: avoid a warning with autoconf 2.66

It was complaining about the '=>' operator, introduced in e3fc0d5.

14 years agoFixed a memory leak during OOM in the multi timeout code
Dan Fandrich [Thu, 19 Aug 2010 06:08:18 +0000 (23:08 -0700)]
Fixed a memory leak during OOM in the multi timeout code

14 years agoRemoved a C99ism & made an array const
Dan Fandrich [Thu, 19 Aug 2010 05:16:46 +0000 (22:16 -0700)]
Removed a C99ism & made an array const

14 years agotest: added test 579 to verify progress callback for chunked post
Julien Chaffraix [Wed, 18 Aug 2010 22:27:04 +0000 (00:27 +0200)]
test: added test 579 to verify progress callback for chunked post

The 66 bytes checked are those 38 bytes with the chunked encoding
headers added: 8+8+10+35+5 = 66

The three-letter words become 8 bytes on the wire because they are sent
like: "3\r\none\r\n"

... and there's the trailing 5 bytes write after the four lines since
the final chunk is sent (which is "0\r\n\r\n").

14 years agomulti: avoid sending multiple complete messages
Daniel Stenberg [Wed, 18 Aug 2010 17:59:46 +0000 (19:59 +0200)]
multi: avoid sending multiple complete messages

I fell over this bug report that mentioned that libcurl could wrongly
send more than one complete messages at the end of a transfer. Reading
the code confirmed this, so I've added a new multi state to make it not
happen. The mentioned bug report was made by Brad Jorsch but is (oddly
enough) filed in Debian's bug tracker for the "wmweather+" tool.

Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=593390

14 years agoFAQ: update the list of supported protocols
Daniel Stenberg [Wed, 18 Aug 2010 17:43:06 +0000 (19:43 +0200)]
FAQ: update the list of supported protocols

14 years agoFAQ: added blurb about ECCN
Daniel Stenberg [Wed, 18 Aug 2010 14:54:11 +0000 (16:54 +0200)]
FAQ: added blurb about ECCN

"1.13 curl's ECCN number" is a new section mostly made up from
Alessandro Vesely's very informative ML post on the subject:
http://curl.haxx.se/mail/lib-2008-03/0251.html

14 years agoIt is sufficient to pipe stderr to NUL to get rid of the nasty messages.
Guenter Knauf [Wed, 18 Aug 2010 14:08:20 +0000 (16:08 +0200)]
It is sufficient to pipe stderr to NUL to get rid of the nasty messages.

14 years agoAdded SSPI build to Watcom makefile.
Guenter Knauf [Wed, 18 Aug 2010 13:16:10 +0000 (15:16 +0200)]
Added SSPI build to Watcom makefile.

14 years agoprogress: callback for POSTs less than MAX_INITIAL_POST_SIZE
Julien Chaffraix [Mon, 16 Aug 2010 20:54:19 +0000 (22:54 +0200)]
progress: callback for POSTs less than MAX_INITIAL_POST_SIZE

Add a call to Curl_pgrsSetUploadSize in this case valided by a test
case.

Reported by: Никита Дорохин.
Bug: http://curl.haxx.se/mail/lib-2010-04/0173.html

14 years agoMake the LD_PRELOAD path absolute in the tests that use it
Dan Fandrich [Mon, 16 Aug 2010 20:36:04 +0000 (13:36 -0700)]
Make the LD_PRELOAD path absolute in the tests that use it

In some situations, libtool will change directories and perform
a link step before executing the libtest test app. Since
LD_PRELOAD is in effect for this entire process, the path to the
binary must be absolute so it will be valid no matter in which
directory the app is running.

14 years agonegotiation: Wrong proxy authorization
Daniel Stenberg [Mon, 16 Aug 2010 20:19:38 +0000 (22:19 +0200)]
negotiation: Wrong proxy authorization

There's an error in http_negotiation.c where a mistake is using only
userpwd even for proxy requests. Ludek provided a patch, but I decided
to write the fix slightly different using his patch as inspiration.

Reported by: Ludek Finstrle
Bug: http://curl.haxx.se/bug/view.cgi?id=3046066