| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d16b235 commit 38343c4
87 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,194 @@ | |||
| 1 | 1 | Changelog for the c-ares project. Generated with git2changes.pl | |
| 2 | 2 | ||
| 3 | + Version 1.27.0 (22 Feb 2024) | ||
| 4 | + | ||
| 5 | + GitHub (22 Feb 2024) | ||
| 6 | + - [Brad House brought this change] | ||
| 7 | + | ||
| 8 | + Release 1.27.0 (#715) | ||
| 9 | + | ||
| 10 | + release prep for 1.27.0 release | ||
| 11 | + | ||
| 12 | + - [Brad House brought this change] | ||
| 13 | + | ||
| 14 | + Merge pull request from GHSA-mg26-v6qh-x48q | ||
| 15 | + | ||
| 16 | + - [Oliver Welsh brought this change] | ||
| 17 | + | ||
| 18 | + Add flag to not use a default local named server on channel initialization (#713) | ||
| 19 | + | ||
| 20 | + Hello, I work on an application for Microsoft which uses c-ares to | ||
| 21 | + perform DNS lookups. We have made some minor changes to the library over | ||
| 22 | + time, and would like to contribute these back to the project in case | ||
| 23 | + they are useful more widely. This PR adds a new channel init flag, | ||
| 24 | + described below. | ||
| 25 | + | ||
| 26 | + Please let me know if I can include any more information to make this PR | ||
| 27 | + better/easier for you to review. Thanks! | ||
| 28 | + | ||
| 29 | + **Summary** | ||
| 30 | + When initializing a channel with `ares_init_options()`, if there are no | ||
| 31 | + nameservers available (because `ARES_OPT_SERVERS` is not used and | ||
| 32 | + `/etc/resolv.conf` is either empty or not available) then a default | ||
| 33 | + local named server will be added to the channel. | ||
| 34 | + | ||
| 35 | + However in some applications a local named server will never be | ||
| 36 | + available. In this case, all subsequent queries on the channel will | ||
| 37 | + fail. | ||
| 38 | + | ||
| 39 | + If we know this ahead of time, then it may be preferred to fail channel | ||
| 40 | + initialization directly rather than wait for the queries to fail. This | ||
| 41 | + gives better visibility, since we know that the failure is due to | ||
| 42 | + missing servers rather than something going wrong with the queries. | ||
| 43 | + | ||
| 44 | + This PR adds a new flag `ARES_FLAG_NO_DFLT_SVR`, to indicate that a | ||
| 45 | + default local named server should not be added to a channel in this | ||
| 46 | + scenario. Instead, a new error `ARES_EINITNOSERVER` is returned and | ||
| 47 | + initialization fails. | ||
| 48 | + | ||
| 49 | + **Testing** | ||
| 50 | + I have added 2 new FV tests: | ||
| 51 | + - `ContainerNoDfltSvrEmptyInit` to test that initialization fails when | ||
| 52 | + no nameservers are available and the flag is set. | ||
| 53 | + - `ContainerNoDfltSvrFullInit` to test that initialization still | ||
| 54 | + succeeds when the flag is set but other nameservers are available. | ||
| 55 | + | ||
| 56 | + Existing FVs are all passing. | ||
| 57 | + | ||
| 58 | + **Documentation** | ||
| 59 | + I have had a go at manually updating the docs to describe the new | ||
| 60 | + flag/error, but couldn't see any contributing guidance about testing | ||
| 61 | + this. Please let me know if you'd like anything more here. | ||
| 62 | + | ||
| 63 | + --------- | ||
| 64 | + | ||
| 65 | + Fix By: Oliver Welsh (@oliverwelsh) | ||
| 66 | + | ||
| 67 | + Brad House (18 Feb 2024) | ||
| 68 | + - badge should be only main branch | ||
| 69 | + | ||
| 70 | + - put logo in readme | ||
| 71 | + | ||
| 72 | + - clang-format | ||
| 73 | + | ||
| 74 | + GitHub (17 Feb 2024) | ||
| 75 | + - [Brad House brought this change] | ||
| 76 | + | ||
| 77 | + Add ares_queue_active_queries() (#712) | ||
| 78 | + | ||
| 79 | + Add a function to request the number of active queries from an ares | ||
| 80 | + channel. This will return the number of inflight requests to dns | ||
| 81 | + servers. Some functions like `ares_getaddrinfo()` when using `AF_UNSPEC` | ||
| 82 | + may enqueue multiple queries which will be reflected in this count. | ||
| 83 | + | ||
| 84 | + In the future, if we implement support for queuing (e.g. for throttling | ||
| 85 | + purposes), and/or implement support for tracking user-requested queries | ||
| 86 | + (e.g. for cancelation), we can provide additional functions for | ||
| 87 | + inspecting those queues. | ||
| 88 | + | ||
| 89 | + Fix By: Brad House (@bradh352) | ||
| 90 | + | ||
| 91 | + - [Vojtěch Vobr brought this change] | ||
| 92 | + | ||
| 93 | + fix leaking DNS suffix search list on Windows (#711) | ||
| 94 | + | ||
| 95 | + ares__strsplit provides a newly allocated buffer, so suffix list in | ||
| 96 | + line variable isn't referenced anymore. Related ares_free seems to | ||
| 97 | + have gone missing during refactoring made in #594 | ||
| 98 | + | ||
| 99 | + Fix By: Vojtěch Vobr (@vojtechvobr) | ||
| 100 | + | ||
| 101 | + - [Brad House brought this change] | ||
| 102 | + | ||
| 103 | + Add ares_queue_wait_empty() for use with EventThreads (#710) | ||
| 104 | + | ||
| 105 | + It may be useful to wait for the queue to be empty under certain conditions (mainly test cases), expose a function to efficiently do this and rework test cases to use it. | ||
| 106 | + | ||
| 107 | + Fix By: Brad House (@bradh352) | ||
| 108 | + | ||
| 109 | + - [Cheng Zhao brought this change] | ||
| 110 | + | ||
| 111 | + Fix warning about ignoring result of write (#709) | ||
| 112 | + | ||
| 113 | + Fix the compiler warning from clang: | ||
| 114 | + | ||
| 115 | + ``` | ||
| 116 | + ares_event_wake_pipe.c:120:3: error: ignoring return value of function declared with 'warn_unused_result' attribute [-Werror,-Wunused-result] | ||
| 117 | + 120 | write(p->filedes[1], "1", 1); | ||
| 118 | + | ^~~~~ ~~~~~~~~~~~~~~~~~~~~~ | ||
| 119 | + 1 error generated. | ||
| 120 | + ``` | ||
| 121 | + | ||
| 122 | + Fix By: Cheng Zhao (@zcbenz) | ||
| 123 | + | ||
| 124 | + Brad House (5 Feb 2024) | ||
| 125 | + - CMake: don't override target output locations if not top-level | ||
| 126 | + | ||
| 127 | + CMake was unconditionally setting output locations globally, but | ||
| 128 | + it should not do that if it is not the top-level project (e.g. | ||
| 129 | + during chain building). Detect this fact and only set the output | ||
| 130 | + location when top level. | ||
| 131 | + | ||
| 132 | + Fixes Issue: #708 | ||
| 133 | + Fix By: Anthony Alayo (@anthonyalayo) | ||
| 134 | + | ||
| 135 | + - make docs match PR #705 | ||
| 136 | + | ||
| 137 | + GitHub (31 Jan 2024) | ||
| 138 | + - [Cristian Rodríguez brought this change] | ||
| 139 | + | ||
| 140 | + lower EDNSPACKETSZ to 1232 (#705) | ||
| 141 | + | ||
| 142 | + In 2020, it was agreed this is optimal maximum size and all | ||
| 143 | + major server software was updated to reflect this. | ||
| 144 | + | ||
| 145 | + see https://www.dnsflagday.net/2020/#faq | ||
| 146 | + | ||
| 147 | + Fix By: Cristian Rodríguez (@crrodriguez) | ||
| 148 | + | ||
| 149 | + Brad House (30 Jan 2024) | ||
| 150 | + - fix version | ||
| 151 | + | ||
| 152 | + - fix typo | ||
| 153 | + | ||
| 154 | + - bad symlink | ||
| 155 | + | ||
| 156 | + - attempt to fix pkgconfig on windows for static builds | ||
| 157 | + | ||
| 158 | + GitHub (28 Jan 2024) | ||
| 159 | + - [Andriy Utkin brought this change] | ||
| 160 | + | ||
| 161 | + docs/ares_init_options.3: fix args in analogy (#701) | ||
| 162 | + | ||
| 163 | + Fix By: Andriy Utkin <hello@autkin.net> | ||
| 164 | + | ||
| 165 | + - [Brad House brought this change] | ||
| 166 | + | ||
| 167 | + sonarcloud: fix minor codesmells (#702) | ||
| 168 | + | ||
| 169 | + Fix minor codesmells, mostly related to missing 'const' in the new event system. | ||
| 170 | + | ||
| 171 | + Fix By: Brad House (@bradh352) | ||
| 172 | + | ||
| 173 | + Brad House (26 Jan 2024) | ||
| 174 | + - remove outdated copyright text | ||
| 175 | + | ||
| 176 | + - spelling | ||
| 177 | + | ||
| 178 | + - sanity check GTest includes GMock component | ||
| 179 | + | ||
| 180 | + GitHub (26 Jan 2024) | ||
| 181 | + - [Brad House brought this change] | ||
| 182 | + | ||
| 183 | + build-time disabled threads breaks c-ares (#700) | ||
| 184 | + | ||
| 185 | + Regression introduced in 1.26.0, building c-ares with threading disabled results in ares_init{_options}() failing. | ||
| 186 | + | ||
| 187 | + Also adds a new CI test case to prevent this regression in the future. | ||
| 188 | + | ||
| 189 | + Fixes Bug: #699 | ||
| 190 | + Fix By: Brad House (@bradh352) | ||
| 191 | + | ||
| 3 | 192 | Version 1.26.0 (25 Jan 2024) | |
| 4 | 193 | ||
| 5 | 194 | Brad House (25 Jan 2024) | |
@@ -6035,113 +6224,3 @@ Yang Tse (30 Jan 2013) | |||
| 6035 | 6224 | URL: http://curl.haxx.se/mail/lib-2013-01/0306.html | |
| 6036 | 6225 | ||
| 6037 | 6226 | - zz40-xc-ovr.m4: reinstate strict AC_REQUIRE macro dependencies | |
| 6038 | - | ||
| 6039 | - - zz40-xc-ovr.m4: avoid double single-quote usage | ||
| 6040 | - | ||
| 6041 | - - zz40-xc-ovr.m4: parentheses balancing of 'case' statements | ||
| 6042 | - | ||
| 6043 | - m4 quadrigraph shell comment technique allows proper autoconf | ||
| 6044 | - parentheses balancing in shell 'case' statements. The presence | ||
| 6045 | - of unbalanced parentheses may otherwise trigger expansion bugs. | ||
| 6046 | - | ||
| 6047 | - - zz40-xc-ovr.m4: internals overhauling | ||
| 6048 | - | ||
| 6049 | - - Update comments | ||
| 6050 | - - Execute commands in subshells | ||
| 6051 | - - Faster path separator check | ||
| 6052 | - - Fix missing 'test' command | ||
| 6053 | - - Rename private macros | ||
| 6054 | - - Minimize AC_REQUIRE usage | ||
| 6055 | - | ||
| 6056 | - - zz40-xc-ovr.m4: redirect errors and warnings to stderr | ||
| 6057 | - | ||
| 6058 | - - configure: use XC_CONFIGURE_PREAMBLE early checks | ||
| 6059 | - | ||
| 6060 | - Some basic checks we make were placed early enough in generated | ||
| 6061 | - configure script when using autoconf 2.5X versions. Newer autoconf | ||
| 6062 | - versions expand these checks much further into the configure script, | ||
| 6063 | - rendering them useless. Using XC_CONFIGURE_PREAMBLE fixes placement | ||
| 6064 | - of early intended checks across all our autoconf supported versions. | ||
| 6065 | - | ||
| 6066 | - - zz40-xc-ovr.m4: provide XC_CONFIGURE_PREAMBLE macro | ||
| 6067 | - | ||
| 6068 | - - configure: autotools compatibility fixes - step I | ||
| 6069 | - | ||
| 6070 | - Fix proper macro expansion order across autotools versions for | ||
| 6071 | - C compiler and preprocessor program checks. | ||
| 6072 | - | ||
| 6073 | - - configure: fix automake 1.13 compatibility | ||
| 6074 | - | ||
| 6075 | - Tested with: | ||
| 6076 | - | ||
| 6077 | - buildconf: autoconf version 2.69 | ||
| 6078 | - buildconf: autom4te version 2.69 | ||
| 6079 | - buildconf: autoheader version 2.69 | ||
| 6080 | - buildconf: automake version 1.13.1 | ||
| 6081 | - buildconf: aclocal version 1.13.1 | ||
| 6082 | - buildconf: libtool version 2.4 | ||
| 6083 | - buildconf: GNU m4 version 1.4.16 | ||
| 6084 | - | ||
| 6085 | - - ares_private.h: use again memdebug.h instead of curl_memdebug.h | ||
| 6086 | - | ||
| 6087 | - - configure.ac: replace AM_CONFIG_HEADER with AC_CONFIG_HEADERS | ||
| 6088 | - | ||
| 6089 | - automake 1.13 errors if AM_CONFIG_HEADER is used in configure script. | ||
| 6090 | - | ||
| 6091 | - - cares-override.m4: provide AC_CONFIG_MACRO_DIR definition conditionally | ||
| 6092 | - | ||
| 6093 | - Provide a 'traceable' AC_CONFIG_MACRO_DIR definition only when using | ||
| 6094 | - an autoconf version that does not provide it, instead of what we were | ||
| 6095 | - doing up to now of providing and overriding AC_CONFIG_MACRO_DIR for | ||
| 6096 | - all autoconf versions. | ||
| 6097 | - | ||
| 6098 | - - ares_private.h: use curl_memdebug.h instead of memdebug.h | ||
| 6099 | - | ||
| 6100 | - - vc6cares.dsp: add ares_create_query.c and ares_parse_soa_reply.c | ||
| 6101 | - | ||
| 6102 | - - cares-functions.m4: improve gethostname arg 2 data type check | ||
| 6103 | - | ||
| 6104 | - - setup_once.h: HP-UX specific 'bool', 'false' and 'true' definitions. | ||
| 6105 | - | ||
| 6106 | - Also reverts commit bceb40095a | ||
| 6107 | - | ||
| 6108 | - - configure: check if compiler halts on function prototype mismatch | ||
| 6109 | - | ||
| 6110 | - - cares-functions.m4: add gethostname arg 2 data type check and definition | ||
| 6111 | - | ||
| 6112 | - - cares-functions.m4: update thread-safeness detection of getaddrinfo() | ||
| 6113 | - | ||
| 6114 | - Take in account that POSIX standard Issue 7 drops h_errno support. Now, we also | ||
| 6115 | - consider getaddrinfo() to be thread-safe when (_POSIX_C_SOURCE >= 200809L) or | ||
| 6116 | - (_XOPEN_SOURCE >= 700) independently of whether h_errno exists or not. | ||
| 6117 | - | ||
| 6118 | - Take in account that h_errno might be a modifiable lvalue not defined as | ||
| 6119 | - a C preprocessor macro. | ||
| 6120 | - | ||
| 6121 | - - setup_once.h: HP-UX <sys/socket.h> issue workaround | ||
| 6122 | - | ||
| 6123 | - Issue: When building a 32bit target with large file support HP-UX | ||
| 6124 | - <sys/socket.h> header file may simultaneously provide two different | ||
| 6125 | - sets of declarations for sendfile and sendpath functions, one with | ||
| 6126 | - static and another with external linkage. Given that we do not use | ||
| 6127 | - mentioned functions we really don't care which linkage is the | ||
| 6128 | - appropriate one, but on the other hand, the double declaration emmits | ||
| 6129 | - warnings when using the HP-UX compiler and errors when using modern | ||
| 6130 | - gcc versions resulting in fatal compilation errors. | ||
| 6131 | - | ||
| 6132 | - Mentioned issue is now fixed as long as we don't use sendfile nor | ||
| 6133 | - sendpath functions. | ||
| 6134 | - | ||
| 6135 | - - setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h> | ||
| 6136 | - | ||
| 6137 | - Inclusion of these two header files now done in setup_once.h | ||
| 6138 | - | ||
| 6139 | - - Header inclusion clean-up | ||
| 6140 | - | ||
| 6141 | - Remove header inclusions already done in setup_once.h | ||
| 6142 | - | ||
| 6143 | - - setup_once.h: HP-UX specific TRUE and FALSE definitions | ||
| 6144 | - | ||
| 6145 | - Some HP-UX system headers require TRUE defined to 1 and FALSE to 0. | ||
| 6146 | - | ||
| 6147 | - - ares_timeout.c: fix compiler warning | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -12,10 +12,10 @@ INCLUDE (CheckCSourceCompiles) | |||
| 12 | 12 | INCLUDE (CheckStructHasMember) | |
| 13 | 13 | INCLUDE (CheckLibraryExists) | |
| 14 | 14 | ||
| 15 | - PROJECT (c-ares LANGUAGES C VERSION "1.26.0" ) | ||
| 15 | + PROJECT (c-ares LANGUAGES C VERSION "1.27.0" ) | ||
| 16 | 16 | ||
| 17 | 17 | # Set this version before release | |
| 18 | - SET (CARES_VERSION "1.26.0") | ||
| 18 | + SET (CARES_VERSION "1.27.0") | ||
| 19 | 19 | ||
| 20 | 20 | INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are wrong. | |
| 21 | 21 | ||
@@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w | |||
| 30 | 30 | # For example, a version of 4:0:2 would generate output such as: | |
| 31 | 31 | # libname.so -> libname.so.2 | |
| 32 | 32 | # libname.so.2 -> libname.so.2.2.0 | |
| 33 | - SET (CARES_LIB_VERSIONINFO "13:0:11") | ||
| 33 | + SET (CARES_LIB_VERSIONINFO "14:0:12") | ||
| 34 | 34 | ||
| 35 | 35 | ||
| 36 | 36 | OPTION (CARES_STATIC "Build as a static library" OFF) | |
@@ -91,11 +91,15 @@ IF (CARES_SYMBOL_HIDING) | |||
| 91 | 91 | CMAKE_POLICY (SET CMP0063 NEW) | |
| 92 | 92 | ENDIF () | |
| 93 | 93 | ||
| 94 | - # Keep build organized. | ||
| 95 | - SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}") | ||
| 96 | - SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") | ||
| 97 | - SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") | ||
| 98 | - SET (PACKAGE_DIRECTORY ${PROJECT_BINARY_DIR}/package) | ||
| 94 | + # Keep build organized, but only if it is the top-level project. | ||
| 95 | + # CMake 3.21 or later has PROJECT_IS_TOP_LEVEL, but we aren't yet depending on | ||
| 96 | + # that version. | ||
| 97 | + IF (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) | ||
| 98 | + SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}") | ||
| 99 | + SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") | ||
| 100 | + SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") | ||
| 101 | + SET (PACKAGE_DIRECTORY ${PROJECT_BINARY_DIR}/package) | ||
| 102 | + ENDIF () | ||
| 99 | 103 | ||
| 100 | 104 | # Destinations for installing different kinds of targets (pass to install command). | |
| 101 | 105 | SET (TARGETS_INST_DEST | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,7 +1,6 @@ | |||
| 1 | - c-ares | ||
| 2 | - ====== | ||
| 1 | + # [](https://c-ares.org/) | ||
| 3 | 2 | ||
| 4 | - [](https://cirrus-ci.com/github/c-ares/c-ares) | ||
| 3 | + [](https://cirrus-ci.com/github/c-ares/c-ares) | ||
| 5 | 4 | [](https://ci.appveyor.com/project/c-ares/c-ares/branch/master) | |
| 6 | 5 | [](https://coveralls.io/github/c-ares/c-ares) | |
| 7 | 6 | [](https://bestpractices.coreinfrastructure.org/projects/291) | |
@@ -29,8 +28,7 @@ You'll find all c-ares details and news here: | |||
| 29 | 28 | https://c-ares.org/ | |
| 30 | 29 | ||
| 31 | 30 | ||
| 32 | - Notes for c-ares hackers | ||
| 33 | - ------------------------ | ||
| 31 | + ## Notes for c-ares hackers | ||
| 34 | 32 | ||
| 35 | 33 | * The distributed `ares_build.h` file is only intended to be used on systems | |
| 36 | 34 | which can not run the also distributed configure script. | |
| Back | FazBrowse Home | New Git URL |
0 commit comments