| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,250 @@ | |||
| 1 | 1 | Changelog for the c-ares project. Generated with git2changes.pl | |
| 2 | 2 | ||
| 3 | + Version 1.28.1 (30 Mar 2024) | ||
| 4 | + | ||
| 5 | + GitHub (30 Mar 2024) | ||
| 6 | + - [Brad House brought this change] | ||
| 7 | + | ||
| 8 | + release prep for 1.28.1 (#739) | ||
| 9 | + | ||
| 10 | + Brad House (30 Mar 2024) | ||
| 11 | + - ares_search() and ares_getaddrinfo() resolution fails if no search domains | ||
| 12 | + | ||
| 13 | + Due to an error in creating the list of domains to search, if no search | ||
| 14 | + domains were configured, resolution would fail. | ||
| 15 | + | ||
| 16 | + Fixes Issue: #737 | ||
| 17 | + Fix By: Brad House (@bradh352) | ||
| 18 | + | ||
| 19 | + - typo | ||
| 20 | + | ||
| 21 | + Version 1.28.0 (28 Mar 2024) | ||
| 22 | + | ||
| 23 | + GitHub (28 Mar 2024) | ||
| 24 | + - [Brad House brought this change] | ||
| 25 | + | ||
| 26 | + Allow configuration value for NDots to be zero (#735) | ||
| 27 | + | ||
| 28 | + As per Issue #734 some people use `ndots:0` in their configuration which | ||
| 29 | + is allowed by the system resolver but not by c-ares. Add support for | ||
| 30 | + `ndots:0` and add a test case to validate this behavior. | ||
| 31 | + | ||
| 32 | + Fixes Issue: #734 | ||
| 33 | + Fix By: Brad House (@bradh352) | ||
| 34 | + | ||
| 35 | + Brad House (27 Mar 2024) | ||
| 36 | + - typo | ||
| 37 | + | ||
| 38 | + GitHub (27 Mar 2024) | ||
| 39 | + - [Brad House brought this change] | ||
| 40 | + | ||
| 41 | + 1.28.0 release prep (#733) | ||
| 42 | + | ||
| 43 | + Brad House (27 Mar 2024) | ||
| 44 | + - CMake: don't overwrite global required libraries/definitions/includes | ||
| 45 | + | ||
| 46 | + When chain building c-ares, global settings were being unset which | ||
| 47 | + could lead to build problems. | ||
| 48 | + | ||
| 49 | + Fixes Issue: #729 | ||
| 50 | + Fix By: Brad House (@bradh352) | ||
| 51 | + | ||
| 52 | + - remove tests that have been disabled forever | ||
| 53 | + | ||
| 54 | + - clang-format | ||
| 55 | + | ||
| 56 | + - ares_search_dnsrec() takes a const | ||
| 57 | + | ||
| 58 | + - sonarcloud: clean up some minor codesmells | ||
| 59 | + | ||
| 60 | + GitHub (26 Mar 2024) | ||
| 61 | + - [Brad House brought this change] | ||
| 62 | + | ||
| 63 | + mark deprecated functions as such (#732) | ||
| 64 | + | ||
| 65 | + Multiple functions have been deprecated over the years, annotate them | ||
| 66 | + with attribute deprecated. | ||
| 67 | + | ||
| 68 | + When possible show a message about their replacements. | ||
| 69 | + | ||
| 70 | + This is a continuation/completion of PR #706 | ||
| 71 | + | ||
| 72 | + Fix By: Cristian Rodríguez (@crrodriguez) | ||
| 73 | + | ||
| 74 | + Brad House (26 Mar 2024) | ||
| 75 | + - silence clang static analyzer | ||
| 76 | + | ||
| 77 | + - silence coverity | ||
| 78 | + | ||
| 79 | + - coverity: fix mostly bogus warnings | ||
| 80 | + | ||
| 81 | + - fix missing doc | ||
| 82 | + | ||
| 83 | + GitHub (25 Mar 2024) | ||
| 84 | + - [Brad House brought this change] | ||
| 85 | + | ||
| 86 | + Rework internals to pass around `ares_dns_record_t` instead of binary data (#730) | ||
| 87 | + | ||
| 88 | + c-ares has historically passed around raw dns packets in binary form. | ||
| 89 | + Now that we have a new parser, and messages are already parsed | ||
| 90 | + internally, lets pass around that parsed message rather than requiring | ||
| 91 | + multiple parse attempts on the same message. Also add a new | ||
| 92 | + `ares_send_dnsrec()` and `ares_query_dnsrec()` similar to | ||
| 93 | + `ares_search_dnsrec()` added with PR #719 that can return the pointer to | ||
| 94 | + the `ares_dns_record_t` to the caller enqueuing queries and rework | ||
| 95 | + `ares_search_dnsrec()` to use `ares_send_dnsrec()` internally. | ||
| 96 | + | ||
| 97 | + Fix By: Brad House (@bradh352) | ||
| 98 | + | ||
| 99 | + Brad House (23 Mar 2024) | ||
| 100 | + - tests: mockserver is local, shorten timeouts to make test cases run faster to use less CI resources | ||
| 101 | + | ||
| 102 | + - appveyor: disable UWP builds until MSVC version is updated in base image | ||
| 103 | + | ||
| 104 | + GitHub (21 Mar 2024) | ||
| 105 | + - [Faraz brought this change] | ||
| 106 | + | ||
| 107 | + Include netinet6/in6.h (#728) | ||
| 108 | + | ||
| 109 | + On some platforms, "netinet6/in6.h" is not included by "netinet/in.h" | ||
| 110 | + and needs to be included separately. | ||
| 111 | + | ||
| 112 | + Fix By: Faraz (@farazrbx) | ||
| 113 | + | ||
| 114 | + - [Oliver Welsh brought this change] | ||
| 115 | + | ||
| 116 | + Add function ares_search_dnrec() to search for records using the new DNS record parser (#719) | ||
| 117 | + | ||
| 118 | + This PR adds a new function `ares_search_dnsrec()` to search for records | ||
| 119 | + using the new DNS record parser. | ||
| 120 | + | ||
| 121 | + The function takes an arbitrary DNS record object to search (that must | ||
| 122 | + represent a query for a single name). The function takes a new callback | ||
| 123 | + type, `ares_callback_dnsrec`, that is invoked with a parsed DNS record | ||
| 124 | + object rather than the raw buffer(+length). | ||
| 125 | + | ||
| 126 | + The original motivation for this change is to provide support for | ||
| 127 | + [draft-kaplan-enum-sip-routing-04](https://datatracker.ietf.org/doc/html/draft-kaplan-enum-sip-routing-04); | ||
| 128 | + when routing phone calls using an ENUM server, it can be useful to | ||
| 129 | + include identifying source information in an OPT RR options value, to | ||
| 130 | + help select the appropriate route for the call. The new function allows | ||
| 131 | + for more customisable searches like this. | ||
| 132 | + | ||
| 133 | + **Summary of code changes** | ||
| 134 | + | ||
| 135 | + A new function `ares_search_dnsrec()` has been added and exposed. | ||
| 136 | + Moreover, the entire `ares_search_int()` internal code flow has been | ||
| 137 | + refactored to use parsed DNS record objects and the new DNS record | ||
| 138 | + parser. The DNS record object is passed through the `search_query` | ||
| 139 | + structure by encoding/decoding to/from a buffer (if multiple search | ||
| 140 | + domains are used). A helper function `ares_dns_write_query_altname()` is | ||
| 141 | + used to re-write the DNS record object with a new query name (used to | ||
| 142 | + append search domains). | ||
| 143 | + | ||
| 144 | + `ares_search()` is now a wrapper around the new internal code, where the | ||
| 145 | + DNS record object is created based on the name, class and type | ||
| 146 | + parameters. | ||
| 147 | + | ||
| 148 | + The new function uses a new callback type, `ares_callback_dnsrec`. This | ||
| 149 | + is invoked with a parsed DNS record object. For now, we convert from | ||
| 150 | + `ares_callback` to this new type using `ares__dnsrec_convert_cb()`. | ||
| 151 | + | ||
| 152 | + Some functions that are common to both `ares_query()` and | ||
| 153 | + `ares_search()` have been refactored using the new DNS record parser. | ||
| 154 | + See `ares_dns_record_create_query()` and | ||
| 155 | + `ares_dns_query_reply_tostatus()`. | ||
| 156 | + | ||
| 157 | + **Testing** | ||
| 158 | + | ||
| 159 | + A new FV has been added to test the new function, which searches for a | ||
| 160 | + DNS record containing an OPT RR with custom options value. | ||
| 161 | + | ||
| 162 | + As part of this, I needed to enhance the mock DNS server to expect | ||
| 163 | + request text (and assert that it matches actual request text). This is | ||
| 164 | + because the FV needs to check that the request contains the correct OPT | ||
| 165 | + RR. | ||
| 166 | + | ||
| 167 | + **Documentation** | ||
| 168 | + | ||
| 169 | + The man page docs have been updated to describe the new feature. | ||
| 170 | + | ||
| 171 | + **Futures** | ||
| 172 | + | ||
| 173 | + In the future, a new variant of `ares_send()` could be introduced in the | ||
| 174 | + same vein (`ares_send_dnsrec()`). This could be used by | ||
| 175 | + `ares_search_dnsrec()`. Moreover, we could migrate internal code to use | ||
| 176 | + `ares_callback_dnsrec` as the default callback. | ||
| 177 | + | ||
| 178 | + This will help to make the new DNS record parser the norm in C-Ares. | ||
| 179 | + | ||
| 180 | + --------- | ||
| 181 | + | ||
| 182 | + Co-authored-by: Oliver Welsh (@oliverwelsh) | ||
| 183 | + | ||
| 184 | + - [Brad House brought this change] | ||
| 185 | + | ||
| 186 | + Replace configuration file parsers with memory-safe parser (#725) | ||
| 187 | + | ||
| 188 | + Rewrite configuration parsers using new memory safe parsing functions. | ||
| 189 | + After CVE-2024-25629 its obvious that we need to prioritize again on | ||
| 190 | + getting all the hand written parsers with direct pointer manipulation | ||
| 191 | + replaced. They're just not safe and hard to audit. It was yet another | ||
| 192 | + example of 20+yr old code having a memory safety issue just now coming | ||
| 193 | + to light. | ||
| 194 | + | ||
| 195 | + Though these parsers are definitely less efficient, they're written with | ||
| 196 | + memory safety in mind, and any performance difference is going to be | ||
| 197 | + meaningless for something that only happens once a while. | ||
| 198 | + | ||
| 199 | + Fix By: Brad House (@bradh352) | ||
| 200 | + | ||
| 201 | + Brad House (12 Mar 2024) | ||
| 202 | + - skip ubsan/asan on debian arm64 due to the compiler getting killed | ||
| 203 | + | ||
| 204 | + - ares_init potential memory leak | ||
| 205 | + | ||
| 206 | + If initializing using default settings fails, there may be a memory leak of | ||
| 207 | + search domains that were set by system configuration. | ||
| 208 | + | ||
| 209 | + Fixes Issue: #724 | ||
| 210 | + Fix By: Brad House (@bradh352) | ||
| 211 | + | ||
| 212 | + GitHub (12 Mar 2024) | ||
| 213 | + - [Faraz Fallahi brought this change] | ||
| 214 | + | ||
| 215 | + simple implementation for isascii where stdlib isascii is not available (#721) | ||
| 216 | + | ||
| 217 | + Some platforms don't have the isascii() function. Implement as a macro. | ||
| 218 | + | ||
| 219 | + Fix By: Faraz Fallahi (@fffaraz) | ||
| 220 | + | ||
| 221 | + Brad House (11 Mar 2024) | ||
| 222 | + - Doxygen: fix typos | ||
| 223 | + | ||
| 224 | + Fix reported typos in doxygen-style comments. | ||
| 225 | + | ||
| 226 | + Fixes Issue: #722 | ||
| 227 | + Credit: @dzalyalov88 | ||
| 228 | + | ||
| 229 | + - CI: update freebsd image | ||
| 230 | + | ||
| 231 | + - CMake: Fix Chain building if CMAKE runtime paths not set | ||
| 232 | + | ||
| 233 | + This fixes issues created by #708 | ||
| 234 | + | ||
| 235 | + Fix By: Brad House (@bradh352) | ||
| 236 | + | ||
| 237 | + - silence benign warnings | ||
| 238 | + | ||
| 239 | + - Remove acountry completely from code, including manpage | ||
| 240 | + | ||
| 241 | + Since acountry cannot be restored due to nerd.dk being decommissioned, | ||
| 242 | + we should completely remove the manpage and source. This also | ||
| 243 | + will resolve issue #718. | ||
| 244 | + | ||
| 245 | + Fixes Issue: #718 | ||
| 246 | + Fix By: Brad House (@bradh352) | ||
| 247 | + | ||
| 3 | 248 | Version 1.27.0 (22 Feb 2024) | |
| 4 | 249 | ||
| 5 | 250 | GitHub (22 Feb 2024) | |
@@ -6100,127 +6345,3 @@ Yang Tse (10 Mar 2013) | |||
| 6100 | 6345 | ||
| 6101 | 6346 | Daniel Stenberg (9 Mar 2013) | |
| 6102 | 6347 | - ares.h: there is no ares_free_soa function | |
| 6103 | - | ||
| 6104 | - Yang Tse (9 Mar 2013) | ||
| 6105 | - - Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility | ||
| 6106 | - | ||
| 6107 | - - ares_inet_ntop.3: s/socklen_t/ares_socklen_t | ||
| 6108 | - | ||
| 6109 | - - configure: use XC_LIBTOOL for portability across libtool versions | ||
| 6110 | - | ||
| 6111 | - - xc-lt-iface.m4: provide XC_LIBTOOL macro | ||
| 6112 | - | ||
| 6113 | - - Makefile.am: use AM_CPPFLAGS instead of INCLUDES | ||
| 6114 | - | ||
| 6115 | - - inet_ntop.c: s/socklen_t/ares_socklen_t | ||
| 6116 | - | ||
| 6117 | - - inet_ntop.c: s/socklen_t/ares_socklen_t for portability | ||
| 6118 | - | ||
| 6119 | - Daniel Stenberg (19 Feb 2013) | ||
| 6120 | - - ares.h: s/socklen_t/ares_socklen_t for portability | ||
| 6121 | - | ||
| 6122 | - - ares_inet_ntop.3: 4th argument is socklen_t! | ||
| 6123 | - | ||
| 6124 | - - spell inet correctly! | ||
| 6125 | - | ||
| 6126 | - - ares_inet_pton/ntop: cleanup | ||
| 6127 | - | ||
| 6128 | - Make sure that the symbols are always exported and present in c-ares. | ||
| 6129 | - | ||
| 6130 | - Make the headers prefixed with 'ares'. | ||
| 6131 | - | ||
| 6132 | - Removed the inet_ntop.h version as it no longer features any content. | ||
| 6133 | - | ||
| 6134 | - - ares_inet_ntop/ares_inet_pton: added man pages | ||
| 6135 | - | ||
| 6136 | - Yang Tse (15 Feb 2013) | ||
| 6137 | - - [Gisle Vanem brought this change] | ||
| 6138 | - | ||
| 6139 | - curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to close_s() | ||
| 6140 | - | ||
| 6141 | - - [Gisle Vanem brought this change] | ||
| 6142 | - | ||
| 6143 | - config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32 | ||
| 6144 | - | ||
| 6145 | - - [Gisle Vanem brought this change] | ||
| 6146 | - | ||
| 6147 | - config-dos.h: define strerror() to strerror_s_() for High-C | ||
| 6148 | - | ||
| 6149 | - Daniel Stenberg (13 Feb 2013) | ||
| 6150 | - - ares_get_datatype: removed unused function | ||
| 6151 | - | ||
| 6152 | - it was also wrongly named as internal functions require two underscores | ||
| 6153 | - | ||
| 6154 | - - ares__bitncmp: use two underscores for private functions | ||
| 6155 | - | ||
| 6156 | - It used a single one previously making it look like a public one | ||
| 6157 | - | ||
| 6158 | - - ares__generate_new_id: moved to ares_query.c | ||
| 6159 | - | ||
| 6160 | - ... and ares__rc4 is turned into a local static function. | ||
| 6161 | - | ||
| 6162 | - - ares__swap_lists: make private and static | ||
| 6163 | - | ||
| 6164 | - ... since there's only one user, make it static within ares_process.c | ||
| 6165 | - | ||
| 6166 | - Yang Tse (13 Feb 2013) | ||
| 6167 | - - Makefile.msvc: add four VS version strings | ||
| 6168 | - | ||
| 6169 | - Daniel Stenberg (13 Feb 2013) | ||
| 6170 | - - ares_expand_name.3: clarify how to free the data | ||
| 6171 | - | ||
| 6172 | - Yang Tse (30 Jan 2013) | ||
| 6173 | - - zz40-xc-ovr.m4: fix 'wc' detection - follow-up 2 | ||
| 6174 | - | ||
| 6175 | - - Fix a pair of single quotes to double quotes. | ||
| 6176 | - | ||
| 6177 | - URL: http://curl.haxx.se/mail/lib-2013-01/0355.html | ||
| 6178 | - Reported by: Tor Arntsen | ||
| 6179 | - | ||
| 6180 | - - zz40-xc-ovr.m4: fix 'wc' detection - follow-up | ||
| 6181 | - | ||
| 6182 | - - Take into account that 'wc' may return leading spaces and/or tabs. | ||
| 6183 | - | ||
| 6184 | - - Set initial IFS to space, tab and newline. | ||
| 6185 | - | ||
| 6186 | - - zz40-xc-ovr.m4: fix 'wc' detection | ||
| 6187 | - | ||
| 6188 | - - Take into account that 'wc' may return leading spaces. | ||
| 6189 | - | ||
| 6190 | - - Set internationalization behavior variables. | ||
| 6191 | - | ||
| 6192 | - Tor Arntsen analyzed and reported the issue. | ||
| 6193 | - | ||
| 6194 | - URL: http://curl.haxx.se/mail/lib-2013-01/0351.html | ||
| 6195 | - | ||
| 6196 | - - zz40-xc-ovr.m4: check another three basic utilities | ||
| 6197 | - | ||
| 6198 | - - zz40-xc-ovr.m4: 1.0 interface stabilization | ||
| 6199 | - | ||
| 6200 | - - Stabilization results in 4 public interface m4 macros: | ||
| 6201 | - XC_CONFIGURE_PREAMBLE | ||
| 6202 | - XC_CONFIGURE_PREAMBLE_VER_MAJOR | ||
| 6203 | - XC_CONFIGURE_PREAMBLE_VER_MINOR | ||
| 6204 | - XC_CHECK_PATH_SEPARATOR | ||
| 6205 | - - Avoid one level of internal indirection | ||
| 6206 | - - Update comments | ||
| 6207 | - - Drop XC_OVR_ZZ40 macro | ||
| 6208 | - | ||
| 6209 | - - zz40-xc-ovr.m4: emit witness message in configure BODY | ||
| 6210 | - | ||
| 6211 | - This avoids witness message in output when running configure --help, | ||
| 6212 | - while sending the message to config.log for other configure runs. | ||
| 6213 | - | ||
| 6214 | - - zz40-xc-ovr.m4: truly do version conditional overriding | ||
| 6215 | - | ||
| 6216 | - - version conditional overriding | ||
| 6217 | - - catch unexpanded XC macros | ||
| 6218 | - - fix double words in comments | ||
| 6219 | - | ||
| 6220 | - - zz40-xc-ovr.m4: fix variable assignment of subshell output bashism | ||
| 6221 | - | ||
| 6222 | - Tor Arntsen analyzed and reported the issue. | ||
| 6223 | - | ||
| 6224 | - URL: http://curl.haxx.se/mail/lib-2013-01/0306.html | ||
| 6225 | - | ||
| 6226 | - - zz40-xc-ovr.m4: reinstate strict AC_REQUIRE macro dependencies | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments