Yang Tse [Sun, 27 Jul 2008 01:36:33 +0000 (01:36 +0000)]
Another step towards detecting if _REENTRANT is already defined or actually
needed, and being able to define it if appropriate for further configure tests
as well as for the generated config file.
Daniel Stenberg [Sat, 26 Jul 2008 21:15:47 +0000 (21:15 +0000)]
- David Bau filed bug report #2026240 "CURL_READFUNC_PAUSE leads to buffer
overrun" (http://curl.haxx.se/bug/view.cgi?id=2026240) identifying two
problems, and providing the fix for them:
- CURL_READFUNC_PAUSE did in fact not pause the _sending_ of data that it is
designed for but paused _receiving_ of data!
- libcurl didn't internally set the read counter to zero when this return
code was detected, which would potentially lead to junk getting sent to
the server.
Yang Tse [Sat, 26 Jul 2008 00:19:03 +0000 (00:19 +0000)]
No longer hide aclocal 'underquoted definition' warnings.
http://sources.redhat.com/automake/automake.html#Extending-aclocal documents
that starting with Automake 1.8, aclocal will warn about all underquoted calls
to AC_DEFUN due to the fact that in a single aclocal run it might include more
than once all .m4 files which it finds available, this includes .m4 files from
other software packages.
If the first argument to AC_DEFUN is underquoted and the same macro is included
more than once, successive inclusions after the first one will expand the macro
instead of assuming it is the same as the first one included.
Yang Tse [Thu, 24 Jul 2008 15:20:35 +0000 (15:20 +0000)]
Another step towards detecting if _REENTRANT is already defined or actually
needed, and being able to define it if appropriate for further configure tests
as well as for the generated config file.
Introduced reentrant.m4 intended for our reentrant related autotools/m4 macros.
Dan Fandrich [Wed, 23 Jul 2008 22:02:03 +0000 (22:02 +0000)]
Eliminated references to TRUE and FALSE since those identifiers aren't
defined by the libcurl API. Also changed curl_easy_setopt examples to
pass longs where appropriate.
Daniel Stenberg [Wed, 23 Jul 2008 20:53:04 +0000 (20:53 +0000)]
- I went over the curl_easy_setopt man page and replaced most references to
non-zero with the fixed value of 1. We should strive at making options
support '1' for enabling them mentioned explicitly, as that then will allow
us for to extend them in the future without breaking older programs.
Yang Tse [Mon, 21 Jul 2008 18:24:32 +0000 (18:24 +0000)]
Change recvfrom's sixth argument data type to the 'historically standard' 'int'
data type for systems where this sixth argument is prototyped as a void pointer.
Start of thread: http://curl.haxx.se/mail/lib-2008-07/0153.html
Yang Tse [Mon, 21 Jul 2008 00:36:55 +0000 (00:36 +0000)]
when recvfrom prototype uses a void pointer for arguments 2, 5 or 6 this will
now cause the definition of RECVFROM_TYPE_ARG2_IS_VOID, RECVFROM_TYPE_ARG5_IS_VOID
or RECVFROM_TYPE_ARG6_IS_VOID, as appropriate.
Yang Tse [Sun, 20 Jul 2008 09:46:52 +0000 (09:46 +0000)]
Added "pointer to void" as another data type to check for the sixth argument of
function recvfrom as a result of the info additionally logged when running on a
Solaris system.
The compiler error showed that the prototype being used on Solaris was the one
declared in line 427 of "/usr/include/sys/socket.h" as:
function(int,
pointer to void,
unsigned int,
int,
pointer to struct sockaddr,
pointer to void) returning int
Yang Tse [Thu, 17 Jul 2008 03:07:54 +0000 (03:07 +0000)]
RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
to the data type pointed by its respective argument and not the pointer type.
Yang Tse [Wed, 16 Jul 2008 19:16:41 +0000 (19:16 +0000)]
Configure process now checks availability of recvfrom() socket function and
finds out its return type and the types of its arguments. Added definitions
for non-configure systems config files, and introduced macro sreadfrom which
will be used on udp sockets as a recvfrom() wrapper.
Yang Tse [Tue, 15 Jul 2008 16:43:39 +0000 (16:43 +0000)]
Allow --enable-largefile and --disable-largefile configurations.
Configure process no longer needs nor checks size of curl_off_t.
Library will now be built with _REENTRANT symbol defined.
Yang Tse [Mon, 14 Jul 2008 12:39:50 +0000 (12:39 +0000)]
HTTP_ONLY definition check in lib/setup.h is now done once that configuration
file has been included. In this way if symbol is defined in the config file
it will no longer be ignored.
Daniel Stenberg [Fri, 11 Jul 2008 09:08:27 +0000 (09:08 +0000)]
- Daniel Fandrich found out we didn't pass on the user-agent properly when
doing "proxy-tunnels" with non-HTTP prototols and that was simply because
the code assumed the user-agent was only needed for HTTP.
Dan Fandrich [Fri, 11 Jul 2008 04:38:11 +0000 (04:38 +0000)]
Changed slightly the SFTP quote commands chmod, chown and chgrp to only
set the attribute that has changed instead of all possible ones. Hopefully,
this will solve the "Permission denied" problem that Nagarajan Sreenivasan
reported when setting some modes, but regardless, it saves a protocol
round trip in the chmod case.
Daniel Stenberg [Thu, 10 Jul 2008 22:24:11 +0000 (22:24 +0000)]
(Added in the section for CURLOPT_DNS_CACHE_TIMEOUT, pointed out on the
curl-library list on July 9th 2008 by Mathew Hounsell)
NOTE: the name resolve functions of various libc implementations don't re-read
name server information unless explicitly told so (by for example calling
Ires_init(3). This may cause libcurl to keep using the older server even
if DHCP has updated the server info, and this may look like a DNS cache issue
to the casual libcurl-app user.
Yang Tse [Thu, 10 Jul 2008 18:01:44 +0000 (18:01 +0000)]
Peter Lamberg filed bug report #2015126: "poll gives WSAEINVAL when POLLPRI
is set in fdset.events" (http://curl.haxx.se/bug/view.cgi?id=2015126) which
exactly pinpointed the problem only triggered on Windows Vista, provided
reference to docs and also a fix. There is much work behind Peter Lamberg's
excellent bug report. Thank You!
Daniel Stenberg [Wed, 9 Jul 2008 18:39:49 +0000 (18:39 +0000)]
- Andreas Schuldei improved Phil Blundell's patch for IPv6 using c-ares, and I
edited it slightly. Now you should be able to use IPv6 addresses fine even
with libcurl built to use c-ares.
Daniel Stenberg [Mon, 7 Jul 2008 20:37:07 +0000 (20:37 +0000)]
- Scott Barrett provided a test case for a segfault in the FTP code and the
fix for it. It occured when you did a FTP transfer using
CURLFTPMETHOD_SINGLECWD and then did another one on the same easy handle but
switched to CURLFTPMETHOD_NOCWD. Due to the "dir depth" variable not being
cleared properly. Scott's test case is now known as test 539 and it
verifies the fix.
Daniel Stenberg [Thu, 3 Jul 2008 11:32:35 +0000 (11:32 +0000)]
- Phil Blundell: If you ask ares_gethostbyname() to do an AF_INET6 lookup and
the target host has only A records, it automatically falls back to an
AF_INET lookup and gives you the A results. However, if the target host has
a CNAME record, this behaviour is defeated since the original query does
return some data even though ares_parse_aaa_reply() doesn't consider it
relevant. Here's a small patch to make it behave the same with and without
the CNAME.
Daniel Stenberg [Thu, 3 Jul 2008 08:47:53 +0000 (08:47 +0000)]
Phil Blundell provided a fix for libcurl's treatment of unexpected 1xx
response codes. Previously libcurl would hang on such occurances. I added
test case 1033 to verify.
Daniel Stenberg [Thu, 3 Jul 2008 06:56:03 +0000 (06:56 +0000)]
Introcuding a new timestamp for curl_easy_getinfo():
CURLINFO_APPCONNECT_TIME. This is set with the "application layer"
handshake/connection is completed (typically SSL, TLS or SSH). By using this
you can figure out the application layer's own connect time. You can extract
the time stamp using curl's -w option and the new variable named
'time_appconnect'. This feature was sponsored by Lenny Rachitsky at NeuStar.
Daniel Stenberg [Tue, 1 Jul 2008 21:53:18 +0000 (21:53 +0000)]
CreateConnection collided with a function using the exact same name in the
INTEGRITY RTOS, so I renamed it to create_conn. It then made sense to also
rename SetupConnection to setup_conn to match it.
Daniel Stenberg [Mon, 30 Jun 2008 13:07:05 +0000 (13:07 +0000)]
- Stephen Collyer and Tor Arntsen helped identify a flaw in the range code
which output the range using a signed variable where it should rather use
unsigned.