Daniel Stenberg [Fri, 2 Mar 2007 22:42:43 +0000 (22:42 +0000)]
- Robert A. Monat and Shmulik Regev helped out to fix the new */Makefile.vc8
makefiles that are included in the source release archives, generated from
the Makefile.vc6 files by the maketgz script. I also modified the root
Makefile to have a VC variable that defaults to vc6 but can be overridden to
allow it to be used for vc8 as well. Like this:
Yang Tse [Thu, 1 Mar 2007 12:02:17 +0000 (12:02 +0000)]
Do not remove CURLM_STATE_WAITPROXYCONNECT from the CURLMstate enum
in builds with HTTP support disabled to keep consistent enum values
for CURLMstate in all kind of builds.
Daniel Stenberg [Tue, 27 Feb 2007 22:12:15 +0000 (22:12 +0000)]
- Hang Kin Lau found and fixed: When I use libcurl to connect to an https
server through a proxy and have the remote https server port set using the
CURLOPT_PORT option, protocol gets reset to http from https after the first
request.
User defined URL was modified internally by libcurl and subsequent reuse of
the easy handle may lead to connection using a different protocol (if not
originally http).
I found that libcurl hardcoded the protocol to "http" when it tries to
regenerate the URL if CURLOPT_PORT is set. I tried to fix the problem as
follows and it's working fine so far
Daniel Stenberg [Tue, 27 Feb 2007 12:44:14 +0000 (12:44 +0000)]
Somewhat updated, changes include: I tried to be more agnostic about the
specific SSL library that might be used, and I cut out the closepolicy stuff
that we no longer support
Daniel Stenberg [Sun, 25 Feb 2007 11:38:13 +0000 (11:38 +0000)]
- Adam D. Moss made the HTTP CONNECT procedure less blocking when used from
the multi interface. Note that it still does a part of the connection in a
blocking manner.
Daniel Stenberg [Fri, 23 Feb 2007 09:48:01 +0000 (09:48 +0000)]
- Added warning outputs if the command line uses more than one of the options
-v, --trace and --trace-ascii, since it could really confuse the user.
Clarified this fact in the man page.
Yang Tse [Thu, 22 Feb 2007 02:51:54 +0000 (02:51 +0000)]
Check for stdbool.h at configuration stage, and include it if available.
Check for lowercase 'bool' type at configuration stage. If not available
provide a suitable replacement with a type definition of 'unsigned char'
in setup_once.h
Move definitions of TRUE and FALSE to setup_once.h
Daniel Stenberg [Wed, 21 Feb 2007 21:59:40 +0000 (21:59 +0000)]
- Ravi Pratap provided work on libcurl making pipelining more robust and
fixing some bugs:
o Don't mix GET and POST requests in a pipeline
o Fix the order in which requests are dispatched from the pipeline
o Fixed several curl bugs with pipelining when the server is returning
chunked encoding:
* Added states to chunked parsing for final CRLF
* Rewind buffer after parsing chunk with data remaining
* Moved chunked header initializing to a spot just before receiving
headers
Yang Tse [Tue, 20 Feb 2007 12:13:14 +0000 (12:13 +0000)]
curl tool was using functions curlx_tvnow and curlx_tvdiff which are not
part of the official libcurl API http://curl.haxx.se/lxr/source/lib/README.curlx
The documented way of using them would be to use timeval.c as a source code file.
The above described method works very well when statically linking libcurl and
apps, curl tool, but has several drawbacks when you build a true shared
libcurl (i.e. Name space clash at linkage stage as functions are defined more
than once. Windows makefiles are not capable of handling this system of
source-level sharing)
So...
Now curlutil.h and curlutil.c define and implement cutil_tvnow and cutil_tvdiff
which replace curlx_tvnow and curlx_tvdiff for the curl tool. Doing this we
avoid the above described problems.
Yang Tse [Mon, 19 Feb 2007 19:41:48 +0000 (19:41 +0000)]
Show libcurl's timestamp. This timestamp is only available in curlver.h
for tarball-based tests and builds, the maketgz script inserts it when
the tarball is created. For CVS-based tests and builds the timestamp we
show is the current UTC build time as it is the CVS version timestamp.
In this way, all builds will have a valid source code timestamp which
isn't related to the moment the tests and build is performed, with the
exception of CVS-based ones which have the same "date" and "timestamp"
Daniel Stenberg [Sun, 18 Feb 2007 23:02:42 +0000 (23:02 +0000)]
- Jeff Pohlmeyer identified two problems: first a rather obscure problem with
the multi interface and connection re-use that could make a
curl_multi_remove_handle() ruin a pointer in another handle.
The second problem was less of an actual problem but more of minor quirk:
the re-using of connections wasn't properly checking if the connection was
marked for closure.
Dan Fandrich [Sat, 17 Feb 2007 01:29:01 +0000 (01:29 +0000)]
Better separate the library dependencies into those required by libcurl
and those required by other components to avoid forcing unneeded
dependencies into the target objects.
Yang Tse [Thu, 15 Feb 2007 16:23:24 +0000 (16:23 +0000)]
introduce uppercase macros SOCKERRNO, SET_SOCKERRNO(), ERRNO and SET_ERRNO()
making them available to any source code file which includes "setup.h".
Macro SOCKERRNO / SET_SOCKERRNO() returns / sets the *socket-related* errno
(or equivalent) on this platform to hide platform details to code using it.
Macro ERRNO / SET_ERRNO() returns / sets the NOT *socket-related* errno
(or equivalent) on this platform to hide platform details to code using it.
Yang Tse [Thu, 15 Feb 2007 14:02:32 +0000 (14:02 +0000)]
icc 9.0 when compiling its generated code for its own FD_SET,
FD_ISSET, and FD_ZERO macros emits warnings #1469 and #593.
So for icc 9.0 we also ignore warnings #1469 and #593.
* 593 warns on "variable __d0 was set but never used"
* 1469 warns on "cc clobber ignored"