Yang Tse [Fri, 26 Nov 2010 19:19:45 +0000 (20:19 +0100)]
ftp: fix 'bool' data type implementation dependant usage
Yang Tse [Fri, 26 Nov 2010 18:57:27 +0000 (19:57 +0100)]
multi: fix compiler warning: conversion may lose significant bits
Yang Tse [Fri, 26 Nov 2010 18:34:10 +0000 (19:34 +0100)]
multi: fix compiler warning: enumerated type mixed with another type
Yang Tse [Fri, 26 Nov 2010 17:18:26 +0000 (18:18 +0100)]
hostip: edit comment
Yang Tse [Fri, 26 Nov 2010 16:35:48 +0000 (17:35 +0100)]
xattr: fix compiler warning: enumerated type mixed with another type
Yang Tse [Fri, 26 Nov 2010 12:59:01 +0000 (13:59 +0100)]
s/isspace/ISSPACE
Yang Tse [Thu, 25 Nov 2010 20:05:20 +0000 (21:05 +0100)]
symbol-scan: use configure script knowledge about how to run the C preprocessor
Yang Tse [Thu, 25 Nov 2010 12:34:47 +0000 (13:34 +0100)]
ignore file generated by configure
Yang Tse [Thu, 25 Nov 2010 01:58:59 +0000 (02:58 +0100)]
curl_multi_info_read: fix compiler warning: conversion may lose significant bits
Yang Tse [Thu, 25 Nov 2010 01:20:14 +0000 (02:20 +0100)]
inet_pton: fix compiler warning
warning C4146: unary minus operator applied to unsigned type, result still unsigned
Yang Tse [Wed, 24 Nov 2010 03:36:57 +0000 (04:36 +0100)]
Curl_getaddrinfo_ex: sanitize function results follow-up.
Yang Tse [Tue, 23 Nov 2010 20:38:20 +0000 (21:38 +0100)]
Curl_getaddrinfo_ex: sanitize function results.
Ensure that spurious results from system's getaddrinfo() ares not propagated
by Curl_getaddrinfo_ex() into the library.
Also ensure that the ai_addrlen member of Curl_getaddrinfo_ex()'s output linked
list of Curl_addrinfo structures has appropriate family-specific address size.
Kamil Dudka [Mon, 22 Nov 2010 22:59:59 +0000 (23:59 +0100)]
openldap: use remote port in URL passed to ldap_init_fd()
... not the proxy port. It makes no difference unless a proxy is used.
Yang Tse [Sat, 20 Nov 2010 04:00:12 +0000 (05:00 +0100)]
gtls: define and use gtls_EAGAIN, gtls_EINTR and gtls_EIO.
Winsock builds clobber some errno.h defines in setup_once.
Dan Fandrich [Sat, 20 Nov 2010 01:09:15 +0000 (17:09 -0800)]
Added a couple examples that were missing from the tar ball
Dan Fandrich [Fri, 19 Nov 2010 23:54:21 +0000 (15:54 -0800)]
Check for errors while preprocessing curl.h in test 1119
This showed a problem when running the test out-of-tree, so
an include path is now being added to pick up the generated
curlbuild.h file.
Dan Fandrich [Fri, 19 Nov 2010 23:27:28 +0000 (15:27 -0800)]
Use the 3-argument open for compatibility with older perls
Matthias Bolte [Fri, 19 Nov 2010 21:31:34 +0000 (13:31 -0800)]
Detect socket errors in GnuTLS on Windows
On Windows, translate WSAGetLastError() to errno values as GNU
TLS does it internally, too. This is necessary because send() and
recv() on Windows don't set errno when they fail but GNU TLS
expects a proper errno value.
Bug: http://curl.haxx.se/bug/view.cgi?id=3110991
Yang Tse [Fri, 19 Nov 2010 18:20:38 +0000 (19:20 +0100)]
test servers: fix strict aliasing compiler warnings
Yang Tse [Thu, 18 Nov 2010 16:12:15 +0000 (17:12 +0100)]
configure: use autobuilds to temporarily verify strict aliasing warnings.
Temporarily, When cross-compiling with gcc 3.0 or later, enable strict aliasing
rules and warnings. Given that cross-compiled targets autobuilds do not run the
Julien Chaffraix [Thu, 18 Nov 2010 05:13:49 +0000 (21:13 -0800)]
configure: Prevent link errors with --librtmp.
If --librtmp was specified but pkg-config could not find the librtmp
file, we would have undefined symbols when linking curl.
We prevent this error by disabling this case as suggested on the mailing
list.
Daniel Stenberg [Sun, 14 Nov 2010 23:07:55 +0000 (00:07 +0100)]
RELEASE-NOTES: synced with
cbf4961bf3e4
Daniel Stenberg [Sun, 14 Nov 2010 11:42:29 +0000 (12:42 +0100)]
gnutls->handshake: improved timeout handling
When no timeout is set, we call the socket_ready function with a timeout
value of 0 during handshake, which makes it loop too much/fast in this
function. It also made this function return CURLE_OPERATION_TIMEDOUT
wrongly on a slow handshake.
However, the particular bug report that highlighted this problem is not
solved by this fix, as this fix only makes the more proper error get
reported instead.
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594150
Reported by: Johannes Ernst
Julien Chaffraix [Sat, 13 Nov 2010 22:42:34 +0000 (14:42 -0800)]
urldata: Capitalize enum protect_level values.
This makes it easier to spot the enum values from the variables.
Removed some unneeded DEBUGASSERT added in the previous commit.
Julien Chaffraix [Sat, 13 Nov 2010 20:01:33 +0000 (12:01 -0800)]
security: tighten enum protection_level usage.
While changing Curl_sec_read_msg to accept an enum protection_level
instead of an int, I went ahead and fixed the usage of the associated
fields.
Some code was assuming that prot_clear == 0. Fixed those to use the
proper value. Added assertions prior to any code that would set the
protection level.
Yang Tse [Sat, 13 Nov 2010 03:15:48 +0000 (04:15 +0100)]
configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected in body
Daniel Stenberg [Fri, 12 Nov 2010 22:56:09 +0000 (23:56 +0100)]
curl.1: "a file", not an
Daniel Stenberg [Fri, 12 Nov 2010 22:26:57 +0000 (23:26 +0100)]
version-check.pl: display version number for symbols
This script is the start of a helper tool that scans a source code and
outputs the most recent libcurl version it finds symbols for. Meaning
that if there's no conditions in the code, that's the earliest libcurl
version the scanned code requires.
It is not added to the Makefile.am yet as it is still a bit crude, but
I'm committing it to keep it and allow us to work on it.
Adam Light [Fri, 12 Nov 2010 19:19:56 +0000 (20:19 +0100)]
Makefile.vc6: fixed the xattr.c compile
Julien Chaffraix [Fri, 12 Nov 2010 16:20:50 +0000 (08:20 -0800)]
krb5: Use GSS_ERROR to check for error.
This is the advised way of checking for errors in the GSS-API RFC.
Also added some '\n' to the error message so that they are not mixed
with other outputs.
Julien Chaffraix [Fri, 12 Nov 2010 16:15:01 +0000 (08:15 -0800)]
security: Pass the right parameter to init.
init is expecting app_data. Passing it the struct connecdata would make
us crash later.
Daniel Stenberg [Thu, 11 Nov 2010 15:41:59 +0000 (16:41 +0100)]
HTTP Auth: Add CURLAUTH_ONLY
This is a meta symbol. OR this value together with a single specific
auth value to force libcurl to probe for un-restricted auth and if not,
only that single auth algorithm is acceptable.
For example you can use CURLAUTH_DIGEST|CURLAUTH_ONLY to make libcurl
first probe for what method to use, but yet only consider Digest to be
acceptable.
Using _only_ CURLAUTH_DIGEST without the CURLAUTH_ONLY field, will make
libcurl explicitly use Digest right away and not do any probing.
Daniel Stenberg [Thu, 11 Nov 2010 13:51:39 +0000 (14:51 +0100)]
ip_version: moved to connection struct
The IP version choice was previously only in the UserDefined struct
within the SessionHandle, but since we sometimes alter that option
during a request we need to have it on a per-connection basis.
I also moved more "init conn" code into the allocate_conn() function
which is designed for that purpose more or less.
Yang Tse [Thu, 11 Nov 2010 11:32:06 +0000 (12:32 +0100)]
buildconf: MAC OS X requires libtool version 1.5.26 or newer
MAC OS X requires libtool version 1.5.26 or newer, otherwise
configure will mishandle *.dSYM directories when it runs.
Yang Tse [Thu, 11 Nov 2010 11:11:19 +0000 (12:11 +0100)]
configure: remove temporary autobuilds exercising of xattr function tests
Yang Tse [Wed, 10 Nov 2010 18:05:18 +0000 (19:05 +0100)]
configure: use autobuilds to temporarily exercise xattr function tests
Yang Tse [Wed, 10 Nov 2010 17:39:44 +0000 (18:39 +0100)]
xattr: portability fix
Yang Tse [Wed, 10 Nov 2010 17:26:21 +0000 (18:26 +0100)]
curl-functions: provide xattr function tests that also check number of arguments
Daniel Stenberg [Wed, 10 Nov 2010 14:36:42 +0000 (15:36 +0100)]
test1120: verify FTP response 421
curl mustn't try to use the control connection after the 421 is received
Daniel Stenberg [Wed, 10 Nov 2010 14:36:28 +0000 (15:36 +0100)]
ftpserver.pl: spellfix comment
Rutger Hofman [Wed, 10 Nov 2010 14:08:18 +0000 (15:08 +0100)]
TFTP: resend the correct data
I found a bug in tftp_tx() in tftp.c. If a data resend is done after
reception of an ACK/OACK, the call to sendto is wrong.
Stefan Tomanek [Sun, 7 Nov 2010 15:54:49 +0000 (16:54 +0100)]
write extended attributes by using fsetxattr
Instead of reopening the downloaded file, fsetxattr uses the (already
open) file descriptor to attach extended attributes. This makes the
procedure more robust against errors caused by moved or deleted files.
Dan Fandrich [Wed, 10 Nov 2010 02:47:16 +0000 (18:47 -0800)]
Check for getinfo errors before setting attributes
Kamil Dudka [Tue, 9 Nov 2010 16:04:04 +0000 (17:04 +0100)]
ftp: treat server's response 421 as CURLE_OPERATION_TIMEDOUT
Bug: https://bugzilla.redhat.com/650255
Reported by: Simon H.
Daniel Stenberg [Tue, 9 Nov 2010 13:20:23 +0000 (14:20 +0100)]
symbols-in-version: add CURL_SOCKET_BAD
I also documented the filtering logic in the symbol-scan.pl function to
clarify why not all CURL_* symbols are included.
Yang Tse [Tue, 9 Nov 2010 00:40:25 +0000 (01:40 +0100)]
serial number bump
Kamil Dudka [Thu, 4 Nov 2010 20:44:02 +0000 (21:44 +0100)]
ftp: close connection as soon as ABOR has been sent
... and do not send ABOR unless really necessary.
Bug: https://bugzilla.redhat.com/649347
Reported by: Simon H.
Daniel Stenberg [Mon, 8 Nov 2010 10:20:39 +0000 (11:20 +0100)]
RELEASE-NOTES: synced with
fc6c4c10f9faab08
I also recounted and updated the command line and libcurl options.
Daniel Stenberg [Mon, 8 Nov 2010 10:20:17 +0000 (11:20 +0100)]
help: indent the --xattr option like the others
Daniel Stenberg [Mon, 8 Nov 2010 09:56:03 +0000 (10:56 +0100)]
curl.1: --resolve documented
Daniel Stenberg [Mon, 8 Nov 2010 08:53:35 +0000 (09:53 +0100)]
CURLOPT_RESOLVE: documented
Daniel Stenberg [Mon, 8 Nov 2010 08:46:48 +0000 (09:46 +0100)]
CURLOPT_USE_SSL: move from FTP options to connection options
Daniel Stenberg [Mon, 8 Nov 2010 08:35:47 +0000 (09:35 +0100)]
xattr-check: correct the comment as well
Daniel Stenberg [Mon, 8 Nov 2010 08:10:33 +0000 (09:10 +0100)]
xattr: use const char * for const strings
Daniel Stenberg [Mon, 8 Nov 2010 08:08:26 +0000 (09:08 +0100)]
setxattr: fix the checks
My copy and paste job was a little too much copy and I missed to adjust
it properly to sys/xattr.h all over and this is a fix to cure that.
Daniel Stenberg [Fri, 5 Nov 2010 21:31:40 +0000 (22:31 +0100)]
CURLOPT_RESOLVE: added
CURLOPT_RESOLVE is a new option that sends along a curl_slist with
name:port:address sets that will populate the DNS cache with entries so
that request can be "fooled" to use another host than what otherwise
would've been used. Previously we've encouraged the use of Host: for
that when dealing with HTTP, but this new feature has the added bonus
that it allows the name from the URL to be used for TLS SNI and server
certificate name checks as well.
This is a first change. Surely more will follow to make it decent.
Yang Tse [Mon, 8 Nov 2010 03:03:11 +0000 (04:03 +0100)]
fix compiler warning
Dan Fandrich [Sun, 7 Nov 2010 07:13:46 +0000 (00:13 -0700)]
Added os-specific.c and xattr.c to the Symbian build files
Yang Tse [Sun, 7 Nov 2010 03:05:52 +0000 (04:05 +0100)]
xattr: fix VisualStudio builds
Yang Tse [Sun, 7 Nov 2010 02:39:31 +0000 (03:39 +0100)]
fix snapshot generation
Daniel Stenberg [Fri, 5 Nov 2010 21:26:54 +0000 (22:26 +0100)]
--libcurl: simplify output
Removed the code that was needed for libcurl before 7.19.0 which now is
more than two years old.
Simplified the top comment and corrected the URL.
Alfred Gebert [Fri, 5 Nov 2010 14:53:41 +0000 (15:53 +0100)]
LDAP: detect non-binary attributes properly
If the query result has a binary attribute, the binary attribute is
base64 encoded. But all following non binary attributes are also base64
encoded which is wrong.
This is a test (LDAP server is public).
curl
ldap://x500.bund.de:389/o=Bund,c=DE?userCertificate,certificateSerialNumber?sub
?cn=*Woehleke*
Daniel Stenberg [Fri, 5 Nov 2010 13:07:38 +0000 (14:07 +0100)]
xattr: add configure check and #ifdefs
setxattr is a glibc call to set extended attributes, so configure now
checks for it and the code is adapted to only build when the
functionality is present.
Stefan Tomanek [Fri, 5 Nov 2010 11:39:46 +0000 (12:39 +0100)]
save metadata to extended file attributes
It is often convinient to track back the source of a once downloaded
file; this patch makes curl store the source URL and other metadata
alongside the retrieved file by using the extended attributes (if
supported by the file system and enabled by --xattr).
Daniel Stenberg [Fri, 5 Nov 2010 10:19:21 +0000 (11:19 +0100)]
test: remove test 580
Test 580 is removed again for two reasons:
1) Some compilers aren't satisfied by just a data variable called 'test'
when first.o wants a function called 'test'. The Solaris compiler says
"ld: warning: symbol `test' has differing types:" while the AIX compiler
downright rejects it.
2) Test case 1119 that was added after this test is way more complete
and cover everything test 580 does and more without introducing the same
problems.
Daniel Stenberg [Fri, 5 Nov 2010 09:24:22 +0000 (10:24 +0100)]
Daniel Stenberg [Thu, 4 Nov 2010 22:09:08 +0000 (23:09 +0100)]
TODO-RELEASE: "TLS SNI use Host:" is done
262 - Manual setting of TLS Server Name Indication - use Host:
Daniel Stenberg [Thu, 4 Nov 2010 21:55:45 +0000 (22:55 +0100)]
RELEASE-NOTES: synced with
7b823badbcab9d330
Daniel Stenberg [Thu, 4 Nov 2010 18:39:15 +0000 (19:39 +0100)]
curl.1: added a few missing exit codes
Daniel Stenberg [Thu, 4 Nov 2010 14:18:35 +0000 (15:18 +0100)]
certcheck: use the custom Host: name for checks
If you use a custom Host: name in a request to a SSL server, libcurl
will now use that given name when it verifies the server certificate to
be correct rather than using the host name used in the actual URL.
Daniel Stenberg [Thu, 4 Nov 2010 14:16:27 +0000 (15:16 +0100)]
SNI: simplify the custom host name use
The redirect check is already done at the position where the customhost
field is assigned so there's no point in doing that a second time.
Daniel Stenberg [Thu, 4 Nov 2010 13:58:15 +0000 (14:58 +0100)]
host: get the custom Host: name more genericly
When given a custom host name in a Host: header, we can use it for
several different purposes other than just cookies, so we rename it and
use it for SSL SNI etc.
Hongli Lai (Phusion) [Thu, 4 Nov 2010 11:54:58 +0000 (12:54 +0100)]
SNI: set name to custom Host header
OpenSSL SNI host name should be set to the custom Host header, if the
user provided one.
Daniel Stenberg [Thu, 4 Nov 2010 10:42:27 +0000 (11:42 +0100)]
fopen.c: re-indented, fixed previous mistake
I've made the code intended using curl-style now to look more like other
examples.
My previous "fix" was a bit too invasive but is now fixed again.
Daniel Stenberg [Thu, 4 Nov 2010 10:37:23 +0000 (11:37 +0100)]
multi use: call multi_perform even on select() timeouts
Daniel Stenberg [Thu, 4 Nov 2010 09:32:38 +0000 (10:32 +0100)]
example: add smtp-multi.c
An example application source code sending SMTP mail with the multi
interface. It is based on the code Alona Rossen provided, which in turn
is based on existing example/test code, and I converted it even more
into a decent example with a fair multi API use, put the info required
to edit at the top and I added some comments.
Daniel Stenberg [Thu, 4 Nov 2010 08:49:02 +0000 (09:49 +0100)]
CURLOPT_NOSIGNAL: add blurb about SIGPIPE
Dan Fandrich [Thu, 4 Nov 2010 02:03:02 +0000 (19:03 -0700)]
Allow building test 580 out of tree
Daniel Stenberg [Wed, 3 Nov 2010 10:25:06 +0000 (11:25 +0100)]
dist: add symbol-scan.pl to the tarball
Daniel Stenberg [Wed, 3 Nov 2010 10:23:54 +0000 (11:23 +0100)]
test1119: verify symbols-in-versions
Daniel Stenberg [Wed, 3 Nov 2010 10:22:46 +0000 (11:22 +0100)]
runtests: allow tests written as perl scripts
If a command is set type="perl", it can now specify a perl program that will
be run instead of an ordinary curl or built tool.
A perl test automatically disables memory and valgrind debugging.
Daniel Stenberg [Wed, 3 Nov 2010 10:20:19 +0000 (11:20 +0100)]
symbol-scan: verifies symbols-in-versions
This new script scans for all enums and #defines used by the curl/curl.h
and curl/multi.h headers. Then it reads all symbols mentioned in
symbols-in-vesions and make sure that there's no entries missing in
there. It then proceeds to verify that the entries that
symbols-in-vesions mentions but aren't found in the sources are truly
documented as removed.
This script is used in the new test case 1119
Daniel Stenberg [Wed, 3 Nov 2010 09:04:23 +0000 (10:04 +0100)]
symbols-in-versions: added 119 missing symbols
I've developed a script I call symbol-scan.pl that scans the curl.h and
multi.h header files and compare the symbols it finds in there with the
symbols symbols-in-versions documents and outputs a report on the
differences. Using this I've dug through the history to fill up
symbols-in-versions with all the symbols my script found mismatches for.
I will commit symbol-scan.pl separatly and think of a way to put it to
use in the build/tests so that we from now on will get this in-sync
check automatically.
Dan Fandrich [Wed, 3 Nov 2010 06:17:36 +0000 (23:17 -0700)]
Added mk580.pl to the tar ball
Daniel Stenberg [Tue, 2 Nov 2010 22:35:12 +0000 (23:35 +0100)]
symbols-in-versions: added missing symbols
Daniel Stenberg [Tue, 2 Nov 2010 22:34:37 +0000 (23:34 +0100)]
ignore: lib580.c is generated by mk580.pl
Daniel Stenberg [Tue, 2 Nov 2010 21:27:33 +0000 (22:27 +0100)]
test: added test 580 - verifies symbols-in-versions
The new perl script mk580.pl generates a C table in a fresh source file
named lib580.c and if that compiles fine we know that the file
docs/libcurl/symbols-in-versions at least doesn't include any symbols
that are misspelled.
An additional feature would be to somehow scan curl/curl.h and compare
with symbols-in-versions to see if there are symbols missing.
Daniel Stenberg [Tue, 2 Nov 2010 21:01:01 +0000 (22:01 +0100)]
spellfix: CURLOPT_TFTP_BLKSIZE it is
Kamil Dudka [Wed, 27 Oct 2010 08:54:35 +0000 (10:54 +0200)]
ftp: prevent server from hanging on closed data connection
Some FTP servers (e.g. Pure-ftpd) end up hanging if we close the data
connection before transferring all the requested data. If we send ABOR
in that case, it prevents the server from hanging.
Bug: https://bugzilla.redhat.com/643656
Reported by: Pasi Karkkainen, Patrick Monnerat
Dan Fandrich [Thu, 28 Oct 2010 22:47:57 +0000 (15:47 -0700)]
Removed a leftover mention of FTP in an error message
Dan Fandrich [Thu, 21 Oct 2010 21:33:35 +0000 (14:33 -0700)]
Removed the native Makefile.riscos files
These haven't worked in at least 8 years due to missing source
files, and most active RiscOS developers these days apparently
cross-compile anyway.
Signed-off-by: James Bursa <james@zamez.org>
Dan Fandrich [Thu, 21 Oct 2010 01:15:14 +0000 (18:15 -0700)]
Lightened the stack in wc_statemach to permit deeper recursion
Also, added a few hints to help compilers to perform tail call
recursion optimization.
Daniel Stenberg [Wed, 20 Oct 2010 21:31:34 +0000 (23:31 +0200)]
SSH: use libssh2_session_handshake()
In libssh2 1.2.8, libssh2_session_handshake() replaces
libssh2_session_startup() to fix the previous portability problem with
the socket type that was too small for win64 and thus easily could cause
crashes and more.
Daniel Stenberg [Wed, 20 Oct 2010 21:29:37 +0000 (23:29 +0200)]
SSH: avoid using the libssh2_ prefix
It is a bad idea to use the public prefix used by another library and
now we realize that libssh2 introduces a symbol in the upcoming version
1.2.8 that conflicts with our static function named libssh2_free.
Daniel Stenberg [Wed, 20 Oct 2010 12:57:43 +0000 (14:57 +0200)]
formdata: provide error message
When failing to build form post due to an error, the code now does a
proper failf(). Previously libcurl would report an error like "failed
creating formpost data" when a file wasn't possible to open which was
not easy for users to figure out.
I also lower cased a function name to be named more curl-style and
removed some unnecessary code.
Daniel Stenberg [Tue, 19 Oct 2010 18:20:06 +0000 (20:20 +0200)]
URL-parsing: consider ? a divider
The URL parser got a little stricter as it now considers a ? to be a
host name divider so that the slightly sloppier URLs work too. The
problem that made me do this change was the reported problem with an URL
like: www.example.com?email=name@example.com This form of URL is not
really a legal URL (due to the missing slash after the host name) but is
widely accepted by all major browsers and libcurl also already accepted
it, it was just the '@' letter that triggered the problem now.
The side-effect of this change is that now libcurl no longer accepts the
? letter as part of user-name or password when given in the URL, which
it used to accept (and is tested in test 191). That letter is however
mentioned in RFC3986 to be required to be percent encoded since it is
used as a divider.
Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
Daniel Stenberg [Tue, 19 Oct 2010 15:50:10 +0000 (17:50 +0200)]
curl_easy_setopt.3: spellfix
Daniel Stenberg [Tue, 19 Oct 2010 15:48:51 +0000 (17:48 +0200)]
curl_easy_setopt.3: CURLOPT_USE_SSL is not just for FTP
It is for FTP, SMTP, POP3, IMAP at least.
Daniel Stenberg [Mon, 18 Oct 2010 14:20:13 +0000 (16:20 +0200)]
krb4.h: removed unused prototypes
Daniel Stenberg [Mon, 18 Oct 2010 08:00:37 +0000 (10:00 +0200)]
krb4: make a few functions static