Commit Graph

13300 Commits

Author SHA1 Message Date
Hendrik Visage 70a025f3df 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
2010-09-21 00:07:45 +02:00
Daniel Stenberg 95e230c591 RELEASE-NOTES: synced with 5fcc4332d6
Removed the duplicate entry of Kamil in the credits.
2010-09-21 00:02:10 +02:00
Daniel Stenberg 5fcc4332d6 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.
2010-09-20 23:56:51 +02:00
Daniel Stenberg 7d84113e1d TODO: added 8.4 non-gcrypt under GnuTLS
We must not assume gcrypt just because of GnuTLS
2010-09-20 23:19:51 +02:00
Daniel Stenberg f3df524b62 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
2010-09-20 23:19:07 +02:00
Daniel Stenberg c47148f142 RELEASE-NOTES: sync from d2a7fd2fe6 to HEAD 2010-09-18 23:16:07 +02:00
Daniel Stenberg 8a00c94b0f 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.
2010-09-18 23:08:32 +02:00
Daniel Stenberg 9de4b26643 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.
2010-09-18 22:50:04 +02:00
Tor Arntsen 3208757c1a 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.
2010-09-18 14:27:08 +02:00
Tor Arntsen fae19aed8d LDAP: Add missing declaration for 'result' 2010-09-18 14:23:34 +02:00
Mauro Iorio c59dba338e 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.
2010-09-18 00:03:23 +02:00
Daniel Stenberg a76f852ca4 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
2010-09-17 23:02:33 +02:00
Daniel Stenberg 3880dd3741 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
2010-09-17 22:58:08 +02:00
Daniel Stenberg d8041a7ea5 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
2010-09-16 23:32:24 +02:00
Daniel Stenberg abde4c9d84 remote-header-name: don't output filename when NULL 2010-09-16 23:27:03 +02:00
James Bursa 6d88d58dd5 TheArtOfHttpScripting: use long options 2010-09-15 16:43:48 +02:00
James Bursa fbefd816e4 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.
2010-09-14 22:52:04 +02:00
Daniel Stenberg 296b246b9c 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.
2010-09-14 22:40:05 +02:00
Peter Pentchev 5393f08df8 Fix a bashism: test a = b is more portable than ==. 2010-09-12 23:11:47 +02:00
Daniel Stenberg b5da54e6c9 glob_word: remove a check that is always false 2010-09-12 16:37:55 +02:00
Daniel Stenberg 22085f7d6e inflate_stream: remove redundant check that is always true 2010-09-12 16:34:16 +02:00
Daniel Stenberg 2c1b4e74e4 digest: make it clear the condition is always true 2010-09-12 16:29:05 +02:00
Daniel Stenberg aca67e2775 ssluse: removed redundant check that is always true 2010-09-12 16:29:04 +02:00
Dan Fandrich 8e2f16e66f 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
2010-09-11 17:08:23 -07:00
Dan Fandrich a7f6747019 Mention the Debian Popularity Contest 2010-09-09 12:38:15 -07:00
Tor Arntsen c3c4626fab 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.
2010-09-09 12:42:28 +02:00
Daniel Stenberg 9808480860 curl.1: updated protocols and polished language 2010-09-09 00:04:55 +02:00
Daniel Stenberg 6ce76e6996 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
2010-09-08 23:23:19 +02:00
Daniel Stenberg 64f12a3b9f 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.
2010-09-07 19:06:10 +02:00
Daniel Stenberg 18a758d907 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
2010-09-07 18:29:03 +02:00
Kamil Dudka 7aea2d522d rtsp: avoid SIGSEGV on malformed header 2010-09-06 16:03:37 +02:00
Kamil Dudka f3e3f5f1b2 rtsp: avoid SIGSEGV on malformed header 2010-09-06 15:31:01 +02:00
Daniel Stenberg 62ef465262 warning: fix conversion to 'int' from 'size_t' 2010-09-06 00:18:58 +02:00
Daniel Stenberg c6fa1952a1 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).
2010-09-06 00:02:54 +02:00
Guenter Knauf d47bd396ce Trial to fix another compiler warning with braces. 2010-09-03 20:35:34 +02:00
Dan Fandrich 6882ae8dee Use checkprefix() to compare protocol-specific strings
Otherwise, there could be problems running in certain locales.
2010-09-02 21:12:14 -07:00
Guenter Knauf a00297158e Moved S_ISREG define to setup as suggested by Dan. 2010-09-02 04:37:13 +02:00
Guenter Knauf 413cbdce3c Use own typedef as workaround for broken sspi.h header (f.e. Watcom). 2010-09-02 00:38:16 +02:00
Guenter Knauf 864d5add0d 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.
2010-09-02 00:22:41 +02:00
Guenter Knauf 3238ef5b69 Added S_ISREG define for Win32. 2010-09-02 00:07:05 +02:00
Daniel Stenberg ca10e28f06 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.
2010-09-01 16:52:23 +02:00
Daniel Stenberg 5e92015711 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.
2010-09-01 16:47:42 +02:00
Daniel Stenberg ce00c2ef5d resolve_server: simplify code
Make use of the helper function Curl_timeleft() instead of duplicating
code.
2010-09-01 16:04:39 +02:00
Daniel Stenberg 0db9140747 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
232ad6549a.
2010-08-31 00:10:44 +02:00
Dan Fandrich 55c266de6d Added proxy keyword to allow skipping test in proxyless configs 2010-08-30 15:07:21 -07:00
Daniel Stenberg 3af696f7c4 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().
2010-08-29 00:16:34 +02:00
Daniel Stenberg 09cee1633b CURLOPT_DIRLISTONLY: don't use with CURLOPT_WILDCARDMATCH 2010-08-28 23:07:21 +02:00
Daniel Stenberg 8d121b6f8f FAQ: update list of supported protocols 2010-08-28 22:51:22 +02:00
Fabian Keil 892d6930e7 In the m4 detection line, factor out the 2>dev/null 2010-08-28 22:51:22 +02:00
Fabian Keil 200e9b5dd1 If m4 doesn't support --version, try if gm4 does. 2010-08-28 22:51:22 +02:00