BIND issueshttps://gitlab.isc.org/isc-projects/bind9/-/issues2022-03-01T09:43:01Zhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2257Follow-up from "use netmgr for xfrin"2022-03-01T09:43:01ZOndřej SurýFollow-up from "use netmgr for xfrin"The following discussion from !4246 should be addressed:
- [ ] @ondrej started a [discussion](https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/4246#note_175084): (+1 comment)
> This is the last weird thing:
>
> ...The following discussion from !4246 should be addressed:
- [ ] @ondrej started a [discussion](https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/4246#note_175084): (+1 comment)
> This is the last weird thing:
>
> a) how do we get here with the (previous) transfer still attached?
> b) should this be `dns_xfrin_shutdown(&zone->xfr);`?Not plannedhttps://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/2216Changing NSEC3PARAM clearing the Opt-Out flag does not work2023-11-02T16:26:05ZMatthijs Mekkingmatthijs@isc.orgChanging NSEC3PARAM clearing the Opt-Out flag does not work### Summary
When changing the NSEC3 parameters, and only clear the Opt-Out flag, `named` is checking if the chain already exists. It falsely claims so.
### BIND version used
9.17 (but pretty sure its also in older versions)
### Steps...### Summary
When changing the NSEC3 parameters, and only clear the Opt-Out flag, `named` is checking if the chain already exists. It falsely claims so.
### BIND version used
9.17 (but pretty sure its also in older versions)
### Steps to reproduce
1. Set up a zone with inline-signing.
2. Start `named`.
3. Run `rndc signing -nsec3param 1 1 5 -` to change to NSEC3.
4. Now run `rndc signing -nsec3param 1 0 5 -` to clear the Opt-Out flag.
### What is the current *bug* behavior?
BIND 9 will keep using the NSEC3 chain with the Opt-Out flag set.
### What is the expected *correct* behavior?
BIND 9 should rebuilt the NSEC3 chain, clearing the Opt-Out flags.
### Relevant configuration files
```
zone "example." {
type master;
file "example.db";
inline-signing yes;
auto-dnssec maintain;
};
```
### Relevant logs and/or screenshots
N/A
### Possible fixes
The code first checks if there is a private TYPE65534 record that indicates if a NSEC3 chain is in progress. If that is not the case (because it is cleared or the chain has been completed), the code checks the NSEC3PARAM record. Since that has its flags always set to `0` the data compare matches, and the code thinks an existing chain exists.
We could check the NSEC3 chain for the Flags fields, but to make sure a complete chain exists, we should check every NSEC3 record.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2214forward zones aren't zones and shouldn't be configured as if they were2021-03-04T10:08:09ZBrian Conryforward zones aren't zones and shouldn't be configured as if they were"zones" of type `forward` aren't zones and aren't treated like zones internally, but because they are called "zones" and configured with a `zone` statement many people are confused when they can't use them with features like catalog zone..."zones" of type `forward` aren't zones and aren't treated like zones internally, but because they are called "zones" and configured with a `zone` statement many people are confused when they can't use them with features like catalog zones or `rndc addzone`.
The configuration block declaring them should be renamed to `forward` or something else unambiguous.
Alternatively, all of the things that operates on zones and can't handle a forward "zone" should be fixed so that they can.https://gitlab.isc.org/isc-projects/bind9/-/issues/2213Inline signing: AXFR before zone load on a secondary server prevents zone fro...2023-11-02T17:00:03ZMichał KępieńInline signing: AXFR before zone load on a secondary server prevents zone from being servedConsider an inline-signing secondary server ("bump-in-the-wire") that is
starting up with a previous version of a signed zone available locally.
The typical chain of events is that the server first loads the zone from
storage and then l...Consider an inline-signing secondary server ("bump-in-the-wire") that is
starting up with a previous version of a signed zone available locally.
The typical chain of events is that the server first loads the zone from
storage and then listens to any incoming NOTIFY messages indicating that
the unsigned zone has changed. When the unsigned zone gets updated, its
signed counterpart also gets updated accordingly and the process repeats
itself. This works as expected.
However, if the secondary server receives a NOTIFY for an inline-signed
zone and manages to transfer the unsigned zone in *before* attempting to
load the previous version of the signed zone from storage, things will
break in a way which prevents the inline-signed zone from being served:
```
13-Oct-2020 15:38:01.994 client @0x7f41ac0012f8 10.53.0.2#60440: received notify for zone 'bits'
13-Oct-2020 15:38:01.994 zone bits/IN (unsigned): notify from 10.53.0.2#60440: no serial
13-Oct-2020 15:38:01.994 queue_soa_query: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.461 soa_query: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.464 refresh_callback: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.464 refresh_callback: zone bits/IN (unsigned): serial: new 2011072450, old not loaded
13-Oct-2020 15:38:02.464 queue_xfrin: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.464 zone bits/IN (unsigned): Transfer started.
13-Oct-2020 15:38:02.464 zone bits/IN (unsigned): no database exists yet, requesting AXFR of initial version from 10.53.0.2#32589
13-Oct-2020 15:38:02.464 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: connected using 10.53.0.3#43661
13-Oct-2020 15:38:02.464 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: sent request data
13-Oct-2020 15:38:02.467 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: received 168 bytes
;bits. IN AXFR
bits. 0 IN SOA ns2.bits. . 2011072450 20 20 1814400 3600
bits. 300 IN NS ns3.bits.
added.bits. 0 IN A 1.2.3.4
ns2.bits. 300 IN A 10.53.0.2
ns3.bits. 300 IN A 10.53.0.3
bits. 0 IN SOA ns2.bits. . 2011072450 20 20 1814400 3600
13-Oct-2020 15:38:02.467 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: got nonincremental response
13-Oct-2020 15:38:02.467 dns_zone_verifydb: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.467 zone bits/IN (unsigned): replacing zone database
13-Oct-2020 15:38:02.467 zone bits/IN (unsigned): zone transfer finished: success
13-Oct-2020 15:38:02.467 zone bits/IN (unsigned): transferred serial 2011072450
13-Oct-2020 15:38:02.467 zone_needdump: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.467 zone_settimer: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.467 zone_settimer: zone bits/IN (unsigned): enter
13-Oct-2020 15:38:02.467 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: Transfer status: success
13-Oct-2020 15:38:02.467 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: Transfer completed: 1 messages, 6 records, 168 bytes, 0.003 secs (56000 bytes/sec) (serial 2011072450)
13-Oct-2020 15:38:02.467 transfer of 'bits/IN (unsigned)' from 10.53.0.2#32589: freeing transfer context
13-Oct-2020 15:38:02.467 zone bits/IN (signed): number of nodes in database: 4
13-Oct-2020 15:38:02.467 zone bits/IN (signed): journal rollforward failed: journal out of sync with zone
13-Oct-2020 15:38:02.467 zone bits/IN (signed): not loaded due to errors.
13-Oct-2020 15:38:02.467 zone_postload: zone bits/IN (signed): done
13-Oct-2020 15:38:02.467 zone_needdump: zone bits/IN (signed): enter
13-Oct-2020 15:38:02.467 zone bits/IN (signed): receive_secure_db: out of range
```
The underlying cause is that in the broken case,
`lib/dns/journal.c:roll_forward()` retrieves the latest SOA serial
number for the zone from the AXFR rather than from the local copy of the
signed zone.
The time window during which this can happen is rather slim, so I do not
think it is a serious issue, but I decided to open a bug report anyway,
because things are certainly working suboptimally here - it seems to me
that `named` should be able to recover from such a sequence of events
just fine, serving the signed zone in the end.
This was found during [release testing for BIND 9.16.8][1]. I prepared
a crude patch which allows reliably triggering this issue in the
`inline` system test:
```diff
diff --git a/bin/tests/system/inline/tests.sh b/bin/tests/system/inline/tests.sh
index 7d7df7487f4..430f6fcbb77 100755
--- a/bin/tests/system/inline/tests.sh
+++ b/bin/tests/system/inline/tests.sh
@@ -475,7 +475,9 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo_i "restart bump in the wire signer server ($n)"
ret=0
+export SKIPLOAD="bits"
start_server --noclean --restart --port ${PORT} inline ns3 || ret=1
+unset SKIPLOAD
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
diff --git a/lib/dns/zone.c b/lib/dns/zone.c
index b8cd90b129a..57bb239c9d5 100644
--- a/lib/dns/zone.c
+++ b/lib/dns/zone.c
@@ -1995,6 +1995,16 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) {
REQUIRE(DNS_ZONE_VALID(zone));
+ {
+ char origin[DNS_NAME_FORMATSIZE];
+ char *skipload = getenv("SKIPLOAD");
+
+ dns_name_format(&zone->origin, origin, sizeof(origin));
+ if (skipload != NULL && !strcmp(skipload, origin)) {
+ return (ISC_R_SUCCESS);
+ }
+ }
+
if (!locked) {
LOCK_ZONE(zone);
}
```
Applying the above patch should result in:
```
I:inline:stop bump in the wire signer server (29)
I:inline:restart bump in the wire signer server (30)
I:inline:checking YYYYMMDDVV (2011072450) serial on hidden primary (31)
I:inline:checking YYYYMMDDVV (2011072450) serial in signed zone (32)
I:inline:failed
I:inline:checking YYYYMMDDVV (2011072450) serial on hidden primary, noixfr (33)
I:inline:checking YYYYMMDDVV (2011072450) serial in signed zone, noixfr (34)
```
and log lines similar to the ones quoted above appearing in
`ns3/named.run`.
AFAICT, all maintained branches are affected.
[1]: https://wiki.isc.org/bin/view/QA/BindQaResults_9_11_24#9.16.8Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2212NSEC3 Resalt2023-09-07T05:10:15ZMatthijs Mekkingmatthijs@isc.orgNSEC3 ResaltAdd an option to resalt `nsec3-resalt duration`. If not set, or set to 0, do not resalt. Otherwise, schedule a resalt task, similar to `zone_rekey`. This option should be checked for range (i.e. don't resalt every minute).Add an option to resalt `nsec3-resalt duration`. If not set, or set to 0, do not resalt. Otherwise, schedule a resalt task, similar to `zone_rekey`. This option should be checked for range (i.e. don't resalt every minute).Not plannedMatthijs Mekkingmatthijs@isc.orgMatthijs Mekkingmatthijs@isc.orghttps://gitlab.isc.org/isc-projects/bind9/-/issues/2206Revisit the DNS Flag Day 2020 documentation and release notes for 9.18.02021-10-07T08:41:45ZOndřej SurýRevisit the DNS Flag Day 2020 documentation and release notes for 9.18.0https://gitlab.isc.org/isc-projects/bind9/-/issues/2186rndc thaw does not correctly process zone changes2022-03-01T09:47:44ZJean-Christophe Manciotrndc thaw does not correctly process zone changes- Debian bullseye
- bind9 9.17.5
For instance, when changing $TTL from 604800 (1 week) to 3600 in ```/etc/bind/db.sdxlive.com```, when no RR (other than SOA) has a defined TTL:
```
# rndc freeze sdxlive.com
in /etc/bind/zone-file:
$TTL ...- Debian bullseye
- bind9 9.17.5
For instance, when changing $TTL from 604800 (1 week) to 3600 in ```/etc/bind/db.sdxlive.com```, when no RR (other than SOA) has a defined TTL:
```
# rndc freeze sdxlive.com
in /etc/bind/zone-file:
$TTL 604800 --> $TTL 3600
# rndc thaw sdxlive.com
```
Most RRs keep their original TTL:
```
# bind-get-all-resource-records.sh sdxlive.com|grep " 604800 "
zone sdxlive.com/IN: loaded serial 2020092411 (DNSSEC signed)
OK
sdxlive.com. 604800 IN NS ns1.sdxlive.com.
sdxlive.com. 604800 IN RRSIG NS 13 2 604800 20201011132540 20200911124442 33345 sdxlive.com. WgQwG0FpqPOPiTZKi65qn01Fe4g3qRkQ0OybOLawl7PlWWKc9XdYMTwf 7AP3c/fKnE0l0BujSSir8HKf4IBVjw==
sdxlive.com. 604800 IN A 176.139.106.168
sdxlive.com. 604800 IN RRSIG A 13 2 604800 20201011132540 20200911124442 33345 sdxlive.com. sqeyUzMxZ6JlK+hr6XlLKBJHAZmmVo+ku8oElfuc+6rH8Cr+uKNovK6F Awu76tmcURpR5grYDA0vsC5Cl3B0aQ==
sdxlive.com. 604800 IN MX 1 mail.sdxlive.com.
sdxlive.com. 604800 IN RRSIG MX 13 2 604800 20201011132540 20200911124442 33345 sdxlive.com. xZiYSxYb4gX3e2ZbcC2cmEHT7IKUT/c+wil3ZioViRsW+4RLH/LAJ6Mp eC9+ooWgN7jjArM4EvEQCl6xkuln3Q==
and so on...
```
Same issue if I begin with a ```rndc sync -clean sdxlive.com``` before the zone freeze.
Am I missing something?Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2182statschannel python test leave no forensic traces to work out what went wrong.2023-11-02T17:00:03ZMark Andrewsstatschannel python test leave no forensic traces to work out what went wrong.Job [#1177271](https://gitlab.isc.org/isc-projects/bind9/-/jobs/1177271) failed for 7a822740e09fd56900383d35889892827dcf94c6:Job [#1177271](https://gitlab.isc.org/isc-projects/bind9/-/jobs/1177271) failed for 7a822740e09fd56900383d35889892827dcf94c6:Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2117BIND sometimes fixates on one server address for a zone2024-01-17T14:25:21ZBrian ConryBIND sometimes fixates on one server address for a zoneA customer has reported:
> I noticed I focused on the wrong nameservers before (I sent the nameservers for akamaiedge.net, instead of g.akamaiedge.net), but the issue is the same. The authoritative nameservers to consider are:
> ```
> n...A customer has reported:
> I noticed I focused on the wrong nameservers before (I sent the nameservers for akamaiedge.net, instead of g.akamaiedge.net), but the issue is the same. The authoritative nameservers to consider are:
> ```
> n0g.akamaiedge.net. 152 IN A 88.221.81.192
> n0g.akamaiedge.net. 152 IN AAAA 2600:1480:e800::c0
> n1g.akamaiedge.net. 152 IN A 2.16.65.53
> n2g.akamaiedge.net. 152 IN A 2.16.65.86
> n3g.akamaiedge.net. 152 IN A 2.16.65.44
> n4g.akamaiedge.net. 152 IN A 2.16.65.68
> n5g.akamaiedge.net. 162 IN A 2.16.65.77
> n6g.akamaiedge.net. 162 IN A 2.21.25.118
> n7g.akamaiedge.net. 181 IN A 2.17.41.132
> ```
> response times are:
> ```
> 88.221.81.192: 147 msec
> 2600:1480:e800::c0: 146 msec
> 2.16.65.53: 1 msec
> 2.16.65.86: 1 msec
> 2.16.65.44: 1 msec
> 2.16.65.68: 1 msec
> 2.16.65.77: 1 msec
> 2.21.25.118: 15 msec
> 2.17.41.132: 13 msec
> ```
They have provided data from `rndc dumpdb -all`.
selected cache data:
```
; glue
g.akamaiedge.net. 865 NS n0g.akamaiedge.net.
865 NS n7g.akamaiedge.net.
865 NS n5g.akamaiedge.net.
865 NS n4g.akamaiedge.net.
865 NS n3g.akamaiedge.net.
865 NS n1g.akamaiedge.net.
865 NS n2g.akamaiedge.net.
865 NS n6g.akamaiedge.net.
; answer
e11550.g.akamaiedge.net. 433 \-TYPE65 ;-$NXRRSET
; g.akamaiedge.net. SOA n0g.akamaiedge.net. hostmaster.akamai.com. 1599033648 1000 1000 1000 1800
; authanswer
n0g.akamaiedge.net. 2246 A 88.221.81.192
; authanswer
2246 AAAA 2600:1480:e800::c0
; authanswer
n1g.akamaiedge.net. 2246 A 2.16.65.53
; authanswer
n2g.akamaiedge.net. 2246 A 2.16.65.86
; authanswer
n3g.akamaiedge.net. 2246 A 2.16.65.44
; authanswer
n4g.akamaiedge.net. 2246 A 2.16.65.68
; authanswer
n5g.akamaiedge.net. 2256 A 2.16.65.77
; authanswer
n6g.akamaiedge.net. 2256 A 2.21.25.118
; authanswer
n7g.akamaiedge.net. 2275 A 2.17.41.132
```
selected ADB entries:
```
; selected ADB data
; n0g.akamaiedge.net [v4 TTL 46] [v6 TTL 46] [v4 success] [v6 success]
; 88.221.81.192 [srtt 121879] [flags 00004000] [edns 63/0/0/0/0] [plain 0/0] [udpsize 512] [ttl -991]
; 2600:1480:e800::c0 [srtt 146019] [flags 00004000] [edns 135/0/0/0/0] [plain 0/0] [udpsize 512] [ttl -991]
; n1g.akamaiedge.net [v4 TTL 46] [v4 success] [v6 unexpected]
; 2.16.65.53 [srtt 6] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
; n2g.akamaiedge.net [v4 TTL 46] [v4 success] [v6 unexpected]
; 2.16.65.86 [srtt 21] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
; n3g.akamaiedge.net [v4 TTL 46] [v4 success] [v6 unexpected]
; 2.16.65.44 [srtt 20] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
; n4g.akamaiedge.net [v4 TTL 46] [v4 success] [v6 unexpected]
; 2.16.65.68 [srtt 29] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
; n5g.akamaiedge.net [v4 TTL 56] [v4 success] [v6 unexpected]
; 2.16.65.77 [srtt 30] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
; n6g.akamaiedge.net [v4 TTL 56] [v4 success] [v6 unexpected]
; 2.21.25.118 [srtt 27] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
; n7g.akamaiedge.net [v4 TTL 75] [v4 success] [v6 unexpected]
; 2.17.41.132 [srtt 9] [flags 00000000] [edns 0/0/0/0/0] [plain 0/0] [ttl 810]
```
One thing to note about the ADB entries is that the entries for `n1g` through `n7g` have not been used and appear to have been added, but unused, prior to the `dumpdb` (new entries are initialized to a value between 1 and 32 microseconds).
The core of the cycle appears to be:
1. As long as at least one address is found in the ADB for at least one of the names in the NS rrset, no new data is fetched or moved into the ADB
2. As long a `named` is waiting for a response from an address, that ADB entry is preserved
3. `named` sets how long to wait for a response based on the current SRTT
4. An ADB entry can be used even if it is expired
While theoretically any address could be the one fixated on, by virtue point 3 above the ones with the higher SRTT are more likely to be selected than the ones with the lower SRTT.
This is also more likely to happen for a frequently-queried zone with many records with low TTLs, such as the zone of a CDN.
This is not the first time I've seen behavior that I've believed linked to this, but it is the first time a customer has noticed it and it's also the clearest documentation yet for it.
I expect that there are multiple possible solutions to this, with the hard part being choosing the one that we believe will be the easiest to implement and have the lowest chances of unintended consequences.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2113Hard require Net::DNS >= 0.752022-03-01T09:58:32ZOndřej SurýHard require Net::DNS >= 0.75I and @marka talked today that we should just simply require `Net::DNS` to run the system tests instead of doing `prereq.sh` because it's such essential library.I and @marka talked today that we should just simply require `Net::DNS` to run the system tests instead of doing `prereq.sh` because it's such essential library.Not plannedOndřej SurýOndřej Surýhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2099Implement ZoneMD signature generation and verification.2024-03-21T03:37:01ZMark AndrewsImplement ZoneMD signature generation and verification.ZoneMD is described in <https://datatracker.ietf.org/doc/html/rfc8976>.
The record type currently implemented #867.
ZONEMD generation and verification needs to be add to both dnssec-signzone and named.
ZONEMD verification needs to be ...ZoneMD is described in <https://datatracker.ietf.org/doc/html/rfc8976>.
The record type currently implemented #867.
ZONEMD generation and verification needs to be add to both dnssec-signzone and named.
ZONEMD verification needs to be added to dnssec-verify. Does this need a seperate flag to say to expect ZONEMD?
There needs to be a way to signal to named that ZONEMD generation is to be performed for a UPDATABLE zones. This generation will need to be performed in the post update stage and must be completed before the UPDATE request is responded to. This needs to occur after the zone's serial is computed. The NSEC and NSEC3 records generation for the zone apex needs to aware of whether ZONEMD is to be generated to not. If ZONEMD generation ends up requiring the zone to be walked incrementally we will need to delay other updates to the zone until ZONEMD completes. ZONEMD must be included in each delta for a zone that is being updated.
There needs to be a way to signal to named that ZONEMD should be generated for inline zones. Similar requirements to UPDATABLE zones apply to inline zones as well.
There needs to be a way to signal to named that ZONEMD validation needs to be performed for a zone. This needs to complete before the zones contents are made visible to clients. This needs to be performed for both IXFR and AXFR. This may need to be performed incrementally. If it is being performed incrementally other transfers of the zone need to be deferred.
For IXFR do we need to check ZONEMD for each delta or only at the end of the final delta of a IXFR?
For dnssec-signzone we need a way to signal that ZONEMD should be generated.
For dnssec-signzone do we need a seperate flag to verify the ZONEMD or do we use the existing flag.
For dnssec-signzone what is the behaviour if the existing zone has a ZONEMD? Do we have a "auto" state?
What impact does this have on kasp?BIND 9.19.xhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2098Move wire_test to standalone tool with man page and such...2023-11-02T17:00:02ZOndřej SurýMove wire_test to standalone tool with man page and such...The following discussion from !4006 should be addressed:
- [ ] @each started a [discussion](https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/4006#note_156160): (+3 comments)
> We did this a while ago, but I had to revert...The following discussion from !4006 should be addressed:
- [ ] @each started a [discussion](https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/4006#note_156160): (+3 comments)
> We did this a while ago, but I had to revert it (see commit e45be9d1349). It's used for fuzz testing as well as system tests. I also use it myself sometimes for converting DNS data to and from wire format, and I know I'm not the only one because someone at infoblox asked me to restore it as part of the regular build instead of the test build.
>
> Rather than moving it to bin/tests/system I wonder if we should consider putting it in bin/tools, like we did with named-journalprint or named-rrchecker or nsec3hash.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2094ns_query_done hooks can cause reference leaks2023-11-02T17:00:02ZMichael McNallyns_query_done hooks can cause reference leaksAnother suggestion from Jinmei, opened via [Support #17009](https://support.isc.org/Ticket/Display.html?id=17009). He writes:
> I've noticed NS_QUERY_DONE_BEGIN and NS_QUERY_DONE_SEND called from ns_query_done can cause reference leaks ...Another suggestion from Jinmei, opened via [Support #17009](https://support.isc.org/Ticket/Display.html?id=17009). He writes:
> I've noticed NS_QUERY_DONE_BEGIN and NS_QUERY_DONE_SEND called from ns_query_done can cause reference leaks if they return "NS_HOOK_RETURN". For example, this hook
>
> static ns_hookresult_t
> query_done_begin(void *arg, void *cbdata, isc_result_t *resp) {
> query_ctx_t *qctx = (query_ctx_t *)arg;
> *resp = ISC_R_SUCCESS;
> return (NS_HOOK_RETURN);
> }
>
> will make 'named' hang on shutdown once it handles a query. The following patch to query.c will prevent it, but that's probably not the best way to address this issue as we may not always want to cleanup everything in the 'cleanup' part of ns_query_done. There may also be other places that can cause a similar leak.
>
> So I'm just reporting what I've noticed and would leave to you whether/how to handle it.
And provides this patch:
```
diff --git a/bind-9.16.5/lib/ns/query.c b/bind-9.16.5/lib/ns/query.c
index 70277b9..e531fe2 100644
--- a/bind-9.16.5/lib/ns/query.c
+++ b/bind-9.16.5/lib/ns/query.c
@@ -5142,6 +5142,9 @@ static void
qctx_destroy(query_ctx_t *qctx) {
CALL_HOOK_NORETURN(NS_QUERY_QCTX_DESTROYED, qctx);
+ qctx_clean(qctx);
+ qctx_freedata(qctx);
+
dns_view_detach(&qctx->view);
}
@@ -10928,6 +10931,8 @@ ns_query_done(query_ctx_t *qctx) {
return (qctx->result);
cleanup:
+ isc_nmhandle_unref(qctx->client->handle);
+ qctx->detach_client = true;
return (result);
}
```
but adds that we may wish to give additional consideration to see if there is a better way to handle it.
I'm not sure that this needs to be confidential but I have created it as such initially, until we have a chance to scrutinize whether there is any easy path in a common use scenario that would allow an attacker to cause mischief with this.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2078mem.c:869: INSIST(!ctx->checkfree || dl->ptr == ((void *)0)) failed, back trace2023-07-24T15:12:04ZMichal Nowakmem.c:869: INSIST(!ctx->checkfree || dl->ptr == ((void *)0)) failed, back traceThe `dyndb` test [failed](https://gitlab.isc.org/isc-projects/bind9/-/jobs/1087998#L3283) with `mem.c:869: INSIST(!ctx->checkfree || dl->ptr == ((void *)0)) failed, back trace`. @wpk seems to [say](https://mattermost.isc.org/isc/pl/63m5a...The `dyndb` test [failed](https://gitlab.isc.org/isc-projects/bind9/-/jobs/1087998#L3283) with `mem.c:869: INSIST(!ctx->checkfree || dl->ptr == ((void *)0)) failed, back trace`. @wpk seems to [say](https://mattermost.isc.org/isc/pl/63m5a6i84ifiiqwkrmx5ie9emh) it's "a memory leak in ADB".
```
18-Aug-2020 10:05:38.878 dispatch 0x7fc53d4ab8c0: shutting down; detaching from sock (nil), task 0x7fc590697be8
18-Aug-2020 10:05:38.878 dispatchmgr 0x7fc5a098fe58: destroy_mgr_ok: shuttingdown=1, listnonempty=1, depool=9, rpool=0, dpool=9
18-Aug-2020 10:05:38.878 dispatch 0x7fc53d4a8ac0: shutting down; detaching from sock (nil), task 0x7fc5905f5db8
18-Aug-2020 10:05:38.878 dispatchmgr 0x7fc5a098fe58: destroy_mgr_ok: shuttingdown=1, listnonempty=1, depool=8, rpool=0, dpool=8
18-Aug-2020 10:05:38.878 dispatch 0x7fc53c0392c0: shutting down; detaching from sock (nil), task 0x7fc5906ba760
18-Aug-2020 10:05:38.878 dispatchmgr 0x7fc5a098fe58: destroy_mgr_ok: shuttingdown=1, listnonempty=1, depool=7, rpool=0, dpool=7
18-Aug-2020 10:05:38.878 dispatch 0x7fc53d4a3480: shutting down; detaching from sock (nil), task 0x7fc5905ad590
18-Aug-2020 10:05:38.878 dispatchmgr 0x7fc5a098fe58: destroy_mgr_ok: shuttingdown=1, listnonempty=1, depool=6, rpool=0, dpool=6
18-Aug-2020 10:05:38.878 dispatch 0x7fc53c035f00: shutting down; detaching from sock (nil), task 0x7fc5906dd590
18-Aug-2020 10:05:38.878 dispatchmgr 0x7fc5a098fe58: destroy_mgr_ok: shuttingdown=1, listnonempty=1, depool=5, rpool=0, dpool=5
18-Aug-2020 10:05:38.882 mem.c:869: INSIST(!ctx->checkfree || dl->ptr == ((void *)0)) failed, back trace
18-Aug-2020 10:05:38.882 #0 0x56450e36ee3e in _fini()+0x56450e0d902a
18-Aug-2020 10:05:38.882 #1 0x56450e561a4d in _fini()+0x56450e2cbc39
18-Aug-2020 10:05:38.882 #2 0x56450e570086 in _fini()+0x56450e2da272
18-Aug-2020 10:05:38.882 #3 0x56450e574e38 in _fini()+0x56450e2df024
18-Aug-2020 10:05:38.882 #4 0x56450e574595 in _fini()+0x56450e2de781
18-Aug-2020 10:05:38.882 #5 0x56450e5837aa in _fini()+0x56450e2ed996
18-Aug-2020 10:05:38.882 #6 0x56450e4ed88e in _fini()+0x56450e257a7a
18-Aug-2020 10:05:38.882 #7 0x56450e4edf04 in _fini()+0x56450e2580f0
18-Aug-2020 10:05:38.882 #8 0x56450e4ee0ae in _fini()+0x56450e25829a
18-Aug-2020 10:05:38.882 #9 0x56450e585928 in _fini()+0x56450e2efb14
18-Aug-2020 10:05:38.882 #10 0x7fc5a6d49ea7 in _fini()+0x7fc5a6ab4093
18-Aug-2020 10:05:38.882 #11 0x7fc5a6c65dcf in _fini()+0x7fc5a69cffbb
18-Aug-2020 10:05:38.882 exiting (due to assertion failure)
```
```
S:dyndb:2020-08-18T10:04:04+0000
T:dyndb:1:A
A:dyndb:System test dyndb
I:dyndb:PORTRANGE:7600 - 7699
I:dyndb:starting servers
I:dyndb:adding test1.ipv4.example.nil. A 10.53.0.10 (1)
I:dyndb:adding test2.ipv4.example.nil. A 10.53.0.11 (2)
I:dyndb:adding test3.ipv4.example.nil. A 10.53.0.12 (3)
I:dyndb:adding test4.ipv6.example.nil. AAAA 2001:db8::1 (4)
I:dyndb:deleting test1.ipv4.example.nil. A (was 10.53.0.10) (5)
I:dyndb:deleting test2.ipv4.example.nil. A (was 10.53.0.11) (6)
I:dyndb:deleting test3.ipv4.example.nil. A (was 10.53.0.12) (7)
I:dyndb:deleting test4.ipv6.example.nil. AAAA (was 2001:db8::1) (8)
I:dyndb:checking parameter logging (9)
I:dyndb:checking dyndb still works after reload
I:dyndb:ns1 server reload successful
I:dyndb:adding test5.ipv4.example.nil. A 10.53.0.10 (10)
I:dyndb:adding test6.ipv6.example.nil. AAAA 2001:db8::1 (11)
I:dyndb:deleting test5.ipv4.example.nil. A (was 10.53.0.10) (12)
I:dyndb:deleting test6.ipv6.example.nil. AAAA (was 2001:db8::1) (13)
I:dyndb:exit status: 0
I:dyndb:stopping servers
I:dyndb:Core dump(s) found: dyndb/ns1/core.6735
R:dyndb:FAIL
D:dyndb:backtrace from dyndb/ns1/core.6735:
D:dyndb:--------------------------------------------------------------------------------
D:dyndb:Core was generated by `/builds/isc-projects/bind9/bin/named/named -D dyndb-ns1 -X named.lock -m record'.
D:dyndb:Program terminated with signal SIGABRT, Aborted.
D:dyndb:#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
D:dyndb:[Current thread is 1 (Thread 0x7fc59c309700 (LWP 6751))]
D:dyndb:#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
D:dyndb:#1 0x00007fc5a6b8d537 in __GI_abort () at abort.c:79
D:dyndb:#2 0x000056450e36efd9 in assertion_failed (file=<optimized out>, line=<optimized out>, type=<optimized out>, cond=<optimized out>) at ./main.c:261
D:dyndb:#3 0x000056450e561a4d in isc_assertion_failed (file=file@entry=0x56450e6094a1 "mem.c", line=line@entry=869, type=type@entry=isc_assertiontype_insist, cond=cond@entry=0x56450e6088d0 "!ctx->checkfree || dl->ptr == ((void *)0)") at assertions.c:46
D:dyndb:#4 0x000056450e570086 in destroy (ctx=ctx@entry=0x7fc53d449760) at mem.c:866
D:dyndb:#5 0x000056450e574e38 in isc___mem_putanddetach (ctxp=<optimized out>, ptr=0x7fc590629020, size=40, file=0x56450e5c325e "stats.c", line=88) at mem.c:998
D:dyndb:#6 0x000056450e574595 in isc__mem_putanddetach (mctxp=mctxp@entry=0x7fc590629028, ptr=ptr@entry=0x7fc590629020, size=size@entry=40, file=file@entry=0x56450e5c325e "stats.c", line=line@entry=88) at mem.c:2446
D:dyndb:#7 0x000056450e5837aa in isc_stats_detach (statsp=statsp@entry=0x7fc53c0279d8) at stats.c:88
D:dyndb:#8 0x000056450e4ed88e in destroy (view=0x7fc53c027800) at view.c:536
D:dyndb:#9 0x000056450e4edf04 in dns_view_weakdetach (viewp=viewp@entry=0x7fc59c308d68) at view.c:727
D:dyndb:#10 0x000056450e4ee0ae in resolver_shutdown (task=<optimized out>, event=<optimized out>) at view.c:744
D:dyndb:#11 0x000056450e585928 in dispatch (threadid=<optimized out>, manager=0x7fc5a097d020) at task.c:1152
D:dyndb:#12 run (queuep=<optimized out>) at task.c:1344
D:dyndb:#13 0x00007fc5a6d49ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
D:dyndb:#14 0x00007fc5a6c65dcf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
D:dyndb:--------------------------------------------------------------------------------
D:dyndb:full backtrace from dyndb/ns1/core.6735 saved in core.6735-backtrace.txt
D:dyndb:core dump dyndb/ns1/core.6735 archived as dyndb/ns1/core.6735.gz
E:dyndb:2020-08-18T10:05:42+0000
```
[core.6735.gz](/uploads/db0af934d39cf77abdfaca204b7fcaec/core.6735.gz)
[core.6735-backtrace.txt](/uploads/b2f1a0fea130c1062454037497acf7ff/core.6735-backtrace.txt)
[named.run](/uploads/f4639f67366d1e08781de01bef55b5fe/named.run)https://gitlab.isc.org/isc-projects/bind9/-/issues/2076geoip2 & runtime DLZ support in/for Fedora (other OS?) packaging?2020-09-08T05:01:50Zpgndgeoip2 & runtime DLZ support in/for Fedora (other OS?) packaging?### Description
### Request
I'm considering moving a bind9 instance from a DIY, from-source build to ISC-maintained Fedora32 packages,
BIND 9.16 Stable Version Packages
https://copr.fedorainfracloud.org/coprs/isc/bind/
The pkg'd bi...### Description
### Request
I'm considering moving a bind9 instance from a DIY, from-source build to ISC-maintained Fedora32 packages,
BIND 9.16 Stable Version Packages
https://copr.fedorainfracloud.org/coprs/isc/bind/
The pkg'd bin
named -v
BIND 9.16.5 (Stable Release) <id:c00b458>
appears to lack geoip2 support,
named -V
...
default paths:
...
geoip-directory: /usr/share/GeoIP <======= (missing)
enabled by config opts,
'--enable-geoip' '--with-maxminddb'
missing in these builds.
also, DLZ runtime modules support is not built/included for, in my case, 2 modules, prepared in my source-builds with
cd contrib/dlz/modules/
cd ./bdbhpt
make V=1
ldd dlz_bdbhpt_dynamic.so
linux-vdso.so.1 (0x00007fffa312c000)
libdb-4.8.so => /usr/lib64/libdb-4.8.so (0x00007f50edc43000)
libc.so.6 => /lib64/libc.so.6 (0x00007f50ed89b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f50ed67d000)
/lib64/ld-linux-x86-64.so.2 (0x000056482796b000)
cd ../filesystem
make V=1
ldd dlz_filesystem_dynamic.so
linux-vdso.so.1 (0x00007ffd99f34000)
libc.so.6 => /lib64/libc.so.6 (0x00007fbb2713e000)
/lib64/ld-linux-x86-64.so.2 (0x0000564e6ae95000)
prior to the master build.
can GeoIP2 & DLZ runtime support be _added_ to these pkgs? similar to libfstrm pkg-ing?
### Links / referenceshttps://gitlab.isc.org/isc-projects/bind9/-/issues/2072host: misleading documentation for the -a option2021-10-05T15:23:19Zwferihost: misleading documentation for the -a option`host.rst` states:
```
The -a ("all") option is normally equivalent to -v -t ANY. It also affects the behavior of the -l list zone option.
```
However, `-t ANY` uses TCP by default, whereas `-a` uses UDP.
(Aside: it's also unclear how `-...`host.rst` states:
```
The -a ("all") option is normally equivalent to -v -t ANY. It also affects the behavior of the -l list zone option.
```
However, `-t ANY` uses TCP by default, whereas `-a` uses UDP.
(Aside: it's also unclear how `-a` affects the `-l` option.)
Please fix the documentation or the code as you see fit. Thanks.https://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/2048Compiler warnings identified by Oracle Developer Studio2023-11-02T16:26:05ZMichal NowakCompiler warnings identified by Oracle Developer StudioI compiled BIND `main` (a14445d472e6287a3bbf7208cb2c7cdba0704be4) with [Oracle Developer Studio](https://www.oracle.com/application-development/technologies/developerstudio.html) 12.6 (`Studio 12.6 Sun C 5.15 Linux_i386 2017/05/30`) on F...I compiled BIND `main` (a14445d472e6287a3bbf7208cb2c7cdba0704be4) with [Oracle Developer Studio](https://www.oracle.com/application-development/technologies/developerstudio.html) 12.6 (`Studio 12.6 Sun C 5.15 Linux_i386 2017/05/30`) on Fedora 32 and it produced a bunch of warnings and few errors.
Compilation commands:
```
autoreconf -fi && CC=/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc CFLAGS="-O1 -g -Wall -Wextra" ./configure --disable-maintainer-mode --with-libtool --disable-static --with-cmocka --with-libxml2 --with-json-c --prefix=$HOME/.local --without-make-clean --with-python=python3 --enable-dnstap --with-libidn2 && make -j12 V=1
```
I disabled following GCC options for the Studio output to be cleaner as they produces a lot of warnings:
```
cc: Warning: Option -fno-delete-null-pointer-checks passed to ld, if ld is invoked, ignored otherwise
cc: Warning: Option -fdiagnostics-show-option passed to ld, if ld is invoked, ignored otherwise
"/usr/include/features.h", line 397: #warning: _FORTIFY_SOURCE requires compiling with optimization (-O)
```
```patch
diff --git a/configure.ac b/configure.ac
index a32fb68f18..5d7f93d8f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,7 +137,7 @@ STD_CFLAGS="-Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missi
STD_CFLAGS="$STD_CFLAGS -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes"
# Fortify the sources by default
-STD_CPPFLAGS="-D_FORTIFY_SOURCE=2"
+#STD_CPPFLAGS="-D_FORTIFY_SOURCE=2"
#
# Additional compiler settings.
@@ -145,10 +145,10 @@ STD_CPPFLAGS="-D_FORTIFY_SOURCE=2"
AX_CHECK_COMPILE_FLAG([-fno-strict-aliasing],
[STD_CFLAGS="$STD_CFLAGS -fno-strict-aliasing"])
# Clang only issues a warning so use -Werror to force a error.
-AX_CHECK_COMPILE_FLAG([-Werror -fno-delete-null-pointer-checks],
- [STD_CFLAGS="$STD_CFLAGS -fno-delete-null-pointer-checks"])
-AX_CHECK_COMPILE_FLAG([-fdiagnostics-show-option],
- [STD_CFLAGS="$STD_CFLAGS -fdiagnostics-show-option"])
+#AX_CHECK_COMPILE_FLAG([-Werror -fno-delete-null-pointer-checks],
+# [STD_CFLAGS="$STD_CFLAGS -fno-delete-null-pointer-checks"])
+#AX_CHECK_COMPILE_FLAG([-fdiagnostics-show-option],
+# [STD_CFLAGS="$STD_CFLAGS -fdiagnostics-show-option"])
#
# Change defaults for developers if not explicity set.
```
I had to manually undef `HAVE_BUILTIN_EXPECT` via `sed -i -e '/HAVE_BUILTIN_EXPECT/s/.*/#undef HAVE_BUILTIN_EXPECT/' config.h`, otherwise I get a lot of lines like this: `"radix.c", line 78: internal compiler error: __builtin_expect undefined`:
```
checking compiler support for __builtin_unreachable()... no
checking compiler support for __builtin_expect... yes
checking compiler support for __builtin_clz... no
```
Studio's `acomp` binary (a preprocessor) crashes on some input files (this may be fixed in Studio production patches we don't have access to):
```
/bin/sh ../../libtool --tag=CC --mode=compile /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o libdns_la-peer.lo `test -f 'peer.c' || echo './'`peer.c
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c peer.c -KPIC -DPIC -o .libs/libdns_la-peer.o
cc: Fatal error in /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/lib/compilers/bin/acomp : Signal number = 139
```
Full list of warnings and errors detected:
```
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c pk11.c -KPIC -DPIC -o .libs/libisc_la-pk11.o
"pk11.c", line 881: warning: statement not reached
"pk11.c", line 885: warning: statement not reached
"pk11.c", line 909: warning: statement not reached
"pk11.c", line 915: warning: statement not reached
"pk11.c", line 919: warning: statement not reached
"pk11.c", line 984: warning: statement not reached
"pk11.c", line 990: warning: statement not reached
"pk11.c", line 994: warning: statement not reached
"pk11.c", line 1010: warning: statement not reached
"pk11.c", line 1019: warning: statement not reached
"pk11.c", line 1026: warning: statement not reached
"pk11.c", line 1039: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c md.c -KPIC -DPIC -o .libs/libisc_la-md.o
"md.c", line 168: warning: syntax error: empty declaration
"md.c", line 169: warning: syntax error: empty declaration
"md.c", line 170: warning: syntax error: empty declaration
"md.c", line 171: warning: syntax error: empty declaration
"md.c", line 172: warning: syntax error: empty declaration
"md.c", line 173: warning: syntax error: empty declaration
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c unix/socket.c -KPIC -DPIC -o unix/.libs/libisc_la-socket.o
"unix/socket.c", line 4755: warning: statement not reached
"unix/socket.c", line 4756: warning: statement not reached
"unix/socket.c", line 4757: warning: statement not reached
"unix/socket.c", line 4758: warning: statement not reached
"unix/socket.c", line 4759: warning: statement not reached
"unix/socket.c", line 4761: warning: statement not reached
"unix/socket.c", line 4763: warning: statement not reached
"unix/socket.c", line 4764: warning: statement not reached
"unix/socket.c", line 4765: warning: statement not reached
"unix/socket.c", line 4766: warning: statement not reached
"unix/socket.c", line 4767: warning: statement not reached
"unix/socket.c", line 4768: warning: statement not reached
"unix/socket.c", line 4772: warning: statement not reached
"unix/socket.c", line 4900: warning: statement not reached
"unix/socket.c", line 4901: warning: statement not reached
"unix/socket.c", line 4902: warning: statement not reached
"unix/socket.c", line 4903: warning: statement not reached
"unix/socket.c", line 4904: warning: statement not reached
"unix/socket.c", line 4906: warning: statement not reached
"unix/socket.c", line 4908: warning: statement not reached
"unix/socket.c", line 4909: warning: statement not reached
"unix/socket.c", line 4910: warning: statement not reached
"unix/socket.c", line 4911: warning: statement not reached
"unix/socket.c", line 4912: warning: statement not reached
"unix/socket.c", line 4913: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c pthreads/thread.c -KPIC -DPIC -o pthreads/.libs/libisc_la-thread.o
"pthreads/thread.c", line 61: warning: statement not reached
"pthreads/thread.c", line 67: warning: statement not reached
"pthreads/thread.c", line 75: warning: statement not reached
"pthreads/thread.c", line 87: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c dst_api.c -KPIC -DPIC -o .libs/libdns_la-dst_api.o
"dst_api.c", line 1550: warning: statement not reached
"dst_api.c", line 1557: warning: statement not reached
"dst_api.c", line 1573: warning: statement not reached
"dst_api.c", line 1583: warning: statement not reached
"dst_api.c", line 1592: warning: statement not reached
"dst_api.c", line 1600: warning: statement not reached
"dst_api.c", line 1706: warning: statement not reached
"dst_api.c", line 1713: warning: statement not reached
"dst_api.c", line 1725: warning: statement not reached
"dst_api.c", line 1732: warning: statement not reached
"dst_api.c", line 1748: warning: statement not reached
"dst_api.c", line 1758: warning: statement not reached
"dst_api.c", line 1772: warning: statement not reached
"dst_api.c", line 1780: warning: statement not reached
"dst_api.c", line 1794: warning: statement not reached
"dst_api.c", line 1815: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c hmac_link.c -KPIC -DPIC -o .libs/libdns_la-hmac_link.o
"hmac_link.c", line 511: warning: syntax error: empty declaration
"hmac_link.c", line 512: warning: syntax error: empty declaration
"hmac_link.c", line 513: warning: syntax error: empty declaration
"hmac_link.c", line 514: warning: syntax error: empty declaration
"hmac_link.c", line 515: warning: syntax error: empty declaration
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c openssldh_link.c -KPIC -DPIC -o .libs/libdns_la-openssldh_link.o
"openssldh_link.c", line 678: warning: statement not reached
"openssldh_link.c", line 683: warning: statement not reached
"openssldh_link.c", line 693: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../../../../.. -include ../../../../../config.h -I./include -I../../../../../include -I../../../../../lib/isc/unix/include -I../../../../../lib/isc/pthreads/include -I../../../../../lib/isc/include -I../../../../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../../../../lib/dns/include -I../../../../../lib/dns/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c zone.c -KPIC -DPIC -o .libs/zone.o
"zone.c", line 127: warning: end-of-loop code not reached
"zone.c", line 137: warning: end-of-loop code not reached
"zone.c", line 145: warning: end-of-loop code not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../../../../.. -include ../../../../../config.h -I./include -I../../../../../include -I../../../../../lib/isc/unix/include -I../../../../../lib/isc/pthreads/include -I../../../../../lib/isc/include -I../../../../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../../../../lib/dns/include -I../../../../../lib/dns/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c syncptr.c -KPIC -DPIC -o .libs/syncptr.o
"syncptr.c", line 134: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../../../../.. -include ../../../../../config.h -I./include -I../../../../../include -I../../../../../lib/isc/unix/include -I../../../../../lib/isc/pthreads/include -I../../../../../lib/isc/include -I../../../../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../../../../lib/dns/include -I../../../../../lib/dns/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c db.c -KPIC -DPIC -o .libs/db.o
"db.c", line 112: warning: statement not reached
"db.c", line 128: warning: statement not reached
"db.c", line 151: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DRNDC_KEYFILE=\"/home/newman/.local/etc/rndc.key\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o rndc-confgen.o rndc-confgen.c
"rndc-confgen.c", line 174: warning: statement not reached
"rndc-confgen.c", line 200: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DRNDC_KEYFILE=\"/home/newman/.local/etc/rndc.key\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o tsig-keygen.o tsig-keygen.c
"tsig-keygen.c", line 174: warning: statement not reached
"tsig-keygen.c", line 197: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/isccfg/include -I../../lib/irs/include -I../../lib/bind9/include -DSESSION_KEYFILE=\"/home/newman/.local/var/run/named/session.key\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o nsupdate.o nsupdate.c
"nsupdate.c", line 1234: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/bind9/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o mdig-mdig.o `test -f 'mdig.c' || echo './'`mdig.c
"mdig.c", line 1691: warning: statement not reached
"mdig.c", line 1702: warning: statement not reached
"mdig.c", line 1708: warning: statement not reached
"mdig.c", line 1720: warning: statement not reached
"mdig.c", line 1810: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DNAMED_CONFFILE=\"/home/newman/.local/etc/named.conf\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o dnssec-signzone.o dnssec-signzone.c
"dnssec-signzone.c", line 463: warning: statement not reached
"dnssec-signzone.c", line 3487: warning: statement not reached
"dnssec-signzone.c", line 3529: warning: statement not reached
"dnssec-signzone.c", line 3541: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DNAMED_CONFFILE=\"/home/newman/.local/etc/named.conf\" -I../../lib/isccfg/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o dnssec_keygen-dnssec-keygen.o `test -f 'dnssec-keygen.c' || echo './'`dnssec-keygen.c
"dnssec-keygen.c", line 1017: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DNAMED_CONFFILE=\"/home/newman/.local/etc/named.conf\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o dnssec-keyfromlabel.o dnssec-keyfromlabel.c
"dnssec-keyfromlabel.c", line 645: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DNAMED_CONFFILE=\"/home/newman/.local/etc/named.conf\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o dnssec-dsfromkey.o dnssec-dsfromkey.c
"dnssec-dsfromkey.c", line 424: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DNAMED_CONFFILE=\"/home/newman/.local/etc/named.conf\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c dnssectool.c -KPIC -DPIC -o .libs/dnssectool.o
"dnssectool.c", line 222: warning: statement not reached
"dnssectool.c", line 240: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -DNAMED_CONFFILE=\"/home/newman/.local/etc/named.conf\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o dnssec-cds.o dnssec-cds.c
"dnssec-cds.c", line 1122: warning: statement not reached
"dnssec-cds.c", line 1131: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/isccfg/include -I../../lib/irs/include -I../../lib/bind9/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o host.o host.c
"host.c", line 665: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/isccfg/include -I../../lib/irs/include -I../../lib/bind9/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o dig.o dig.c
"dig.c", line 1889: warning: statement not reached
"dig.c", line 1899: warning: statement not reached
"dig.c", line 1916: warning: statement not reached
"dig.c", line 1936: warning: statement not reached
"dig.c", line 2150: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/isccfg/include -I../../lib/isccc/include/ -I../../lib/bind9/include -DRNDC_CONFFILE=\"/home/newman/.local/etc/rndc.conf\" -DRNDC_KEYFILE=\"/home/newman/.local/etc/rndc.key\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o rndc.o rndc.c
"rndc.c", line 980: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I./unix/include -I../../include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/ns/include -I../../lib/isccc/include/ -I../../lib/isccfg/include -I../../lib/bind9/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -DNAMED_LOCALSTATEDIR=\"/home/newman/.local/var\" -DNAMED_SYSCONFDIR=\"/home/newman/.local/etc\" -DMAXMINDDB_PREFIX=\"/usr\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o unix/os.o unix/os.c
"unix/os.c", line 193: warning: statement not reached
"unix/os.c", line 226: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I./unix/include -I../../include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/ns/include -I../../lib/isccc/include/ -I../../lib/isccfg/include -I../../lib/bind9/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -DNAMED_LOCALSTATEDIR=\"/home/newman/.local/var\" -DNAMED_SYSCONFDIR=\"/home/newman/.local/etc\" -DMAXMINDDB_PREFIX=\"/usr\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o server.o server.c
"server.c", line 830: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I./unix/include -I../../include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/ns/include -I../../lib/isccc/include/ -I../../lib/isccfg/include -I../../lib/bind9/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -DNAMED_LOCALSTATEDIR=\"/home/newman/.local/var\" -DNAMED_SYSCONFDIR=\"/home/newman/.local/etc\" -DMAXMINDDB_PREFIX=\"/usr\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o main.o main.c
"/usr/include/maxminddb.h", line 92: syntax error before or at: mmdb_uint128_t
"/usr/include/maxminddb.h", line 122: syntax error before or at: mmdb_uint128_t
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/irs/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o nsprobe.o nsprobe.c
"nsprobe.c", line 1074: warning: statement not reached
"nsprobe.c", line 1080: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/isccfg/include -I../../lib/ns/include -I../../lib/bind9/include -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c check.c -KPIC -DPIC -o .libs/libbind9_la-check.o
"check.c", line 497: warning: const object should have initializer: zeros
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c opensslrsa_link.c -KPIC -DPIC -o .libs/libdns_la-opensslrsa_link.o
"opensslrsa_link.c", line 595: warning: statement not reached
"opensslrsa_link.c", line 601: warning: statement not reached
"opensslrsa_link.c", line 609: warning: statement not reached
"opensslrsa_link.c", line 892: warning: statement not reached
"opensslrsa_link.c", line 895: warning: statement not reached
"opensslrsa_link.c", line 929: warning: statement not reached
"opensslrsa_link.c", line 933: warning: statement not reached
"opensslrsa_link.c", line 939: warning: statement not reached
"opensslrsa_link.c", line 945: warning: statement not reached
"opensslrsa_link.c", line 948: warning: statement not reached
"opensslrsa_link.c", line 952: warning: statement not reached
"opensslrsa_link.c", line 970: warning: statement not reached
"opensslrsa_link.c", line 975: warning: statement not reached
"opensslrsa_link.c", line 978: warning: statement not reached
"opensslrsa_link.c", line 993: warning: statement not reached
"opensslrsa_link.c", line 1058: warning: statement not reached
"opensslrsa_link.c", line 1061: warning: statement not reached
"opensslrsa_link.c", line 1100: warning: statement not reached
"opensslrsa_link.c", line 1104: warning: statement not reached
"opensslrsa_link.c", line 1111: warning: statement not reached
"opensslrsa_link.c", line 1117: warning: statement not reached
"opensslrsa_link.c", line 1123: warning: statement not reached
"opensslrsa_link.c", line 1126: warning: statement not reached
"opensslrsa_link.c", line 1130: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c openssleddsa_link.c -KPIC -DPIC -o .libs/libdns_la-openssleddsa_link.o
"openssleddsa_link.c", line 182: warning: statement not reached
"openssleddsa_link.c", line 189: warning: statement not reached
"openssleddsa_link.c", line 194: warning: statement not reached
"openssleddsa_link.c", line 247: warning: statement not reached
"openssleddsa_link.c", line 330: warning: statement not reached
"openssleddsa_link.c", line 336: warning: statement not reached
"openssleddsa_link.c", line 523: warning: statement not reached
"openssleddsa_link.c", line 526: warning: statement not reached
"openssleddsa_link.c", line 561: warning: statement not reached
"openssleddsa_link.c", line 563: warning: statement not reached
"openssleddsa_link.c", line 567: warning: statement not reached
"openssleddsa_link.c", line 578: warning: statement not reached
"openssleddsa_link.c", line 631: warning: statement not reached
"openssleddsa_link.c", line 636: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c opensslecdsa_link.c -KPIC -DPIC -o .libs/libdns_la-opensslecdsa_link.o
"opensslecdsa_link.c", line 174: warning: statement not reached
"opensslecdsa_link.c", line 179: warning: statement not reached
"opensslecdsa_link.c", line 185: warning: statement not reached
"opensslecdsa_link.c", line 234: warning: statement not reached
"opensslecdsa_link.c", line 239: warning: statement not reached
"opensslecdsa_link.c", line 288: warning: statement not reached
"opensslecdsa_link.c", line 290: warning: statement not reached
"opensslecdsa_link.c", line 295: warning: statement not reached
"opensslecdsa_link.c", line 302: warning: statement not reached
"opensslecdsa_link.c", line 305: warning: statement not reached
"opensslecdsa_link.c", line 348: warning: statement not reached
"opensslecdsa_link.c", line 353: warning: statement not reached
"opensslecdsa_link.c", line 357: warning: statement not reached
"opensslecdsa_link.c", line 411: warning: statement not reached
"opensslecdsa_link.c", line 415: warning: statement not reached
"opensslecdsa_link.c", line 466: warning: statement not reached
"opensslecdsa_link.c", line 469: warning: statement not reached
"opensslecdsa_link.c", line 474: warning: statement not reached
"opensslecdsa_link.c", line 478: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c client.c -KPIC -DPIC -o .libs/libdns_la-client.o
"client.c", line 2939: warning: argument #2 is incompatible with prototype:
prototype: pointer to void : "../../lib/isc/include/isc/event.h", line 86
argument : pointer to function(pointer to struct dns_client {unsigned int magic, unsigned int attributes, union {..} lock, pointer to struct isc_mem {..} mctx, pointer to struct isc_appctx {..} actx, pointer to struct isc_taskmgr {..} taskmgr, pointer to struct isc_task {..} task, pointer to struct isc_socketmgr {..} socketmgr, pointer to struct isc_timermgr {..} timermgr, pointer to struct dns_dispatchmgr {..} dispatchmgr, pointer to struct dns_dispatch {..} dispatchv4, pointer to struct dns_dispatch {..} dispatchv6, unsigned int update_timeout, unsigned int update_udptimeout, unsigned int update_udpretries, unsigned int find_timeout, unsigned int find_udpretries, atomic unsigned long references, struct {..} viewlist, struct {..} resctxs, struct {..} reqctxs, struct {..} updatectxs}, unsigned short, pointer to const struct dns_name {unsigned int magic, pointer to unsigned char ndata, unsigned int length, unsigned int labels, unsigned int attributes, pointer to unsigned char offsets, pointer to struct isc_buffer {..} buffer, struct {..} link, struct {..} list}, pointer to struct {pointer to struct dns_name {..} head, pointer to struct dns_name {..} tail}, pointer to struct {pointer to struct dns_name {..} head, pointer to struct dns_name {..} tail}, pointer to struct {pointer to struct isc_sockaddr {..} head, pointer to struct isc_sockaddr {..} tail}, pointer to struct dns_tsec {}, unsigned int, pointer to struct isc_task {unsigned int impmagic, unsigned int magic}, pointer to function(..) returning void, pointer to void, pointer to pointer to void) returning unsigned int
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c zone.c -KPIC -DPIC -o .libs/libdns_la-zone.o
"zone.c", line 500: warning: enumerator value overflows INT_MAX (2147483647)
"zone.c", line 5711: internal compiler error: NAME with no symbol table entry
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c sdlz.c -KPIC -DPIC -o .libs/libdns_la-sdlz.o
"sdlz.c", line 739: warning: Function has no return statement : expirenode
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c sdb.c -KPIC -DPIC -o .libs/libdns_la-sdb.o
"sdb.c", line 1072: warning: Function has no return statement : expirenode
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c rpz.c -KPIC -DPIC -o .libs/libdns_la-rpz.o
"rpz.c", line 215: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c rdata.c -KPIC -DPIC -o .libs/libdns_la-rdata.o
"rdata/generic/amtrelay_260.c", line 295: warning: statement not reached
"rdata/generic/amtrelay_260.c", line 300: warning: statement not reached
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c rbtdb.c -KPIC -DPIC -o .libs/libdns_la-rbtdb.o
"rbtdb.c", line 4514: warning: statement not reached
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I./unix/include -I../../include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/ns/include -I../../lib/isccc/include/ -I../../lib/isccfg/include -I../../lib/bind9/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -DNAMED_LOCALSTATEDIR=\"/home/newman/.local/var\" -DNAMED_SYSCONFDIR=\"/home/newman/.local/etc\" -DMAXMINDDB_PREFIX=\"/usr\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o main.o main.c
"/usr/include/maxminddb.h", line 92: syntax error before or at: mmdb_uint128_t
"/usr/include/maxminddb.h", line 122: syntax error before or at: mmdb_uint128_t
cc: acomp failed for main.c
/home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I./unix/include -I../../include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../lib/ns/include -I../../lib/isccc/include/ -I../../lib/isccfg/include -I../../lib/bind9/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -DNAMED_LOCALSTATEDIR=\"/home/newman/.local/var\" -DNAMED_SYSCONFDIR=\"/home/newman/.local/etc\" -DMAXMINDDB_PREFIX=\"/usr\" -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c -o geoip.o geoip.c
"/usr/include/maxminddb.h", line 92: syntax error before or at: mmdb_uint128_t
"/usr/include/maxminddb.h", line 122: syntax error before or at: mmdb_uint128_t
cc: acomp failed for geoip.c
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c geoip2.c -KPIC -DPIC -o .libs/libdns_la-geoip2.o
"/usr/include/maxminddb.h", line 92: syntax error before or at: mmdb_uint128_t
"/usr/include/maxminddb.h", line 122: syntax error before or at: mmdb_uint128_t
"geoip2.c", line 202: improper member use: utf8_string
"geoip2.c", line 207: improper member use: utf8_string
"geoip2.c", line 219: improper member use: uint32
cc: acomp failed for geoip2.c
libtool: compile: /home/newman/Downloads/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/cc -DHAVE_CONFIG_H -I. -I../.. -include ../../config.h -I./include -I../../include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/include -I../../lib/isc/include -I/usr/include/json-c -I/usr/include/libxml2 -I../../lib/dns/include -I../../lib/dns/include -I../../libltdl -I/usr/include/json-c -I/usr/include/libxml2 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -fno-strict-aliasing -O1 -g -Wall -Wextra -mt -c zone.c -KPIC -DPIC -o .libs/libdns_la-zone.o
"zone.c", line 500: warning: enumerator value overflows INT_MAX (2147483647)
"zone.c", line 5711: internal compiler error: NAME with no symbol table entry
```
If these warnings are believed to be meaningfull, we may run Studio on the rest of maintained branches and more offen and, eventually, integrate it to the CI.Not plannedhttps://gitlab.isc.org/isc-projects/bind9/-/issues/2032Review BIND Performance suggestions KB2023-11-02T17:00:02ZVicky Riskvicky@isc.orgReview BIND Performance suggestions KBDraft is in document360.
Preview is at https://kb.isc.org/preview/v1/dbe412aa-9e0c-4071-ab12-90bfd02b877f/1
What we need is not so much Editing as Improvement:
- this is (sadly) not going to be much help to the more sophisticated users,...Draft is in document360.
Preview is at https://kb.isc.org/preview/v1/dbe412aa-9e0c-4071-ab12-90bfd02b877f/1
What we need is not so much Editing as Improvement:
- this is (sadly) not going to be much help to the more sophisticated users, because most of the advice boils down to, you have to test on your own platform, with your own traffic, so
- given this advice has to be tailored more for people with less background in performance tuning, we should provide some sample cli or log messages to look for diagnosing whether the condition is present (e.g. low memory, buffer overflow, problems with fragmented packets...)
if we can provide any better advice on how to best measure performance on a production system (in this case on a resolver), imho that will be useful to a lot of ppl. I am sort of assuming most people are using something like Prometheus/Grafana today and looking at those charts.Not planned