mirror of https://github.com/lukechilds/node.git
Browse Source
PR-URL: https://github.com/nodejs/node/pull/15378 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>v9.x-staging
committed by
Ruben Bridgewater
34 changed files with 828 additions and 282 deletions
@ -1,58 +0,0 @@ |
|||||
c-ares |
|
||||
====== |
|
||||
|
|
||||
This is c-ares, an asynchronous resolver library. It is intended for |
|
||||
applications which need to perform DNS queries without blocking, or need to |
|
||||
perform multiple DNS queries in parallel. The primary examples of such |
|
||||
applications are servers which communicate with multiple clients and programs |
|
||||
with graphical user interfaces. |
|
||||
|
|
||||
The full source code is available in the 'c-ares' release archives, and in a |
|
||||
git repository: http://github.com/bagder/c-ares |
|
||||
|
|
||||
If you find bugs, correct flaws, have questions or have comments in general in |
|
||||
regard to c-ares (or by all means the original ares too), get in touch with us |
|
||||
on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares |
|
||||
|
|
||||
c-ares is of course distributed under the same MIT-style license as the |
|
||||
original ares. |
|
||||
|
|
||||
You'll find all c-ares details and news here: |
|
||||
|
|
||||
http://c-ares.haxx.se/ |
|
||||
|
|
||||
|
|
||||
NOTES FOR C-ARES HACKERS |
|
||||
|
|
||||
* The distributed ares_build.h file is only intended to be used on systems |
|
||||
which can not run the also distributed configure script. |
|
||||
|
|
||||
* The distributed ares_build.h file is generated as a copy of ares_build.h.dist |
|
||||
when the c-ares source code distribution archive file is originally created. |
|
||||
|
|
||||
* If you check out from git on a non-configure platform, you must run the |
|
||||
appropriate buildconf* script to set up ares_build.h and other local files |
|
||||
before being able of compiling the library. |
|
||||
|
|
||||
* On systems capable of running the configure script, the configure process |
|
||||
will overwrite the distributed ares_build.h file with one that is suitable |
|
||||
and specific to the library being configured and built, this new file is |
|
||||
generated from the ares_build.h.in template file. |
|
||||
|
|
||||
* If you intend to distribute an already compiled c-ares library you _MUST_ |
|
||||
also distribute along with it the generated ares_build.h which has been |
|
||||
used to compile it. Otherwise the library will be of no use for the users of |
|
||||
the library that you have built. It is _your_ responsibility to provide this |
|
||||
file. No one at the c-ares project can know how you have built the library. |
|
||||
|
|
||||
* File ares_build.h includes platform and configuration dependent info, |
|
||||
and must not be modified by anyone. Configure script generates it for you. |
|
||||
|
|
||||
* We cannot assume anything else but very basic compiler features being |
|
||||
present. While c-ares requires an ANSI C compiler to build, some of the |
|
||||
earlier ANSI compilers clearly can't deal with some preprocessor operators. |
|
||||
|
|
||||
* Newlines must remain unix-style for older compilers' sake. |
|
||||
|
|
||||
* Comments must be written in the old-style /* unnested C-fashion */ |
|
||||
|
|
@ -0,0 +1,65 @@ |
|||||
|
c-ares |
||||
|
====== |
||||
|
|
||||
|
[](https://travis-ci.org/c-ares/c-ares) |
||||
|
[](https://ci.appveyor.com/project/c-ares/c-ares) |
||||
|
[](https://coveralls.io/github/c-ares/c-ares?branch=master) |
||||
|
[](https://bestpractices.coreinfrastructure.org/projects/291) |
||||
|
|
||||
|
This is c-ares, an asynchronous resolver library. It is intended for |
||||
|
applications which need to perform DNS queries without blocking, or need to |
||||
|
perform multiple DNS queries in parallel. The primary examples of such |
||||
|
applications are servers which communicate with multiple clients and programs |
||||
|
with graphical user interfaces. |
||||
|
|
||||
|
The full source code is available in the ['c-ares' release archives](https://c-ares.haxx.se/download/), |
||||
|
and in a git repository: http://github.com/c-ares/c-ares. See the |
||||
|
[INSTALL.md](INSTALL.md) file for build information. |
||||
|
|
||||
|
If you find bugs, correct flaws, have questions or have comments in general in |
||||
|
regard to c-ares (or by all means the original ares too), get in touch with us |
||||
|
on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares |
||||
|
|
||||
|
c-ares is of course distributed under the same MIT-style license as the |
||||
|
original ares. |
||||
|
|
||||
|
You'll find all c-ares details and news here: |
||||
|
https://c-ares.haxx.se/ |
||||
|
|
||||
|
|
||||
|
Notes for c-ares hackers |
||||
|
------------------------ |
||||
|
|
||||
|
* The distributed `ares_build.h` file is only intended to be used on systems |
||||
|
which can not run the also distributed configure script. |
||||
|
|
||||
|
* The distributed `ares_build.h` file is generated as a copy of `ares_build.h.dist` |
||||
|
when the c-ares source code distribution archive file is originally created. |
||||
|
|
||||
|
* If you check out from git on a non-configure platform, you must run the |
||||
|
appropriate `buildconf*` script to set up `ares_build.h` and other local files |
||||
|
before being able to compile the library. |
||||
|
|
||||
|
* On systems capable of running the `configure` script, the `configure` process |
||||
|
will overwrite the distributed `ares_build.h` file with one that is suitable |
||||
|
and specific to the library being configured and built, this new file is |
||||
|
generated from the `ares_build.h.in` template file. |
||||
|
|
||||
|
* If you intend to distribute an already compiled c-ares library you **MUST** |
||||
|
also distribute along with it the generated `ares_build.h` which has been |
||||
|
used to compile it. Otherwise the library will be of no use for the users of |
||||
|
the library that you have built. It is **your** responsibility to provide this |
||||
|
file. No one at the c-ares project can know how you have built the library. |
||||
|
|
||||
|
* File `ares_build.h` includes platform and configuration dependent info, |
||||
|
and must not be modified by anyone. Configure script generates it for you. |
||||
|
|
||||
|
* We cannot assume anything else but very basic compiler features being |
||||
|
present. While c-ares requires an ANSI C compiler to build, some of the |
||||
|
earlier ANSI compilers clearly can't deal with some preprocessor operators. |
||||
|
|
||||
|
* Newlines must remain unix-style for older compilers' sake. |
||||
|
|
||||
|
* Comments must be written in the old-style /* unnested C-fashion */ |
||||
|
|
||||
|
* Try to keep line lengths below 80 columns. |
@ -1,46 +1,53 @@ |
|||||
c-ares version 1.12.0 |
c-ares version 1.13.0 |
||||
|
|
||||
Changes: |
Changes: |
||||
|
|
||||
o api: add ARES_OPT_NOROTATE optmask value |
o cmake build system support added |
||||
|
o Add virtual function set for socket IO: ares_set_socket_functions [5] |
||||
|
|
||||
Bug fixes: |
Bug fixes: |
||||
|
|
||||
o CVE-2016-5180: ares_create_query single byte out of buffer write [4] |
o CVE-2017-1000381: c-ares NAPTR parser out of bounds access [1] |
||||
o configure: acknowledge --disable-tests [1] |
o macos: do not set HAVE_CLOCK_GETTIME_MONOTONIC |
||||
o man pages: fix typos detected by Lintian |
o test: check ares_create_query with too-long name |
||||
o test: add missing #includes for dns-proto.cc |
o dist: add ares_library_initialized.* to the tarball |
||||
o test: avoid in6addr_* constants |
o fix build on OpenBSD |
||||
o test: Build with MinGW on AppVeyor |
o dist: ship msvc_ver.inc too [2] |
||||
o Makefile.m32: add support for extra flags |
o test: Add gTest/gMock files to SOURCES |
||||
o Makefile.m32: add support for CROSSPREFIX |
o test: add fuzz entrypoint for ares_create_query() |
||||
o configure: check if tests can get built before enabled |
o configure: clock_gettime workaround [3] |
||||
o ares_library_cleanup: reset ares_realloc too |
o docs: convert INSTALL to MarkDown & tweak [4] |
||||
o ahost.c: add cast to fix C++ compile |
o ares_process: fix return type of socket_create function (win32 warning) |
||||
o test: Only pass unused args to GoogleTest |
o docs: fixed references to ares_set_local_ip4 and ares_set_local_ip6 |
||||
o build: commonize MSVC version detection |
o Windows DNS server sorting [6] |
||||
o msvc_ver.inc: support Visual Studio 2015 Update 1, 2, 3 |
o Use ares_socklen_t instead of socket_t [7] |
||||
o test: for AF_UNSPEC, return CNAME only for AAAA, but valid A record |
o ares_create_query: use ares_free not naked free |
||||
o ares_getnameinfo: explicitly clear struct servent before use |
o msvc_ver.inc support most recent Visual Studio 2017 [8] |
||||
o test: Update fuzzing function prototype |
o acountry: Convert char from ISO-8859-1 to UTF-8 [9] |
||||
o init: fix nsort initialization |
o ares_expand_name: limit number of indirections |
||||
o test: add fuzzing check script to tests |
o configure: do not check for ar if specified manually [10] |
||||
o web: http => https |
o Added support for Windows DNS Suffix Search List [11] |
||||
o read_tcp_data: remove superfluous NULL check |
o ares.h: support compiling with QNX [12] |
||||
o LICENSE.md: add a stand-alone license file |
|
||||
o SECURITY.md: suggested "security process" for the project |
|
||||
o ares_init_options: only propagate init failures from options [2] |
|
||||
o headers: remove checks for and defines of variable sizes |
|
||||
o test: fix gMock to work with gcc >= 6.x [3] |
|
||||
|
|
||||
Thanks go to these friendly people for their efforts and contributions: |
Thanks go to these friendly people for their efforts and contributions: |
||||
|
|
||||
Alexander Drachevskiy, Brad House, Chris Araman, Daniel Stenberg, |
Aaron Bieber, Andrew Sullivan, Brad House, Bruce Stephens, Calle Wilund, |
||||
David Drysdale, Gregor Jasny, Svante Karlsson, Viktor Szakats |
Chris Araman, Christian Ammer, Daniel Stenberg, David Drysdale, David Hotham, |
||||
|
Dionna Glaze, Gregor Jasny, Michael Osei, Mulle kybernetiK, noiz at github, |
||||
|
Sergii Pylypenko, Stephen Sorley, Thomas Köckerbauer, |
||||
|
(18 contributors) |
||||
|
|
||||
References to bug reports and discussions on issues: |
References to bug reports and discussions on issues: |
||||
|
|
||||
[1] = https://github.com/c-ares/c-ares/issues/44 |
[1] = https://c-ares.haxx.se/adv_20170620.html |
||||
[2] = https://github.com/c-ares/c-ares/issues/60 |
[2] = https://github.com/c-ares/c-ares/issues/69 |
||||
[3] = https://github.com/google/googletest/issues/705#issuecomment-235067917 |
[3] = https://github.com/c-ares/c-ares/issues/71 |
||||
[4] = https://c-ares.haxx.se/adv_20160929.html |
[4] = https://github.com/c-ares/c-ares/issues/83 |
||||
|
[5] = https://github.com/c-ares/c-ares/issues/72 |
||||
|
[6] = https://github.com/c-ares/c-ares/issues/81 |
||||
|
[7] = https://github.com/c-ares/c-ares/issues/92 |
||||
|
[8] = https://github.com/c-ares/c-ares/issues/101 |
||||
|
[9] = https://github.com/c-ares/c-ares/issues/97 |
||||
|
[10] = https://github.com/c-ares/c-ares/issues/62 |
||||
|
[11] = https://github.com/c-ares/c-ares/issues/93 |
||||
|
[12] = https://github.com/c-ares/c-ares/issues/113 |
||||
|
Loading…
Reference in new issue