Daniel Stenberg [Sat, 12 Dec 2009 22:17:51 +0000 (22:17 +0000)]
split out more protocol-specific structs from urldata.h into their own
protocol-specific header files
Daniel Stenberg [Sat, 12 Dec 2009 22:05:11 +0000 (22:05 +0000)]
IMAP, POP3 and SMTP support
Daniel Stenberg [Sat, 12 Dec 2009 21:54:01 +0000 (21:54 +0000)]
introducing IMAP, POP3 and SMTP support (still lots of polish left to do)
Yang Tse [Fri, 11 Dec 2009 18:41:29 +0000 (18:41 +0000)]
Prevent rewinding unless pipelining.
See http://curl.haxx.se/mail/lib-2009-12/0107.html
Yang Tse [Fri, 11 Dec 2009 02:14:11 +0000 (02:14 +0000)]
Removed function prototype without implementation
Daniel Stenberg [Thu, 10 Dec 2009 21:02:11 +0000 (21:02 +0000)]
- Siegfried Gyuricsko found out that the curl manual said --retry would retry
on FTP errors in the transient 5xx range. Transient FTP errors are in the
4xx range. The code itself only tried on 5xx errors that occured _at login_.
Now the retry code retries on all FTP transfer failures that ended with a
4xx response.
(http://curl.haxx.se/bug/view.cgi?id=2911279)
Daniel Stenberg [Thu, 10 Dec 2009 20:26:44 +0000 (20:26 +0000)]
argh, use the correct bug id
Daniel Stenberg [Thu, 10 Dec 2009 20:20:15 +0000 (20:20 +0000)]
- Constantine Sapuntzakis figured out a case which would lead to libcurl
accessing alredy freed memory and thus crash when using HTTPS (with
OpenSSL), multi interface and the CURLOPT_DEBUGFUNCTION and a certain order
of cleaning things up. I fixed it.
(http://curl.haxx.se/bug/view.cgi?id=2891591)
Daniel Stenberg [Thu, 10 Dec 2009 20:19:56 +0000 (20:19 +0000)]
minor indent change
Yang Tse [Thu, 10 Dec 2009 16:46:21 +0000 (16:46 +0000)]
- Fixed curl erroneously reporting output stream write failures with disabled buffering
Yang Tse [Wed, 9 Dec 2009 18:41:43 +0000 (18:41 +0000)]
signal handling to cleanup on SIGINT and SIGTERM, followup
Daniel Stenberg [Mon, 7 Dec 2009 20:25:17 +0000 (20:25 +0000)]
- Martin Storsjo made libcurl use the Expect: 100-continue header for posts
with unknown size. Previously it was only used for posts with a known size
larger than 1024 bytes.
Daniel Stenberg [Fri, 4 Dec 2009 21:52:58 +0000 (21:52 +0000)]
74. The HTTP spec allows headers to be merged and become comma-separated
instead of being repeated several times. This also include Authenticate: and
Proxy-Authenticate: headers and while this hardly every happens in real life
it will confuse libcurl which does not properly support it for all headers -
like those Authenticate headers.
Yang Tse [Thu, 3 Dec 2009 20:37:49 +0000 (20:37 +0000)]
Fix 'uploaded' file descriptor leak
Yang Tse [Thu, 3 Dec 2009 13:12:04 +0000 (13:12 +0000)]
signal handling to cleanup on SIGINT and SIGTERM
Kamil Dudka [Wed, 2 Dec 2009 17:24:38 +0000 (17:24 +0000)]
lib/nss.c: avoid use of uninitialized value
Yang Tse [Wed, 2 Dec 2009 15:02:30 +0000 (15:02 +0000)]
signal handling to cleanup on SIGINT and SIGTERM
Yang Tse [Tue, 1 Dec 2009 15:36:34 +0000 (15:36 +0000)]
Set socket option SO_REUSEADDR=true on stunnel accept'ing port
Daniel Stenberg [Tue, 1 Dec 2009 12:04:54 +0000 (12:04 +0000)]
- If the Expect: 100-continue header has been set by the application through
curl_easy_setopt with CURLOPT_HTTPHEADER, the library should set
data->state.expect100header accordingly - the current code (in 7.19.7 at
least) doesn't handle this properly. Martin Storsjo provided the fix!
Daniel Stenberg [Mon, 30 Nov 2009 22:39:04 +0000 (22:39 +0000)]
start working on 1.7.1
Yang Tse [Mon, 30 Nov 2009 13:48:51 +0000 (13:48 +0000)]
- In order to better reflect that the returned pid is extracted from the
given file, serverpid sub is renamed to pidfromfile. In addition it is
enhanced to make sure that it always returns zero unless a numerical
positive value is returned.
- To better reflect that only process existance is actually checked,
checkserver sub is renamed to processexists. In addition it is enhanced
making it remove the given pid file when the extracted pid is no longer
alive.
Daniel Stenberg [Sun, 29 Nov 2009 23:14:56 +0000 (23:14 +0000)]
#71 "TFTP block size / better integration in transfer" is now expected to
have been fixed!
Daniel Stenberg [Sun, 29 Nov 2009 19:12:00 +0000 (19:12 +0000)]
a binding for Falcon
Yang Tse [Sat, 28 Nov 2009 10:01:21 +0000 (10:01 +0000)]
- Added Diffie-Hellman parameters to several test harness certificate files in
PEM format. Required by several stunnel versions used by our test harness.
Yang Tse [Sat, 28 Nov 2009 05:06:19 +0000 (05:06 +0000)]
Use different log files for each protocol
Yang Tse [Sat, 28 Nov 2009 04:34:46 +0000 (04:34 +0000)]
s/socklen_t/curl_socklen_t/g
Yang Tse [Sat, 28 Nov 2009 03:00:32 +0000 (03:00 +0000)]
Fix compiler warning: unused variable `data'
Daniel Stenberg [Fri, 27 Nov 2009 23:53:50 +0000 (23:53 +0000)]
7.20.0 is the planned next version number
Daniel Stenberg [Fri, 27 Nov 2009 23:51:05 +0000 (23:51 +0000)]
document --tftp-blksize
Daniel Stenberg [Fri, 27 Nov 2009 23:46:29 +0000 (23:46 +0000)]
- Markus Koetter provided a polished and updated version of Chad Monroe's TFTP
rework patch that now integrates TFTP properly into libcurl so that it can
be used non-blocking with the multi interface and more. BLKSIZE also works.
The --tftp-blksize option was added to allow setting the TFTP BLKSIZE from
the command line.
Yang Tse [Fri, 27 Nov 2009 19:52:56 +0000 (19:52 +0000)]
Attempt to enhance stunnel 3.X logging
Yang Tse [Fri, 27 Nov 2009 13:01:10 +0000 (13:01 +0000)]
Prevent running stunnel unless its version can be determined.
Yang Tse [Fri, 27 Nov 2009 12:01:25 +0000 (12:01 +0000)]
Log sws IPv version, port and pid when exiting due to SIGINT or SIGTERM.
Yang Tse [Fri, 27 Nov 2009 12:00:53 +0000 (12:00 +0000)]
To allow remote log inspection avoid redirecting messages to stderr.
Set 0600 file permissions on certificate pem files.
Yang Tse [Fri, 27 Nov 2009 05:24:44 +0000 (05:24 +0000)]
Preserve empty line following last target
Yang Tse [Thu, 26 Nov 2009 22:07:47 +0000 (22:07 +0000)]
Log info for start up failures.
Daniel Stenberg [Thu, 26 Nov 2009 19:07:54 +0000 (19:07 +0000)]
- Extended and fixed the change I did on Dec 11 for the the progress
meter/callback during FTP command/response sequences. It turned out it was
really lame before and now the progress meter SHOULD get called at least
once per second.
Yang Tse [Thu, 26 Nov 2009 10:15:08 +0000 (10:15 +0000)]
Only attempt to clear the server-logs lock when previously set by this same server.
Yang Tse [Thu, 26 Nov 2009 04:38:29 +0000 (04:38 +0000)]
signal handling to cleanup on SIGINT and SIGTERM
Yang Tse [Thu, 26 Nov 2009 01:21:21 +0000 (01:21 +0000)]
- Larry Lansing fixed ares_parse_srv_reply to properly parse replies
which might contain non-SRV answers, skipping over potential non-SRV
ones such as CNAMEs.
Yang Tse [Tue, 24 Nov 2009 16:12:22 +0000 (16:12 +0000)]
When using icc, compile with -fpic and link with intel dynamic libraries.
Daniel Stenberg [Tue, 24 Nov 2009 10:10:59 +0000 (10:10 +0000)]
clarify what a modern version of libcurl means
Yang Tse [Tue, 24 Nov 2009 10:08:45 +0000 (10:08 +0000)]
Added 'currently' in italics to insist on transient situation.
Yang Tse [Tue, 24 Nov 2009 09:48:32 +0000 (09:48 +0000)]
Fix language
Daniel Stenberg [Tue, 24 Nov 2009 07:40:43 +0000 (07:40 +0000)]
refreshed
Yang Tse [Mon, 23 Nov 2009 16:48:31 +0000 (16:48 +0000)]
- David Byron modified Makefile.dist vc8 and vc9 targets in order to allow
finer granularity control when generating src and lib makefiles.
Yang Tse [Mon, 23 Nov 2009 16:11:50 +0000 (16:11 +0000)]
Enhance some debug messages for initialization failures.
Fix compiler warning: conditional expression is constant.
Daniel Stenberg [Mon, 23 Nov 2009 13:56:45 +0000 (13:56 +0000)]
- Bjorn Augustsson reported a bug which made curl not report any problems even
though it failed to write a very small download to disk (done in a single
fwrite call). It turned out to be because fwrite() returned success, but
there was insufficient error-checking for the fclose() call which tricked
curl to believe things were fine.
Yang Tse [Mon, 23 Nov 2009 12:03:32 +0000 (12:03 +0000)]
Daniel wants upcoming release to be 1.7.0
Yang Tse [Mon, 23 Nov 2009 11:35:53 +0000 (11:35 +0000)]
Mention last changes
Yang Tse [Mon, 23 Nov 2009 11:26:29 +0000 (11:26 +0000)]
- Removed from external interface preprocessor symbol definition for
CARES_HAVE_ARES_FREE_DATA. Current functionality of ares_free_data()
makes it unnecessary.
Yang Tse [Mon, 23 Nov 2009 11:07:16 +0000 (11:07 +0000)]
Added README.msvc
Yang Tse [Mon, 23 Nov 2009 11:05:47 +0000 (11:05 +0000)]
Changed c-ares naming conventions when using MSVC as described in README.msvc
Daniel Stenberg [Mon, 23 Nov 2009 09:31:55 +0000 (09:31 +0000)]
fixed CURLOPT_TFTP_BLKSIZE typo
Yang Tse [Mon, 23 Nov 2009 01:54:55 +0000 (01:54 +0000)]
- Mention other recent changes
Yang Tse [Mon, 23 Nov 2009 01:24:17 +0000 (01:24 +0000)]
- Jakub Hrozek renamed addrttl and addr6ttl structs to ares_addrttl and
ares_addr6ttl in order to prevent name space pollution, along with
necessary changes to code base and man pages.This change does not break
ABI, there is no need to recompile existing applications. But existing
applications using these structs with the old name will need source code
adjustments when recompiled using c-ares 1.6.1.
Yang Tse [Mon, 23 Nov 2009 00:57:50 +0000 (00:57 +0000)]
- Jakub Hrozek fixed more function prototypes in man pages to sync them
with the ones declared in ares.h
Yang Tse [Sun, 22 Nov 2009 05:31:57 +0000 (05:31 +0000)]
Make configure remove the curlbuild.h file included in distribution tarballs
for use by non-configure systems. As intended, configure would overwrite the
distributed one when doing in-tree builds. But VPATH builds would end having
two curlbuild.h files, one in the source tree and another in the build tree.
Yang Tse [Sun, 22 Nov 2009 05:31:31 +0000 (05:31 +0000)]
Make configure remove the ares_build.h file included in distribution tarballs.
Yang Tse [Sun, 22 Nov 2009 03:51:07 +0000 (03:51 +0000)]
Fix macro redefinition.
Yang Tse [Sun, 22 Nov 2009 03:41:26 +0000 (03:41 +0000)]
Fix name space pollution.
Yang Tse [Sun, 22 Nov 2009 03:40:42 +0000 (03:40 +0000)]
Allow using different extra import libraries for debug and release builds.
Yang Tse [Sat, 21 Nov 2009 13:28:07 +0000 (13:28 +0000)]
Add manifest stuff to msvc makefile
Daniel Stenberg [Fri, 20 Nov 2009 19:32:49 +0000 (19:32 +0000)]
- Constantine Sapuntzakis identified a write after close, as the sockets were
closed by libcurl before the SSL lib were shutdown and they may write to its
socket. Detected to at least happen with OpenSSL builds.
Yang Tse [Fri, 20 Nov 2009 14:15:05 +0000 (14:15 +0000)]
Sync man page with reality
Yang Tse [Fri, 20 Nov 2009 14:11:06 +0000 (14:11 +0000)]
Add missing external API decoration for ares_set_socket_callback()
Daniel Stenberg [Fri, 20 Nov 2009 13:27:21 +0000 (13:27 +0000)]
- Jad Chamcham pointed out a bug with connection re-use. If a connection had
CURLOPT_HTTPPROXYTUNNEL enabled over a proxy, a subsequent request using the
same proxy with the tunnel option disabled would still wrongly re-use that
previous connection and the outcome would only be badness.
Yang Tse [Fri, 20 Nov 2009 13:02:41 +0000 (13:02 +0000)]
Add ares_free_data() man page.
Yang Tse [Fri, 20 Nov 2009 13:01:35 +0000 (13:01 +0000)]
- Provide in external interface preprocessor symbol definitions for
CARES_HAVE_ARES_FREE_DATA as an indication of function availability.
Yang Tse [Fri, 20 Nov 2009 09:57:25 +0000 (09:57 +0000)]
Remove typecast
Yang Tse [Fri, 20 Nov 2009 09:54:15 +0000 (09:54 +0000)]
Fix comment
Yang Tse [Fri, 20 Nov 2009 09:14:37 +0000 (09:14 +0000)]
Add ares_data.c and ares_data.h
Yang Tse [Fri, 20 Nov 2009 09:06:33 +0000 (09:06 +0000)]
Jakub Hrozek modified ares_parse_srv_reply() and ares_parse_txt_reply() API
to return a linked lists of results. These were also modified to internally
use the ares_data memory struct and as such its result must be free'ed with
ares_free_data().
Yang Tse [Fri, 20 Nov 2009 08:50:03 +0000 (08:50 +0000)]
Initial support for the generic ares_free_data() function that will allow
applications to free memory allocated and returned by some c-ares funtions.
Yang Tse [Thu, 19 Nov 2009 17:21:56 +0000 (17:21 +0000)]
Explicit initialization of all FTP struct members in ftp_init()
Yang Tse [Wed, 18 Nov 2009 11:53:31 +0000 (11:53 +0000)]
Fix compiler warning: ISO C90 forbids mixed declarations and code
Yang Tse [Wed, 18 Nov 2009 11:21:58 +0000 (11:21 +0000)]
Make memory tracking system intolerant with zero sized malloc(),
calloc() and realloc() function calls.
Yang Tse [Wed, 18 Nov 2009 10:33:54 +0000 (10:33 +0000)]
Make usage of calloc()'s arguments consistent with rest of code base
Yang Tse [Wed, 18 Nov 2009 02:57:34 +0000 (02:57 +0000)]
workaround icc 9.1 optimizer issue
Daniel Stenberg [Tue, 17 Nov 2009 22:53:55 +0000 (22:53 +0000)]
- Constantine Sapuntzakis provided another fix for the DNS cache that could
end up with entries that wouldn't time-out:
1. Set up a first web server that redirects (307) to a http://server:port
that's down
2. Have curl connect to the first web server using curl multi
After the curl_easy_cleanup call, there will be curl dns entries hanging
around with in_use != 0.
(http://curl.haxx.se/bug/view.cgi?id=2891591)
Daniel Stenberg [Tue, 17 Nov 2009 18:11:06 +0000 (18:11 +0000)]
- Marc Kleine-Budde fixed: curl saved the LDFLAGS set during configure into
its pkg-config file. So -Wl stuff ended up in the .pc file, which is really
bad, and breaks if there are multiple -Wl in our LDFLAGS (which are in
PTXdist). bug #2893592 (http://curl.haxx.se/bug/view.cgi?id=2893592)
Yang Tse [Mon, 16 Nov 2009 23:01:37 +0000 (23:01 +0000)]
Add icc fvisibility bug test
Yang Tse [Mon, 16 Nov 2009 20:02:12 +0000 (20:02 +0000)]
Fix icc 9.0 compiler warning: external definition with no prior declaration
Yang Tse [Mon, 16 Nov 2009 01:56:45 +0000 (01:56 +0000)]
Update serial number
Yang Tse [Mon, 16 Nov 2009 01:56:16 +0000 (01:56 +0000)]
Fix three var names
Yang Tse [Mon, 16 Nov 2009 01:55:48 +0000 (01:55 +0000)]
Add check for assert.h header file
Kamil Dudka [Sun, 15 Nov 2009 15:23:43 +0000 (15:23 +0000)]
- David Byron improved the configure script to use pkg-config to find OpenSSL
(and in particular the list of required libraries) even if a path is given
as argument to --with-ssl
Yang Tse [Sun, 15 Nov 2009 13:43:15 +0000 (13:43 +0000)]
getaddrinfo is fully thread safe on solaris versions which
implement the function even when h_errno is not a macro.
The h_errno macro test now only done on systems for which there
is no hard coded knowledge about getaddrinfo's thread safeness.
Yang Tse [Sun, 15 Nov 2009 12:58:50 +0000 (12:58 +0000)]
Client certificate ENG file type requires OpenSSL 0.9.7 or newer
Yang Tse [Sun, 15 Nov 2009 03:47:13 +0000 (03:47 +0000)]
Remove files generated on previous buildconf/configure run
Yang Tse [Sun, 15 Nov 2009 03:46:14 +0000 (03:46 +0000)]
Add a couple of renamed files to the removal list
Yang Tse [Sun, 15 Nov 2009 02:45:23 +0000 (02:45 +0000)]
Remove enable-thread / disable-thread configure option. These were only placebo
options. The library is always built as thread safe as possible on every system.
Claes Jakobsson [Sat, 14 Nov 2009 19:23:26 +0000 (19:23 +0000)]
Added '--configure' option to curl-config to display original configure arguments when curl was built
Yang Tse [Sat, 14 Nov 2009 18:51:37 +0000 (18:51 +0000)]
Refactor how preprocessor symbol _THREAD_SAFE definition is done.
Yang Tse [Sat, 14 Nov 2009 11:33:49 +0000 (11:33 +0000)]
OpenSSL 0.9.7 or newer required for ENGINE_CTRL_GET_CMD_FROM_NAME definition
Daniel Stenberg [Sat, 14 Nov 2009 09:13:47 +0000 (09:13 +0000)]
- Claes Jakobsson restored the configure functionality to detect NSS when
--with-nss is set but not "yes".
I think we can still improve that to check for pkg-config in that path etc,
but at least this patch brings back the same functionality we had before.
Daniel Stenberg [Sat, 14 Nov 2009 07:53:34 +0000 (07:53 +0000)]
- Camille Moncelier added support for the file type SSL_FILETYPE_ENGINE for
the client certificate. It also disable the key name test as some engines
can select a private key/cert automatically (When there is only one key
and/or certificate on the hardware device used by the engine)
Yang Tse [Sat, 14 Nov 2009 02:30:30 +0000 (02:30 +0000)]
- Constantine Sapuntzakis provided the fix that ensures that an SSL connection
won't be reused unless protection level for peer and host verification match.
Yang Tse [Fri, 13 Nov 2009 20:03:45 +0000 (20:03 +0000)]
Assume that getaddrinfo is thread safe, unless hard coded
knowledge says the contrary or h_errno is not defined.
Yang Tse [Fri, 13 Nov 2009 05:01:51 +0000 (05:01 +0000)]
Related with the threadsafe capability of getaddrinfo:
- Constantine Sapuntzakis reported that Darwin 6.0 a.k.a. MAC OS X 10.2
and newer have a threadsafe getaddrinfo.
- Fix Dragonfly BSD triplet detection.
- In case the hard-coded knowledge says that getaddrinfo is threadsafe,
an additional check is done to verify that h_errno is also defined.
If h_errno isn't defined, we finally assume that it isn't threadsafe.
Jamie Lokier provided the inspiration for this extra check.