| 
1 |  | -c-ares version 1.18.1  | 
2 |  | - | 
3 |  | -This is an urgent bugfix release for a regression made in 1.18.0.  | 
4 |  | - | 
5 |  | -Bug fixes:  | 
6 |  | - o ares_getaddrinfo() would return ai_addrlen of 16 for ipv6  | 
7 |  | -   adddresses rather than the sizeof(struct sockaddr_in6)  | 
8 |  | - | 
9 |  | - | 
10 |  | - | 
11 |  | -c-ares version 1.18.0  | 
 | 1 | +c-ares version 1.19.0  | 
12 | 2 | 
 
  | 
13 | 3 | This is a feature and bugfix release.  It addresses a couple of new feature  | 
14 | 4 | requests as well as a couple of bug fixes.  | 
15 | 5 | 
 
  | 
 | 6 | +Security:  | 
 | 7 | + o Low. Stack overflow in ares_set_sortlist() which is used during c-ares  | 
 | 8 | +   initialization and typically provided by an administrator and not an  | 
 | 9 | +   end user. [24]  | 
 | 10 | + | 
16 | 11 | Changes:  | 
17 |  | - o Add support for URI(Uniform Resource Identifier) records via  | 
18 |  | -   ares_parse_uri_reply() [1]  | 
19 |  | - o Provide ares_nameser.h as a public interface as needed by NodeJS [5]  | 
20 |  | - o Update URLs from c-ares.haxx.se to c-ares.org [9]  | 
21 |  | - o During a domain search, treat ARES_ENODATA as ARES_NXDOMAIN so that the  | 
22 |  | -   search process will continue to the next domain in the search.  [11]  | 
23 |  | - o Turn ares_gethostbyname() into a wrapper for ares_getaddrinfo() as they  | 
24 |  | -   followed very similar code paths and ares_gethostbyaddr() has some more  | 
25 |  | -   desirable features such as priority sorting and parallel queries for  | 
26 |  | -   AF_UNSPEC. [12]  | 
27 |  | - o ares_getaddrinfo() now contains a name element in the address info  | 
28 |  | -   structure as the last element.  This is not an API or ABI break due to  | 
29 |  | -   the structure always being internally allocated and it being the last  | 
30 |  | -   element. [12]  | 
31 |  | - o ares_parse_a_reply() and ares_parse_aaaa_reply() were nearly identical, those  | 
32 |  | -   now use the same helper functions for parsing rather than having their own  | 
33 |  | -   code. [12]  | 
34 |  | - o RFC6761 Section 6.3 says "localhost" lookups need to be special cased to  | 
35 |  | -   return loopback addresses, and not forward queries to recursive dns servers.  | 
36 |  | -   On Windows this now returns all loopback addresses, on other systems it  | 
37 |  | -   returns 127.0.0.1 or ::1 always, and will never forward a request for  | 
38 |  | -   "localhost" to outside DNS servers. [13]  | 
39 |  | - o Haiki: port [14]  | 
 | 12 | + o Windows: Drop support for XP and derivatives which greatly cleans up  | 
 | 13 | +   initialization code. [3]  | 
 | 14 | + o Add ARES_OPT_HOSTS_FILE similar to ARES_OPT_RESOLVCONF for specifying a  | 
 | 15 | +   custom hosts file location. [10]  | 
 | 16 | + o Add vcpkg installation instructions [13]  | 
40 | 17 | 
 
  | 
41 | 18 | Bug fixes:  | 
42 |  | - o add build to .gitignore [2]  | 
43 |  | - o z/OS minor update, add missing semicolon in ares_init.c [3]  | 
44 |  | - o Fix building when latest ax_code_coverage.m4 is imported [4]  | 
45 |  | - o Work around autotools 'error: too many loops' and other newer autotools  | 
46 |  | -   import related bugs.  | 
47 |  | - o MinGW cross builds need advapi32 link as lower case [6]  | 
48 |  | - o Cygwin build fix due to containing both socket.h and winsock2.h [7]  | 
49 |  | - o ares_expand_name should allow underscores (_) as SRV records legitimately use  | 
50 |  | -   them [8]  | 
51 |  | - o Allow '/' as a valid character for a returned name for CNAME in-addr.arpa  | 
52 |  | -   delegation [10]  | 
53 |  | - o ares_getaddrinfo() was not honoring HOSTALIASES [12]  | 
54 |  | - o ares_getaddrinfo() had some test cases disabled due to a bug in the test  | 
55 |  | -   framework itself which has now been resolved [12]  | 
56 |  | - o Due to Travis-CI becoming unfriendly to open-source, Cirrus-CI has now been  | 
57 |  | -   brought online for automated unit testing.  | 
 | 19 | + o Fix cross-compilation from Windows to Linux due to CPACK logic. [1]  | 
 | 20 | + o Fix memory leak in reading /etc/hosts when using localhost fallback. [2]  | 
 | 21 | + o Fix chain building c-ares when libresolv is already included by another  | 
 | 22 | +   project [4]  | 
 | 23 | + o File lookup should not immediately abort as there may be other tries due to  | 
 | 24 | +   search criteria.  | 
 | 25 | + o Asterisks should be allowed in host validation as CNAMEs may reference  | 
 | 26 | +   wildcard domains [5]  | 
 | 27 | + o AutoTools build system referenced bad STDC_HEADERS macro [6]  | 
 | 28 | + o Even if one address class returns a failure for ares_getaddrinfo() we should  | 
 | 29 | +   still return the results we have  | 
 | 30 | + o CMake Windows: DLLs did not include resource file to include versions [7] [8]  | 
 | 31 | + o CMake: Guard target creation in exported config [9]  | 
 | 32 | + o Fix ares_getaddrinfo() numerical address resolution with AF_UNSPEC [11]  | 
 | 33 | + o Apple: fix libresolv configured query times. [12]  | 
 | 34 | + o Fix tools and help information [14] [15]  | 
 | 35 | + o Various documentation fixes and cleanups [16] [22] [25]  | 
 | 36 | + o Add include guards to ares_data.h [17]  | 
 | 37 | + o c-ares could try to exceed maximum number of iovec entries supported by  | 
 | 38 | +   system [18]  | 
 | 39 | + o CMake package config generation allow for absolute install paths [19]  | 
 | 40 | + o Intel compiler fixes [20]  | 
 | 41 | + o ares_strsplit bugs [21] [23]  | 
 | 42 | + o The RFC6761 6.3 states localhost subdomains must be offline too. [26]  | 
58 | 43 | 
 
  | 
59 | 44 | Thanks go to these friendly people for their efforts and contributions:  | 
60 |  | -  Biswapriyo Nath (@Biswa96)  | 
 | 45 | +  Boby Reynolds (@reynoldsbd)  | 
61 | 46 |   Brad House (@bradh352)  | 
62 |  | -  Daniel Bevenius (@danbev)  | 
 | 47 | +  Brad Spencer (@b-spencer)  | 
 | 48 | +  @bsergean  | 
63 | 49 |   Daniel Stenberg (@bagder)  | 
64 |  | -  Dhrumil Rana (@dhrumilrana)  | 
65 |  | -  Felix Yan (@felixonmars)  | 
66 |  | -  Jérôme Duval (@korli)  | 
67 |  | -  Martin Holeš (@martin-256)  | 
68 |  | -  Sinan Kaya  | 
69 |  | -(9 contributors)  | 
 | 50 | +  Dmitry Karpov  | 
 | 51 | +  @FrankXie05  | 
 | 52 | +  @hopper-vul  | 
 | 53 | +  Jonathan Ringer (@jonringer)  | 
 | 54 | +  Kai Pastor (@dg0yt)  | 
 | 55 | +  @lifenjoiner  | 
 | 56 | +  Manish Mehra (@mmehra)  | 
 | 57 | +  @marc-groundctl  | 
 | 58 | +  Nikolaos Chatzikonstantinou (@createyourpersonalaccount)  | 
 | 59 | +  Ridge Kennedy (@ridgek)  | 
 | 60 | +  Sam James (@thesamesam)  | 
 | 61 | +  Stephen Sachs (@stephenmsachs)  | 
 | 62 | +  Thomas Dreibholz (@dreibh)  | 
 | 63 | +(18 contributors)  | 
70 | 64 | 
 
  | 
71 | 65 | References to bug reports and discussions on issues:  | 
72 |  | - [1] = https://github.com/c-ares/c-ares/pull/411  | 
73 |  | - [2] = https://github.com/c-ares/c-ares/pull/410  | 
74 |  | - [3] = https://github.com/c-ares/c-ares/pull/414  | 
75 |  | - [4] = https://github.com/c-ares/c-ares/pull/418  | 
76 |  | - [5] = https://github.com/c-ares/c-ares/pull/417  | 
77 |  | - [6] = https://github.com/c-ares/c-ares/pull/420  | 
78 |  | - [7] = https://github.com/c-ares/c-ares/pull/422  | 
79 |  | - [8] = https://github.com/c-ares/c-ares/issues/424  | 
80 |  | - [9] = https://github.com/c-ares/c-ares/issues/423  | 
81 |  | - [10] = https://github.com/c-ares/c-ares/issues/427  | 
82 |  | - [11] = https://github.com/c-ares/c-ares/issues/426  | 
83 |  | - [12] = https://github.com/c-ares/c-ares/pull/428  | 
84 |  | - [13] = https://github.com/c-ares/c-ares/pull/430  | 
85 |  | - [14] = https://github.com/c-ares/c-ares/pull/431  | 
 | 66 | + [1] = https://github.com/c-ares/c-ares/pull/436  | 
 | 67 | + [2] = https://github.com/c-ares/c-ares/issues/439  | 
 | 68 | + [3] = https://github.com/c-ares/c-ares/pull/445  | 
 | 69 | + [4] = https://github.com/c-ares/c-ares/pull/451  | 
 | 70 | + [5] = https://github.com/c-ares/c-ares/issues/457  | 
 | 71 | + [6] = https://github.com/c-ares/c-ares/pull/459  | 
 | 72 | + [7] = https://github.com/c-ares/c-ares/issues/460  | 
 | 73 | + [8] = https://github.com/c-ares/c-ares/pull/468  | 
 | 74 | + [9] = https://github.com/c-ares/c-ares/pull/464  | 
 | 75 | + [10] = https://github.com/c-ares/c-ares/pull/465  | 
 | 76 | + [11] = https://github.com/c-ares/c-ares/pull/469  | 
 | 77 | + [12] = https://github.com/c-ares/c-ares/pull/467  | 
 | 78 | + [13] = https://github.com/c-ares/c-ares/pull/478  | 
 | 79 | + [14] = https://github.com/c-ares/c-ares/pull/479  | 
 | 80 | + [15] = https://github.com/c-ares/c-ares/pull/481  | 
 | 81 | + [16] = https://github.com/c-ares/c-ares/pull/490  | 
 | 82 | + [17] = https://github.com/c-ares/c-ares/pull/491  | 
 | 83 | + [18] = https://github.com/c-ares/c-ares/pull/489  | 
 | 84 | + [19] = https://github.com/c-ares/c-ares/pull/486  | 
 | 85 | + [20] = https://github.com/c-ares/c-ares/pull/485  | 
 | 86 | + [21] = https://github.com/c-ares/c-ares/pull/492  | 
 | 87 | + [22] = https://github.com/c-ares/c-ares/pull/494  | 
 | 88 | + [23] = https://github.com/c-ares/c-ares/pull/495  | 
 | 89 | + [24] = https://github.com/c-ares/c-ares/pull/497  | 
 | 90 | + [25] = https://github.com/c-ares/c-ares/issues/487  | 
 | 91 | + [26] = https://github.com/c-ares/c-ares/issues/477  | 
0 commit comments