summaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES3971
1 files changed, 3966 insertions, 5 deletions
diff --git a/CHANGES b/CHANGES
index f1426fd..93e6a43 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,3968 @@
-This file no longer holds the changelog. Now you can generate it yourself
-like this:
+ Changelog for the c-ares project. Generated with git2changes.pl
- $ git log --pretty=fuller --no-color --date=short --decorate=full -1000 |
- ./git2changes.pl
+Version 1.12.0 (29 Sep 2016)
-The older, manually edited, changelog is found in git named CHANGES.0
+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