BIND issueshttps://gitlab.isc.org/isc-projects/bind9/-/issues2024-02-29T15:26:01Zhttps://gitlab.isc.org/isc-projects/bind9/-/issues/3810Replace system test runner with pytest2024-02-29T15:26:01ZTom KrizekReplace system test runner with pytestThe legacy solution for running systems test has evolved over the course of years and is currently a mix of shell & perl scripts intermingled with the build system, while some of the system tests utilize pytest. Implementing a more consi...The legacy solution for running systems test has evolved over the course of years and is currently a mix of shell & perl scripts intermingled with the build system, while some of the system tests utilize pytest. Implementing a more consistent solution using just pytest as a runner could bring following benefits:
- better test run isolation (i.e. artifacts from previous run don't interfere with current test run)
- more precise control over test selection (running just a single test case)
- getting rid of perl+shell glue scripts
- a simpler and more standard way to run and parallelize test runs
- solid foundation for future extensions (e.g. wrapping test execution inside a network/pid namespace)
For a transitory period of time, the legacy test framework should be supported, since it'd be difficult to replace everything at once. The pytest runner should be available in 9.18+, it'd be prudent to keep the legacy runner support until 9.16 reaches EOL. By that time, we should have enough insight to determine whether pytest proves to be a suitable replacement and throw away the legacy runner from supported branches at that point.
Migration plan for moving to pytest runner and dropping the legacy runner support:
- Phase I - pytest runner development, legacy runner supported
- [x] initial implementation of the pytest runner (#3978, !6809)
- [x] support out-of-tree tests (#4246)
- [x] resolve support on CI systems with old pytest (OpenBSD, CentOS 7) (!8193)
- [x] implement any missing (and desired) features from legacy runner (#4252)
- [x] configure `make check` to invoke pytest (#4262)
- Phase II - deprecating legacy runner - 9.19-only
- [ ] remove legacy runner control script(s) - legacy.run.sh, get_ports.sh ...
- [ ] remove no longer needed scripts from system tests (e.g. clean.sh)
- [ ] remove conf.sh(.common) and declare variables in pytest only
- [ ] remove the Makefile entanglement
- [ ] declare python and pytest-xdist as required dependencies for tests + document
- [ ] address any `FUTURE` comments in the pytest runner code
- Phase III - cleanup after legacy runner
- [ ] rewrite start.pl/stop.pl to python (related https://gitlab.isc.org/isc-projects/bind9/-/issues/3198)
- [ ] rewrite remaining setup/teardown perl&shell scripts to python
- [ ] rewrite setup.sh/prereq.sh system tests scripts to pytest fixtures
- [ ] ensure system test documentation is up to dateBIND 9.19.xTom KrizekTom Krizekhttps://gitlab.isc.org/isc-projects/bind9/-/issues/1659Test that in tree and oot installs install the same set of files.2023-11-02T16:51:54ZMark AndrewsTest that in tree and oot installs install the same set of files.In the past we have had different files installed with in tree to oot builds. We should make sure we catch this in the CI.In the past we have had different files installed with in tree to oot builds. We should make sure we catch this in the CI.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/690Systematic concurrency testing of named and other BIND 9 tools2023-11-02T16:32:28ZOndřej SurýSystematic concurrency testing of named and other BIND 9 toolsWe should add systematic concurrency testing to our CI, here are some links to get us started:
https://dl.acm.org/citation.cfm?id=1985824
https://www.faculty.ece.vt.edu/chaowang/pubDOC/Wang11HaPSet.pdf
https://insights.sei.cmu.edu/sei...We should add systematic concurrency testing to our CI, here are some links to get us started:
https://dl.acm.org/citation.cfm?id=1985824
https://www.faculty.ece.vt.edu/chaowang/pubDOC/Wang11HaPSet.pdf
https://insights.sei.cmu.edu/sei_blog/2014/10/thread-safety-analysis-in-c-and-c.html
http://diy.inria.fr + http://diy.inria.fr/linux/
http://www.1024cores.net/home/relacy-race-detector
And on Windows:
https://archive.codeplex.com/?p=chesstool
https://pdfs.semanticscholar.org/186e/82657c803bf9f5f58be4d6ff17d1420dbbeb.pdfNot plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2525Automated test for upgrading BIND2023-11-02T16:26:05ZVicky Riskvicky@isc.orgAutomated test for upgrading BINDsuggestion - can we consider creating a test for updating BIND versions?
This will need to look at what persistent data needs to be preserved across the update.
The complexity is that users update across multiple versions, perhaps the f...suggestion - can we consider creating a test for updating BIND versions?
This will need to look at what persistent data needs to be preserved across the update.
The complexity is that users update across multiple versions, perhaps the first scenario to address is migrating from the latest 9.11 version to the latest 9.16 version.
It might be good to measure how long the update takes, the time to reload (in case either of these are surprising that might indicate a problem), of course that bind restarts and reloads, maybe run a few queries??Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/172rrl tests fail intermittently2023-08-23T12:50:45ZOndřej Surýrrl tests fail intermittentlyWe have one occurrence here:
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/5453
```
S:rrl:Mon Mar 19 16:25:54 UTC 2018
T:rrl:1:A
A:rrl:System test rrl
I:rrl:PORTRANGE:11400 - 11499
I:rrl:0 instead of 50 '192.0.2.8' responses for a*...We have one occurrence here:
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/5453
```
S:rrl:Mon Mar 19 16:25:54 UTC 2018
T:rrl:1:A
A:rrl:System test rrl
I:rrl:PORTRANGE:11400 - 11499
I:rrl:0 instead of 50 '192.0.2.8' responses for a*.a9.tld2
I:rrl:60 instead of 10 dropped responses for a*.a9.tld2
I:rrl:0 instead of 50 NOERROR responses for a*.a9.tld2
I:rrl:exit status: 1
R:rrl:FAIL
E:rrl:Mon Mar 19 16:26:13 UTC 2018
```Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/4127dangerfile can't traverse GitLab project boundary2023-06-06T13:13:58ZMichal Nowakdangerfile can't traverse GitLab project boundaryJob [#3445138](https://gitlab.isc.org/isc-private/bind9/-/jobs/3445138) failed for [c713737cdc6ca2997f75c18ad35715ffb48688e8](https://gitlab.isc.org/isc-private/bind9/-/commit/c713737cdc6ca2997f75c18ad35715ffb48688e8).
`danger-python` c...Job [#3445138](https://gitlab.isc.org/isc-private/bind9/-/jobs/3445138) failed for [c713737cdc6ca2997f75c18ad35715ffb48688e8](https://gitlab.isc.org/isc-private/bind9/-/commit/c713737cdc6ca2997f75c18ad35715ffb48688e8).
`danger-python` crashed when `Backport of MR isc-projects/bind9!7457` was present in the MR description field:
```
$ Backport of MR isc-projects/bind9!7457 ci -f
There was an error when executing dangerfile.py:
GitlabGetError at line 207: 404 Not found
Stacktrace:
File "dangerfile.py", line 207, in <module>
original_mr = proj.mergerequests.get(original_mr_id)
File "/usr/local/lib/python3.9/dist-packages/gitlab/v4/objects/merge_requests.py", line 486, in get
return cast(ProjectMergeRequest, super().get(id=id, lazy=lazy, **kwargs))
File "/usr/local/lib/python3.9/dist-packages/gitlab/exceptions.py", line 338, in wrapped_f
raise error(e.error_message, e.response_code, e.response_body) from e
Failing the build, there is 1 fail.
Feedback: https://gitlab.isc.org/isc-private/bind9/merge_requests/531#note_378750
```
It seems that `danger-python` with the current `dangerfile.py` can't traverse the GitLab project boundary from isc-private to isc-projects (and vice versa) and couldn't look for missing isc-private/bind9!531 MR commits that are in the "upstream" isc-projects/bind9!7457 MR.https://gitlab.isc.org/isc-projects/bind9/-/issues/2547Resolver benchmarking testing - corralling the generic plus the important edg...2022-06-03T10:15:14ZCathy AlmondResolver benchmarking testing - corralling the generic plus the important edge cases to include when testingOpening this issue to capture discussions on what we need to include in BIND resolver performance benchmark tests, beyond the generic case.Opening this issue to capture discussions on what we need to include in BIND resolver performance benchmark tests, beyond the generic case.Long-termhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2549Create a BIND benchmarking package for users to download and use in their own...2022-06-03T10:15:14ZCathy AlmondCreate a BIND benchmarking package for users to download and use in their own environmentsThis feature issue ticket is to track discussions on a potential downloadable benchmark testing framework for users (performance testing is hard...)This feature issue ticket is to track discussions on a potential downloadable benchmark testing framework for users (performance testing is hard...)Long-termhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2548Resolver testing - building an Internet Simulator device2022-06-03T10:15:14ZCathy AlmondResolver testing - building an Internet Simulator deviceThis ticket is being opened to capture discussions on how to create a device to take the place of 'The Internet' for benchmarking resolver performance more realisticallyThis ticket is being opened to capture discussions on how to create a device to take the place of 'The Internet' for benchmarking resolver performance more realisticallyLong-termhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2489Create test to ensure that TC responses are sent for answer sets that are too...2022-03-01T09:47:16ZBrian ConryCreate test to ensure that TC responses are sent for answer sets that are too largeAs described in #2487, this proper behavior doesn't seem to checked for in our current set of tests.As described in #2487, this proper behavior doesn't seem to checked for in our current set of tests.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2049Compiler warnings identified by Intel C++ Compiler2022-03-01T09:43:08ZMichal NowakCompiler warnings identified by Intel C++ CompilerI successfully build BIND `main` (a14445d472e6287a3bbf7208cb2c7cdba0704be4) with Intel C++ Compiler (`icc (ICC) 19.1.2.254 20200623`), though there were warnings along the way, one unit test failed, and many system test failed (the root ...I successfully build BIND `main` (a14445d472e6287a3bbf7208cb2c7cdba0704be4) with Intel C++ Compiler (`icc (ICC) 19.1.2.254 20200623`), though there were warnings along the way, one unit test failed, and many system test failed (the root cause seems in all these crashes seems to be the same, see below).
Also, there are a lot of optimization "remarks" like:
```
CCLD named-rrchecker
remark #11074: Inlining inhibited by limit max-size
```
One such file: [named-rrchecker.optrpt](/uploads/585ef97dfba19a948aa2be1669aa5d01/named-rrchecker.optrpt).
-----------------
**Warnings**
```
CC unix/libisc_la-net.lo
unix/net.c(535): warning #3179: deprecated conversion of string literal to char* (should be const char*)
typestr = (type == IP_TOS) ? "IP_TOS" : "IPV6_TCLASS";
^
--
CC unix/libisc_la-resource.lo
unix/resource.c(132): warning #188: enumerated type mixed with another type
unixresult = setrlimit(unixresource, &rl);
^
unix/resource.c(163): warning #188: enumerated type mixed with another type
unixresult = setrlimit(unixresource, &rl);
^
unix/resource.c(170): warning #188: enumerated type mixed with another type
if (getrlimit(unixresource, &rl) == 0) {
^
unix/resource.c(172): warning #188: enumerated type mixed with another type
unixresult = setrlimit(unixresource, &rl);
^
unix/resource.c(192): warning #188: enumerated type mixed with another type
if (getrlimit(unixresource, &rl) != 0) {
^
unix/resource.c(211): warning #188: enumerated type mixed with another type
if (getrlimit(unixresource, &rl) != 0) {
^
--
CC unix/libisc_la-socket.lo
unix/socket.c(1094): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_TRUNC;
^
unix/socket.c(1100): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_CTRUNC;
^
unix/socket.c(1125): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_PKTINFO;
^
unix/socket.c(1130): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_MULTICAST;
^
unix/socket.c(1143): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_TIMESTAMP;
^
unix/socket.c(1153): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_DSCP;
^
unix/socket.c(1168): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_DSCP;
^
unix/socket.c(1441): warning #188: enumerated type mixed with another type
ev->attributes = 0;
^
unix/socket.c(3944): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_ATTACHED;
^
unix/socket.c(3935): warning #589: transfer of control bypasses initialization of:
variable "do_poke" (declared at line 3955)
switch (io_state) {
--
unix/socket.c(4024): warning #188: enumerated type mixed with another type
event->attributes = 0;
^
unix/socket.c(4055): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_PKTINFO;
^
unix/socket.c(4095): warning #188: enumerated type mixed with another type
dev->attributes |= ISC_SOCKEVENTATTR_ATTACHED;
^
unix/socket.c(4199): warning #188: enumerated type mixed with another type
event->attributes &= ~ISC_SOCKEVENTATTR_ATTACHED;
^
--
CC libisc_la-task.lo
task.c(1559): warning #188: enumerated type mixed with another type
return (atomic_load(&manager->mode));
^
--
CC libdns_la-dispatch.lo
dispatch.c(749): warning #188: enumerated type mixed with another type
bindoptions = 0;
^
dispatch.c(753): warning #188: enumerated type mixed with another type
bindoptions |= ISC_SOCKET_REUSEADDRESS;
^
dispatch.c(990): warning #188: enumerated type mixed with another type
ev->attributes = 0;
^
dispatch.c(1747): warning #188: enumerated type mixed with another type
result = isc_socket_bind(sock, local, options);
^
--
CC libdns_la-dst_api.lo
dst_api.c(1940): warning #188: enumerated type mixed with another type
dst_key_state_t value = 0;
^
--
CC libdns_la-rbtdb.lo
rbtdb.c(1365): warning #188: enumerated type mixed with another type
version->hash = 0;
^
rbtdb.c(8715): warning #188: enumerated type mixed with another type
rbtdb->current_version->hash = 0;
^
--
from rdata.c(553):
rdata/generic/nsec3_50.c(300): warning #188: enumerated type mixed with another type
nsec3->hash = uint8_consume_fromregion(®ion);
^
--
from rdata.c(553):
rdata/generic/nsec3param_51.c(236): warning #188: enumerated type mixed with another type
nsec3param->hash = uint8_consume_fromregion(®ion);
^
--
from rdata.c(553):
rdata/generic/amtrelay_260.c(156): warning #3179: deprecated conversion of string literal to char* (should be const char*)
space = (gateway != 0U) ? " " : "";
^
--
CC libdns_la-request.lo
request.c(159): warning #592: variable "sock" is used before its value is set
UNUSED(sock);
^
request.c(440): warning #188: enumerated type mixed with another type
sendevent->attributes &= ~ISC_SOCKEVENTATTR_DSCP;
^
request.c(443): warning #188: enumerated type mixed with another type
sendevent->attributes |= ISC_SOCKEVENTATTR_DSCP;
^
request.c(564): warning #188: enumerated type mixed with another type
result = isc_socket_bind(sock, &bind_any, 0);
^
request.c(568): warning #188: enumerated type mixed with another type
result = isc_socket_bind(sock, &src, 0);
^
--
CC libdns_la-resolver.lo
resolver.c(1233): warning #188: enumerated type mixed with another type
query->attributes |= RESQUERY_ATTR_CANCELED;
^
resolver.c(2016): warning #188: enumerated type mixed with another type
query->attributes = 0;
^
resolver.c(2098): warning #188: enumerated type mixed with another type
result = isc_socket_bind(query->tcpsocket, &addr, 0);
^
resolver.c(2387): warning #1292: unknown attribute "nonstring"
uint8_t buf[16] ISC_NONSTRING = { 0 };
^
resolver.c(2390): warning #1292: unknown attribute "nonstring"
uint8_t digest[ISC_SIPHASH24_TAG_LENGTH] ISC_NONSTRING = { 0 };
^
resolver.c(2913): warning #188: enumerated type mixed with another type
query->sendevent.attributes &= ~ISC_SOCKEVENTATTR_DSCP;
^
resolver.c(2916): warning #188: enumerated type mixed with another type
query->sendevent.attributes |= ISC_SOCKEVENTATTR_DSCP;
^
resolver.c(9669): warning #3179: deprecated conversion of string literal to char* (should be const char*)
FCTXTRACE4("query canceled in response(); ",
^
--
CC libdns_la-rrl.lo
rrl.c(496): warning #188: enumerated type mixed with another type
ratep = get_rate(rrl, e->key.s.rtype);
^
rrl.c(642): warning #188: enumerated type mixed with another type
ratep = get_rate(rrl, e->key.s.rtype);
^
rrl.c(1116): warning #188: enumerated type mixed with another type
return (ISC_R_SUCCESS);
^
--
CC libdns_la-zone.lo
zone.c(5814): warning #188: enumerated type mixed with another type
return (atomic_load_relaxed(&zone->options));
^
zone.c(20704): warning #188: enumerated type mixed with another type
param.hash = hash;
^
--
CC libdns_la-zoneverify.lo
zoneverify.c(1977): warning #3179: deprecated conversion of string literal to char* (should be const char*)
const char *keydesc = (secroots == NULL ? "self-signed" : "trusted");
^
--
CC libns_la-client.lo
client.c(1076): warning #1292: unknown attribute "nonstring"
unsigned char digest[ISC_MAX_MD_SIZE] ISC_NONSTRING = { 0 };
^
client.c(1089): warning #1292: unknown attribute "nonstring"
unsigned char input[16 + 16] ISC_NONSTRING = { 0 };
^
client.c(1124): warning #1292: unknown attribute "nonstring"
unsigned char input[4 + 4 + 16] ISC_NONSTRING = { 0 };
^
--
CC libns_la-query.lo
query.c(1211): warning #3179: deprecated conversion of string literal to char* (should be const char*)
str_blank = (*str != ' ' && *str != '\0') ? " " : "";
^
query.c(4574): warning #188: enumerated type mixed with another type
hash = 1;
^
--
CC libbind9_la-check.lo
check.c(1596): warning #188: enumerated type mixed with another type
enum { MAS = 1, PRI = 2, SLA = 4, SCN = 8 } values = 0;
^
check.c(1612): warning #188: enumerated type mixed with another type
values |= PRI;
^
check.c(1622): warning #188: enumerated type mixed with another type
values |= MAS;
^
check.c(1632): warning #188: enumerated type mixed with another type
values |= SCN;
^
check.c(1642): warning #188: enumerated type mixed with another type
values |= SLA;
^
--
CC server.o
server.c(3730): warning #188: enumerated type mixed with another type
fstrm_iothr_options_set_queue_model(fopt, i);
^
server.c(11139): warning #3179: deprecated conversion of string literal to char* (should be const char*)
sep = (ptr == NULL) ? "" : ": ";
^
--
CC statschannel.o
statschannel.c(115): warning #188: enumerated type mixed with another type
{ 0, NULL } };
^
--
CC dighost.lo
dighost.c(2831): warning #188: enumerated type mixed with another type
result = isc_socket_bind(query->sock, &bind_any, 0);
^
dighost.c(2934): warning #188: enumerated type mixed with another type
result = isc_socket_bind(query->sock, &bind_any, 0);
^
--
CC named-checkconf.o
named-checkconf.c(201): warning #188: enumerated type mixed with another type
zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_MANYERRORS;
^
named-checkconf.c(299): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
^
named-checkconf.c(300): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
^
named-checkconf.c(302): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
^
named-checkconf.c(303): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKDUPRRFAIL;
^
named-checkconf.c(305): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKDUPRR;
^
named-checkconf.c(306): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
^
named-checkconf.c(312): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
^
named-checkconf.c(313): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
^
named-checkconf.c(319): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKMX;
^
named-checkconf.c(320): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
^
named-checkconf.c(322): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKMX;
^
named-checkconf.c(323): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKMXFAIL;
^
named-checkconf.c(325): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKMX;
^
named-checkconf.c(326): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
^
named-checkconf.c(332): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKMX;
^
named-checkconf.c(333): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
^
named-checkconf.c(339): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkconf.c(341): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkconf.c(344): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkconf.c(350): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
^
named-checkconf.c(351): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkconf.c(353): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_WARNMXCNAME;
^
named-checkconf.c(354): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkconf.c(356): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
^
named-checkconf.c(357): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkconf.c(363): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
^
named-checkconf.c(364): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkconf.c(370): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkconf.c(371): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkconf.c(373): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkconf.c(374): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkconf.c(376): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkconf.c(377): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkconf.c(383): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkconf.c(384): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkconf.c(390): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
^
named-checkconf.c(392): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
^
named-checkconf.c(399): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKSPF;
^
named-checkconf.c(401): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKSPF;
^
named-checkconf.c(407): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKSPF;
^
named-checkconf.c(413): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMES;
^
named-checkconf.c(414): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
^
named-checkconf.c(416): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMES;
^
named-checkconf.c(417): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
^
named-checkconf.c(419): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKNAMES;
^
named-checkconf.c(420): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
^
named-checkconf.c(426): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMES;
^
named-checkconf.c(427): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
^
named-checkconf.c(449): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKTTL;
^
--
CC check-tool.lo
check-tool.c(93): warning #188: enumerated type mixed with another type
dns_zoneopt_t zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_CHECKMX |
^
check-tool.c(760): warning #3179: deprecated conversion of string literal to char* (should be const char*)
flags = (fileformat == dns_masterformat_text) ? "w" : "wb";
^
--
CC named-checkzone.o
named-checkzone.c(155): warning #188: enumerated type mixed with another type
zone_options |= (DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_FATALNS |
^
named-checkzone.c(161): warning #188: enumerated type mixed with another type
zone_options |= (DNS_ZONEOPT_CHECKDUPRR | DNS_ZONEOPT_CHECKSPF);
^
named-checkzone.c(183): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY |
^
named-checkzone.c(189): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkzone.c(190): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
^
named-checkzone.c(195): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkzone.c(196): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
^
named-checkzone.c(201): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkzone.c(202): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
^
named-checkzone.c(207): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
^
named-checkzone.c(208): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
^
named-checkzone.c(238): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMES;
^
named-checkzone.c(239): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
^
named-checkzone.c(241): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNAMES |
^
named-checkzone.c(244): warning #188: enumerated type mixed with another type
zone_options &= ~(DNS_ZONEOPT_CHECKNAMES |
^
named-checkzone.c(265): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKTTL;
^
named-checkzone.c(277): warning #188: enumerated type mixed with another type
zone_options &= ~(DNS_ZONEOPT_CHECKNS |
^
named-checkzone.c(280): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNS;
^
named-checkzone.c(281): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_FATALNS;
^
named-checkzone.c(283): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKNS |
^
named-checkzone.c(294): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKMX;
^
named-checkzone.c(295): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
^
named-checkzone.c(297): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKMX |
^
named-checkzone.c(300): warning #188: enumerated type mixed with another type
zone_options &= ~(DNS_ZONEOPT_CHECKMX |
^
named-checkzone.c(319): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
^
named-checkzone.c(320): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
^
named-checkzone.c(322): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKDUPRR |
^
named-checkzone.c(325): warning #188: enumerated type mixed with another type
zone_options &= ~(DNS_ZONEOPT_CHECKDUPRR |
^
named-checkzone.c(371): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_WARNMXCNAME;
^
named-checkzone.c(372): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkzone.c(374): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
^
named-checkzone.c(375): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkzone.c(377): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
^
named-checkzone.c(378): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
^
named-checkzone.c(388): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkzone.c(389): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkzone.c(391): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkzone.c(392): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkzone.c(394): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
^
named-checkzone.c(395): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
^
named-checkzone.c(405): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKSPF;
^
named-checkzone.c(407): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKSPF;
^
named-checkzone.c(417): warning #188: enumerated type mixed with another type
zone_options |= DNS_ZONEOPT_CHECKWILDCARD;
^
named-checkzone.c(419): warning #188: enumerated type mixed with another type
zone_options &= ~DNS_ZONEOPT_CHECKWILDCARD;
^
--
CC tsig-keygen.o
tsig-keygen.c(228): warning #3179: deprecated conversion of string literal to char* (should be const char*)
: CONFGEN_DEFAULT);
^
```
Check:
```
CC socket_test.o
socket_test.c(192): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s1, &addr1, 0);
^
socket_test.c(200): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s2, &addr2, 0);
^
socket_test.c(250): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s1, &addr1, 0);
^
socket_test.c(258): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s2, &addr2, 0);
^
socket_test.c(363): warning #188: enumerated type mixed with another type
socketevent->attributes |= ISC_SOCKEVENTATTR_DSCP;
^
socket_test.c(367): warning #188: enumerated type mixed with another type
socketevent->attributes &= ~ISC_SOCKEVENTATTR_DSCP;
^
socket_test.c(420): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s1, &addr1, 0);
^
socket_test.c(429): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s2, &addr2, 0);
^
socket_test.c(500): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s1, &addr1, 0);
^
socket_test.c(587): warning #188: enumerated type mixed with another type
result = isc_socket_bind(s1, &addr1, 0);
^
--
CC dispatch_test.o
dispatch_test.c(291): warning #188: enumerated type mixed with another type
result = isc_socket_bind(sock, &local, 0);
^
--
CC private_test.o
private_test.c(119): warning #188: enumerated type mixed with another type
params.hash = testcase->hash;
^
CC sigs_test.o
sigs_test.c(329): warning #188: enumerated type mixed with another type
ZONECHANGE_SENTINEL,
^
sigs_test.c(336): warning #188: enumerated type mixed with another type
ZONEDIFF_SENTINEL,
^
sigs_test.c(347): warning #188: enumerated type mixed with another type
ZONECHANGE_SENTINEL,
^
sigs_test.c(354): warning #188: enumerated type mixed with another type
ZONEDIFF_SENTINEL,
^
sigs_test.c(365): warning #188: enumerated type mixed with another type
ZONECHANGE_SENTINEL,
^
sigs_test.c(372): warning #188: enumerated type mixed with another type
ZONEDIFF_SENTINEL,
^
sigs_test.c(382): warning #188: enumerated type mixed with another type
ZONECHANGE_SENTINEL,
^
sigs_test.c(387): warning #188: enumerated type mixed with another type
ZONEDIFF_SENTINEL,
^
sigs_test.c(400): warning #188: enumerated type mixed with another type
ZONECHANGE_SENTINEL,
^
sigs_test.c(410): warning #188: enumerated type mixed with another type
ZONEDIFF_SENTINEL,
^
--
CC dnstap_test-dnstap_test.o
dnstap_test.c(123): warning #188: enumerated type mixed with another type
result = dns_dt_create(dt_mctx, 33, TAPSOCK, &fopt, NULL, &dtenv);
^
--
CC zt_test.o
zt_test.c(201): warning #2332: a value of type "atomic_bool={_Atomic(_Bool)} *" cannot be assigned to an entity of type "void *" (dropping qualifiers)
args.arg2 = &done;
^
zt_test.c(223): warning #2332: a value of type "atomic_bool={_Atomic(_Bool)} *" cannot be assigned to an entity of type "void *" (dropping qualifiers)
args.arg2 = &done;
^
zt_test.c(240): warning #2332: a value of type "atomic_bool={_Atomic(_Bool)} *" cannot be assigned to an entity of type "void *" (dropping qualifiers)
args.arg2 = &done;
^
zt_test.c(316): warning #2332: a value of type "atomic_bool={_Atomic(_Bool)} *" cannot be assigned to an entity of type "void *" (dropping qualifiers)
args.arg2 = &done;
^
--
CC nstest.lo
nstest.c(97): warning #188: enumerated type mixed with another type
client->state = 4;
^
--
```
`ns_listenlist_default_test` and a lot of system tests fail with:
```
[ RUN ] ns_listenlist_default_test
netmgr/netmgr.c:694: REQUIRE(target != ((void*)0) && *target == ((void*)0)) failed, back trace
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(+0x2ec7d) [0x7fc5ec0ffc7d]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(isc_assertion_failed+0x7) [0x7fc5ec0ffd45]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(isc__nmsocket_attach+0x56) [0x7fc5ec0ea61c]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(isc__nm_tcp_stoplistening+0x52) [0x7fc5ec0edb0c]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(isc__nm_tcpdns_stoplistening+0x63) [0x7fc5ec0eea38]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(isc_nm_stoplistening+0x6e) [0x7fc5ec0eb674]
/home/newman/isc/ws/bind9/lib/ns/.libs/libns.so.1703(ns_interface_shutdown+0x33) [0x7fc5ebea5c2d]
/home/newman/isc/ws/bind9/lib/ns/.libs/libns.so.1703(+0x15925) [0x7fc5ebea5925]
/home/newman/isc/ws/bind9/lib/ns/tests/.libs/lt-listenlist_test() [0x403d69]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(+0x49793) [0x7fc5ec11a793]
/home/newman/isc/ws/bind9/lib/isc/.libs/libisc.so.1703(+0x49249) [0x7fc5ec11a249]
/lib64/libpthread.so.0(+0x9432) [0x7fc5eb6b2432]
/lib64/libc.so.6(clone+0x43) [0x7fc5eb5e0913]
./../../unit-test-driver.sh: line 13: 528599 Aborted (core dumped) "${TEST_PROGRAM}"
```Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/536Add a MacOS instance to CI2021-10-15T12:32:03ZMark AndrewsAdd a MacOS instance to CIWe had a build failure on MacOS committed due to MacOS not being part of CI.We had a build failure on MacOS committed due to MacOS not being part of CI.https://gitlab.isc.org/isc-projects/bind9/-/issues/2004ddns-confgen needs to be tested post install2021-10-06T05:33:40ZMark Andrewsddns-confgen needs to be tested post installddns-confgen needs to be tested post install as libtool gets in the way of testing in the build tree.ddns-confgen needs to be tested post install as libtool gets in the way of testing in the build tree.https://gitlab.isc.org/isc-projects/bind9/-/issues/2302DOT scalability, performance testing2021-09-13T20:52:00ZVicky Riskvicky@isc.orgDOT scalability, performance testingWe need to find a way to test with a large number of DOT connections for scalability. I understand our current perflab set up cannot do this.
The goals of this might include:
- checking that DOT scaling is equivalent to TCP scaling (if...We need to find a way to test with a large number of DOT connections for scalability. I understand our current perflab set up cannot do this.
The goals of this might include:
- checking that DOT scaling is equivalent to TCP scaling (if it is much worse we might consider that a bug)
- providing some guidance to users about throughput (e.g. as a % of UDP performance)
- verifying (functionally) that rate limits work as expected for DOThttps://gitlab.isc.org/isc-projects/bind9/-/issues/2234Add ARM64 build, unit and system test CI jobs2020-10-26T12:30:11ZMichal NowakAdd ARM64 build, unit and system test CI jobsWe used to have ARM64 host before, but it was removed due to it's connectivity problems.
We should add ARM64 CI jobs for two reasons:
1. we support the ARM64 platform and distributions are [actively packaging it](https://gitlab.isc.org...We used to have ARM64 host before, but it was removed due to it's connectivity problems.
We should add ARM64 CI jobs for two reasons:
1. we support the ARM64 platform and distributions are [actively packaging it](https://gitlab.isc.org/isc-projects/bind9/-/issues/2167)
2. Fedora on ARM64 is one of stress test targets and we should ensure that BIND works on this platform before we proceed to later stages of the release process
This requires ARM64 host, possibly AWS, performance-wise we should be close to AMD64 hosts not to block pipelines.
OS platform should be Fedora to match stress test CI jobs.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/593Follow-up from "WIP: Miscellaneous style fixes - implicit casts to bool and u...2018-10-13T05:36:44ZOndřej SurýFollow-up from "WIP: Miscellaneous style fixes - implicit casts to bool and uninitialized variables fixes"The following discussion from !851 should be addressed:
- [ ] @ondrej commented on a [discussion](https://gitlab.isc.org/isc-projects/bind9/merge_requests/851#note_24017): (+3 comments)
> This makes me little bit worried about the...The following discussion from !851 should be addressed:
- [ ] @ondrej commented on a [discussion](https://gitlab.isc.org/isc-projects/bind9/merge_requests/851#note_24017): (+3 comments)
> This makes me little bit worried about the tests we have. No test has caught this, so we should probably make an issue from this, so there's a test.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/349Set __attribute__((warn_unused_result)) on all function that return values to...2018-08-30T19:28:06ZMark AndrewsSet __attribute__((warn_unused_result)) on all function that return values to catch unused results.Not plannedMark AndrewsMark Andrews