You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
0 commit comments