3969 lines
121 KiB
Plaintext
3969 lines
121 KiB
Plaintext
Changelog for the c-ares project. Generated with git2changes.pl
|
|
|
|
Version 1.12.0 (29 Sep 2016)
|
|
|
|
Daniel Stenberg (29 Sep 2016)
|
|
- RELEASE-NOTES: 1.12.0
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
ares-test-misc: test ares_create_query with escaped trailing dot
|
|
|
|
- ares_create_query: avoid single-byte buffer overwrite
|
|
|
|
... when the name ends with an escaped dot.
|
|
|
|
CVE-2016-5180
|
|
|
|
Bug: https://c-ares.haxx.se/adv_20160929.html
|
|
|
|
- ares_library_initialized.3: added
|
|
|
|
- make: bump CARES_VERSION_INFO for release
|
|
|
|
David Drysdale (29 Sep 2016)
|
|
- man: update ares_init_options.3
|
|
|
|
Daniel Stenberg (29 Sep 2016)
|
|
- ares_library_init.3: corrected the ares_library_init_mem proto
|
|
|
|
- README.md: remove space from link
|
|
|
|
- README: link to the correct c-ares badge!
|
|
|
|
Reported-by: David Hotham
|
|
|
|
Fixes #63
|
|
|
|
- docs: minor formatting edits
|
|
|
|
- ares_destroy.3: formatting polish
|
|
|
|
- ares_init.3: split the init docs into two separate man pages
|
|
|
|
- SECURITY: point to the vulnerabilities page now
|
|
|
|
- RELEASE-NOTES: synced with daa7235b1a5
|
|
|
|
- ares_create_query.3: edit language
|
|
|
|
Tried to make the man page more readable.
|
|
|
|
David Drysdale (26 Sep 2016)
|
|
- test: fix gMock to work with gcc >= 6.x
|
|
|
|
Taken from:
|
|
https://github.com/google/googletest/issues/705#issuecomment-235067917
|
|
|
|
Daniel Stenberg (26 Sep 2016)
|
|
- [Brad House brought this change]
|
|
|
|
headers: remove checks for and defines of variable sizes
|
|
|
|
... they're not really used and by avoiding them in the ares_build.h
|
|
output we make the public header less dependent on data sizes.
|
|
|
|
David Drysdale (24 Sep 2016)
|
|
- api: add ARES_OPT_NOROTATE optmask value
|
|
|
|
Fix up a couple of problems with configuring whether c-ares rotates
|
|
between different name servers between requests.
|
|
|
|
Firstly, ares_save_options() returns (in *optmask) the value of
|
|
(channel->optmask & ARES_OPT_ROTATE), which doesn't necessarily
|
|
indicate whether the channel is or is not actually doing rotation.
|
|
This can be confusing/incorrect if:
|
|
- the channel was originally configured without ARES_OPT_ROTATE
|
|
(so it appears that the channel is not rotating)
|
|
- the /etc/resolv.conf file includes the 'rotate' option
|
|
(so the channel is actually performing rotation).
|
|
|
|
Secondly, it is not possible to reliably configure a channel
|
|
to not-rotate; leaving off ARES_OPT_ROTATE is not enough, since
|
|
a 'rotate' option in /etc/resolv.conf will turn it on again.
|
|
|
|
Therefore:
|
|
- add an ARES_OPT_NOROTATE optmask value to allow explicit
|
|
configuration of no-rotate behaviour
|
|
- in ares_save_options(), report the value of channel->rotate
|
|
as exactly one of (optmask & ARES_OPT_ROTATE) or
|
|
(optmask & ARES_OPT_NOROTATE).
|
|
|
|
In terms of back-compatibility:
|
|
- existing apps that set ARES_OPT_ROTATE will continue to rotate,
|
|
and to have ARES_OPT_ROTATE reported back from ares_save_options()
|
|
- existing apps that don't set ARES_OPT_ROTATE will continue to
|
|
use local config/defaults to decide whether to rotate, and will
|
|
now get ARES_OPT_ROTATE or ARES_OPT_NOROTATE reported back from
|
|
ares_save_options() rather than 0.
|
|
|
|
- ares_init_options: only propagate init failures from options
|
|
|
|
Commit 46bb820be3a8 ("ares_init_options: don't lose init failure")
|
|
changed init behaviour so that earlier errors in initialization
|
|
weren't lost. In particular, if the user passes in specific
|
|
options but they are not applied (e.g. because of an allocation
|
|
failure), that failure needs to be reported back to the user; this
|
|
also applies when duplicating a channel with ares_dup().
|
|
|
|
However, other initialization failures can be ignored and
|
|
overridden -- in particular, if init_by_resolv_conf() or
|
|
init_by_environment() fail, then falling back to default values
|
|
is OK.
|
|
|
|
So only preserve failures from the init_by_options() stage, not
|
|
from all initialization stages.
|
|
|
|
Fixes issue 60.
|
|
|
|
- test: Force reinstall of libtool on OSX
|
|
|
|
Travis build environment appears to have changed.
|
|
|
|
- test: Add valgrind build variant
|
|
|
|
- test: Add null pointer to gtest args
|
|
|
|
GoogleTest assumes that there is a null pointer in argv[argc],
|
|
so make it look like that. Without this change, tests run with
|
|
command-line arguments get memory errors under valgrind/ASAN.
|
|
|
|
Daniel Stenberg (21 Aug 2016)
|
|
- AUTHOR: maybe gitgub isn't really an author =)
|
|
|
|
- AUTHORS: added contributors from the git log
|
|
|
|
- LICENSE.md: add a stand-alone license file
|
|
|
|
Just the MIT license used in the top the source files moved out to a
|
|
stand-alone file for easier reference and discovery.
|
|
|
|
- README: added "CII best practices" badge
|
|
|
|
- SECURITY.md: suggested "security process" for the project
|
|
|
|
David Drysdale (17 Aug 2016)
|
|
- test: Add Clang static analysis build to Travis
|
|
|
|
Run scan-build over the library source code, but skip the
|
|
tests. Needs a later Clang install in Travis
|
|
|
|
- test: more info on how to run fuzz testing
|
|
|
|
- test: make fuzzer driver code C not C++
|
|
|
|
- test: fuzzer mode for AFL's persistent mode
|
|
|
|
When fuzzing with AFL, if the LLVM-based instrumentation is
|
|
used (via the afl-clang-fast wrapper), then it is possible to
|
|
have a single execution of the fuzzer program iterate multiple
|
|
times over the fuzzing entrypoint (similar to libFuzzer's normal
|
|
mode of execution) with different data. This is much (e.g. 10x)
|
|
faster.
|
|
|
|
Add code to support this, by checking whether __AFL_LOOP is
|
|
defined at compile-time.
|
|
|
|
Also, shift the code to effectively be C rather than C++.
|
|
|
|
- test: simplify deps for fuzzer entrypoint
|
|
|
|
No need to depend on the rest of the test code (ares-test.h) for
|
|
the fuzzer entrypoint; this makes the entrypoint slightly simpler
|
|
to build with LLVM's libFuzzer.
|
|
|
|
Also shift the code to effectively be C rather than C++
|
|
|
|
- test: disable MinGW tests
|
|
|
|
The test binary built in the MinGW build is failing for some
|
|
reason. It works for me when I build locally, so I'm guessing
|
|
it's down to some sort of AppVeyor environment issue.
|
|
|
|
Disable for now.
|
|
|
|
Daniel Stenberg (16 Aug 2016)
|
|
- read_tcp_data: remove superfluous NULL check
|
|
|
|
CID 56884 by Coverity. The pointer is already derefenced before this
|
|
point so it can't be NULL here anyway.
|
|
|
|
- web: http => https
|
|
|
|
GitHub (20 Jul 2016)
|
|
- [David Drysdale brought this change]
|
|
|
|
Merge pull request #59 from fuze/master
|
|
|
|
Update msvc_ver.inc for VS2015 Update 3
|
|
|
|
- [Chris Araman brought this change]
|
|
|
|
Update msvc_ver.inc
|
|
|
|
support Visual Studio 2015 Update 3
|
|
|
|
David Drysdale (2 May 2016)
|
|
- Fix trailing comment for #endif
|
|
|
|
Daniel Stenberg (30 Apr 2016)
|
|
- email: use Gisle's "new" address
|
|
|
|
David Drysdale (18 Apr 2016)
|
|
- test: drop superfluous fuzz inputs
|
|
|
|
Where there are multiple fuzz input files that only differ in
|
|
the first two bytes (the query ID), just keep the first such
|
|
file.
|
|
|
|
svante karlsson (15 Apr 2016)
|
|
- Update msvc_ver.inc
|
|
|
|
support Visual Studio 2015 Update 2
|
|
|
|
David Drysdale (31 Mar 2016)
|
|
- test: Run fuzzcheck.sh in Travis build
|
|
|
|
- test: add fuzzing check script to tests
|
|
|
|
Add a test script that runs the fuzzing command over the
|
|
corpus of DNS packets. This doesn't actually do any fuzzing
|
|
(it just runs them as inputs without generating any variations)
|
|
but it does ensure that the fuzzing entrypoint is still working.
|
|
|
|
- test: allow multiple files in aresfuzz command line
|
|
|
|
If no arguments are specified, use stdin as input.
|
|
Otherwise treat each argument as a filename and feed
|
|
its contents to the fuzz entrypoint.
|
|
|
|
- test: Add corpus of DNS packets
|
|
|
|
For fuzz testing it is useful to start from a corpus of valid
|
|
packets, so fill out the test/fuzzinput/ directory with a bunch
|
|
of inputs.
|
|
|
|
These packets were generated by temporarily modifying the c-ares
|
|
process_answer() function to save off any incoming response messages.
|
|
|
|
- test: Add utility to show DNS packet from file
|
|
|
|
- [nordsturm brought this change]
|
|
|
|
Fix nsort initialization
|
|
|
|
Author: Alexander Drachevskiy
|
|
http://c-ares.haxx.se/mail/c-ares-archive-2014-07/0004.shtml
|
|
http://c-ares.haxx.se/mail/c-ares-archive-2014-07/0014.shtml
|
|
|
|
- test: Check setting nsort=0 option is respected
|
|
|
|
- test: Update fuzzing function prototype
|
|
|
|
libFuzzer changed expected return type from void to int
|
|
in LLVM 3.8.
|
|
|
|
- Explicitly clear struct servent before use
|
|
|
|
On a build where MSAN has been manually set up (which involves
|
|
using an MSAN-instrumented version of the standard C++ library, see
|
|
https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo)
|
|
there's a warning about use of uninitialized memory here. It
|
|
might be a false positive, but the fix is trivial so include it.
|
|
|
|
- test: for AF_UNSPEC, return CNAME only for AAAA, but valid A record
|
|
|
|
Also shuffle expected responses rsp6/rsp4 into the order they will occur.
|
|
|
|
- [Chris Araman brought this change]
|
|
|
|
msvc_ver.inc: support Visual Studio 2015 Update 1
|
|
|
|
- build: commonize MSVC version detection
|
|
|
|
Remove the need to copy/paste version number mapping between
|
|
Makefile.msvc and test/Makefile.msvc.
|
|
|
|
- test: Use different name in live test
|
|
|
|
- test: Only pass unused args to GoogleTest
|
|
|
|
- ahost.c: add cast to fix C++ compile
|
|
|
|
If ahost.c is force-compiled as C++ the missing cast from
|
|
(void *) to (char **) is problematic.
|
|
|
|
- ares_library_cleanup: reset ares_realloc too
|
|
|
|
Otherwise a subsequent use of the library might use a previous
|
|
incarnation's realloc() implementation.
|
|
|
|
Daniel Stenberg (9 Mar 2016)
|
|
- [Brad House brought this change]
|
|
|
|
configure: check if tests can get built before enabled
|
|
|
|
The current approach for disabling tests is not a good solution because
|
|
it forces you to pass --disable-tests, rather than auto-detect if your
|
|
system can support the tests in the first place. Many (most?) systems
|
|
do not have C++11. This also causes issues when chain-building c-ares,
|
|
the hosting system needs to be updated to support passing this
|
|
additional flag if necessary, it doesn't seem reasonable to add this
|
|
requirement which breaks compatibility.
|
|
|
|
This change auto-detects if the system can build the tests and
|
|
automatically disable them if it cannot. If you pass --enable-tests to
|
|
configure and the system cannot build them either due to lack of system
|
|
support, or because cross-compilation is being used, it will throw an
|
|
appropriate error since the user indicated they really did want the
|
|
tests.
|
|
|
|
David Drysdale (3 Mar 2016)
|
|
- [Viktor Szakats brought this change]
|
|
|
|
Makefile.m32: add support for CROSSPREFIX
|
|
|
|
- [Viktor Szakats brought this change]
|
|
|
|
Makefile.m32: add support for extra flags
|
|
|
|
Allow specification of CARES_{LD,C}FLAG_EXTRAS envvars
|
|
for mingw
|
|
|
|
- test: Build with MinGW on AppVeyor
|
|
|
|
- test: avoid in6addr_* constants
|
|
|
|
These aren't available on MinGW, so use explicit addresses instead.
|
|
|
|
- test: add missing #includes for dns-proto.cc
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Fix man page typos detected by Lintian
|
|
|
|
Daniel Stenberg (19 Feb 2016)
|
|
- configure: acknowledge --disable-tests
|
|
|
|
Fixes #44
|
|
|
|
- AUTHORS: added contributors from the 1.11.0 release
|
|
|
|
- bump: start working on the next version
|
|
|
|
Version 1.11.0 (19 Feb 2016)
|
|
|
|
Daniel Stenberg (19 Feb 2016)
|
|
- RELEASE-NOTES: final edits for 1.11.0
|
|
|
|
David Drysdale (15 Feb 2016)
|
|
- ares_dup.3: remove mention of nonexistent function
|
|
|
|
ares_dup_options() doesn't exist, so don't document it.
|
|
|
|
- test: skip repeated build steps
|
|
|
|
Top-level buildconf/configure now triggers for the
|
|
test/ subdir too, so don't need to do explicitly.
|
|
|
|
- test: namespaces unavailable when cross-compiling
|
|
|
|
Daniel Stenberg (13 Feb 2016)
|
|
- configure: only run configure in test when NOT cross-compiling
|
|
|
|
... as the tests won't run cross-compiled anyway
|
|
|
|
David Drysdale (13 Feb 2016)
|
|
- test: prefer ON_CALL to EXPECT_CALL to reduce flakes
|
|
|
|
For UDP tests, there's a chance of a retry. EXPECT_CALL only
|
|
expects a single request to arrive at the server; ON_CALL allows
|
|
for a UDP retry and repeats the same answer.
|
|
|
|
Note that ON_CALL and EXPECT_CALL can't be mixed in the same
|
|
test, and that tests that have a varied sequence of responses
|
|
for the same repeated request still have to use EXPECT_CALL.
|
|
|
|
Daniel Stenberg (13 Feb 2016)
|
|
- configure: run configure in 'test' too
|
|
|
|
Having the test dir completely stand-alone causes too many issues for
|
|
users and devs. It still needs to be built specifically.
|
|
|
|
- configure: build silently by default
|
|
|
|
- buildconf: run test/buildconf too if present
|
|
|
|
- test/configure: build silently by default
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
dist: Distribute README.md
|
|
|
|
Closes #42
|
|
|
|
Version 1.11.0 (11 Feb 2016)
|
|
|
|
Daniel Stenberg (11 Feb 2016)
|
|
- Makefile.am: distribute the test dir too
|
|
|
|
- RELEASE-NOTES: synced with 385582bd14b68a
|
|
|
|
- [Nicolas \"Pixel\" Noble brought this change]
|
|
|
|
ares_win32_init: make LoadLibrary work when using UNICODE too
|
|
|
|
Closes #17
|
|
|
|
David Drysdale (11 Feb 2016)
|
|
- Use "resolve" as synonym of "dns" in nsswitch.conf
|
|
|
|
Modern Linux systems may have libnss_resolve from systemd as the
|
|
resolver, which is then configured in /etc/nsswitch.conf with
|
|
the "resolve" keyword rather than "dns".
|
|
|
|
Fixes #33
|
|
|
|
- ares_set_socket_callback: make manpage match code
|
|
|
|
The code in ares_process.c that invokes the socket creation/connection
|
|
callback only checks for rc < 0, not for standard ares error codes.
|
|
|
|
- Merge pull request #36 from AGWA-forks/master
|
|
|
|
Add ares_set_socket_configure_callback()
|
|
|
|
- test: Update init tests to match behaviour
|
|
|
|
Unreadable config files are now treated the same way
|
|
as absent config files.
|
|
|
|
- [Fedor Indutny brought this change]
|
|
|
|
Ignore `fopen` errors to use default values
|
|
|
|
After 46bb820be3a83520e70e6c5f0c5133253fcd69cd `init_by_resolv_conf`
|
|
errors are no longer swallowed in `ares_init_options`. This has exposed
|
|
a previously unknown bug in `lookups` initialization code.
|
|
|
|
If there is no lookup configuration in `resolv.conf`,
|
|
`init_by_resolv_conf` will attempt to read it from other files available
|
|
on the system. However, some of these files may have restricted
|
|
permissions (like `600`), which will lead to `EACCESS` errno, which in
|
|
turn is handled like a fatal error by `init_by_resolv_conf`.
|
|
|
|
However, it sounds illogical that this error should be handled as a
|
|
fatal. There is a `init_by_defaults` call that overrides `lookups` with
|
|
default value, and certainly possible absence of lookup information is
|
|
the reason why this function exists in a first place!
|
|
|
|
I suggest handling any `fopen` errors as non-fatal ones, allowing to
|
|
pick up the `lookups` value from different config files, or to pick up
|
|
default value.
|
|
|
|
Andrew Ayer (9 Feb 2016)
|
|
- Document callback type in man page for ares_set_socket_callback
|
|
|
|
- Add ares_set_socket_configure_callback()
|
|
|
|
This function sets a callback that is invoked after the socket is
|
|
created, but before the connection is established. This is an ideal
|
|
time to customize various socket options.
|
|
|
|
David Drysdale (9 Feb 2016)
|
|
- test: ares_set_socket_callback failure behaviour
|
|
|
|
- test: Check ares_parse_txt_reply_ext() entrypoint
|
|
|
|
- [Fedor Indutny brought this change]
|
|
|
|
txt: introduce `ares_parse_txt_reply_ext`
|
|
|
|
Introduce `ares_txt_ext` structure with an extra `record_start`
|
|
field, which indicates a start of a new TXT record, thus allowing to
|
|
differentiate the chunks in the same record, from a chunks in a
|
|
different record.
|
|
|
|
Introduce a new API method: `ares_parse_txt_reply_ext` that works with
|
|
this kind of struct.
|
|
|
|
- doc: Update missed repo references
|
|
|
|
- doc: Update docs on contributing
|
|
|
|
- test: Run command line tools in Travis
|
|
|
|
Do a quick execution of each of the command line tools
|
|
in the continuous integration build, so that any (say)
|
|
sanitizer failures show up.
|
|
|
|
- acountry: drop inert test
|
|
|
|
If ver_1 is true, then z0 and z1 must both be 'z', and so
|
|
(z0 != 'z' && z1 != 'z') can never be true.
|
|
|
|
CID 56879, pointed out by Coverity.
|
|
|
|
- doc: update badge locations to master repo
|
|
|
|
- test: Enable maintainer mode + debug in Travis
|
|
|
|
- test: Add an iOS build target
|
|
|
|
- test: Ignore SIGPIPE in tests
|
|
|
|
- test: More initialization tests
|
|
|
|
- test: Improve containerized test mechanism
|
|
|
|
Aim is to ensure that code coverage information can escape the
|
|
container. To do this:
|
|
- Enter a new mount namespace too, so that we can...
|
|
- Bind mount the expected source directory into the container
|
|
- Share memory with the sub-process so coverage information is
|
|
shared too.
|
|
|
|
- test: Make contained tests easier to write
|
|
|
|
- test: Add framework for containerized testing
|
|
|
|
On Linux we can potentially use user and UTS namespaces to run a test
|
|
in a pseudo-container with:
|
|
- arbitrary filesystem (e.g. /etc/resolv.conf, /etc/nsswitch.conf, /etc/hosts)
|
|
- arbitrary hostname/domainname.
|
|
|
|
Include a first pass at the framework code to allow this, along with a
|
|
first test case that uses the container.
|
|
|
|
- test: Use a longer timeout for less flakiness
|
|
|
|
Having occasional test failures from timeout before multiple
|
|
queries can complete, so up the default timeout for the test
|
|
from 100ms to 1500ms.
|
|
|
|
- test: Make failure tests more robust
|
|
|
|
Different platforms will do different numbers of allocations
|
|
in the processing of a given API call; just check that the
|
|
return code is either success or ENOMEM, and free off any
|
|
returned state in the former case.
|
|
|
|
Also cope with ECONNREFUSED as well as ENOTFOUND.
|
|
|
|
- test: Get test code building under Windows
|
|
|
|
- Initial nmake file based off library nmake file
|
|
- Cast socket call arguments to (char *)
|
|
- Use wrapper sclose() that maps to closesocket() or close()
|
|
- Build a config.h indicating presence of headers
|
|
- Conditionally include netdb.h
|
|
- Remove unnecessary include of sys/socket.h
|
|
- Force longer bitmask for allocation failure tracking
|
|
- Call WSAStartup() / WSACleanup() in main()
|
|
- Set TCP_NODELAY for mock server
|
|
- Turn on tests in AppVeyor build
|
|
|
|
- test: Disable tests that manipulate env on Windows
|
|
|
|
- test: Move file lists into Makefile.inc
|
|
|
|
In preparation for a Win32 build of the test suite.
|
|
|
|
- test: Add a simple multi-server test
|
|
|
|
Check rotate option does something
|
|
|
|
- test: Allow for multiple mock servers
|
|
|
|
- Update the MockServer to allow separate specification of
|
|
UDP and TCP ports
|
|
- Have an array of mock servers listening on consecutive
|
|
sets of ports.
|
|
- Rename Process(fd) to ProcessFD(fd) to avoid confusion.
|
|
- Initialize channel by using the new ares_set_servers_ports()
|
|
entrypoint, so multiple ports on the same loopback address
|
|
can be used.
|
|
|
|
- test: Update test for set/get_servers variants
|
|
|
|
Ports are significant in the _ports_ variant functions, so update test to cope.
|
|
|
|
- test: Make GetNameServers() utility function port-aware
|
|
|
|
Also make it generally available.
|
|
|
|
- test: more testing, including of internal static functions
|
|
|
|
- test: more tests, especially fallback processing
|
|
|
|
- Make mock server listen on UDP + TCP in parallel.
|
|
- Test UDP->TCP fallback on truncation
|
|
- Test EDNS->no-EDNS fallback
|
|
- Test some environment init options
|
|
- Test nonsense reply
|
|
|
|
test: short response
|
|
|
|
- test: more tests, particularly of initialization
|
|
|
|
- test: Run mock tests over both TCP and UDP
|
|
|
|
With the exception of a few tests that make use of the timed
|
|
retry aspect of UDP.
|
|
|
|
- test: Run mock tests over both IPv4 and IPv6
|
|
|
|
- test: Add more tests for edge cases
|
|
|
|
- test: more nooks and crannies of pton functions
|
|
|
|
- test: More tests for PTR parsing
|
|
|
|
- test: Use of HOSTALIAS environment variable
|
|
|
|
- test: Add RAII utility classes for testing
|
|
|
|
- TempFile holds specific contents
|
|
- EnvValue sets an environment variable
|
|
|
|
- test: More search domain scenarios
|
|
|
|
- test: Remove duplicate flags from Makefile.am
|
|
|
|
- test: Make test code leak-free
|
|
|
|
- test: More tests
|
|
|
|
- test use of sortlist
|
|
- test gethostbyname(AF_UNSPEC)
|
|
|
|
- test: Test ares_gethostbyname_file()
|
|
|
|
- test: Add more tests of ares_getnameinfo()
|
|
|
|
- test: Tweak tests, add alloc failure test
|
|
|
|
- test: Test init with options
|
|
|
|
- test: More tests
|
|
|
|
- ares_inet_net_pton() variants
|
|
- ares_getsock() variants
|
|
|
|
- test: Expose ProcessWork() function
|
|
|
|
- test: More parsing tests
|
|
|
|
Including:
|
|
- Split each parse function test set out into separate files.
|
|
- Add an allocation failure test for each parsing function.
|
|
- Add error check test for each parsing function.
|
|
|
|
- test: Add various additional tests
|
|
|
|
- test: More tests
|
|
|
|
Include tests of internal functions, based on the value of the
|
|
CARES_SYMBOL_HIDING macro; need to configure the library with
|
|
--disable-symbol-hiding to enable these tests.
|
|
|
|
- test: Allow command line override of mock server port
|
|
|
|
- test: Add README.md documentation
|
|
|
|
- test: Temporarily avoid latest Python requests package
|
|
|
|
Currently get error from Travis on this install step, and downgrading one
|
|
version appears to fix the problem.
|
|
|
|
"Could not find any downloads that satisfy the requirement pyOpenSSL>=0.13
|
|
(from requests[security])"
|
|
|
|
- test: Add AppVeyor config file for Windows build
|
|
|
|
- test: Add configuration for a Travis build
|
|
|
|
Cover Linux & OSX on the container infrastructure, but install
|
|
a later G++ to satisfy the tests' need for C++11.
|
|
|
|
Use a build matrix to include a variety of build variants:
|
|
- ASAN
|
|
- UBSAN
|
|
- LSAN
|
|
- Coverage via coveralls.io
|
|
|
|
test: invoke ASAN and coverage in Travis build
|
|
|
|
Also shift to use explicit build matrix
|
|
|
|
test: Use coveralls.io for coverage tracking
|
|
|
|
test: Add a build with UBSAN
|
|
|
|
Also expand and re-order the setting of environment variables
|
|
for easier modification.
|
|
|
|
test: Add LSAN build to Travis config
|
|
|
|
- test: Add initial unit tests for c-ares library
|
|
|
|
The tests are written in C++11, using the GoogleTest and GoogleMock
|
|
frameworks. They have their own independent autoconf setup, so that
|
|
users of the library need not have a C++ compiler just to get c-ares
|
|
working (however, the test/configure.ac file does assume the use of
|
|
a shared top-level m4/ directory). However, this autoconf setup has
|
|
only been tested on Linux and OSX so far.
|
|
|
|
Run with "./arestest", or "./arestest -v" to see extra debug info.
|
|
The GoogleTest options for running specific tests are also
|
|
available (e.g. "./arestest --gtest_filter=*Live*").
|
|
|
|
The tests are nowhere near complete yet (currently hitting around
|
|
60% coverage as reported by gcov), but they do include examples
|
|
of a few different styles of testing:
|
|
|
|
- There are live tests (ares-test-live.cc), which assume that the
|
|
current machine has a valid DNS setup and connection to the
|
|
internet; these tests issue queries for real domains but don't
|
|
particularly check what gets returned. The tests will fail on
|
|
an offline machine.
|
|
|
|
- There a few mock tests (ares-test-mock.cc) that set up a fake DNS
|
|
server and inject its port into the c-ares library configuration.
|
|
These tests allow specific response messages to be crafted and
|
|
injected, and so are likely to be used for many more tests in
|
|
future.
|
|
|
|
- To make this generation/injection easier, the dns-proto.h file
|
|
includes C++ helper classes for building DNS packets.
|
|
|
|
- Other library entrypoints that don't require network activity
|
|
(e.g. ares_parse_*_reply) are tested directly.
|
|
|
|
- There are few tests of library-internal functions that are not
|
|
normally visible to API users (in ares-test-internal.cc).
|
|
|
|
- A couple of the tests use a helper method of the test fixture to
|
|
inject memory allocation failures, using the earlier change to the
|
|
library to allow override of malloc/realloc/free.
|
|
|
|
- There is also an entrypoint to allow Clang's libfuzzer to drive
|
|
the packet parsing code in ares_parse_*_reply, together with a
|
|
standalone wrapper for it (./aresfuzz) to allow use of afl-fuzz
|
|
for further fuzz testing.
|
|
|
|
- test: Add local copy of GoogleMock/GoogleTest 1.7.0
|
|
|
|
Don't check in gtest/m4 files, as they are unused and interfere
|
|
with the top-level configure process.
|
|
|
|
- doc: Show build badges in README.md
|
|
|
|
Note that these URLs will need to be updated if/when the test branch
|
|
gets pulled into the master repo/branch.
|
|
|
|
- doc: Convert README to README.md
|
|
|
|
Gives better display on GitHub
|
|
|
|
- doc: Update in preparation for next release
|
|
|
|
Assume 1.11.0 is next (as there are various API additions).
|
|
Also add myself to AUTHORS.
|
|
|
|
- build: Allow header compilation by Windows C++ compiler
|
|
|
|
- build: Expose whether symbol hiding is on
|
|
|
|
Adding the CARES_SYMBOL_HIDING definition allows the test suite to
|
|
detect whether internal symbols are available or not.
|
|
|
|
- build: Add autoconf macros for C++11 code using pthreads
|
|
|
|
Pull in testing macros from the GNU autoconf archive to allow
|
|
configure scripts to test for and setup use of a C++11 compiler
|
|
(AX_CXX_COMPILE_STDCXX_11) and the pthreads library (AX_PTHREAD).
|
|
|
|
Note that these macros are not used by the main library autoconf,
|
|
just by the tests (which share the same m4/ directory).
|
|
|
|
- build: Add a code coverage option
|
|
|
|
Configure with:
|
|
./configure --enable-code-coverage
|
|
Show coverage output with:
|
|
make code-coverage-capture
|
|
|
|
Built on m4/ax_code_coverage.m4 from the GNU autoconf archive
|
|
to provide the macros to check for presence of gcov + lcov;
|
|
upstream macro modified to:
|
|
- Remove use of $(AM_DEFAULT_VERBOSITY) , as earlier versions of
|
|
autoconf (such as the one used by default on Travis) do not have this.
|
|
- Rather than automatically defining CODE_COVERAGE_RULES to be a set
|
|
of makefile rules that use ifeq/endif (which is GNU make-specific),
|
|
instead only define CODE_COVERAGE_RULES if coverages is turned on,
|
|
and in that case don't use conditionals in the makefile.
|
|
|
|
- api: Add entrypoints to allow use of per-server ports
|
|
|
|
Add user-visible entrypoints ares_{get,set}_servers_ports(3), which
|
|
take struct ares_addr_port_node rather than struct ares_addr_node.
|
|
This structure includes a UDP and TCP port number; if this is set
|
|
to zero, the channel-wide port values are used as before.
|
|
|
|
Similarly, add a new ares_set_servers_ports_csv(3) entrypoint, which
|
|
is analogous to ares_set_servers(3) except it doesn't ignore any
|
|
specified port information; instead, any per-server specified port
|
|
is used as both the UDP and TCP port for that server.
|
|
|
|
The internal struct ares_addr is extended to hold the UDP/TCP ports,
|
|
stored in network order, with the convention that a value of zero
|
|
indicates that the channel-wide UDP/TCP port should be used.
|
|
|
|
For the internal implementation of ares_dup(3), shift to use the
|
|
_ports() version of the get/set functions, so port information is
|
|
transferred correctly to the new channel.
|
|
|
|
Update manpages, and add missing ares_set_servers_csv to the lists
|
|
while we're at it
|
|
|
|
- api: Add ares_set_sortlist(3) entrypoint
|
|
|
|
Allow explicit configuration of the channel's sortlist, by
|
|
specifying a string in the same format as the equivalent
|
|
/etc/resolv.conf option.
|
|
|
|
This allows library users to perform the same configuration
|
|
that is available via /etc/resolv.conf, but without needing
|
|
to change that file.
|
|
|
|
- api: Allow injection of user-specified malloc/free functions
|
|
|
|
Add a new ares_library_init_mem() initialization function for the
|
|
library which allows the library user to specify their own malloc,
|
|
realloc & free equivalents for use library-wide.
|
|
|
|
Store these function pointers in library-wide global variables,
|
|
defaulting to libc's malloc(), realloc() and free().
|
|
|
|
Change all calls to malloc, realloc and free to use the function pointer
|
|
instead. Also ensure that ares_strdup() is always available
|
|
(even if the local environment includes strdup(3)), and change the
|
|
library code to always use it.
|
|
|
|
Convert calls to calloc() to use ares_malloc() + memset
|
|
|
|
- api: Add option to expose some internal functions
|
|
|
|
Purely for testing, add --enable-expose-statics option to configure
|
|
which converts some static internal functions to be externally visible.
|
|
|
|
- api: Expose the ares_library_initialized() function
|
|
|
|
- ahost: Allow repeated -s <domain> options
|
|
|
|
This also removes a potential leak where later -s options would
|
|
replace earlier ones without freeing the relevant string.
|
|
|
|
- Mark unhittable lines
|
|
|
|
Add comments for the benefit of the lcov tool, marking
|
|
lines that cannot be hit. Typically these are fall-back
|
|
protection arms that are already covered by earlier checks,
|
|
and so it's not worth taking out the unhittable code (in case
|
|
someone changes the code between the two places in future).
|
|
|
|
- ares_set_servers_csv.3: make return type match code
|
|
|
|
- bitncmp: update comment to match code behaviour
|
|
|
|
- ares_striendstr: fix so non-NULL return can happen
|
|
|
|
This looks to have been broken since it was first introduced in 2005 in
|
|
commit aba0b775ea30 ("Added ares_getnameinfo which mimics the
|
|
getnameinfo API")
|
|
|
|
- config_sortlist: free any existing sortlist on (re)alloc failure
|
|
|
|
If we get an allocation failure on 2nd or later entry in the sortlist, the
|
|
code would return ENOMEM but still leave the initial entries allocated.
|
|
Ensure that *sortlist is set to NULL whenever ENOMEM is returned.
|
|
|
|
- ares_dup: clear new channel on failure
|
|
|
|
If the attempt to transfer IPv6 servers from the old to the new channel
|
|
fails, the previous code would still return a channel to the user even though
|
|
an error return code was generated. This makes it likely that users would
|
|
leak the channel, so explicitly clear the channel in this case.
|
|
|
|
- ares_init_options: don't lose init failure
|
|
|
|
If (say) init_by_options() fails, the subsequent call to
|
|
init_by_defaults() was overwriting the return code with
|
|
success. Still call init_by_defaults() regardless, but track
|
|
its return value separately
|
|
|
|
- ares_gethostbyname: don't leak valid-but-empty hostent
|
|
|
|
If an AF_UNSPEC query gets a valid response to its AAAA query,
|
|
but which has no IPv6 addresses in it, then the code chains on to
|
|
a A record query. However, the hostent from the AAAA response
|
|
was being leaked along the way (because it gets replaced before
|
|
the follow-on end_hquery() invocation).
|
|
|
|
- ares_parse_txt_reply: propagate errors from per-substring loop
|
|
|
|
If we get an allocation failure when processing a particular substring in a
|
|
TXT record, that failure is silently lost; fix that by propagating errors from
|
|
the inner loop to the outer loop.
|
|
|
|
- process_answer: fix things up correctly when removing EDNS option
|
|
|
|
When a server rejects an EDNS-equipped request, we retry without
|
|
the EDNS option. However, in TCP mode, the 2-byte length prefix was
|
|
being calculated wrong -- it was built from the answer length rather than
|
|
the length of the original request.
|
|
|
|
Also, it is theoretically possible that the call to realloc() might change
|
|
the data pointed to; to allow for this, qbuf also needs updating.
|
|
|
|
(Both these fixes were actually included in a patchset sent on the mailing
|
|
list in Oct 2012, but were included with other functional changes that
|
|
didn't get merged:
|
|
http://c-ares.haxx.se/mail/c-ares-archive-2012-10/0004.shtml)
|
|
|
|
- ares__read_line: clear buf pointer on realloc failure
|
|
|
|
- ares_expand_name: check for valid bits in label length
|
|
|
|
The top two bits of the label length indicate whether this is a
|
|
label length (00) or an index to a name elsewhere in the message
|
|
(11). RFC1035 4.1.4 says that the other possible values for the
|
|
top two bits (01, 10) are reserved for future use.
|
|
|
|
Daniel Stenberg (23 Jan 2016)
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Fix typos detected by lintian
|
|
|
|
Closes #32
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Distribute all man pages
|
|
|
|
- README.cares: s/I/Daniel
|
|
|
|
... and add a pointer to an existing version of the original area 1.1.1
|
|
package.a
|
|
|
|
- read_tcp_data: don't try to use NULL pointer after malloc failure
|
|
|
|
CID 56884, pointed out by Coverity. We really should make this function
|
|
return an error code so that a malloc() failure can return back a major
|
|
failure.
|
|
|
|
- configure_socket: explicitly ignore return code
|
|
|
|
CID 56889 in Coverity pointed out the return code from setsocknonblock()
|
|
is ignored, and this added typecast to (void) makes it explicit.
|
|
|
|
- ahost: check the select() return code
|
|
|
|
Fixes CID 137189, pointed out by Coverity
|
|
|
|
David Drysdale (18 Jan 2016)
|
|
- Fix buildconf on platforms using glibtoolize
|
|
|
|
Commit c49a87eea538 changed buildconf to only check for
|
|
libtoolize, but missed a line
|
|
|
|
- Don't exit loop early leaving uninitialized entries
|
|
|
|
Update for commit affc63cba875d.
|
|
|
|
The original patch from Gregor Jasny did not have the break
|
|
statement; I incorrectly added it to prevent continuing the loop.
|
|
However, the later entries in the array would then be left
|
|
uninitialized, causing problems for later cleanup.
|
|
|
|
So fix to match Gregor's original patch, with apologies.
|
|
|
|
Daniel Stenberg (18 Jan 2016)
|
|
- buildconf: remove check for libtool, it only requires libtoolize
|
|
|
|
David Drysdale (17 Jan 2016)
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Use libresolv to initialize cares on iPhone targets
|
|
|
|
On iPhone targets like iOS, watchOS or tvOS the file
|
|
/etc/resolv.conf cannot be used to configure cares.
|
|
|
|
Instead the resolver library is queried for configuration
|
|
values.
|
|
|
|
CC: Yury Kirpichev <ykirpichev@yandex-team.ru>
|
|
|
|
Daniel Stenberg (17 Jan 2016)
|
|
- README: updated to new repo URL
|
|
|
|
David Drysdale (14 Jan 2016)
|
|
- [Lei Shi brought this change]
|
|
|
|
Fixing slow DNS lookup issue
|
|
|
|
This patch is fixing the dns lookup issue due to dummy dns information
|
|
of a disconnected adapter(in my case is a bluetooth adapter). I changed
|
|
the dns lookup policy to try GetNetworkParams first because the
|
|
GetNetworkParams provides the most reliable dns information (lots of
|
|
checks were done by system). I also filter out inoperable adapter in
|
|
DNS_AdaptersAddresses in case GetNetworkParams fail.
|
|
|
|
- Merge pull request #30 from p-push/vs-2015
|
|
|
|
Support Visual Studio 2015
|
|
|
|
Oleg Pudeyev (3 Jan 2016)
|
|
- [Gisle Vanem brought this change]
|
|
|
|
Support Visual Studio 2015
|
|
|
|
David Drysdale (11 Nov 2015)
|
|
- [Andrew Andkjar brought this change]
|
|
|
|
added another version case to Makefile.msvc
|
|
|
|
nmake version 11.00.61030.0 resolves to CC_VERS_NUM = 110
|
|
|
|
- Merge pull request #26 from bitbouncer/vs-2013
|
|
|
|
added define for visual studio 2013
|
|
|
|
svante karlsson (25 Jun 2015)
|
|
- added define for visual studio 2013
|
|
|
|
Jakub Hrozek (6 Nov 2014)
|
|
- ares__read_line: free buf on realloc failure
|
|
|
|
- Destroy options if ares_save_options fails
|
|
|
|
It's possible that, if ares_save_options failed, the opts structure
|
|
would contain some allocated memory. Calling ares_destroy_options in
|
|
this case is safe, because ares_save_options zeroes out the memory
|
|
initially.
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
Continue loop if space for hostname not large enough
|
|
|
|
When attempting to build a search domain from the local hostname
|
|
(used as a fallback when no other methods have given a search
|
|
domain), the code doubles the buffer size on each loop iteration.
|
|
|
|
However, the loop previously had a WHILE_FALSE terminator so the continue
|
|
statement exited the loop rather than going round again.
|
|
|
|
Daniel Stenberg (30 Oct 2014)
|
|
- ares_getnameinfo.3: there is no ares_getaddrinfo
|
|
|
|
David Drysdale (30 Sep 2014)
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Prevent tmpbuf from overrunning
|
|
|
|
Fix Coverity error CID 56886.
|
|
|
|
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Re-start loop if select fails
|
|
|
|
Fix Coverity error CID 56882
|
|
|
|
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Free temporary variable in error path
|
|
|
|
Fix Coverity CID 56890
|
|
|
|
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Fix integer shift overflow if both tcp_socket and udp_socket are set
|
|
|
|
The problem occurs if at the start of the loop the sockindex is at the
|
|
last valid ARES_GETSOCK_MAXNUM position. If then both udp_socket and
|
|
tcp_socket are valid, sockindex gets incremented for UDP first and
|
|
points one entry behind the array for the tcp block.
|
|
So the fix is to check after every increment of sockindex if it is still
|
|
valid.
|
|
|
|
Fix Coverity error CID 56878
|
|
|
|
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
|
|
|
|
- [Gregor Jasny brought this change]
|
|
|
|
Null check before dereference
|
|
|
|
Fix Coverity error CID 56880
|
|
|
|
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
|
|
|
|
Jakub Hrozek (28 Jul 2014)
|
|
- [Gisle Vanem brought this change]
|
|
|
|
Comment in ares_ipv6.h
|
|
|
|
David Drysdale (25 Jul 2014)
|
|
- CONTRIBUTING: add file to indicate mailing list is preferred
|
|
|
|
- Add -t u option to ahost
|
|
|
|
Add an option to allow specification of the AF_UNSPEC
|
|
address family.
|
|
|
|
Jakub Hrozek (24 Jul 2014)
|
|
- host_callback: Fall back to AF_INET on searching with AF_UNSPEC
|
|
|
|
Previously, when an ares_gethostbyname() searched with AF_UNSPEC and the
|
|
first AF_INET6 call only returned CNAMEs, the host_callback never
|
|
retried AF_INET.
|
|
|
|
This patch makes sure than on ARES_SUCCESS, the result of AF_INET6 is
|
|
taken as authoritative only if the result contains some addresses.
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
Move memset call below platform-specific declarations
|
|
|
|
A GitHub commenter [1] says that my recent change to ahost.c has
|
|
problems compiling on Windows + C89 platforms.
|
|
|
|
[1] https://github.com/bagder/c-ares/commit/ee22246507c9#commitcomment-6587616
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
Update ahost man page to describe -s option.
|
|
|
|
Commit ee22246507c9 added the -s <domain> option to the
|
|
ahost command, but neglected to update the man page to
|
|
describe it.
|
|
|
|
Also fix typo in description of -t option.
|
|
|
|
- ares_parse_soa_reply: Do not leak rr_name on allocation failure
|
|
|
|
If ares_malloc_data failed, already allocated rr_name would go out of
|
|
scope.
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
Don't override explicitly specified search domains
|
|
|
|
Only set search domains from /etc/resolv.conf if there isn't a value
|
|
already present in the channel.
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
Allow specification of search domain in ahost
|
|
|
|
Add the "-s domain" command line option to override the search
|
|
domains.
|
|
|
|
Daniel Stenberg (12 May 2014)
|
|
- Revert "ares_parse_aaaa_reply: fix leak when reply contains 1 alias and no address"
|
|
|
|
This reverts commit 440110b303fdbfadb3ad53d30eeb98cc45d70451.
|
|
|
|
- [Frederic Germain brought this change]
|
|
|
|
ares_parse_aaaa_reply: fix leak when reply contains 1 alias and no address
|
|
|
|
- [Doug Kwan brought this change]
|
|
|
|
ares_build.h: fix building on 64-bit powerpc
|
|
|
|
There are two issues.
|
|
|
|
1. gcc actually does not use __ppc__ and __ppc64__ but __PPC__ and
|
|
__PPC64__. The tests of __ILP32__ and __LP64__ are sufficient for gcc.
|
|
|
|
2. clang defines __GNU__ and defines both __ppc64__ and __ppc__ when
|
|
targeting ppc64. This makes CARES_SIZEOF_LONG to be 4 on a ppc64 system
|
|
when building with clang.
|
|
|
|
My patch is two change the order of the checks so that we check the
|
|
64-bit case first.
|
|
|
|
- refresh: updated now with automake 1.14
|
|
|
|
- [David Drysdale brought this change]
|
|
|
|
single_domain: Invalid memory access for empty string input
|
|
|
|
We noticed a small buglet in ares_search() when it gets an empty string
|
|
as input -- the single_domain() utility function in ares_search.c
|
|
accesses invalid memory (before the start of the string).
|
|
|
|
Guenter Knauf (31 Aug 2013)
|
|
- Fixed warning 'type specifier missing'.
|
|
|
|
Daniel Stenberg (30 Aug 2013)
|
|
- [Tor Arntsen brought this change]
|
|
|
|
ares_rules.h: CARES_SIZEOF_LONG doesn't exist anymore, don't test for it
|
|
|
|
It was removed in f19387dd72432
|
|
|
|
- nowarn: use <limits.h> instead of configure for size of long
|
|
|
|
This makes the header file much more multi-arch friendly and can be used
|
|
as-is with both 32 bit and 64 bit builds.
|
|
|
|
- timeoffset: made static and private
|
|
|
|
ares__timeoffset() was only used once within this single source file
|
|
|
|
- timeadd: make static
|
|
|
|
ares__timeadd() was only ever used from within the same source
|
|
|
|
Yang Tse (18 Jul 2013)
|
|
- xc-am-iface.m4: comments refinement
|
|
|
|
- configure: fix 'subdir-objects' distclean related issue
|
|
|
|
See XC_AMEND_DISTCLEAN comments for details.
|
|
|
|
- configure: automake 1.14 compatibility tweak (use XC_AUTOMAKE)
|
|
|
|
- xc-am-iface.m4: provide XC_AUTOMAKE macro
|
|
|
|
Daniel Stenberg (12 May 2013)
|
|
- gitignore: ignore all ares_*pdf but also CHANGES.dist
|
|
|
|
- bump: start working towards 1.10.1
|
|
|
|
Version 1.10.0 (12 May 2013)
|
|
|
|
Daniel Stenberg (12 May 2013)
|
|
- RELEASE-NOTES: two more bug fixes
|
|
|
|
- [Keith Shaw brought this change]
|
|
|
|
ares_set_servers_csv: fixed IPv6 address parsing
|
|
|
|
Fixed bug that caused the last part of an IPv6 address to be parsed as
|
|
the port number when the last part is all numeric.
|
|
|
|
- nroff: fix two syntax mistakes
|
|
|
|
ares_parse_a_reply and ares_parse_aaaa_reply both had two \fB instead of
|
|
\fP
|
|
|
|
Reported-by: Alexander Klauer
|
|
Bug: http://c-ares.haxx.se/mail/c-ares-archive-2013-03/0010.shtml
|
|
|
|
- [Alex Loukissas brought this change]
|
|
|
|
build: fix build on msvc11
|
|
|
|
- Makefile.am: increment -version-info for 1.10.0 release
|
|
|
|
- README: remove unnecessary comment
|
|
|
|
- ares_version.h: copyright end range year is now 2013
|
|
|
|
- RELEASE-NOTES: synced with fb0737f3a0a1c37
|
|
|
|
- [Paul Saab brought this change]
|
|
|
|
ares_parse_aaaa_reply: Plug memory leak
|
|
|
|
This change is similar to ares_parse_a_reply.c in commit
|
|
bffd67f16a8f42fe6dbf79ab2e39d92eea05c8a6
|
|
|
|
- [Patrick Valsecchi brought this change]
|
|
|
|
ares_parse_txt_reply: return a ares_txt_reply node for each sub-string
|
|
|
|
Previously, the function would wrongly return all substrings merged into
|
|
one.
|
|
|
|
- [Alexander Klauer brought this change]
|
|
|
|
library init: documentation update
|
|
|
|
This commit updates the documentation of ares_library_init() and
|
|
ares_library_cleanup() with regard to the newly introduced reference
|
|
counting of initializations and deinitializations.
|
|
|
|
- [Alexander Klauer brought this change]
|
|
|
|
library init: be recursive
|
|
|
|
Previously, a single call to ares_library_cleanup() would deinitialise
|
|
the c-ares library, regardless of how many times ares_library_init() was
|
|
called. This behaviour may cause problems in programs linking two or
|
|
more libraries which, in turn, use c-ares. The present commit fixes this
|
|
problem, deinitializing the library only after a number of calls to
|
|
ares_library_cleanup() matching the number of calls to
|
|
ares_library_init().
|
|
|
|
- [Patrick Valsecchi brought this change]
|
|
|
|
protocol parsing: check input data stricter
|
|
|
|
... so that bad length fields aren't blindly accepted
|
|
|
|
Bug: http://c-ares.haxx.se/mail/c-ares-archive-2013-04/0016.shtml
|
|
|
|
Guenter Knauf (11 Apr 2013)
|
|
- Create ares_build.h when buidling from Git.
|
|
|
|
- Added -DCARES_STATICLIB to CFLAGS.
|
|
|
|
Currently this static makefile does only support building the
|
|
static library libcares.a.
|
|
|
|
Daniel Stenberg (8 Apr 2013)
|
|
- [Alexander Klauer brought this change]
|
|
|
|
.gitignore: ignore patch files
|
|
|
|
This commit adds a line to .gitignore to the effect that patch files
|
|
generated by 'git format-patch' are excluded from the repository.
|
|
|
|
- [Alexander Klauer brought this change]
|
|
|
|
ares_destroy() documentation: no new requests
|
|
|
|
Clarify that no new requests may be added to a resolver channel that is
|
|
currently being destroyed.
|
|
|
|
- [Alexander Klauer brought this change]
|
|
|
|
Documentation: properly document ARES_ECANCELLED
|
|
|
|
This commit clarifies the behaviour of ares_cancel() with respect to
|
|
callbacks and adds missing documentation of ARES_ECANCELLED to the man
|
|
pages of the affected functions.
|
|
|
|
- [Alexander Klauer brought this change]
|
|
|
|
ares_cancel(): cancel requests safely
|
|
|
|
An invocation of ares_cancel() walks through the request list, calling
|
|
the callbacks of all pending requests on a channel. Previously, if such
|
|
a callback added a new request to the channel, the request list might
|
|
not end up empty, causing an abort by assertion failure. The present
|
|
commit ensures that precisely all requests present upon entry of
|
|
ares_cancel() are cancelled, and that adding new requests through
|
|
callbacks is safe.
|
|
|
|
Yang Tse (10 Mar 2013)
|
|
- ares.h: stricter CARES_EXTERN linkage decorations logic
|
|
|
|
No API change involved.
|
|
|
|
- ares_build.h.dist: enhance non-configure GCC ABI detection logic
|
|
|
|
GCC specific adjustments:
|
|
|
|
- check __ILP32__ before 32 and 64bit processor architectures in
|
|
order to detect ILP32 programming model on 64 bit processors
|
|
which, of course, also support LP64 programming model, when using
|
|
gcc 4.7 or newer.
|
|
|
|
- keep 32bit processor architecture checks in order to support gcc
|
|
versions older than 4.7 which don't define __ILP32__
|
|
|
|
- check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor
|
|
architecture checks for older versions which don't define __LP64__
|
|
|
|
Daniel Stenberg (9 Mar 2013)
|
|
- ares.h: there is no ares_free_soa function
|
|
|
|
Yang Tse (9 Mar 2013)
|
|
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
|
|
|
|
- ares_inet_ntop.3: s/socklen_t/ares_socklen_t
|
|
|
|
- configure: use XC_LIBTOOL for portability across libtool versions
|
|
|
|
- xc-lt-iface.m4: provide XC_LIBTOOL macro
|
|
|
|
- Makefile.am: use AM_CPPFLAGS instead of INCLUDES
|
|
|
|
- inet_ntop.c: s/socklen_t/ares_socklen_t
|
|
|
|
- inet_ntop.c: s/socklen_t/ares_socklen_t for portability
|
|
|
|
Daniel Stenberg (19 Feb 2013)
|
|
- ares.h: s/socklen_t/ares_socklen_t for portability
|
|
|
|
- ares_inet_ntop.3: 4th argument is socklen_t!
|
|
|
|
- spell inet correctly!
|
|
|
|
- ares_inet_pton/ntop: cleanup
|
|
|
|
Make sure that the symbols are always exported and present in c-ares.
|
|
|
|
Make the headers prefixed with 'ares'.
|
|
|
|
Removed the inet_ntop.h version as it no longer features any content.
|
|
|
|
- ares_inet_ntop/ares_inet_pton: added man pages
|
|
|
|
Yang Tse (15 Feb 2013)
|
|
- [Gisle Vanem brought this change]
|
|
|
|
curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to close_s()
|
|
|
|
- [Gisle Vanem brought this change]
|
|
|
|
config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32
|
|
|
|
- [Gisle Vanem brought this change]
|
|
|
|
config-dos.h: define strerror() to strerror_s_() for High-C
|
|
|
|
Daniel Stenberg (13 Feb 2013)
|
|
- ares_get_datatype: removed unused function
|
|
|
|
it was also wrongly named as internal functions require two underscores
|
|
|
|
- ares__bitncmp: use two underscores for private functions
|
|
|
|
It used a single one previously making it look like a public one
|
|
|
|
- ares__generate_new_id: moved to ares_query.c
|
|
|
|
... and ares__rc4 is turned into a local static function.
|
|
|
|
- ares__swap_lists: make private and static
|
|
|
|
... since there's only one user, make it static within ares_process.c
|
|
|
|
Yang Tse (13 Feb 2013)
|
|
- Makefile.msvc: add four VS version strings
|
|
|
|
Daniel Stenberg (13 Feb 2013)
|
|
- ares_expand_name.3: clarify how to free the data
|
|
|
|
Yang Tse (30 Jan 2013)
|
|
- zz40-xc-ovr.m4: fix 'wc' detection - follow-up 2
|
|
|
|
- Fix a pair of single quotes to double quotes.
|
|
|
|
URL: http://curl.haxx.se/mail/lib-2013-01/0355.html
|
|
Reported by: Tor Arntsen
|
|
|
|
- zz40-xc-ovr.m4: fix 'wc' detection - follow-up
|
|
|
|
- Take into account that 'wc' may return leading spaces and/or tabs.
|
|
|
|
- Set initial IFS to space, tab and newline.
|
|
|
|
- zz40-xc-ovr.m4: fix 'wc' detection
|
|
|
|
- Take into account that 'wc' may return leading spaces.
|
|
|
|
- Set internationalization behavior variables.
|
|
|
|
Tor Arntsen analyzed and reported the issue.
|
|
|
|
URL: http://curl.haxx.se/mail/lib-2013-01/0351.html
|
|
|
|
- zz40-xc-ovr.m4: check another three basic utilities
|
|
|
|
- zz40-xc-ovr.m4: 1.0 interface stabilization
|
|
|
|
- Stabilization results in 4 public interface m4 macros:
|
|
XC_CONFIGURE_PREAMBLE
|
|
XC_CONFIGURE_PREAMBLE_VER_MAJOR
|
|
XC_CONFIGURE_PREAMBLE_VER_MINOR
|
|
XC_CHECK_PATH_SEPARATOR
|
|
- Avoid one level of internal indirection
|
|
- Update comments
|
|
- Drop XC_OVR_ZZ40 macro
|
|
|
|
- zz40-xc-ovr.m4: emit witness message in configure BODY
|
|
|
|
This avoids witness message in output when running configure --help,
|
|
while sending the message to config.log for other configure runs.
|
|
|
|
- zz40-xc-ovr.m4: truly do version conditional overriding
|
|
|
|
- version conditional overriding
|
|
- catch unexpanded XC macros
|
|
- fix double words in comments
|
|
|
|
- zz40-xc-ovr.m4: fix variable assignment of subshell output bashism
|
|
|
|
Tor Arntsen analyzed and reported the issue.
|
|
|
|
URL: http://curl.haxx.se/mail/lib-2013-01/0306.html
|
|
|
|
- zz40-xc-ovr.m4: reinstate strict AC_REQUIRE macro dependencies
|
|
|
|
- zz40-xc-ovr.m4: avoid double single-quote usage
|
|
|
|
- zz40-xc-ovr.m4: parentheses balancing of 'case' statements
|
|
|
|
m4 quadrigraph shell comment technique allows proper autoconf
|
|
parentheses balancing in shell 'case' statements. The presence
|
|
of unbalanced parentheses may otherwise trigger expansion bugs.
|
|
|
|
- zz40-xc-ovr.m4: internals overhauling
|
|
|
|
- Update comments
|
|
- Execute commands in subshells
|
|
- Faster path separator check
|
|
- Fix missing 'test' command
|
|
- Rename private macros
|
|
- Minimize AC_REQUIRE usage
|
|
|
|
- zz40-xc-ovr.m4: redirect errors and warnings to stderr
|
|
|
|
- configure: use XC_CONFIGURE_PREAMBLE early checks
|
|
|
|
Some basic checks we make were placed early enough in generated
|
|
configure script when using autoconf 2.5X versions. Newer autoconf
|
|
versions expand these checks much further into the configure script,
|
|
rendering them useless. Using XC_CONFIGURE_PREAMBLE fixes placement
|
|
of early intended checks across all our autoconf supported versions.
|
|
|
|
- zz40-xc-ovr.m4: provide XC_CONFIGURE_PREAMBLE macro
|
|
|
|
- configure: autotools compatibility fixes - step I
|
|
|
|
Fix proper macro expansion order across autotools versions for
|
|
C compiler and preprocessor program checks.
|
|
|
|
- configure: fix automake 1.13 compatibility
|
|
|
|
Tested with:
|
|
|
|
buildconf: autoconf version 2.69
|
|
buildconf: autom4te version 2.69
|
|
buildconf: autoheader version 2.69
|
|
buildconf: automake version 1.13.1
|
|
buildconf: aclocal version 1.13.1
|
|
buildconf: libtool version 2.4
|
|
buildconf: GNU m4 version 1.4.16
|
|
|
|
- ares_private.h: use again memdebug.h instead of curl_memdebug.h
|
|
|
|
- configure.ac: replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS
|
|
|
|
automake 1.13 errors if AM_CONFIG_HEADER is used in configure script.
|
|
|
|
- cares-override.m4: provide AC_CONFIG_MACRO_DIR definition conditionally
|
|
|
|
Provide a 'traceable' AC_CONFIG_MACRO_DIR definition only when using
|
|
an autoconf version that does not provide it, instead of what we were
|
|
doing up to now of providing and overriding AC_CONFIG_MACRO_DIR for
|
|
all autoconf versions.
|
|
|
|
- ares_private.h: use curl_memdebug.h instead of memdebug.h
|
|
|
|
- vc6cares.dsp: add ares_create_query.c and ares_parse_soa_reply.c
|
|
|
|
- cares-functions.m4: improve gethostname arg 2 data type check
|
|
|
|
- setup_once.h: HP-UX specific 'bool', 'false' and 'true' definitions.
|
|
|
|
Also reverts commit bceb40095a
|
|
|
|
- configure: check if compiler halts on function prototype mismatch
|
|
|
|
- cares-functions.m4: add gethostname arg 2 data type check and definition
|
|
|
|
- cares-functions.m4: update thread-safeness detection of getaddrinfo()
|
|
|
|
Take in account that POSIX standard Issue 7 drops h_errno support. Now, we also
|
|
consider getaddrinfo() to be thread-safe when (_POSIX_C_SOURCE >= 200809L) or
|
|
(_XOPEN_SOURCE >= 700) independently of whether h_errno exists or not.
|
|
|
|
Take in account that h_errno might be a modifiable lvalue not defined as
|
|
a C preprocessor macro.
|
|
|
|
- setup_once.h: HP-UX <sys/socket.h> issue workaround
|
|
|
|
Issue: When building a 32bit target with large file support HP-UX
|
|
<sys/socket.h> header file may simultaneously provide two different
|
|
sets of declarations for sendfile and sendpath functions, one with
|
|
static and another with external linkage. Given that we do not use
|
|
mentioned functions we really don't care which linkage is the
|
|
appropriate one, but on the other hand, the double declaration emmits
|
|
warnings when using the HP-UX compiler and errors when using modern
|
|
gcc versions resulting in fatal compilation errors.
|
|
|
|
Mentioned issue is now fixed as long as we don't use sendfile nor
|
|
sendpath functions.
|
|
|
|
- setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h>
|
|
|
|
Inclusion of these two header files now done in setup_once.h
|
|
|
|
- Header inclusion clean-up
|
|
|
|
Remove header inclusions already done in setup_once.h
|
|
|
|
- setup_once.h: HP-UX specific TRUE and FALSE definitions
|
|
|
|
Some HP-UX system headers require TRUE defined to 1 and FALSE to 0.
|
|
|
|
- ares_timeout.c: fix compiler warning
|
|
|
|
- ares_create_query.c: IRIX compilation fix
|
|
|
|
- c-ares/nameser.h: add some T_* defines for ns_t_* values
|
|
|
|
Daniel Stenberg (7 Nov 2012)
|
|
- Revert "ares_parse_aaaa_reply: fix memory leak"
|
|
|
|
This reverts commit 50f25d8a4b2d16f4c5e0ef620238688b7a315c7a.
|
|
|
|
- ares_parse_aaaa_reply: fix memory leak
|
|
|
|
an allocated buffer was not freed in the successful case.
|
|
|
|
- [Gisle Vanem brought this change]
|
|
|
|
adig: perror() doesn't work for socket errors on windows
|
|
|
|
... so print the SOCKERRNO instead
|
|
|
|
- get_DNS_AdaptersAddresses: fix IPv6 parsing
|
|
|
|
Use of the wrong define made the function not parse IPv6 addresses
|
|
properly.
|
|
|
|
Bug: http://c-ares.haxx.se/mail/c-ares-archive-2012-06/0028.shtml
|
|
Reported by: Saúl Ibarra Corretgé
|
|
|
|
- version: bumped to 1.10.0
|
|
|
|
Due to the newly added function: ares_create_query()
|
|
|
|
- AUTHORS: synced with 83093ac450
|
|
|
|
Added 21 authors since this document was last updated
|
|
|
|
- ares_create_query.3: mention when this is added
|
|
|
|
- [hpopescu@ixiacom.com brought this change]
|
|
|
|
Added new feature (rfc2671)
|
|
|
|
- code police: fix indents, < 80 columns, reflowed comments
|
|
|
|
Guenter Knauf (11 Jul 2012)
|
|
- Cleaned up version awk script.
|
|
|
|
Daniel Stenberg (30 Jun 2012)
|
|
- [Gisle Vanem brought this change]
|
|
|
|
read_udp_packets: bail out loop on bad sockets
|
|
|
|
I can see that recvfrom() in ares_process.c many times is called with
|
|
'udp_socket' == ARES_SOCKET_BAD. The code takes care not to call
|
|
recv/recvfrom with ARES_SOCKET_BAD in the outer-loop. So should the
|
|
inner-loop.
|
|
|
|
Yang Tse (29 Jun 2012)
|
|
- cares-compilers.m4: remove -Wstrict-aliasing=3 from clang
|
|
|
|
Currently it is unknown if there is any version of clang that
|
|
actually supports -Wstrict-aliasing. What is known is that there
|
|
are several that don't support it.
|
|
|
|
- cares-compilers.m4: -Wstrict-aliasing=3 for warning enabled gcc and clang builds
|
|
|
|
Daniel Stenberg (18 Jun 2012)
|
|
- version: work towards 1.9.2 (at least)
|
|
|
|
Version 1.9.1 (18 Jun 2012)
|
|
|
|
Daniel Stenberg (18 Jun 2012)
|
|
- RELEASE-NOTES: 1.9.1 coming up
|
|
|
|
Version 1.9.0 (16 Jun 2012)
|
|
|
|
Daniel Stenberg (16 Jun 2012)
|
|
- ares_version.h: next version is 1.9.0
|
|
|
|
- [Marko Kreen brought this change]
|
|
|
|
ares_data.h: ARES_DATATYPE_SOA_REPLY is added in 1.9.0
|
|
|
|
- RELEASE-NOTES: synced with 979bf951d
|
|
|
|
Next release deemed to become 1.9.0 due to the new function
|
|
|
|
- [Marko Kreen brought this change]
|
|
|
|
SOA parser added
|
|
|
|
I need to do SOA queries, so here is a parser for them.
|
|
|
|
- ares_soa_reply: new struct
|
|
- ares_malloc_data/ares_free_soa: ARES_DATATYPE_SOA_REPLY
|
|
- ares_parse_soa_reply: actual function
|
|
|
|
Yang Tse (14 Jun 2012)
|
|
- Kill compiler warning
|
|
|
|
- Fix libcares.pc generation for static MingW* cross builds
|
|
|
|
Daniel Stenberg (21 May 2012)
|
|
- [Nick Alcock brought this change]
|
|
|
|
Fix UDP and TCP port byte order in saved options.
|
|
|
|
The UDP and TCP port are stored in network byte order in the
|
|
ares_channeldata, but are passed in to ares_init_options() in host byte
|
|
order. Thus we must return them from ares_save_options() in host byte
|
|
order too, or a duplicated channel will convert them again, leading to a
|
|
nonfunctional channel and a mysterious connection refused error from
|
|
ares_gethostbyname(). This breaks ares_dup(), thus the curl easy API
|
|
when c-ares is used by curl, and thus all the curl easy API's users.
|
|
|
|
Yang Tse (28 Apr 2012)
|
|
- version: start working on 1.8.1-DEV
|
|
|
|
Version 1.8.0 (27 Apr 2012)
|
|
|
|
Daniel Stenberg (27 Apr 2012)
|
|
- RELEASE-NOTES: call next 1.8 instead
|
|
|
|
Since we added a function, let's use a stricter bumping scheme
|
|
|
|
Yang Tse (25 Apr 2012)
|
|
- INSTALL: some adjustments
|
|
|
|
Daniel Stenberg (25 Apr 2012)
|
|
- GIT-INFO: mention buildconf
|
|
|
|
Yang Tse (25 Apr 2012)
|
|
- INSTALL: remove more sections that don't apply to c-ares
|
|
|
|
- ares_timeout.c: fix compiler warning
|
|
|
|
Daniel Stenberg (25 Apr 2012)
|
|
- [Ben Noordhuis brought this change]
|
|
|
|
Makefile.m32: fix mingw32 build
|
|
|
|
* add . to include path so ares_build.h is picked up
|
|
* make ar configurable to ease cross-compiling
|
|
|
|
- RELEASE-NOTES: added what's happened since 1.7.5
|
|
|
|
Guenter Knauf (22 Apr 2012)
|
|
- Updated copyright year.
|
|
|
|
Yang Tse (21 Apr 2012)
|
|
- ares_init.c: Further refactoring of Windows system's DNS fetching code
|
|
|
|
Guenter Knauf (20 Apr 2012)
|
|
- Android: small changes to dns property part.
|
|
|
|
Prefix prop vars; kill var; use DNS_PROP_NAME_PREFIX macro.
|
|
|
|
- Handle CNAME-only in ares_parse_aaaa_reply().
|
|
|
|
posted to the c-ares list by Peter Griess <pg@std.in>.
|
|
|
|
- Add support for multiple DNS servers on Android.
|
|
|
|
Before, c-ares always used the first DNS server on Android, causing
|
|
network problems if this DNS server was not available.
|
|
|
|
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
|
|
|
|
- Added INSTALL so it gets into tarballs.
|
|
|
|
- Added some more ifdefs to silent compiler warnings.
|
|
|
|
Yang Tse (17 Apr 2012)
|
|
- INSTALL: remove a non c-ares section
|
|
|
|
- cares-compilers.m4: -Wno-pedantic-ms-format for Windows gcc 4.5 builds
|
|
|
|
When building a Windows target with gcc 4.5 or newer and strict compiler
|
|
warnings enabled use -Wno-pedantic-ms-format in addition to other flags.
|
|
|
|
- setup_once.h: tighten requirements for stdbool.h header inclusion
|
|
|
|
Include stdbool.h only when it is available and configure is capable of
|
|
detecting a proper 'bool' data type when the header is included.
|
|
|
|
- configure: NATIVE_WINDOWS no longer defined in config file
|
|
|
|
- cares-compilers.m4: double underscore decoration for visibility attribute
|
|
|
|
- build adjustments: CARES_SYMBOL_HIDING no longer defined in config files
|
|
|
|
configure script now provides conditional definitions for Makefile.am
|
|
that result in CARES_SYMBOL_HIDING being defined by resulting makefiles
|
|
when appropriate.
|
|
|
|
- configure: Windows cross-compilation fixes
|
|
|
|
CARES_BUILDING_LIBRARY and CARES_STATICLIB no longer defined in ares_config.h,
|
|
configure will generate appropriate conditionals so that mentioned symbols
|
|
get defined and used in Makefile derived from Makefile.am at compilation time.
|
|
|
|
Guenter Knauf (17 Apr 2012)
|
|
- Added INSTALL file adapted from libcurl.
|
|
|
|
Not yet ready, and needs further edits.
|
|
|
|
Yang Tse (16 Apr 2012)
|
|
- ares_init.c: get_iphlpapi_dns_info() refactoring
|
|
|
|
Guenter Knauf (16 Apr 2012)
|
|
- Kill some more compiler warnings.
|
|
|
|
- Kill compiler warning about unused var.
|
|
|
|
- Fixed my last commit: wrong preprocessor directive.
|
|
|
|
- Check for __ANDROID__ in addition to ANDROID macro.
|
|
|
|
- Check for __ANDROID__ in addition to ANDROID macro.
|
|
|
|
Posted to c-ares list by Wayne.
|
|
|
|
- Fix for Android to disable useless arpa/nameser.h.
|
|
|
|
- Fix for Android to include sys/select.h for fd_set.
|
|
|
|
Yang Tse (17 Mar 2012)
|
|
- ares_data.c: some NAPTR related fixes
|
|
|
|
Daniel Stenberg (16 Mar 2012)
|
|
- port numbers: convert them to network order!
|
|
|
|
When the config options ARES_OPT_UDP_PORT or ARES_OPT_TCP_PORT are used,
|
|
make sure to convert them to network byte order!
|
|
|
|
Bug: http://c-ares.haxx.se/mail/c-ares-archive-2012-02/0004.shtml
|
|
|
|
- white space cleanup
|
|
|
|
- Keep code within 80 columns
|
|
|
|
- Removed funny spaces after open paren and before closing paren
|
|
|
|
- [Poul Thomas Lomholt brought this change]
|
|
|
|
get_iphlpapi_dns_info: fix buffer overrun
|
|
|
|
I experienced a buffer overrun exception in c-ares on Windows and
|
|
tracked it down to be an error in the calculation of the 'left' variable
|
|
in get_iphlpapi_dns_info().
|
|
|
|
I changed the variable type of 'left' to a _signed_ type because of the
|
|
subtraction arithmetic; not sure if a long is the best choice
|
|
|
|
- Merge pull request #7 from saghul/naptr
|
|
|
|
Added support for parsing NAPTR records
|
|
|
|
saghul (23 Feb 2012)
|
|
- Added support for parsing NAPTR records
|
|
|
|
Yang Tse (19 Jan 2012)
|
|
- ares_init.c: fix compiler warning on winsock builds
|
|
|
|
- configure: libtool 1.5 tweaks
|
|
|
|
Daniel Stenberg (19 Dec 2011)
|
|
- ares_timeout.3: fix the NAME section
|
|
|
|
It was clearly a copy n' paste error
|
|
|
|
Yang Tse (27 Sep 2011)
|
|
- [Albert Chin brought this change]
|
|
|
|
configure - m4: make CURL_CHECK_DEF ignore leading whitespace on symbol def
|
|
|
|
When using Sun C compiler the preprocessor somehow inserts an extra space
|
|
in front of replaced symbol, breaking CURL_CHECK_DEF macro. To workaround
|
|
this, macro CURL_CHECK_DEF now ignores all leading whitespace in front of
|
|
symbol substitution result.
|
|
|
|
- ares_init.c: fix segfault triggered in ares_init_options() upon previous
|
|
failure of init_by_defaults() and incomplete cleanup there.
|
|
|
|
- ares_process.c: fix compiler warning
|
|
|
|
- fix MSVC compiler warning 'conditional expression is constant'
|
|
|
|
- setup_once.h cleanup and sync
|
|
|
|
- [Denis Bilenko brought this change]
|
|
|
|
ares_getnameinfo: fix random results with c-ares 1.7.5
|
|
|
|
In ares_getnameinfo memcpy did not copy enough bytes, causing
|
|
it to return arbitrary memory contents as a result.
|
|
|
|
- warnings: fix another 'conversion may lose significant bits' compiler warning
|
|
|
|
- ares_dns.h: adjust DNS__16BIT and DNS__32BIT macro definitions
|
|
|
|
Fixing compiler warnings existing definitions triggered on these.
|
|
|
|
- ares_destroy.c: fix segfault in ares_destroy_options()
|
|
|
|
Daniel Stenberg (21 Aug 2011)
|
|
- ares_parse_srv_reply: silence compiler warnings
|
|
|
|
... by adding ugly typecasts.
|
|
|
|
- CHANGES: generate from script
|
|
|
|
The CHANGES file is now generated automatically with 'git2changes.pl',
|
|
invoked by the maketgz script which is used to build release archives.
|
|
|
|
The former human edited CHANGES file was renamed to CHANGES.0 in git.
|
|
|
|
Yang Tse (21 Aug 2011)
|
|
- Makefile.netware: SIZEOF_SHORT definition
|
|
|
|
- warnings: fix some 'conversion may lose significant bits' compiler warnings
|
|
|
|
- configure: fix symbol hiding usability check
|
|
|
|
A more thorough test is done now in order to determine visibility attribute
|
|
usability, given that some compilers don't support visibility attribute on
|
|
all configurations.
|
|
|
|
Daniel Stenberg (16 Aug 2011)
|
|
- 1.7.6: start working...
|
|
|
|
Version 1.7.5 (16 Aug 2011)
|
|
|
|
Daniel Stenberg (16 Aug 2011)
|
|
- CHANGES: synced for 1.7.5 release
|
|
|
|
- RELEASE-NOTES: synced with bb4096effef7f000
|
|
|
|
Jakub Hrozek (15 Aug 2011)
|
|
- Only fall back to AF_INET searches when looking for AF_UNSPEC addresses
|
|
|
|
Yang Tse (10 Aug 2011)
|
|
- [Gisle Vanem brought this change]
|
|
|
|
ares_iphlpapi.h: Watcom C fix
|
|
|
|
Added "!defined(_WS2DEF_)" since Watcom doesn't have
|
|
a per type guard for the typedefs 'CSADDR_INFO' (that MingW has) or
|
|
'SOCKET_ADDRESS' (that MSVC has). But we can use the header-guard for
|
|
<ws2def.h> instead.
|
|
|
|
- [Gisle Vanem brought this change]
|
|
|
|
Makefile.Watcom:
|
|
* The 'NTDDI_VERSION' needs to be raised to 0x05010000
|
|
in order for SOCKADDR_STORAGE etc. to be typedefed.
|
|
* Replaced '-dUSE_WATT32' with '-dWATT32'.
|
|
* Added $(DEMOS) to the 'all' target and removed the 'demos'
|
|
target to be consistent with e.g. Makefile.msvc etc.
|
|
* 'ENABLE_IPV6' is no longer used. Hence removed the '%use_ipv6' construct.
|
|
* object-file order seems to be important (Watcom v.19). Hence
|
|
'ares_getopt.obj' must be put after the .obj that references getopt().
|
|
|
|
- cares-compilers.m4: CARES_CONVERT_INCLUDE_TO_ISYSTEM adjustments
|
|
|
|
Add CARES_CHECK_COMPILER as a requirement.
|
|
|
|
Ensure macro does nothing unless GNU_C or CLANG compiler is used.
|
|
|
|
This should allow usage of this macro in unforeseen placements.
|
|
|
|
- config-win32.h: comments adjustments - followup
|
|
|
|
- config-win32.h: comments adjustments
|
|
|
|
Daniel Stenberg (5 Aug 2011)
|
|
- [Tom Hughes brought this change]
|
|
|
|
ares_parse_a_reply: fix memleak
|
|
|
|
Yang Tse (29 Jul 2011)
|
|
- cares-functions.m4 serial # bump
|
|
|
|
- Revert "configure: additional flag checks for fcntl() and socket()"
|
|
|
|
This reverts commit 5f2a3b0e48f26d24cb1fefea0dccb92d417dcbf7.
|
|
|
|
- configure: additional flag checks for fcntl() and socket()
|
|
|
|
- xc-translit.m4 fix quoting
|
|
|
|
- configure: avoid direct usage of AS_TR_* macros
|
|
|
|
- xc-translit.m4 provides transliteration macros with well defined behavior.
|
|
|
|
Jakub Hrozek (15 Jun 2011)
|
|
- Revert "Only fall back to AF_INET searches when looking for AF_UNSPEC addresses"
|
|
|
|
This reverts commit b5823d65706af687c0e5110af8f0cfdcd068997d.
|
|
|
|
This patch was not reviewed properly before pushing
|
|
|
|
- Revert "Do not use sized constants in public headers"
|
|
|
|
This reverts commit 22c01e96f7b2ae9923e1baa50bfe3c0d22297a7d.
|
|
|
|
This is a Red Hat specific patch that does not belong into upstream
|
|
|
|
- Use correct sizeof in ares_getnameinfo()
|
|
|
|
- Do not leak rr_name on failures inside ares_parse_ptr_reply
|
|
|
|
- Do not leak rr_name on failures inside ares_parse_a_reply
|
|
|
|
- Do not leak rr_name on failures inside ares_parse_aaaa_reply
|
|
|
|
- Do not leak rr_name on failures inside ares_parse_ns_reply
|
|
|
|
- Fix incorrect sizeof() in ares_save_options
|
|
|
|
- Fix incorrect allocation in ares_parse_ptr_reply()
|
|
|
|
- Only fall back to AF_INET searches when looking for AF_UNSPEC addresses
|
|
|
|
- Do not use sized constants in public headers
|
|
|
|
Daniel Stenberg (13 Jun 2011)
|
|
- [Jakub Hrozek brought this change]
|
|
|
|
ares_free_hostent(NULL) should be a noop
|
|
|
|
Yang Tse (8 Jun 2011)
|
|
- configure: fix recvfrom 5th arg type qualifier detection (followup)
|
|
|
|
- configure: fix recvfrom 5th arg type qualifier detection
|
|
|
|
Additionally remove whitespace from EOL
|
|
|
|
Daniel Stenberg (4 Jun 2011)
|
|
- strlen: use size_t to receive the return
|
|
|
|
Yang Tse (4 Jun 2011)
|
|
- xlc: avoid preprocessor definition usage when linking
|
|
|
|
- ares_nowarn: icc 9.1 workaround
|
|
|
|
- ares_nowarn: header inclusion fix
|
|
|
|
- ares_init: make ares_private.h last included header again
|
|
|
|
- compiler warning: fix
|
|
|
|
Fix compiler warning: conversion may lose significant bits
|
|
|
|
- compiler warning: fix
|
|
|
|
Fix compiler warning: variable was set but never used
|
|
|
|
Fix compiler warning: clobber ignored
|
|
|
|
- ares_iphlpapi: fix compiler warnings
|
|
|
|
- winsock: compilation fixes
|
|
|
|
Provide winsock iphlpapi alternative definitions to prevent compilation
|
|
failures when using a variety of winsock header implementations.
|
|
|
|
Daniel Stenberg (17 May 2011)
|
|
- [David Stuart brought this change]
|
|
|
|
IPv6-on-windows: find DNS servers correctly
|
|
|
|
- man pages: docs for the c-ares utility programs
|
|
|
|
- ares_parse_ns_reply.c: remove CVSism
|
|
|
|
Yang Tse (27 Mar 2011)
|
|
- build: fix header inclusion
|
|
|
|
- getservbyport replacement for Win CE
|
|
|
|
- renamed getplatform() to ares__getplatform() to avoid namespace pollution
|
|
|
|
- configure: fix libtool warning
|
|
|
|
Recent versions of libtool are now tracing usage of AC_CONFIG_MACRO_DIR
|
|
macro and warn heavily when not used in configure script along with
|
|
ACLOCAL_AMFLAGS in Makefile.am. So in order to make libtool happy
|
|
while keeping backwards compatibility this is added.
|
|
|
|
- adig: RFC4034 resource record type detection
|
|
|
|
Can be tested with: adig -s 8.8.8.8 -t ANY example.com
|
|
|
|
- nameser.h: RFC4034 resource record type definitions
|
|
|
|
- build: move platform stuff to ares_platform.c and ares_platform.h
|
|
|
|
- build: find out windows platform using GetVersionEx()
|
|
|
|
- build: use getenv() replacement function for systems which lack it
|
|
|
|
- setup_once: system error codes for Windows CE
|
|
|
|
- ares_search: use ERRNO macro for portability sake
|
|
|
|
- System's errno.h inclusion cleanup follow-up.
|
|
|
|
System's errno.h is conditionally included from setup_once.h
|
|
|
|
- Windows CE specific adjustment
|
|
|
|
All versions of Windows CE support Winsock 1.1
|
|
|
|
- System's errno.h inclusion cleanup.
|
|
|
|
System's errno.h is conditionally included from setup_once.h
|
|
|
|
- ares_init: fix gethostname error detection on winsock platforms
|
|
|
|
- configure: r-enable temporarily disabled detection of system's inet_ntop()
|
|
|
|
Detection was temporarily disabled in commit 674e044ccb21f2f63537da53565fce868f
|
|
|
|
Daniel Stenberg (15 Mar 2011)
|
|
- configure: stop using the deprecated AM_INIT_AUTOMAKE syntax
|
|
|
|
- [Gisle Vanem brought this change]
|
|
|
|
Watt-32: use errno
|
|
|
|
Make sure Watt-32 programs use 'errno' even on Win32 targets
|
|
|
|
Guenter Knauf (18 Feb 2011)
|
|
- Removed commented CLFAGS no longer needed.
|
|
|
|
- Fixed CFLAGS for NetWare.
|
|
|
|
Added -m32 to enable compilation with x86_64 compilers;
|
|
added conditional to set -fpcc-struct-return only for gcc compiler.
|
|
|
|
Daniel Stenberg (18 Feb 2011)
|
|
- [Gisle Vanem brought this change]
|
|
|
|
Watt32: fix server init
|
|
|
|
Somewhere in the process, programs using the Watt-32 tcp/ip stack
|
|
stopped working.
|
|
|
|
- [Dima Tisnek brought this change]
|
|
|
|
config_sortlist: (win32) missing else
|
|
|
|
Without an else there, contents of "pat" that could have been
|
|
successfully set just above, may be clobbered by successive unsuccessful
|
|
calls to "xxx_pton" or "ip_addr".
|
|
|
|
Yang Tse (17 Jan 2011)
|
|
- Makefile.msvc: add a couple of VS version strings
|
|
|
|
- Makefile.msvc: add a couple of VS version strings
|
|
|
|
- build: add install target to Makefile.msvc
|
|
|
|
Daniel Stenberg (27 Dec 2010)
|
|
- ares_set_servers_csv: remove unused variables
|
|
|
|
- init_by_resolv_conf: fix compiler warnings
|
|
|
|
The code received the return codes in the 'status' variable without
|
|
using it. Instead we just ignore those particular errors.
|
|
|
|
- getv4: Value stored to 'dst' is never read
|
|
|
|
- advance_tcp_send_queue: avoid NULL ptr dereference
|
|
|
|
If given a too large 'num_bytes' value, it would cause a NULL ptr
|
|
dereference. Instead the code will now break out of the loop at the end
|
|
of the list.
|
|
|
|
- [Peter Pentchev brought this change]
|
|
|
|
configure: fix a bashism
|
|
|
|
- cleanup: avoid unsafe typecasts
|
|
|
|
Avoid the risk of reading 16bit data from an unaligned address by using
|
|
a macro that is adapted for this.
|
|
|
|
- [Stefan Bühler brought this change]
|
|
|
|
ares_expand_name: Fix encoded length for indirect root
|
|
|
|
Yang Tse (18 Dec 2010)
|
|
- build: add some explicit file references to VS project files
|
|
|
|
- config-win32: provide HAVE_ASSERT_H definition
|
|
|
|
- build: include ares_nowarn in sample program VS project files
|
|
|
|
- build: include ares_nowarn among SAMPLESOURCES and SAMPLEHEADERS
|
|
|
|
- configure: temporarily disable detection of system's inet_ntop()
|
|
|
|
This is done to allow compilation of ares_inet_ntop() by some daily
|
|
builds picky compilers that otherwise do not need this function.
|
|
|
|
- changes: mention last fix
|
|
|
|
- ares_inet_ntop: remove definition and usage of macro SPRINTF
|
|
|
|
Existing definition of SPRINTF always resulted in sprintf() being used,
|
|
and sprintf() returning 'int' is already used throughout the library.
|
|
|
|
- ares_inet_ntop: reapply changes from previous c-ares version (III)
|
|
|
|
- Replace 'u_char' with 'unsigned char'.
|
|
- Replace 'u_int' with 'unsigned int'.
|
|
- use macros ERRNO and SET_ERRNO() for errno handling.
|
|
|
|
- ares_inet_ntop: reapply changes from previous c-ares version (II)
|
|
|
|
- Remove rcsid.
|
|
- Adjust header file inclusions.
|
|
- ares_inet_ntop used only on systems without a proper inet_ntop function.
|
|
|
|
- ares_inet_ntop: reapply changes from previous c-ares version (I)
|
|
|
|
- Replace tabs with spaces.
|
|
- Use ANSI C style for function declarations and definitions.
|
|
- Use sizeof with parentheses.
|
|
|
|
- ares_inet_ntop: fix off by one error triggering out of bounds write
|
|
|
|
ares_inet_ntop would trigger an out of bounds write when the representation
|
|
of the address required 15 characters, due to not taking in account null
|
|
termination character.
|
|
|
|
Full import of inet_ntop.c from bind-9.5.3rc1 to pull additional fixes.
|
|
|
|
- ares_nowarn: add conditional inclusion of assert.h header
|
|
|
|
- fix compiler warning: conversion may lose significant bits
|
|
|
|
- ares_inet_net_pton: fix non-rejection of some malformed literals
|
|
|
|
ares_inet_net_pton would return wrong values when excessively large,
|
|
and invalid, netmasks are used. Fixes are from bind-9.5.3rc1,
|
|
issue also described in the WLB-2008080064 advisory.
|
|
|
|
- setup_once: provide ISASCII macro
|
|
|
|
- configure: inet_net_pton function check adjustments
|
|
|
|
Define HAVE_INET_NET_PTON only when system's inet_net_pton function is IPv6
|
|
capable and is not affected by the WLB-2008080064 advisory.
|
|
|
|
HAVE_INET_NET_PTON_IPV6 is no longer defined nor used.
|
|
|
|
- ares_init: fix detection of semicolon comments in resolv.conf
|
|
|
|
File resolv.conf may either use a hash '#' or a semicolon ';' character as an
|
|
indication that the rest of the line is a comment. This fixes not recognizing
|
|
the semicolon as a valid comment indicator in resolv.conf.
|
|
|
|
- version: start working on 1.7.5
|
|
|
|
Version 1.7.4 (8 Dec 2010)
|
|
|
|
Daniel Stenberg (8 Dec 2010)
|
|
- release-preps: CHANGES and RELEASE-NOTES synced
|
|
|
|
- ares_set_local_*: added in 1.7.4, not before
|
|
|
|
Yang Tse (3 Dec 2010)
|
|
- build: provide SIZEOF_SIZE_T definition for non-configure builds
|
|
|
|
- build: config.dos renamed to config-dos.h
|
|
|
|
- build: provide SIZEOF_SIZE_T netware definition
|
|
|
|
- ares_gethostbyaddr: fix compiler warning: conversion may lose significant bits
|
|
|
|
- configure: undo using autobuilds to temporarily verify strict aliasing warnings.
|
|
|
|
- fix compiler warning: rounding, sign extension, or loss of accuracy may result
|
|
|
|
Daniel Stenberg (2 Dec 2010)
|
|
- [Ben Noordhuis brought this change]
|
|
|
|
ares_parse_a_reply: fix CNAME response parsing
|
|
|
|
Reply to a CNAME query doesn't contain addresses, causing
|
|
ares_parse_a_reply() to bail out with ARES_ENODATA
|
|
|
|
Bug: http://groups.google.com/group/nodejs/browse_thread/thread/a1268c9ea5e9ad9b
|
|
|
|
Yang Tse (1 Dec 2010)
|
|
- fix compiler warning: conversion may lose significant bits
|
|
|
|
- atoi: remove atoi usage
|
|
|
|
- ares_init: fix compiler warning: conversion may lose significant bits
|
|
|
|
- configure: fix autoconf warning
|
|
|
|
- inet_pton: fix compiler warning
|
|
|
|
- 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
|
|
test-suite, there is no risk of running code that violates strict aliasing rules
|
|
|
|
- ares_getnameinfo: Partially revert commit 85520d66e0ac7ac73411bc25e98769a88b2f
|
|
|
|
Upon socket address family and length validation failure return ARES_ENOTIMP
|
|
in callback again, this is the error code documented in man page and used
|
|
mostly all over the library.
|
|
|
|
- ares_getnameinfo: Validate socket address family and length.
|
|
|
|
Validate socket address family and that the socket address length is appropriate
|
|
for the specified family. Failure is reported with ARES_EBADFAMILY in callback.
|
|
|
|
- ares_getnameinfo: fix two compiler warnings
|
|
|
|
- Added another VS10 version string
|
|
|
|
- Fix GCC 4 compiler warning 'dereferencing type-punned pointer might break strict-aliasing rules'.
|
|
|
|
- Revert commit 494274e653936335c255a47599970de3df21e7c4
|
|
|
|
- configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected in body
|
|
|
|
- Fix compiler warning: array subscript has type 'char'
|
|
|
|
- Fix GCC 4 compiler warning 'dereferencing type-punned pointer might break strict-aliasing rules'.
|
|
|
|
- Revert following commits:
|
|
07bc7ea79509bcc9ef6e09151e81766ed00d3392
|
|
3392a50ea3f8573ea4b7a9d82b9833dab60cb0e9
|
|
9912637d32c9987719a1ea12db591aee2941891c
|
|
|
|
The purpose of the whole patch was to silence a compiler warning triggered
|
|
with GCC 4 on file ares_process.c The specific compiler warning was
|
|
'dereferencing type-punned pointer might break strict-aliasing rules'.
|
|
|
|
A simpler patch will follow to equally silence the warning.
|
|
|
|
- ares_options: reorder header inclusions to make inclusion of
|
|
ares_private.h the last included one again.
|
|
|
|
Daniel Stenberg (12 Nov 2010)
|
|
- [Patrik Thunstrom brought this change]
|
|
|
|
adig: fix NAPTR parsing
|
|
|
|
I ran across a small "issue" in your adig example.
|
|
|
|
It is simply the last part of the NAPTR record, the replacement element,
|
|
which is not a string, as currently handled in adig, but a domain name.
|
|
|
|
- ares_save_options: assignments instead of memcpy
|
|
|
|
- init_by_options: don't copy an empty sortlist
|
|
|
|
If there aren't any sort items to copy, don't bother. Without this
|
|
little precaution it would do a malloc(0) which causes undefined
|
|
behaviors and is frowned upon by curl's memdebug-system.
|
|
|
|
Guenter Knauf (3 Oct 2010)
|
|
- Minor Watcom makefile tweaks.
|
|
|
|
Daniel Stenberg (30 Sep 2010)
|
|
- [Mike Crowe brought this change]
|
|
|
|
Fix lookup with HOSTALIASES set.
|
|
|
|
ares__read_line returns ARES_EOF when it reaches the end of the
|
|
file. This will happen every time when reading to the end of the
|
|
HOSTALIASES file. Unfortunately single_domain treats this error as
|
|
being fatal.
|
|
|
|
Signed-off-by: Mike Crowe <mac@mcrowe.com>
|
|
|
|
Ben Greear (24 Aug 2010)
|
|
- Add missing break that caused get_ares_servers to fail.
|
|
|
|
Reported-by: Ning Dong <flintning@163.com>
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
Yang Tse (11 Aug 2010)
|
|
- configure: werror related adjustments
|
|
|
|
Guenter Knauf (8 Aug 2010)
|
|
- Added copyright string to ares_version.h and make use of it in other files.
|
|
|
|
- Block created ares_build.h for NetWare to avoid usage from other platforms.
|
|
|
|
- Fix to overwrite default libname.
|
|
|
|
- Some more Watcom makefile massage ...
|
|
|
|
- Some more Watcom makefile massage ...
|
|
|
|
Ben Greear (4 Aug 2010)
|
|
- sock-addr-storage: Detect and deal with lack of .ss_family member.
|
|
|
|
AIX, at least, does not have sockaddr_storage.ss_family member.
|
|
Detect this in the configure logic and use proper #ifdefs in the
|
|
ares_process logic.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
Tested-by: Tor Arntsen <tor@spacetec.no>
|
|
|
|
Guenter Knauf (3 Aug 2010)
|
|
- Added Watcom makefile based on libcurl's Makefile.Watcom.
|
|
|
|
Ben Greear (31 Jul 2010)
|
|
- typo: Fix compile bug for platforms that don't have sockaddr_storage.
|
|
|
|
Bug was introduced by me in previous commit.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- Fix aliasing warning in gcc 4.4.4 (at least).
|
|
|
|
Should be no functional change, though the code gets a bit
|
|
ugglier.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
Daniel Stenberg (31 Jul 2010)
|
|
- ares_set_servers_csv: use ISDIGIT
|
|
|
|
The IS*() set of macros are preferred to the regular is*() functions as
|
|
they help us avoid the most common pitfalls.
|
|
|
|
Ben Greear (30 Jul 2010)
|
|
- cast arg to isdigit to int
|
|
|
|
Looks like it might silence a warning on Netware build.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- remove all uses of uint32_t
|
|
|
|
Previous fix forgot a few.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- fix signed v/s unsigned casts warning in ares_gethostbyaddr.c
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- local-bind-fixup: Fix inet_pton warning.
|
|
|
|
Conditionally include <arpa/inet.h> for inet_pton
|
|
headers.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- build: Enable compiling with -Werror.
|
|
|
|
This helps find compile warnings because they simply break
|
|
the build.
|
|
|
|
To use:
|
|
./configure --enable-warnings --enable-werror
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- ipv6: Fix some build issues related to the local-bind feature.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
Guenter Knauf (29 Jul 2010)
|
|
- Replaced uint32_t with unsigned int to fix broken builds on a couple of platforms.
|
|
|
|
Daniel Stenberg (18 Jul 2010)
|
|
- [Ben Greear brought this change]
|
|
|
|
local-bind: Support binding to local interface/IPs
|
|
|
|
Add 3 new functions to set the local binding for the out-going
|
|
socket connection, and add ares_set_servers_csv() to set a
|
|
list of servers at once as a comma-separated string.
|
|
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
|
|
- version: now start on 1.7.4
|
|
|
|
- [Andrew C. Morrow brought this change]
|
|
|
|
fix memory leak in ares_getnameinfo
|
|
|
|
Version 1.7.3 (11 Jun 2010)
|
|
|
|
Daniel Stenberg (11 Jun 2010)
|
|
- changelogs: updated for 1.7.3
|
|
|
|
- [BogDan Vatra brought this change]
|
|
|
|
init: allow c-ares to work on Android OS
|
|
|
|
- changelog: fill in the 1.7.2 changes
|
|
|
|
- added another pdf to ignore
|
|
|
|
Yang Tse (11 Jun 2010)
|
|
- add ares_parse_mx_reply.c to VS dsp file
|
|
|
|
Daniel Stenberg (10 Jun 2010)
|
|
- tarball: add $(CSOURCES) $(HHEADERS) to EXTRA_DIST
|
|
|
|
It's not clear to me why we need this, but we apparently may
|
|
otherwise not get all files bundled in the dist tarball.
|
|
|
|
- version: start working on 1.7.3
|
|
|
|
Version 1.7.2 (10 Jun 2010)
|
|
|
|
Daniel Stenberg (10 Jun 2010)
|
|
- RELEASE-NOTES: 1.7.2 details added
|
|
|
|
- [Jakub Hrozek brought this change]
|
|
|
|
ares_init: Last, not first instance of domain or search should win
|
|
|
|
- style: make code less than 80 columns wide
|
|
|
|
Yang Tse (31 May 2010)
|
|
- [Tor Arntsen brought this change]
|
|
|
|
improve alternative definition of bool to use enum instead of unsigned char
|
|
|
|
- fix VS2010 compiler warnings
|
|
|
|
Daniel Stenberg (18 Apr 2010)
|
|
- [Jérémy Lal brought this change]
|
|
|
|
added ares_parse_mx_reply
|
|
|
|
- repair the file mode
|
|
|
|
- remove all $Id$ lines
|
|
|
|
- remove all .cvsignore files
|
|
|
|
- spell fix
|
|
|
|
reported by Gregor Jasny on the mailing list
|
|
|
|
- [Peter Pentchev brought this change]
|
|
|
|
Fix a couple of typos and grammar nits.
|
|
|
|
- ignore the GPG signature files too
|
|
|
|
- start the journey towards 1.7.2
|
|
|
|
- no longer CVS tagging
|
|
|
|
- ignore generated PDFs
|
|
|
|
Version 1.7.1 (23 Mar 2010)
|
|
|
|
Daniel Stenberg (23 Mar 2010)
|
|
- 1.7.1
|
|
|
|
- made README the primary readme file
|
|
|
|
... and did README.cares to contain a historic reason etc.
|
|
|
|
- s/CVS/git
|
|
|
|
- git now, not CVS
|
|
|
|
- ignore lots of generated files
|
|
|
|
- [Daniel Johnson brought this change]
|
|
|
|
Fix warnings for clang
|
|
|
|
Yang Tse (17 Mar 2010)
|
|
- replaced intel compiler option -no-ansi-alias with -fno-strict-aliasing
|
|
|
|
- update outdated serial number
|
|
|
|
- fix compiler warning
|
|
|
|
- watt32 compilation fix
|
|
|
|
- Added another VS10 version string
|
|
|
|
- fix line break
|
|
|
|
- removed usage of 's6_addr', fixing compilation issue triggered with no
|
|
longer using 'in6_addr' but only our 'ares_in6_addr' struct
|
|
|
|
Daniel Stenberg (5 Mar 2010)
|
|
- Daniel Johnson provided fixes for building with the clang compiler
|
|
|
|
Yang Tse (5 Mar 2010)
|
|
- Added IPv6 name servers support
|
|
|
|
Gisle Vanem (5 Mar 2010)
|
|
- Ops!. Readded ares_nowarn.h.
|
|
|
|
- Added ares_nowarn.c.
|
|
|
|
Yang Tse (28 Feb 2010)
|
|
- Added SIZEOF_INT and SIZEOF_SHORT definitions for non-configure systems
|
|
|
|
- Added ares_nowarn.* to VC6 project file
|
|
|
|
- Added SIZEOF_INT definition
|
|
|
|
- fix compiler warning
|
|
|
|
- fix compiler warning
|
|
|
|
- fix compiler warning
|
|
|
|
Daniel Stenberg (17 Feb 2010)
|
|
- ares_reinit()
|
|
|
|
- To allow an app to force a re-read of /etc/resolv.conf etc, pretty much
|
|
like the res_init() resolver function offers
|
|
|
|
- - Tommie Gannert pointed out a silly bug in ares_process_fd() since it didn't
|
|
check for broken connections like ares_process() did. Based on that, I
|
|
merged the two functions into a single generic one with two front-ends.
|
|
|
|
Yang Tse (30 Dec 2009)
|
|
- VMS specific preprocessor symbol checking adjustments
|
|
|
|
- Mention last changes
|
|
|
|
- - Fix configure_socket() to use ares_socket_t instead of int data type.
|
|
|
|
- - Where run-time error checks enabling compiler option /GZ was used it is now
|
|
replaced with equivalent /RTCsu for Visual Studio 2003 and newer versions.
|
|
|
|
- Compiler option /GX is now replaced with equivalent /EHsc for all versions.
|
|
|
|
- - Ingmar Runge noticed that Windows config-win32.h configuration file
|
|
did not include a definition for HAVE_CLOSESOCKET which resulted in
|
|
function close() being inappropriately used to close sockets.
|
|
|
|
Daniel Stenberg (30 Nov 2009)
|
|
- start working on 1.7.1
|
|
|
|
Version 1.7.0 (27 Nov 2009)
|
|
|
|
Yang Tse (27 Nov 2009)
|
|
- Preserve empty line following last target
|
|
|
|
- - 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.
|
|
|
|
- When using icc, compile with -fpic and link with intel dynamic libraries.
|
|
|
|
- Added 'currently' in italics to insist on transient situation.
|
|
|
|
- Fix language
|
|
|
|
- Daniel wants upcoming release to be 1.7.0
|
|
|
|
- Mention last changes
|
|
|
|
- - Removed from external interface preprocessor symbol definition for
|
|
CARES_HAVE_ARES_FREE_DATA. Current functionality of ares_free_data()
|
|
makes it unnecessary.
|
|
|
|
- Added README.msvc
|
|
|
|
- Changed c-ares naming conventions when using MSVC as described in README.msvc
|
|
|
|
- - Mention other recent changes
|
|
|
|
- - 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.
|
|
|
|
- - Jakub Hrozek fixed more function prototypes in man pages to sync them
|
|
with the ones declared in ares.h
|
|
|
|
- Make configure remove the ares_build.h file included in distribution tarballs.
|
|
|
|
- Fix macro redefinition.
|
|
|
|
- Fix name space pollution.
|
|
|
|
- Allow using different extra import libraries for debug and release builds.
|
|
|
|
- Add manifest stuff to msvc makefile
|
|
|
|
- Sync man page with reality
|
|
|
|
- Add missing external API decoration for ares_set_socket_callback()
|
|
|
|
- Add ares_free_data() man page.
|
|
|
|
- - Provide in external interface preprocessor symbol definitions for
|
|
CARES_HAVE_ARES_FREE_DATA as an indication of function availability.
|
|
|
|
- Remove typecast
|
|
|
|
- Fix comment
|
|
|
|
- Add ares_data.c and ares_data.h
|
|
|
|
- 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().
|
|
|
|
- Initial support for the generic ares_free_data() function that will allow
|
|
applications to free memory allocated and returned by some c-ares funtions.
|
|
|
|
- Make usage of calloc()'s arguments consistent with rest of code base
|
|
|
|
- workaround icc 9.1 optimizer issue
|
|
|
|
- Add icc fvisibility bug test
|
|
|
|
- Fix icc 9.0 compiler warning: external definition with no prior declaration
|
|
|
|
- Fix three var names
|
|
|
|
- Add check for assert.h header file
|
|
|
|
- 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.
|
|
|
|
- Remove files generated on previous buildconf/configure run
|
|
|
|
- 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.
|
|
|
|
- Refactor how preprocessor symbol _THREAD_SAFE definition is done.
|
|
|
|
- Assume that getaddrinfo is thread safe, unless hard coded
|
|
knowledge says the contrary or h_errno is not defined.
|
|
|
|
- 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.
|
|
|
|
- AIX 5.2 and newer have threadsafe getaddrinfo.
|
|
|
|
Add some comments to better understand what the regex's pretend to achieve.
|
|
|
|
- HP-UX 11.11 and later have threadsafe getaddrinfo
|
|
|
|
- Check if getaddrinfo is threadsafe when function check allows it to be used
|
|
|
|
- Renamed fpGetNetworkParams and fpSystemFunction036 to avoid namespace pollution with static library
|
|
|
|
- Add kernel32.lib
|
|
|
|
- Mention last changes
|
|
|
|
- Reinstate copyright symbol lost in previous commit
|
|
|
|
- Make some strings different in resource file for debug or release builds
|
|
|
|
- Ignore more subdirs
|
|
|
|
- Fix compiler warning: conditional expression is constant
|
|
|
|
- Sync linker and resource compiler options with Makefile.msvc
|
|
|
|
- Follow Makefile.msvc subdirectory naming scheme, and sync compiler options
|
|
|
|
- Updated MSVC makefile that allows building dynamic and static
|
|
c-ares libraries in debug and release flavours.
|
|
|
|
Additionally each of the three sample programs is built against
|
|
each of the four possible c-ares libraries, generating all this
|
|
a total number of 12 executables and 4 libraries.
|
|
|
|
- Test for USE_WINSOCK since it is more restrictive than WIN32
|
|
|
|
- Make header inclusion depend on HAVE_*_H definition
|
|
|
|
- Remove unneeded preprocessor directives
|
|
|
|
- Adjust c-ares include paths for memory tracking enabled (--enable-curldebug) builds
|
|
|
|
- source files used by sample programs
|
|
|
|
- Renamed c-ares setup.h to ares_setup.h
|
|
|
|
- Adjust include paths to take in account that currently:
|
|
|
|
c-ares with --enable-curldebug uses memdebug.h from libcurl's lib subdirectory.
|
|
|
|
memdebug.h needs access to libcurl's setup.h from libcurl's lib subdirectory
|
|
and also needs access to libcurl's generated curl_config.h
|
|
|
|
- Undo old temporary change once used for testing purposes
|
|
|
|
- Mention many changes
|
|
|
|
- Mention --enable-symbol-hiding configure option
|
|
|
|
- Symbol hiding configure options renamed to the hopefully less ambiguous
|
|
--enable-symbol-hiding and --disable-symbol-hiding as well as related
|
|
macro names and some internal variables used for them.
|
|
|
|
Related configuration file preprocessor symbols named to
|
|
CARES_SYMBOL_HIDING and CARES_SYMBOL_SCOPE_EXTERN.
|
|
|
|
- Header inclusion depending on HAVE_* symbol.
|
|
Fix two typos.
|
|
|
|
- Comparison of the Initial revision of this file with ares_parse_a_reply.c
|
|
shows that this one is actually a modified copy of ares_parse_a_reply.c.
|
|
|
|
In order to comply with ares_parse_a_reply.c's M.I.T. license, the old
|
|
1998 M.I.T. copyright notice is now also preserved in this file the same
|
|
as it is done in other ares_parse_*.c files.
|
|
|
|
- Add CVS Id tag.
|
|
Fix identation of some license lines.
|
|
|
|
- Add CVS Id tag.
|
|
|
|
- Fix comment
|
|
|
|
- In no particular order, changed/fixed all of the following in
|
|
ares_parse_txt_reply() current version:
|
|
|
|
- Fixed a couple of potential double free's.
|
|
|
|
- Fixed memory leaks upon out of memory condition.
|
|
|
|
- Fixed pointer arithmetic.
|
|
|
|
- Setting ntxtreply to zero upon entry for all failure cases.
|
|
|
|
- Changed data type to size_t for variables substr_len, str_len and
|
|
the length member of ares_txt_reply struct.
|
|
|
|
- Avoided a couple of memcpy() calls.
|
|
|
|
- Changed i data type to unsigned int to prevent compiler warnings.
|
|
|
|
- Adjusted a comment.
|
|
|
|
- Use ARES_SUCCESS literal for successfull completion.
|
|
|
|
- Added CVS Id tag.
|
|
|
|
- Add c-ares DLL resource file to distribution archive
|
|
|
|
- ignore files
|
|
|
|
- Empty subdir
|
|
|
|
- Updated MSVC 6.0 workspace and project files that allows building
|
|
dynamic and static c-ares libraries in debug and release flavours.
|
|
|
|
Additionally each of the three sample programs is built against
|
|
each of the four possible c-ares libraries, generating all this
|
|
a total number of 12 executables and 4 libraries.
|
|
|
|
Daniel Stenberg (29 Oct 2009)
|
|
- no need to check for NULL pointers before dereferencing, as the pointers
|
|
MUST be valid and they are dereferenced further down in the function
|
|
unconditionally!
|
|
|
|
- shorten the descriptions somewhat
|
|
|
|
- update to the new struct name
|
|
|
|
- Jakub Hrozek added ares_parse_txt_reply() for TXT parsing
|
|
|
|
- use 'ares_srv_reply' for proper name-spacing
|
|
|
|
Yang Tse (29 Oct 2009)
|
|
- Add reference for ares_parse_srv_reply.pdf
|
|
|
|
- Add reference for ares_parse_srv_reply docs
|
|
|
|
- External API function linkage decoration adjustment
|
|
|
|
- External API function linkage decoration adjustment
|
|
|
|
- Initial step towards the ability to reduce c-ares exported symbols
|
|
based on the 'visibility' attribute for GNUC and __global for Sun
|
|
compilers, taking also in account __declspec function decoration
|
|
for Win32 and Symbian DLL's.
|
|
|
|
Introducing configure options --enable-hidden-symbols and
|
|
--disable-hidden-symbols following libcurl's naming.
|
|
|
|
- Fix comment
|
|
|
|
- Fix spelling
|
|
|
|
- Fix Pelles C Win32 target compilation issues
|
|
|
|
- John Engelhart noticed an unreleased problem relative to a duplicate
|
|
ARES_ECANCELLED error code value and missing error code description.
|
|
|
|
- Fix compiler warning: local variable may be used without having been initialized
|
|
|
|
- Use *_CHECK_PATH_SEPARATOR_REQUIRED to ensure that *_CHECK_PATH_SEPARATOR
|
|
is only expanded and included once in the configure script.
|
|
|
|
- Our _AS_PATH_SEPARATOR_PREPARE override is now m4_defun'd instead of m4_define'd
|
|
due to autoconf 2.64 m4_require'ing it in _AS_SHELL_SANITIZE indirectly through
|
|
_AS_PATH_WALK.
|
|
|
|
- Fix compiler warning: argument is incompatible with corresponding format string conversion
|
|
|
|
- Fix potential out-of-bounds read
|
|
|
|
- Fix compiler warning: loop without body
|
|
|
|
- Fix compiler warning
|
|
|
|
- Fix compiler warning
|
|
|
|
- Fix compiler warning
|
|
|
|
- Fix compiler warning: addition result could be truncated before cast to bigger sized type
|
|
|
|
- Overhauled ares__get_hostent()
|
|
|
|
- Fixing out of bounds memory overwrite triggered with malformed /etc/hosts file.
|
|
- Improving parsing of /etc/hosts file.
|
|
- Validating requested address family.
|
|
- Ensuring that failures always return a NULL pointer.
|
|
- Adjusting header inclusions.
|
|
|
|
- Fix ssize_t redefinition errors on WIN64 reported by Alexey Simak
|
|
|
|
- more files to ignore
|
|
|
|
- Check if _REENTRANT definition is required to
|
|
make errno available as a preprocessor macro.
|
|
|
|
- Attempt to silence bogus compiler warning: "Potential null pointer dereference"
|
|
|
|
- ignore more files
|
|
|
|
Gisle Vanem (7 Sep 2009)
|
|
- Suppress warnings about unused prototypes in Watt32 and Win32 programs.
|
|
|
|
- Update email address.
|
|
|
|
- Update my email address. Add ares_config.h as dependency for 'make depend'.
|
|
|
|
Yang Tse (6 Sep 2009)
|
|
- T_SRV portability check
|
|
|
|
Gunter Knauf (5 Sep 2009)
|
|
- changed includes to match style how we do with all other *.c files.
|
|
|
|
- changed u_int16_t to unsigned short because it is the only place within ares and curl where such a type would be used;
|
|
also it broke many autobuilds. We should probably introduce an ares_port_t if we want to use a type here.
|
|
|
|
Gisle Vanem (5 Sep 2009)
|
|
- Replace 'uint16_t' with 'u_int16_t' since the latter is used in ares.h.
|
|
|
|
- Added 'ares_parse_srv_reply.obj'. Added definition of 'u_int16_t'. This is I don't like; we should not depend on such non-universal types in a public header. But this is just a quick fix.
|
|
|
|
Daniel Stenberg (4 Sep 2009)
|
|
- - Jakub Hrozek added ares_parse_srv_reply() for SRV parsing
|
|
|
|
Steinar H. Gunderson (27 Aug 2009)
|
|
- Support lookup of IPv4 literals in ares_gethostbyname(), even when the address family is set to AF_INET6.
|
|
|
|
Gisle Vanem (3 Aug 2009)
|
|
- Remove call to LoadLibrary(). (leftover from debugging).
|
|
|
|
- Fix bad sentence.
|
|
|
|
Daniel Stenberg (3 Aug 2009)
|
|
- - Timo Teras changed the reason code used in the resolve callback done when
|
|
ares_cancel() is used, to be ARES_ECANCELLED instead of ARES_ETIMEOUT to
|
|
better allow the callback to know what's happening.
|
|
|
|
- - Joshua Kwan fixed the init routine to fill in the defaults for stuff that
|
|
fails to get inited by other means. This fixes a case of when the c-ares
|
|
init fails when internet access is fone.
|
|
|
|
Gunter Knauf (16 Jul 2009)
|
|
- test if adding ../lib to includes can fix the current break ...
|
|
|
|
- renamed generated config.h to ares_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h.
|
|
|
|
Yang Tse (21 Jun 2009)
|
|
- Refactor how libraries are checked for connect() function, follow-up.
|
|
|
|
- Refactor how libraries are checked for connect() function,
|
|
and check for connect() as it is done for other functions.
|
|
|
|
Gisle Vanem (20 Jun 2009)
|
|
- Remove unneeded defines.
|
|
|
|
- Use select_s() and not select().
|
|
|
|
Yang Tse (19 Jun 2009)
|
|
- sclose() function-like macro definition used to close a socket,
|
|
now solely based on HAVE_CLOSESOCKET and HAVE_CLOSESOCKET_CAMEL
|
|
config file preprocessor definitions.
|
|
|
|
- add CloseSocket camel case function check
|
|
|
|
- check for socket() and closesocket() as it is done for other functions
|
|
|
|
- Remove HAVE_CONFIG_H definition from here,
|
|
CFLAGS from common.dj already defines it.
|
|
|
|
- initial step towards decoupling c-ares from libcurl for DOS
|
|
|
|
- don't ignore these subdirs, they must be removed first
|
|
|
|
- Remove DEBUGBUILD symbol definition, is not required for programs using the library.
|
|
|
|
- DEBUGBUILD symbol definition for debug builds
|
|
|
|
- ignore some subdirs
|
|
|
|
- fix comment
|
|
|
|
- Try to make more clear that --enable-curldebug has nothing to do with --enable-debug for this library.
|
|
|
|
- Revert last change, it is inappropriate.
|
|
|
|
Gisle Vanem (12 Jun 2009)
|
|
- Replace CURLDEBUG with DEBUGBUILD.
|
|
|
|
Yang Tse (11 Jun 2009)
|
|
- when running automake copy missing files instead of symlinking them
|
|
|
|
- Adjusted to take in account that...
|
|
|
|
With the curl memory tracking feature decoupled from the debug build feature,
|
|
CURLDEBUG and DEBUGBUILD preprocessor symbol definitions are used as follows:
|
|
|
|
CURLDEBUG used for curl debug memory tracking specific code (--enable-curldebug)
|
|
|
|
DEBUGBUILD used for debug enabled specific code (--enable-debug)
|
|
|
|
- c-ares' --enable-debug --enable-curldebug decoupling follow-up
|
|
|
|
- mention last changes
|
|
|
|
- Remove buildconf.bat from release and daily snapshot archives.
|
|
|
|
buildconf.bat is only for CVS tree builds.
|
|
|
|
- Ensure that buildconf.bat does nothing unless it is used with a CVS checkout.
|
|
|
|
- CVS-INFO file only present in CVS tree, never in release nor daily snapshot
|
|
archives. Used as a sentinel file in buildconf.bat to differentiate CVS builds.
|
|
|
|
Gisle Vanem (8 Jun 2009)
|
|
- Update comment about "ML". Removed "-D_USE_32BIT_TIME_T" (not a requirement).
|
|
|
|
Yang Tse (8 Jun 2009)
|
|
- just comment it out
|
|
|
|
- For debugging purposes...
|
|
|
|
Disable the '-export-symbols-regex' to discard this as the origin
|
|
of link failures related with shared libraries and non-GNU linkers.
|
|
|
|
- c-ares Makefile.am back to using $(top_builddir) for *_LDADD
|
|
|
|
- c-ares' -no-undefined and --enable-curldebug adjustments
|
|
|
|
- Use relative path to built c-ares tree libtool library
|
|
|
|
- John E. Malmberg noticed that the configure script was failing to detect the
|
|
timeval struct on VMS when building with _XOPEN_SOURCE_EXTENDED undefined due
|
|
to definition taking place in socket.h instead of time.h
|
|
|
|
- Fix compiler warning: out of bound access
|
|
|
|
- fix compilation on AIX
|
|
|
|
- c-ares' --enable-curldebug adjustments
|
|
|
|
- Remove temporarily introduced memory leak.
|
|
|
|
- Temporarily introduce a memory leak to verify curl debug memory tracking works.
|
|
|
|
- Allow curl debug memory tracking when building a shared library on
|
|
systems which support external, undefined, symbols in shared libraries.
|
|
|
|
Daniel Stenberg (26 May 2009)
|
|
- language fix
|
|
|
|
Yang Tse (26 May 2009)
|
|
- Make ares_init(), ares_dup() and ares_init_options() return ARES_ENOTINITIALIZED
|
|
if library initialization has not been performed calling ares_library_init().
|
|
|
|
- c-ares's --enable-curldebug configure option decoupled from c-ares's --enable-debug
|
|
|
|
- Prevent copying 'sourced' manpages for build targets that don't use them.
|
|
|
|
Daniel Stenberg (23 May 2009)
|
|
- minor edits
|
|
|
|
Yang Tse (21 May 2009)
|
|
- Include .pdf versions of c-ares man pages in distribution tarball.
|
|
|
|
- Allow generation of .html and .pdf versions of c-ares man pages.
|
|
|
|
Gisle Vanem (21 May 2009)
|
|
- $(OBJ_DIR)/ares_getopt.o must be cleaned explicitly.
|
|
|
|
Yang Tse (20 May 2009)
|
|
- Mention last changes
|
|
|
|
- Initial ares_library_cleanup(3) man page
|
|
|
|
- Update man page
|
|
|
|
- Update man page
|
|
|
|
- Initial ares_library_init(3) man page attempt
|
|
|
|
- Force revision update, to force CVS to update the $Id date string format
|
|
|
|
- Add same copyright notice as other c-ares files
|
|
|
|
- Fix case
|
|
|
|
- Remove run-time requirement for advapi32.dll since
|
|
c-ares can work even with no advapi32.dll at all.
|
|
|
|
- Intentionally avoid checking if the address of SystemFunction036, a.k.a.
|
|
RtlGenRandom, has been located or not. This function is only available on
|
|
WinXP and later. When unavailable c-ares uses portable rand() function.
|
|
|
|
- - Provide in external interface preprocessor symbol definitions for
|
|
CARES_HAVE_ARES_LIBRARY_INIT and CARES_HAVE_ARES_LIBRARY_CLEANUP
|
|
to ease the use of new capabilities.
|
|
|
|
- Move ares_version() prototype to ares.h
|
|
|
|
- Introduction of ares_library_init() and ares_library_cleanup()
|
|
|
|
- Introduction of ares_library_init() and ares_library_cleanup()
|
|
|
|
- remove outdated comment
|
|
|
|
- Fix preprocessor conditional expression
|
|
|
|
- fiX *__SOCKLEN_T definitions for remaining targets
|
|
|
|
- *__SOCKLEN_T definitions for OS400 already fixed
|
|
|
|
- fIX *__SOCKLEN_T definitions for SYMBIAN32 and VMS targets
|
|
|
|
Daniel Stenberg (11 May 2009)
|
|
- - Gregor Jasny made c-ares link with libtool 's -export-symbols-regex option to
|
|
only expose functions starting with ares_.
|
|
|
|
Yang Tse (11 May 2009)
|
|
- Remove experimental check. Currently there's no need for it.
|
|
|
|
- Fix an m4 overquoting triggering a spurious 'AS_TR_CPP' symbol definition
|
|
attempt in generated config.h
|
|
|
|
- Proper naming for the experimental compiler test and moved to *-compilers.m4
|
|
|
|
- Moved *_CHECK_COMPILER_HALT_ON_ERROR and *_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE to *-compilers.m4 along with other *_CHECK_COMPILER_*
|
|
|
|
- fIX *__SOCKLEN_T definitions for OS400 and generic GCC targets
|
|
|
|
- fIX *__SOCKLEN_T definitions for MVS and 370 targets
|
|
|
|
- fIX *__SOCKLEN_T definitions for several Windows target tool-chains
|
|
|
|
- HP-UX's X/Open network library requirement check follow-up
|
|
|
|
- HP-UX's X/Open network library requirement check follow-up
|
|
|
|
- Use build-time configured ares_socklen_t instead of socklen_t
|
|
|
|
- David McCreedy's "TPF-platform specific changes to various files" patch follow-up
|
|
|
|
Daniel Stenberg (1 May 2009)
|
|
- s/libcurl/c-ares
|
|
|
|
- version number typo fix
|
|
|
|
Yang Tse (1 May 2009)
|
|
- David McCreedy's "TPF-platform specific changes to various files" patch
|
|
|
|
- Check definition of _XOPEN_SOURCE_EXTENDED with the compiler
|
|
|
|
- Check if X/Open network library is required
|
|
|
|
- cope with ares_build.h and ares_rules.h follow-up
|
|
|
|
- Added some notes regarding ares_build.h
|
|
|
|
- fix EOL
|
|
|
|
- fix EOL
|
|
|
|
- cope with ares_build.h and ares_rules.h
|
|
|
|
- buildconf.bat for CVS-tree c-ares
|
|
|
|
- Use 'unsigned int' instead of size_t attempting to avoid header inclusion
|
|
|
|
- NetWare LibC's getpeername() third argument data type is size_t
|
|
|
|
- Remove temporary debug tracing for ares_socklen_t Windows targets
|
|
|
|
- ares_socklen_t follow-up
|
|
|
|
- ares_build.h Windows follow-up
|
|
|
|
- Add temporary debug tracing for ares_socklen_t Windows targets
|
|
|
|
- ares_build.h NetWare follow-up
|
|
|
|
- ares_build.h NetWare attempt
|
|
|
|
- Initial step towards a configure time ares_socklen_t definition
|
|
|
|
- ignore stamp-h*
|
|
|
|
- Added CARES_INCLUDES_SYS_TYPES
|
|
|
|
- Initial step towards a configure time curl_socklen_t definition
|
|
|
|
- avoid use of alloca()
|
|
|
|
- Moved potential inclusion of system's malloc.h and memory.h header files to
|
|
setup_once.h. Inclusion of each header file is based on the definition of
|
|
NEED_MALLOC_H and NEED_MEMORY_H respectively.
|
|
|
|
- ignore
|
|
|
|
Gisle Vanem (18 Apr 2009)
|
|
- Added '-DHAVE_LIMITS_H'.
|
|
|
|
Yang Tse (17 Apr 2009)
|
|
- remove compiler options used while debugging the icc 9.1 optimizer issue
|
|
|
|
- moved HAVE_LIMITS_H to common defines
|
|
|
|
- Set HP-UX compiler warning level back to the one that exposes
|
|
the socklen_t issue on this platform.
|
|
|
|
- HAVE_LIMITS_H definition for NetWare CLIB
|
|
|
|
- use HAVE_LIMITS_H symbol to protect limits.h inclusion
|
|
|
|
- fix compiler warning: implicit conversion shortens 64-bit value into a 32-bit value
|
|
|
|
- s/u_long/unsigned long/
|
|
|
|
- Do not halt compilation when using VS2008 to build a Windows 2000 target
|
|
|
|
- ignore
|
|
|
|
Phil Blundell (3 Feb 2009)
|
|
- * February 3 2009 (Phil Blundell)
|
|
- If the server returns garbage or nothing at all in response to an AAAA query,
|
|
go on and ask for A records anyway.
|
|
|
|
Daniel Stenberg (31 Jan 2009)
|
|
- - ares_gethostbyname() now accepts 'AF_UNSPEC' as a family for resolving
|
|
either AF_INET6 or AF_INET. It works by accepting any of the looksups in the
|
|
hosts file, and it resolves the AAAA field with a fallback to A.
|
|
|
|
Gisle Vanem (18 Jan 2009)
|
|
- fopen() returns error in 'errno' even on Windows.
|
|
So don't use ERRNO (GetLastError()). Trimmed trailing
|
|
blanks.
|
|
|
|
- Constified some arguments in local functions.
|
|
|
|
Daniel Stenberg (14 Jan 2009)
|
|
- - ares.h no longer uses the HAVE_STRUCT_IN6_ADDR define check, but instead it
|
|
now declares the private struct ares_in6_addr for all systems instead of
|
|
relying on one possibly not present in the system.
|
|
|
|
Phil Blundell (13 Jan 2009)
|
|
- - ares__send_query() now varies the retry timeout pseudo-randomly to avoid
|
|
packet storms when several queries were started at the same time.
|
|
|
|
Daniel Stenberg (11 Jan 2009)
|
|
- - Phil Blundell added the internal function ares__expand_name_for_response()
|
|
that is now used by the ares_parse_*_reply() functions instead of the
|
|
ares_expand_name() simply to easier return ARES_EBADRESP for the cases where
|
|
the name expansion fails as in responses that really isn't expected.
|
|
|
|
Gunter Knauf (30 Dec 2008)
|
|
- added HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID to ares Makefile.netware and sync'd with other Makefile.netware.
|
|
|
|
Daniel Stenberg (9 Dec 2008)
|
|
- use the new URL
|
|
|
|
- start over on the 1.6.1 release...
|
|
|
|
Version 1.6.0 (9 Dec 2008)
|
|
|
|
Daniel Stenberg (9 Dec 2008)
|
|
- add space
|
|
|
|
Gisle Vanem (9 Dec 2008)
|
|
- Fix for Win32 targets using Watt-32.
|
|
|
|
Dan Fandrich (9 Dec 2008)
|
|
- C89 compilers (like Minix' ACK) only need to handle 31 functions arguments
|
|
so split a long sprintf into two calls to get below that number.
|
|
|
|
Gisle Vanem (8 Dec 2008)
|
|
- Added needed defines for Watt-32 on Windows.
|
|
|
|
- Undefine 'optarg', 'optind' and 'opterr' when using Watt-32
|
|
(to get correct linkage on Windows).
|
|
|
|
- ares_writev() shall not be exported when using Watt-32 (has writev).
|
|
Added _USE_32BIT_TIME_T to avoid runtime warning. Applies to
|
|
VC-2008+ only.
|
|
|
|
- Removed unneeded defines HAVE_SIGNAL_H, HAVE_SIG_ATOMIC_T,
|
|
RETSIGTYPE and HAVE_PROCESS_H.
|
|
|
|
Daniel Stenberg (4 Dec 2008)
|
|
- the initial version of the ares_set_socket_callback man page
|
|
|
|
- Gregor Jasny provided the patch that introduces ares_set_socket_callback(),
|
|
and I edited it to also get duped by ares_dup().
|
|
|
|
Dan Fandrich (4 Dec 2008)
|
|
- Bring the sys/include.h include test in line with curl's.
|
|
|
|
Daniel Stenberg (3 Dec 2008)
|
|
- Let's not call ares_save_options() deprecated just yet
|
|
|
|
- Introduce ares_dup(3) and new thoughts about API/ABI and how to move forwards.
|
|
Also discussed on the ml.
|
|
|
|
Dan Fandrich (2 Dec 2008)
|
|
- Make sure sys/socket.h is included before netinet/in.h (required by
|
|
OpenWatcom C, and condoned by SUS)
|
|
|
|
Daniel Stenberg (1 Dec 2008)
|
|
- minor indent fix
|
|
|
|
- Convert the public config struct to the same binary size/construct as in the
|
|
latest releases to remain ABI compatible.
|
|
|
|
Gisle Vanem (29 Nov 2008)
|
|
- Added '-DHAVE_GETHOSTNAME'.
|
|
|
|
Dan Fandrich (29 Nov 2008)
|
|
- Make sure sys/socket.h is included before netinet/in.h (required by
|
|
OpenWatcom C)
|
|
|
|
- Netware has gethostname()
|
|
|
|
- Fixed a couple of typos
|
|
|
|
- Don't tweak the HAVE_* macros when using autoconf
|
|
|
|
- Make use of gethostname() conditional on it being available
|
|
|
|
- Only set TCP_NODELAY when it exists
|
|
|
|
Daniel Stenberg (28 Nov 2008)
|
|
- updated with changes, preparing for a release soon
|
|
|
|
Yang Tse (26 Nov 2008)
|
|
- Gerald Combs fixed a bug in ares_parse_ptr_reply() which would cause a
|
|
buffer to shrink instead of expand if a reply contained 8 or more records.
|
|
|
|
- Brad Spencer provided changes to allow buildconf to work on OS X.
|
|
|
|
- In preparation for the upcomming IPv6 nameservers patch, the internal
|
|
ares_addr union is now changed into an internal struct which also holds
|
|
the address family.
|
|
|
|
Dan Fandrich (20 Nov 2008)
|
|
- Make checking for struct ifreq a prerequisite for setting
|
|
HAVE_IOCTL_SIOCGIFADDR since it's needed to use SIOCGIFADDR and Watcom C
|
|
doesn't currently define it.
|
|
|
|
Daniel Stenberg (20 Nov 2008)
|
|
- use unsigned short better intead of mixing with ints to prevent compiler
|
|
warnings
|
|
|
|
- please the picky compilers by staying with short as the data we get is short
|
|
only
|
|
|
|
- - Brad Spencer brought the new function ares_gethostbyname_file() which simply
|
|
resolves a host name from the given file, using the regular hosts syntax.
|
|
|
|
Yang Tse (19 Nov 2008)
|
|
- user provided PATH_SEPARATOR always overrides auto-detected one
|
|
|
|
- attempting to keep lines below 80 chars
|
|
|
|
- provide a common PATH_SEPARATOR check method which is required by
|
|
upcomming work to support the broadest range of Autoconf versions
|
|
|
|
- check for gethostbyaddr and gethostbyname as it is done for other functions
|
|
|
|
- Make configure script check if ioctl with the SIOCGIFADDR command can be
|
|
used, and define HAVE_IOCTL_SIOCGIFADDR if appropriate.
|
|
|
|
- fix leftover from previous commit
|
|
|
|
- fix inet_pton() runtime configure check
|
|
|
|
- trim down configure script size
|
|
|
|
Daniel Stenberg (15 Nov 2008)
|
|
- Fixed an OOM condition reported by Jim Meyering
|
|
|
|
Yang Tse (14 Nov 2008)
|
|
- fix typo affecting inclusion of <arpa/inet.h> in configure
|
|
checks for inet_ntoa_r() inet_ntop() and inet_pton()
|
|
|
|
- #include <string.h> in the getaddrinfo() runtime check for the memset() prototype
|
|
|
|
- fix symbol definition check for fcntl.h inclusion
|
|
|
|
- Refactor configure script detection of functions used to set sockets into
|
|
non-blocking mode, and decouple function detection from function capability.
|
|
|
|
Daniel Stenberg (1 Nov 2008)
|
|
- Added a TODO file to list things we want changed, added or fixed.
|
|
|
|
- - Carlo Contavalli added support for the glibc "rotate" option, as documented
|
|
in man resolv.conf:
|
|
|
|
causes round robin selection of nameservers from among those listed. This
|
|
has the effect of spreading the query load among all listed servers, rather
|
|
than having all clients try the first listed server first every time.
|
|
|
|
You can enable it with ARES_OPT_ROTATE
|
|
|
|
Yang Tse (1 Nov 2008)
|
|
- Adjust WIN32 freeaddrinfo, getaddrinfo and getnameinfo availability
|
|
|
|
- WIN32 availability of freeaddrinfo, getaddrinfo and getnameinfo functions is quite
|
|
convoluted, compiler dependant and in some cases even build target dependat.
|
|
|
|
- check for freeaddrinfo() at configuration phase
|
|
|
|
- update aclocal file serial number
|
|
|
|
- remove verification of the freeability of the addrinfo struct pointer members
|
|
|
|
- fix comment
|
|
|
|
- make CHECK_FUNC_GETADDRINFO_UNFREEABLE_AI_ADDR
|
|
and CHECK_FUNC_GETADDRINFO_UNFREEABLE_AI_CANONNAME
|
|
internal to CHECK_FUNC_GETADDRINFO
|
|
|
|
- fix leftover
|
|
|
|
- Initial attempt to detect at configuration time if the getaddrinfo()
|
|
function returns an addrinfo with an unfreeable ai_canonname member ptr.
|
|
|
|
- Initial attempt to detect at configuration time if the getaddrinfo()
|
|
function returns an addrinfo with an unfreeable ai_addr member ptr.
|
|
|
|
- icc adjustments:
|
|
|
|
Select ANSI C89 dialect plus GNU extensions, again.
|
|
|
|
- some more temporary magic for the icc seg-fault issue
|
|
|
|
- icc permanent adjustment:
|
|
|
|
Select precise floating-point model, otherwise doubles are less than 64-bit wide
|
|
|
|
icc test adjustment:
|
|
|
|
Select c89 dialect
|
|
|
|
- icc adjustments:
|
|
|
|
Enable more icc warnings.
|
|
|
|
Optimization disabling options used only for icc 9.1
|
|
|
|
- #include <stdlib.h> for exit() prototype
|
|
|
|
- some more temporary magic for the icc seg-fault issue
|
|
|
|
- remove from configure.ac temporary magic for the icc seg-fault issue
|
|
|
|
- some more temporary magic for the icc seg-fault issue
|
|
|
|
- Charles Hardin patch:
|
|
|
|
- handles the EINPROGRESS for UDP connects
|
|
- uses closesocket instead of close on some paths that were noticed
|
|
|
|
- some more temporary magic for the icc seg-fault issue
|
|
|
|
- messages initially intended only for debug purposes, now become permanent
|
|
since these are extremely useful when compiler rejects a set of options.
|
|
|
|
- fix compiler warning
|
|
|
|
- fix missing double-quotes
|
|
|
|
Daniel Stenberg (17 Oct 2008)
|
|
- Charles Hardin made adig support a regular numerical dotted IP address for the
|
|
-s option as well.
|
|
|
|
Yang Tse (16 Oct 2008)
|
|
- some more temporary magic for the icc seg-fault issue
|
|
|
|
- Ensure that shell variable contents which have active meaning
|
|
to the shell echo command are not interpreted when trying to
|
|
remove extra whitespace from shell variable content.
|
|
|
|
- Adjust Watcom C warnings:
|
|
|
|
Disable warnings on structure members padding.
|
|
|
|
- With this change Solaris target builds will now be done with _REENTRANT defined.
|
|
|
|
- Adjust Tiny C basic options:
|
|
|
|
Remove -b from debug-enabled configuration, as Tiny C might have
|
|
been built without the memory and bounds checker support.
|
|
|
|
- Adjust GCC warnings:
|
|
|
|
Better disable following warnings when cross-compiling with a gcc older
|
|
than 3.0, to avoid warnings from third party system headers:
|
|
|
|
-Wmissing-declarations
|
|
-Wmissing-prototypes
|
|
-Wunused
|
|
-Wshadow
|
|
|
|
- fix syntax error
|
|
|
|
- Initial attempt to detect Watcom C compiler
|
|
|
|
- make naming scheme more consistent across whole file
|
|
|
|
- Adjust GCC warnings:
|
|
|
|
Disable following warnings when cross-compiling with a gcc older
|
|
than 3.0, to avoid warnings from third party system headers:
|
|
|
|
-Wmissing-prototypes
|
|
-Wunused
|
|
-Wshadow
|
|
|
|
- Adjust GCC --enable-warnings:
|
|
|
|
Do not enable -pedantic when cross-compiling with a gcc older
|
|
than 3.0, to avoid warnings from third party system headers.
|
|
|
|
- adjust SGI MIPSpro C detection
|
|
|
|
- LCC compiler adjustments:
|
|
|
|
Highest warning level is double -A, next is single -A.
|
|
Due to the big number of warnings these trigger on third
|
|
party header files it is impratical for us to use any of
|
|
them here. If you want them simply define it in CPPFLAGS.
|
|
|
|
- remove extra space
|
|
|
|
- split SGI compiler check. One for MIPS C and another for MIPSpro C
|
|
|
|
- LCC compiler adjustments:
|
|
|
|
Warning level reduced from double -A to single -A
|
|
|
|
- Initial attempt to detect Tiny C compiler
|
|
|
|
- Initial attempt to detect LCC compiler
|
|
|
|
- 1) fix bug in CONVERT_INCLUDE_TO_ISYSTEM
|
|
|
|
2) Disable SGI remark: controlling expression is constant
|
|
|
|
- simplify SGI C compiler check
|
|
|
|
- HP C adjustments:
|
|
|
|
Due to the HP-UX socklen_t issue it is insane to use the +w1 warning level.
|
|
It generates more than 1100 warnings on socklen_t related statements.
|
|
|
|
Until the issue is somehow fixed we will just use the +w2 warning level.
|
|
|
|
- Add debug tracing for COMPILER_WORKS_IFELSE
|
|
|
|
- configure will also warn on 'strict compiler warning' rejected options
|
|
|
|
- convert rejected compiler options messages into a warnings
|
|
|
|
- remove extra whitespace from string in SGI C check
|
|
|
|
- oops
|
|
|
|
- Initial attempt to detect SGI C compiler
|
|
|
|
- HP C adjustments:
|
|
|
|
Disallow run-time dereferencing of null pointers.
|
|
|
|
Disable some remarks:
|
|
|
|
#4227: padding struct with n bytes to align member.
|
|
|
|
#4255: padding size of struct with n bytes to alignment boundary.
|
|
|
|
- improve presentation of accepted/rejected debug/optimizer options
|
|
|
|
- refactoring of COMPILER_BASIC_OPTS
|
|
|
|
- Initial attempt to detect SUN C compiler
|
|
|
|
- Initial attempt to detect HP C compiler
|
|
|
|
- fix compiler warning: 'dot_4' may be used uninitialized in this function
|
|
|
|
- adjust ICC_windows settings
|
|
|
|
- fix VAR_STRIP
|
|
|
|
- Sync up with reality
|
|
|
|
- Initial attempt to support configure's --(dis|en)able-optimize
|
|
option to specify dis(activation) of compiler optimizations.
|
|
|
|
If option is specified, it will be honored independant of the
|
|
--(dis|en)able-debug option.
|
|
|
|
- fix comment
|
|
|
|
- Initial attempt to support configure's --(dis|en)able-warnings
|
|
option to specify dis(activation) of picky compiler warnings.
|
|
|
|
If option is specified, it will be honored independant of the
|
|
--(dis|en)able-debug option.
|
|
|
|
If option is not specified, it will follow --(dis|en)able-debug
|
|
setting, whose default is disabled if not specified.
|
|
|
|
- fix compiler warning: dereferencing type-punned pointer will break strict-aliasing rules
|
|
|
|
- now compiler warnings are activated for all gcc builds, not only debug ones.
|
|
|
|
- Use CFLAGS for icc linker options instead of LDFLAGS,
|
|
otherwise gethostbyname() is not detected.
|
|
|
|
- use ac_cv_compiler and ac_cv_compiler_num to keep compiler ID and version number
|
|
|
|
- Temporary icc adjustment:
|
|
|
|
Disable floating point optimizations
|
|
|
|
- HAVE_INET_PTON will only be defined when an IPv6 capable working
|
|
inet_pton function is available.
|
|
|
|
- HAVE_INET_NTOP will only be defined when an IPv6 capable working
|
|
inet_ntop function is available.
|
|
|
|
- ntoa() and inet_ntoa_r() no longer used
|
|
|
|
- icc adjustments for icc 9.0 and prior versions:
|
|
|
|
Disable remark #279: controlling expression is constant
|
|
|
|
Remark triggered mostly on va_arg() and FD_ZERO() macros.
|
|
|
|
- attempt to make work the gethostname function
|
|
check for winsock build target configurations
|
|
|
|
Gisle Vanem (21 Sep 2008)
|
|
- Added HAVE_NETDB_H, HAVE_ARPA_INET_H, HAVE_STRCASECMP
|
|
and HAVE_STRNCASECMP.
|
|
|
|
Yang Tse (19 Sep 2008)
|
|
- icc adjustments:
|
|
|
|
Disable remark #981: operands are evaluated in unspecified order
|
|
|
|
Function calls which are triggering this remark, today, do not depend
|
|
on the order of evaluation of its arguments.
|
|
|
|
Disable remark #1469: "cc" clobber ignored
|
|
|
|
Remark triggered on htons() and ntohs() due to glibc header files.
|
|
|
|
- icc adjustments
|
|
|
|
- fix netdb.h prerequisite inclusion
|
|
|
|
- improve detection of getservbyport_r()
|
|
|
|
- On Linux Intel's icc uses gcc's header files, so
|
|
we select ANSI C89 dialect plus GNU extensions.
|
|
|
|
- improve detection of gethostname()
|
|
|
|
- NetWare builds include "nameser.h" from the c-ares subdir
|
|
|
|
- include <strings.h>
|
|
|
|
- Sync up with reality
|
|
|
|
- adjust inclusion of "nameser.h"
|
|
|
|
- reorder some lines in file
|
|
|
|
- code cleanup
|
|
|
|
- NetWare seems to have writev()
|
|
|
|
- rearrange to allow internal/private use of ares_writev to any system
|
|
that lacks the writev function.
|
|
|
|
- NetWare CLIB target has stricmp() and strnicmp()
|
|
|
|
- include header file only when available
|
|
|
|
- rearrange to allow internal/private use of ares_strcasecmp to any system that
|
|
lacks the strcasecmp function.
|
|
|
|
- improve detection of:
|
|
strcasecmp()
|
|
strcmpi()
|
|
stricmp()
|
|
strncasecmp()
|
|
strncmpi()
|
|
strnicmp()
|
|
|
|
- *** empty log message ***
|
|
|
|
Gisle Vanem (12 Sep 2008)
|
|
- djgpp does have strdup().
|
|
|
|
Yang Tse (12 Sep 2008)
|
|
- change CRLF into LF line endings
|
|
|
|
- strdup() clone for systems/configurations which lack it
|
|
|
|
- move inclusion of ares_private.h last
|
|
|
|
- icc adjustments
|
|
|
|
- icc adjustments
|
|
|
|
- Select strict ANSI C89 conformance for icc
|
|
|
|
- remove unnecessary typecasting of malloc()
|
|
|
|
- remove unnecessary typecasting of realloc()
|
|
|
|
Daniel Stenberg (29 Aug 2008)
|
|
- we start over working towards 1.5.4
|
|
|
|
Version 1.5.3 (29 Aug 2008)
|
|
|
|
Daniel Stenberg (29 Aug 2008)
|
|
- Version 1.5.3
|
|
|
|
- added the three people from RELEASE-NOTES and sorted the list alphabetically
|
|
|
|
Yang Tse (27 Aug 2008)
|
|
- Don't abort configuration if recvfrom() is not available.
|
|
|
|
- Functionality only possible if recvfrom() is available.
|
|
|
|
- George Neill's fix acountry sample application compilation failure.
|
|
|
|
- Brad House's validation that DNS response address matches the request address
|
|
|
|
- fix the output name
|
|
|
|
- Get rid of ENABLE_64BIT symbol definition and usage.
|
|
|
|
Improve HAVE_LONGLONG symbol description.
|
|
|
|
- Export 'ares_process_fd' too.
|
|
|
|
Gisle Vanem (16 Aug 2008)
|
|
- Ops, remove 'use_vc'.
|
|
|
|
- Support Watt-32 under Win32.
|
|
|
|
Yang Tse (10 Aug 2008)
|
|
- Fix: Remove now this SIZEOF_CURL_OFF_T symbol definition.
|
|
|
|
This should have been done with the initial 64-bit curl_off_t patch.
|
|
|
|
- Improve CURL_CHECK_DEF
|
|
|
|
- Fix IBM C and DEC/Compaq C compiler detection
|
|
|
|
- Initial support of curlbuild.h and curlrules.h which allows
|
|
to have a curl_off_t data type no longer gated to off_t.
|
|
|
|
- The minimum autoconf version required for this file is 2.50
|
|
|
|
Avoid dot notation in aclocal serial file number, use a single number now.
|
|
|
|
Daniel Stenberg (4 Aug 2008)
|
|
- - Fix by Tofu Linden:
|
|
|
|
The symptom:
|
|
* Users (usually, but not always) on 2-Wire routers and the Comcast service
|
|
and a wired connection to their router would find that the second and
|
|
subsequent DNS lookups from fresh processes using c-ares to resolve the same
|
|
address would cause the process to never see a reply (it keeps polling for
|
|
around 1m15s before giving up).
|
|
|
|
The repro:
|
|
* On such a machine (and yeah, it took us a lot of QA to find the systems
|
|
that reproduce such a specific problem!), do 'ahost www.secondlife.com',
|
|
then do it again. The first process's lookup will work, subsequent lookups
|
|
will time-out and fail.
|
|
|
|
The cause:
|
|
* init_id_key() was calling randomize_key() *before* it initialized
|
|
key->state, meaning that the randomness generated by randomize_key() is
|
|
immediately overwritten with deterministic values. (/dev/urandom was also
|
|
being read incorrectly in the c-ares version we were using, but this was
|
|
fixed in a later version.)
|
|
* This makes the stream of generated query-IDs from any new c-ares process
|
|
be an identical and predictable sequence of IDs.
|
|
* This makes the 2-Wire's default built-in DNS server detect these queries
|
|
as probable-duplicates and (erroneously) not respond at all.
|
|
|
|
Yang Tse (4 Aug 2008)
|
|
- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
|
|
Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. But,
|
|
autoconf 2.62 version of AC_AIX defines _ALL_SOURCE along with other four
|
|
preprocessor symbols no matter if the system is AIX or not. To keep the
|
|
traditional behaviour, as well as an uniform one, across autoconf versions
|
|
AC_AIX is replaced with our own internal macro.
|
|
|
|
- Adjust DEC/Compaq C compiler settings.
|
|
|
|
- Another AC_TRY_LINK conversion to AC_LINK_IFELSE.
|
|
Proper definition of HAVE_function if function is found deeper.
|
|
|
|
- Sync up with reality
|
|
|
|
- Rename reentrant.m4 to avoid filename clash.
|
|
|
|
- Add file version serial number that might be used by 'aclocal' and others.
|
|
|
|
Keep the '#' character as the first one on the line.
|
|
|
|
- Update copyright year.
|
|
|
|
- Sync comment with reality.
|
|
|
|
- Reinstate the 'aclocal -I m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4' way of
|
|
including our local m4/reentrant.m4 file. This even takes care of including the
|
|
file in the distribution tarball.
|
|
|
|
- Add quoting for the AC_DEFINE arguments.
|
|
|
|
- Also remove the whitespace.
|
|
|
|
- Also remove the extra quoting.
|
|
|
|
- Replace some '@%:@' quadigraphs by its actual representation '#'.
|
|
|
|
This quadigraph used before a C preprocessor 'define' directive could
|
|
be fooling M4, when processing this file, and make it think that the
|
|
line contains a pure M4 'define' macro.
|
|
|
|
- Tests done using 'aclocal -I m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4
|
|
in top Makefile.am triggered a problem that prevented aclocal from running
|
|
successfully on SunOS 5.10 with GNU m4 1.4.5 and GNU Autoconf 2.61
|
|
|
|
A tarball which reproduces mentioned problem is the one dated July-28-2008
|
|
http://cool.haxx.se/curl-daily/curl-7.19.0-20080728.tar.gz
|
|
|
|
We actually don't need all the bells and whistles that the above mechanism
|
|
provides. We only need to include our m4/reentrant.m4 file in acinclude.m4
|
|
so here we go with this simpler mechanism.
|
|
|
|
- for debugging purposes show ACLOCAL_FLAGS
|
|
|
|
- These lines were unintentionally removed in previous commit
|
|
|
|
- Partially undo change that prevented SED, GREP, EGREP and AR from being changed by libtool or autoconf.
|
|
|
|
- Assert that SED and GREP are set
|
|
|
|
- Require autoconf 2.57 or newer
|
|
|
|
- When calling aclocal, user defined ACLOCAL_FLAGS will now precede ours.
|
|
|
|
- move ACLOCAL_AMFLAGS after AUTOMAKE_OPTIONS
|
|
|
|
- setup.h handles definition of _REENTRANT based on NEED_REENTRANT
|
|
definition which might be defined in config.h or config-*.h files
|
|
|
|
- Remove explicit inclusion of our m4 files first. It was interesting as a test,
|
|
but it breaks aclocal execution on some systems, with the following error:
|
|
|
|
Can't locate object method "rel2abs" via package "File::Spec" at /usr/local/bin/aclocal line 256.
|
|
|
|
- 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.
|
|
|
|
- Explicitly include our m4 files first. This might minimize the impact
|
|
that other package's underquoted m4 function definitions have on ours.
|
|
|
|
- Add a 3 argument check for getprotobyname_r
|