ISC Open Source Projects issueshttps://gitlab.isc.org/groups/isc-projects/-/issues2022-07-08T13:55:27Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/2309PgSqlBasicsTest.ptimeTimestamp fails on Debian 92022-07-08T13:55:27ZAndrei Pavelandrei@isc.orgPgSqlBasicsTest.ptimeTimestamp fails on Debian 9There is a Postgres unit test that claims we can insert year 3021 timestamps in Postgres, but I think we can only go up to 2038 in Debian 9.
https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/637/#showFailuresLink
```
15:11:23 [ ...There is a Postgres unit test that claims we can insert year 3021 timestamps in Postgres, but I think we can only go up to 2038 in Debian 9.
https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/637/#showFailuresLink
```
15:11:23 [ RUN ] PgSqlBasicsTest.ptimeTimestamp
15:11:23 NOTICE: table "basics" does not exist, skipping
15:11:23 pgsql_exchange_unittest.cc:984: Failure
15:11:23 Failed
15:11:23 no exception, expected: BadValue
15:11:23 [ FAILED ] PgSqlBasicsTest.ptimeTimestamp (13 ms)
```
Here are some hints on what might be wrong with values taken from `PsqlBindArray::addTimestamp(const boost::posix_time::ptime& timestamp)` called from the unit test:
| | Debian 9 | Other OSs |
| ------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| lscpu | Architecture: x86_64, CPU op-mode(s): 32-bit, 64-bit | Architecture: x86_64, CPU op-mode(s): 32-bit, 64-bit |
| sizeof(time_duration::sec_type) | 4 | 8 |
| timestamp | 3021-Jan-21 10:14:15 | 3021-Jan-21 10:14:15 |
| epoch | 1970-Jan-01 00:00:00 | 1970-Jan-01 00:00:00 |
| since_epoch | -1191605513 | 33168132855 |
| input_time | -1191605513 | 33168132855 |kea2.2.0 - a new stable branchhttps://gitlab.isc.org/isc-projects/kea/-/issues/1290Client lease limit2022-07-08T13:51:02ZPeter DaviesClient lease limitClient lease limit:
Customers experiencing unwanted clients requesting dhcp leases:
IT would be appreciated if there were an option which limited a client to having a maximum of one lease per subnet.
Requests for this feature:
- RT [#1...Client lease limit:
Customers experiencing unwanted clients requesting dhcp leases:
IT would be appreciated if there were an option which limited a client to having a maximum of one lease per subnet.
Requests for this feature:
- RT [#16736](https://support.isc.org/Ticket/Display.html?id=16736)
- https://lists.isc.org/pipermail/kea-users/2020-January/002613.htmlkea2.2.0 - a new stable branchhttps://gitlab.isc.org/isc-projects/kea/-/issues/2448limits library extensions for lease limiting2022-07-08T13:51:02ZAndrei Pavelandrei@isc.orglimits library extensions for lease limitingAdd lease limiting capabilities to the limits hook library as outlined below:
* [x] Add the ability to configure lease limits.
* [x] Add the packet's client classes to the lease candidate's user context under path `ISC.client-classes` i...Add lease limiting capabilities to the limits hook library as outlined below:
* [x] Add the ability to configure lease limits.
* [x] Add the packet's client classes to the lease candidate's user context under path `ISC.client-classes` in the `leaseX_select` callout.
* [x] Use the `LeaseMgr::checkLimitsX()` functions in the `leaseX_select` callout. Set `NEXT_STEP_DROP` if the limit is exceeded.kea2.2.0 - a new stable branchAndrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/issues/2473Race condition in HA+MT2022-07-08T10:41:16ZTomek MrugalskiRace condition in HA+MTAs reported by a customer in [support#20887](https://support.isc.org/Ticket/Display.html?id=20887), Kea 2.0.2 can crash under heavy load under certain conditions.
@marcin investigated this an found the root cause of the problem. See sup...As reported by a customer in [support#20887](https://support.isc.org/Ticket/Display.html?id=20887), Kea 2.0.2 can crash under heavy load under certain conditions.
@marcin investigated this an found the root cause of the problem. See support#20887 for details.
Summary:
Marcin suspected there is a race condition between parking packet after lease-update was scheduled in one thread and the lease response being received and packet processing continues in another thread. To simulate it more reliably, Marcin modified HA code to only pretend the lease update is being sent. With this modification, the code crashed on the first packet.
Marcin was able to reproduce this on unmodified code on VM after couple minutes.kea2.2.0 - a new stable branchRazvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/2445PostgreSQL schema support for lease limits2022-07-07T11:47:52ZAndrei Pavelandrei@isc.orgPostgreSQL schema support for lease limitsAdd the functionality to support lease limits to the PostgreSQL lease manager as outlined below:
* [x] Create lease count tables to track leases per client class and per subnet
* [x] Create the triggers to update lease counts upon lease...Add the functionality to support lease limits to the PostgreSQL lease manager as outlined below:
* [x] Create lease count tables to track leases per client class and per subnet
* [x] Create the triggers to update lease counts upon lease events: INSERT, UPDATE, DELETE
* [x] Create a function or procedure that compares all the configured lease limits relevant to a packet to all the current lease counts of the respective client classes and subnetskea2.2.0 - a new stable branchAndrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/issues/2438MySQL schema support for lease limits2022-07-07T11:47:52ZAndrei Pavelandrei@isc.orgMySQL schema support for lease limitsAdd the functionality to support lease limits to the MySQL lease manager as outlined below:
* [x] Create lease count tables to track leases per client class and per subnet
* [x] Create the triggers to update lease counts upon lease even...Add the functionality to support lease limits to the MySQL lease manager as outlined below:
* [x] Create lease count tables to track leases per client class and per subnet
* [x] Create the triggers to update lease counts upon lease events: INSERT, UPDATE, DELETE
* [x] Create a function or procedure that compares all the configured lease limits relevant to a packet to all the current lease counts of the respective client classes and subnetskea2.1.7Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/bind9/-/issues/3380member zones are deleted if RRsig appears in the catalog zone2022-07-07T10:18:03ZTomas Velechmember zones are deleted if RRsig appears in the catalog zoneIf RRsig appears in the catalog zone, all member zones are immediately deleted. Affected version is Bind 9.16
```
general: warning: catz: unknown record in catalog zone - ff558fb7a97903f2e4ad534c6a6453b6139adefd.zones.prod-public.catal...If RRsig appears in the catalog zone, all member zones are immediately deleted. Affected version is Bind 9.16
```
general: warning: catz: unknown record in catalog zone - ff558fb7a97903f2e4ad534c6a6453b6139adefd.zones.prod-public.catalog IN RRSIG(failure) - ignoring
general: info: catz: deleting zone ‚example.com‘ from catalog 'prod-public.catalog' - success
general: warning: catz: catz_delzone_taskaction: zone ‚example.com‘ deleted
```
---
***Note from QA:** The labels on this issue are confusing because its
history is confusing, too. This problem also affected BIND 9.18+ in the
recent past, but it was inadvertently addressed by commit
0b2d5490cd8b17a01852fcd9e0a0e0c4b9c93ab6 (part of !6012, merged in May
2022). The problem is that we did not recognize at the time that that
commit fixes the issue which was reported here (only subsequently, and
for BIND 9.16) and therefore we did not announce that in the release
notes for May 2022 releases. The net result is that even though this
issue is not labeled with the ~"Affects v9.19" and ~"Affects v9.18"
labels, the [release note for this issue was put into all June 2022
releases][1] despite the fact that the problem was already solved in
BIND 9.18+ back in May 2022. In other words, a bit of historical
accuracy has been sacrificed in exchange for preventing confusion (to
some extent).*
[1]: https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/6373#note_290000July 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)Arаm SаrgsyаnArаm Sаrgsyаnhttps://gitlab.isc.org/isc-projects/bind9/-/issues/3402synth-from-dnssec might prevent resolution of grafted (non-delegated) namespaces2022-07-07T09:58:47ZPetr Špačekpspacek@isc.orgsynth-from-dnssec might prevent resolution of grafted (non-delegated) namespaces### Summary
This is all about setup where delegation chain is incomplete and `named.conf` is configured to "graft" a domain without delegation.
Example setup:
- public root zone does not have delegation for `internal`
- named.conf cont...### Summary
This is all about setup where delegation chain is incomplete and `named.conf` is configured to "graft" a domain without delegation.
Example setup:
- public root zone does not have delegation for `internal`
- named.conf contains forwarding or stub zone for `test.internal`
### BIND version used
- ~"Affects v9.19": v9_19_2
- ~"Affects v9.18": v9_18_2
- ~"Affects v9.16": 5c327f209b4bdd9cda8e50c2808b5253321868c0
### Steps to reproduce
1. Configure graft:
```
options {
validate-except { internal; };
synth-from-dnssec yes;
};
zone test.internal {
type forward;
forwarders { 192.0.2.1; };
forward only;
};
```
2. Query for `internal2` to populate cache with proof-of-nonexistence from the root zone:
```
# dig internal2
```
3. Query for a name inside the grafted domain:
```
# dig bla.test.internal
```
### What is the current behavior?
Synthesized NXDOMAIN, based on proof from the root:
```
;; AUTHORITY SECTION:
. 86399 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2022061400 1800 900 604800 86400
```
### What is the expected (_not necessarily correct!_) behavior?
A customer was surprised by this after upgrade from ~"v9.16" to ~"v9.18". Technically this is incorrect configuration and qualifies as squatting on a ICANN namespace, but it might not be as rare as we would wish.
### Relevant configuration files
Tested variants with the same result:
- `validate-except { test.internal; };`
- static-stub zone for test.internal
- primary zone for `internal` + forward zone for `test.internal` without delegation
- primary zone for `internal` + forward zone for `test.internal` **with** a "fake" delegation from `internal.` to `test.internal` - **this surprised me**
- primary zone for `internal` + static-stub zone for `test.internal` **with** a "fake" delegation from `internal.` to `test.internal` - **this surprised me** ([empty.db](/uploads/85816fc0dbc6786d760d297eb16bfd32/empty.db) [named.conf](/uploads/025f10df1fff9216ac4accf0b7938974/named.conf))
### Possible approaches
We need to discuss what's the best approach to this protocol-wise invalid configuration. Variants I came up with:
- [ ] Leave it as it is and let users suffer consequences of non-compliant configurations.
- [ ] Except zones listed in `validate-except` also from `synth-from-dnssec`.
- :skull_crossbones: Introduce a new knob for exceptions, like `synth-from-dnssec-except`.
- [ ] Ignore proofs of nonexistence from parent zones for explicitly configured zones (does not include type forward because it's not in the zone table)
- [x] Ignore proofs of nonexistence from parent zones for explicitly configured grafts (includes local zones + the forward table)July 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)Mark AndrewsMark Andrewshttps://gitlab.isc.org/isc-projects/bind9/-/issues/3320Rewrite ARM DNSSEC Chapter2022-07-07T08:39:09ZMatthijs Mekkingmatthijs@isc.orgRewrite ARM DNSSEC ChapterJuly 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)Matthijs Mekkingmatthijs@isc.orgMatthijs Mekkingmatthijs@isc.orghttps://gitlab.isc.org/isc-projects/bind9/-/issues/3061ifconfig.sh down messes up loopback interfaces2022-07-07T08:35:47ZIan Donaldsonifconfig.sh down messes up loopback interfaces<!--
If the bug you are reporting is potentially security-related - for example,
if it involves an assertion failure or other crash in `named` that can be
triggered repeatedly - then please do *NOT* report it here, but send an
email to [...<!--
If the bug you are reporting is potentially security-related - for example,
if it involves an assertion failure or other crash in `named` that can be
triggered repeatedly - then please do *NOT* report it here, but send an
email to [security-officer@isc.org](security-officer@isc.org).
-->
### Summary
ifconfig.sh up works fine, but ifconfig.sh down doesn't undo things correctly
and messes up main loopback interface, leaves 2 test interfaces lying around
### BIND version used
This bug has been around for a long time but here is a build with it...
```
BIND 9.16.16 (Stable Release) <id:0c314d8>
running on SunOS i86pc 5.11 11.4.40.107.3
built by make with '--prefix=/opt/local/bind' '--mandir=/opt/local/man' '--with-python=/opt/local/bin/python3.8' 'CPPFLAGS=-I/usr/include/kerberosv5'
compiled by GCC 7.3.0
compiled with OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021
linked to OpenSSL version: OpenSSL 1.1.1l 24 Aug 2021
compiled with libuv version: 1.40.0
linked to libuv version: 1.40.0
compiled with libxml2 version: 2.9.10
linked to libxml2 version: 20912
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
threads support is enabled
default paths:
named configuration: /opt/local/bind/etc/named.conf
rndc configuration: /opt/local/bind/etc/rndc.conf
DNSSEC root key: /opt/local/bind/etc/bind.keys
nsupdate session key: /opt/local/bind/var/run/named/session.key
named PID file: /opt/local/bind/var/run/named/named.pid
named lock file: /opt/local/bind/var/run/named/named.lock
```
Also present in 9.16.24
### Steps to reproduce
as root:
```
bin/tests/system/ifconfig.sh up
ordinarily a 'make test' would be done here...
bin/tests/system/ifconfig.sh down
```
### What is the current *bug* behavior?
```
ifconfig -a
lo0: flags=3001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,FIXEDMTU,VIRTUAL> mtu 1500 index 1
inet 127.0.0.1 netmask ff000000
...
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
...
bin/tests/system/ifconfig.sh up
bin/tests/system/ifconfig.sh down
ifconfig: could not create address: Can't assign requested address
ifconfig: cannot unplumb lo0:0: Invalid interface name
ifconfig: cannot unplumb lo0:0: Invalid interface name
ifconfig: could not create address: Can't assign requested address
ifconfig: could not create address: Can't assign requested address
ifconfig: setifaddr: SIOCGLIFNETMASK: lo0:20: no such interface
ifconfig: setifaddr: SIOCGLIFNETMASK: lo0:20: no such interface
ifconfig: setifflags: SIOCGLIFFLAGS: lo0:20: no such interface
ifconfig: cannot unplumb lo0:20: No such interface
ifconfig -a
lo0: flags=3001000848<LOOPBACK,RUNNING,MULTICAST,IPv4,FIXEDMTU,VIRTUAL> mtu 1500 index 1
inet 10.53.0.1 netmask ff000000
lo0:12: flags=3001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,FIXEDMTU,VIRTUAL> mtu 1500 index 1
inet 10.53.1.2 netmask ff000000
lo0:22: flags=3001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,FIXEDMTU,VIRTUAL> mtu 1500 index 1
inet 10.53.2.2 netmask ff000000
...
lo0: flags=2002000848<LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
lo0:12: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 fd92:7065:b8e:99ff::2/64
lo0:22: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 fd92:7065:b8e:ff::2/64
...
```
Note lo0 is down and lo12, lo22 are lying around still.
Fixed via:
```
ifconfig lo0 127.0.0.1 up
ifconfig lo0:12 down unplumb
ifconfig lo0:22 down unplumb
ifconfig lo0 inet6 up
ifconfig lo0:12 inet6 down unplumb
ifconfig lo0:22 inet6 down unplumb
```
### What is the expected *correct* behavior?
ifconfig -a before and after should look the same; lo0 shouldn't be touched
### Relevant configuration files
none
### Relevant logs and/or screenshots
### Possible fixes
Trivial fix; remove "-1" in the down section for int calculation.
Also make down do things in same order as up; don't see any advantage to doing
it in reverse order.
diff is against 9.16.24 release
```
*** bin/tests/system/ifconfig.sh.orig Tue Dec 7 12:24:49 2021
--- bin/tests/system/ifconfig.sh Fri Dec 17 03:33:55 2021
***************
*** 160,169 ****
2) ipv6="00" ;;
*) ipv6="" ;;
esac
! for ns in 10 9 8 7 6 5 4 3 2 1
do
[ $i -gt 0 -a $ns -gt 2 ] && continue
! int=`expr $i \* 10 + $ns - 1`
case "$sys" in
*-pc-solaris2.5.1)
ifconfig lo0:$int 0.0.0.0 down
--- 160,169 ----
2) ipv6="00" ;;
*) ipv6="" ;;
esac
! for ns in 1 2 3 4 5 6 7 8 9 10
do
[ $i -gt 0 -a $ns -gt 2 ] && continue
! int=`expr $i \* 10 + $ns`
case "$sys" in
*-pc-solaris2.5.1)
ifconfig lo0:$int 0.0.0.0 down
```July 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)Mark AndrewsMark Andrewshttps://gitlab.isc.org/isc-projects/bind9/-/issues/3429New issue 48509 by ClusterFuzz-External: bind9:dns_master_load_fuzzer: Intege...2022-07-07T08:33:16ZMark AndrewsNew issue 48509 by ClusterFuzz-External: bind9:dns_master_load_fuzzer: Integer-overflow in genname```
Detailed Report: https://oss-fuzz.com/testcase?key=5954650567737344
Project: bind9
Fuzzing Engine: libFuzzer
Fuzz Target: dns_master_load_fuzzer
Job Type: libfuzzer_ubsan_bind9
Platform Id: linux
Crash Type: Integer-overflow
Crash ...```
Detailed Report: https://oss-fuzz.com/testcase?key=5954650567737344
Project: bind9
Fuzzing Engine: libFuzzer
Fuzz Target: dns_master_load_fuzzer
Job Type: libfuzzer_ubsan_bind9
Platform Id: linux
Crash Type: Integer-overflow
Crash Address:
Crash State:
genname
generate
load_text
Sanitizer: undefined (UBSAN)
Regressed: https://oss-fuzz.com/revisions?job=libfuzzer_ubsan_bind9&range=202202240600:202202250603
Reproducer Testcase: https://oss-fuzz.com/download?testcase_id=5954650567737344
```
Test case:
```
$GENERATE 1-1 <FF> 0 type4 ${2147483647
```
`<FF>` is octet 0xff
```
0000000 24 47 45 4e 45 52 41 54 45 20 31 2d 31 20 ff 20
0000020 30 20 74 79 70 65 34 20 24 7b 32 31 34 37 34 38
0000040 33 36 34 37
0000044
```
```
732 n = snprintf(numbuf, sizeof(numbuf), fmt,
733 it + delta);
```
`it + delta` overflows.July 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)https://gitlab.isc.org/isc-projects/bind9/-/issues/3357test_send_timeout fails on FreeBSD2022-07-07T08:06:04ZMichal Nowaktest_send_timeout fails on FreeBSD`test_send_timeout` of the `timeouts` system test fails on FreeBSD 13.0/13.1 with [DNS python 2.2.1](https://www.freshports.org/dns/py-dnspython/) on `v9_16` (and only there):
```
S:timeouts:2022-05-16T17:21:18+0000
T:timeouts:1:A
A:tim...`test_send_timeout` of the `timeouts` system test fails on FreeBSD 13.0/13.1 with [DNS python 2.2.1](https://www.freshports.org/dns/py-dnspython/) on `v9_16` (and only there):
```
S:timeouts:2022-05-16T17:21:18+0000
T:timeouts:1:A
A:timeouts:System test timeouts
I:timeouts:PORTRANGE:5300 - 5399
I:timeouts:starting servers
D:timeouts:============================= test session starts ==============================
D:timeouts:platform freebsd13 -- Python 3.8.13, pytest-4.6.11, py-1.9.0, pluggy-0.13.1 -- /usr/local/bin/python3.8
D:timeouts:cachedir: .pytest_cache
D:timeouts:hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/root/bind9/bin/tests/system/timeouts/.hypothesis/examples')
D:timeouts:rootdir: /root/bind9/bin/tests/system/timeouts
D:timeouts:plugins: hypothesis-6.28.0
D:timeouts:collecting ... collected 8 items
D:timeouts:
D:timeouts:tests-tcp.py::test_initial_timeout PASSED [ 12%]
D:timeouts:tests-tcp.py::test_idle_timeout PASSED [ 25%]
D:timeouts:tests-tcp.py::test_keepalive_timeout PASSED [ 37%]
D:timeouts:tests-tcp.py::test_pipelining_timeout PASSED [ 50%]
D:timeouts:tests-tcp.py::test_long_axfr PASSED [ 62%]
D:timeouts:tests-tcp.py::test_send_timeout FAILED [ 75%]
D:timeouts:tests-tcp.py::test_max_transfer_idle_out SKIPPED [ 87%]
D:timeouts:tests-tcp.py::test_max_transfer_time_out SKIPPED [100%]
D:timeouts:
D:timeouts:=================================== FAILURES ===================================
D:timeouts:______________________________ test_send_timeout _______________________________
D:timeouts:
D:timeouts:named_port = 5300
D:timeouts:
D:timeouts: def test_send_timeout(named_port):
D:timeouts: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
D:timeouts: sock.connect(("10.53.0.1", named_port))
D:timeouts:
D:timeouts: # Send and receive single large RDATA over TCP
D:timeouts: msg = create_msg("large.example.", "TXT")
D:timeouts: (sbytes, stime) = dns.query.send_tcp(sock, msg, timeout())
D:timeouts: (response, rtime) = dns.query.receive_tcp(sock, timeout())
D:timeouts:
D:timeouts: # Send and receive 28 large (~32k) DNS queries that should
D:timeouts: # fill the default maximum 208k TCP send buffer
D:timeouts: for n in range(28):
D:timeouts: (sbytes, stime) = dns.query.send_tcp(sock, msg, timeout())
D:timeouts:
D:timeouts: # configure idle interval is 5 seconds, sleep 6 to make sure we are
D:timeouts: # above the interval
D:timeouts: time.sleep(6)
D:timeouts:
D:timeouts: with pytest.raises(EOFError):
D:timeouts: try:
D:timeouts: (sbytes, stime) = dns.query.send_tcp(sock, msg, timeout())
D:timeouts: (response, rtime) = dns.query.receive_tcp(sock, timeout())
D:timeouts: except ConnectionError as e:
D:timeouts:> raise EOFError from e
D:timeouts:E Failed: DID NOT RAISE <class 'EOFError'>
D:timeouts:
D:timeouts:tests-tcp.py:206: Failed
D:timeouts:================ 1 failed, 5 passed, 2 skipped in 69.28 seconds ================
I:timeouts:stopping servers
R:timeouts:FAIL
E:timeouts:2022-05-16T17:22:32+0000
```
This is [not yet visible in the CI](https://gitlab.isc.org/isc-projects/bind9/-/jobs/2512908/raw) because FreeBSD images use DNS python 1.16.0 and `timeouts` system test requires DNS python v2.
The problem will be visible when FreeBSD images get rebuild (e.g. by FreeBSD 13.0 -> 13.1 upgrade).
Git bisect points to 7a386256b6e80520637583268b9e9fef5fe0f743, a backport of 6ddac2d56de980717aaba7fc0ad73af0f3890399, which is already linked to isc-projects/bind9#3214 and isc-projects/bind9#3283, but I don't see core files nor `uv_tcp_close_reset`-liked issues in `ns1/named.run`.July 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)Michal NowakMichal Nowakhttps://gitlab.isc.org/isc-projects/bind9/-/issues/3409CID 353496: Error handling issue in lib/isc/netmgr/netmgr.c2022-07-07T08:04:26ZMichal NowakCID 353496: Error handling issue in lib/isc/netmgr/netmgr.cCoverity Scan finds suspicious that `isc__nm_process_sock_buffer()`'s return value is not being checked in `lib/isc/netmgr/netmgr.c`, it is elsewhere:
```
lib/isc/netmgr/netmgr.c: isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tcpd...Coverity Scan finds suspicious that `isc__nm_process_sock_buffer()`'s return value is not being checked in `lib/isc/netmgr/netmgr.c`, it is elsewhere:
```
lib/isc/netmgr/netmgr.c: isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tcpdns.c: result = isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tcpdns.c: result = isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tcpdns.c: result = isc__nm_process_sock_buffer(csock);
lib/isc/netmgr/tlsdns.c: result = isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tlsdns.c: result = isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tlsdns.c: result = isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tlsdns.c: result = isc__nm_process_sock_buffer(sock);
lib/isc/netmgr/tlsdns.c: result = isc__nm_process_sock_buffer(csock);
```
Related commit b432d5d3bcccf199141564b6a87d2cdac296ed7e.
From `v9_18`:
```
*** CID 353496: Error handling issues (CHECKED_RETURN)
/lib/isc/netmgr/netmgr.c: 2364 in isc__nm_resume_processing()
2358 REQUIRE(!atomic_load(&sock->client));
2359
2360 if (isc__nmsocket_closing(sock)) {
2361 return;
2362 }
2363
>>> CID 353496: Error handling issues (CHECKED_RETURN)
>>> Calling "isc__nm_process_sock_buffer" without checking return value (as is done elsewhere 8 out of 9 times).
2364 isc__nm_process_sock_buffer(sock);
2365 }
2366
2367 void
2368 isc_nmhandle_cleartimeout(isc_nmhandle_t *handle) {
2369 REQUIRE(VALID_NMHANDLE(handle));
```Not plannedOndřej SurýOndřej Surýhttps://gitlab.isc.org/isc-projects/bind9/-/issues/3390Building unit tests separately has been broken2022-07-07T07:58:09ZArtem BoldarievBuilding unit tests separately has been brokenIt seems that recent unit tests refactoring broke ability to build unit tests separately.
For example:
```
$ pwd
<project root>/tests/isc
$ make doh_test
No rule to make target '../../tests/libtest/libtest.la'
```
The issue makes it h...It seems that recent unit tests refactoring broke ability to build unit tests separately.
For example:
```
$ pwd
<project root>/tests/isc
$ make doh_test
No rule to make target '../../tests/libtest/libtest.la'
```
The issue makes it harder to debug errors in the code which these tests are supposed to verify.Not plannedhttps://gitlab.isc.org/isc-projects/kea/-/issues/2249early global reservation lookup for classes2022-07-07T07:11:25ZFrancis Dupontearly global reservation lookup for classesThe idea is to introduce a new global boolean parameter (*) which:
- makes global reservations to be search as soon as possible
- add reserved classes to the query
- perform classification
- check the drop class (if the query is in t...The idea is to introduce a new global boolean parameter (*) which:
- makes global reservations to be search as soon as possible
- add reserved classes to the query
- perform classification
- check the drop class (if the query is in the class drop it)
- use classes as guards for subnets and pools
This implements with other goodies the drop using reservations (more convenient in some cases than long classification expressions) asked by some customers.
This change should address #1973, #1543.kea2.1.4Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/dhcp/-/issues/250Documentation - server-id and failover2022-07-07T06:37:40ZPeter DaviesDocumentation - server-id and failover**Documentation - server-id and failove**r.
We would like to see an article on server-id and how server-id check affects
failover as discussed above, the material in the man page covers this.
Perhaps it can be recycled into the KB i...**Documentation - server-id and failove**r.
We would like to see an article on server-id and how server-id check affects
failover as discussed above, the material in the man page covers this.
Perhaps it can be recycled into the KB if a separate page is really needed.
relates to [RT #15524](https://support.isc.org/Ticket/Display.html?id=15524) and 'lease owned by peer'https://gitlab.isc.org/isc-projects/stork/-/issues/194'stats were not collected yet' situation should be better exposed in UI2022-07-06T09:23:19ZMichal Nowikowski'stats were not collected yet' situation should be better exposed in UIFrom @tomek:
> As for the two subnets, I think stats hook was not loaded on those two machines. It's a demo configuration error, not stork bug. But I agree that the situation can be handled a little bit better. @godfryd, @vicky, how abo...From @tomek:
> As for the two subnets, I think stats hook was not loaded on those two machines. It's a demo configuration error, not stork bug. But I agree that the situation can be handled a little bit better. @godfryd, @vicky, how about displaying a yellow warning that stats could not be retrieved and explain what the admin can do about it? Does it require any extra hook? Or is this a problem with the same subnet being handled by two servers?
ref: #47 and https://gitlab.isc.org/isc-projects/stork/issues/47#note_115095backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/704docker image improvements2022-07-05T15:51:17ZAndrei Pavelandrei@isc.orgdocker image improvementsOperations on creating, pulling, pushing, running docker containers are slow. Here are some ways they can improve.
* [x] Instead of installing required dependency packages each time, have an a priori prepared image that you start from t...Operations on creating, pulling, pushing, running docker containers are slow. Here are some ways they can improve.
* [x] Instead of installing required dependency packages each time, have an a priori prepared image that you start from that has all the dependencies installed.
* [x] Use the builder pattern in docker to separate build dependencies from the artefacts that are strictly required to run. This should greatly reduce the footprint of the image. It would look something like this in the dockerfile:
```
# Builder:
FROM image:version AS builder
RUN apt-get install ...
RUN go build ...
# Worker:
FROM image:version
COPY --from=builder /usr/bin/stork-server /usr/bin/stork-server
CMD /usr/bin/stork-server
```
* [x] Replace the few `sleep 15` commands with proper waiting of the dependency services to start up.1.5Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/stork/-/issues/789Fix strict template typing errors2022-07-05T13:53:28ZSlawek FigielFix strict template typing errorsI enabled the strict template typing option in the TypeScript configuration file (`tsconfig.json`), and I got a long list of minor issues. They shouldn't be dangerous as JavaScript has some flexibility in type interpretation. But fixing ...I enabled the strict template typing option in the TypeScript configuration file (`tsconfig.json`), and I got a long list of minor issues. They shouldn't be dangerous as JavaScript has some flexibility in type interpretation. But fixing them will allow us to enable more advanced features of the TypeScript compiler and get more help from IDE, for example, the IntelliSense feature and type checking in template files. Eliminating these bugs also prevents them from growing and becoming significant issues.
My configuration `tsconfig.json`:
```json
{
...
"angularCompilerOptions": {
...
"strictTemplates": true
}
}
```
Issue list:
```
Error: src/app/config-review-panel/config-review-panel.component.html:50:13 - error TS2322: Type 'string' is not assignable to type 'number'.
50 pageLinkSize="3"
~~~~~~~~~~~~
src/app/config-review-panel/config-review-panel.component.ts:30:18
30 templateUrl: './config-review-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component ConfigReviewPanelComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:20:25 - error TS2322: Type 'string' is not assignable to type 'number'.
20 min="1"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:21:25 - error TS2322: Type 'string' is not assignable to type 'number'.
21 max="{{ v6 ? 65535 : 255 }}"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:36:25 - error TS2322: Type 'string' is not assignable to type 'number'.
36 min="1"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:37:25 - error TS2322: Type 'string' is not assignable to type 'number'.
37 max="{{ v6 ? 65535 : 255 }}"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:88:43 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
88 <div [ngSwitch]="fieldControl.data.fieldType" class="p-d-flex p-ai-center p-mt-5 p-ml-3">
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:92:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
92 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:96:29 - error TS2322: Type 'string' is not assignable to type 'boolean'.
96 autoResize="true"
~~~~~~~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:100:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
100 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:100:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
100 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:106:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
106 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:111:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
111 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:111:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
111 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:115:46 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
115 <div id="{{ fieldControl.data.getInputId() }}" class="p-inputtext option-field p-p-0">
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:131:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
131 inputId="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:132:29 - error TS2322: Type 'string' is not assignable to type 'number'.
132 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:133:29 - error TS2322: Type 'string' is not assignable to type 'number'.
133 max="255"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:138:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
138 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:138:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
138 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:145:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
145 inputId="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:146:29 - error TS2322: Type 'string' is not assignable to type 'number'.
146 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:147:29 - error TS2322: Type 'string' is not assignable to type 'number'.
147 max="65535"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:152:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
152 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:152:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
152 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:159:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
159 inputId="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:160:29 - error TS2322: Type 'string' is not assignable to type 'number'.
160 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:161:29 - error TS2322: Type 'string' is not assignable to type 'number'.
161 max="4294967295"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
0m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:166:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
166 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:166:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
166 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:172:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
172 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:177:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
177 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:177:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
177 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:183:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
7m183 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:188:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
188 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:188:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
188 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:194:49 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
194 id="{{ fieldControl.data.getInputId(0) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:200:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
200 inputId="{{ fieldControl.data.getInputId(1) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:202:29 - error TS2322: Type 'string' is not assignable to type 'number'.
202 min="1"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:203:29 - error TS2322: Type 'string' is not assignable to type 'number'.
203 max="128"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:208:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
208 <label for="{{ fieldControl.data.getInputId(0) }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:208:92 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
208 <label for="{{ fieldControl.data.getInputId(0) }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:214:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
214 inputId="{{ fieldControl.data.getInputId(0) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:216:29 - error TS2322: Type 'string' is not assignable to type 'number'.
216 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:217:29 - error TS2322: Type 'string' is not assignable to type 'number'.
217 max="65535"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:222:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
222 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:222:91 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
222 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:224:54 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
224 inputId="{{ fieldControl.data.getInputId(1) }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:226:29 - error TS2322: Type 'string' is not assignable to type 'number'.
226 min="0"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:227:29 - error TS2322: Type 'string' is not assignable to type 'number'.
227 max="16"
~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:238:53 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
238 id="{{ fieldControl.data.getInputId() }}"
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:243:57 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
243 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:243:95 - error TS2339: Property 'data' does not exist on type 'AbstractControl'.
243 <label for="{{ fieldControl.data.getInputId() }}">{{ fieldControl.data.fieldType }}</label>
~~~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-form/dhcp-option-form.component.html:279:17 - error TS2322: Type 'string' is not assignable to type 'boolean'.
279 v6="false"
~~
src/app/dhcp-option-form/dhcp-option-form.component.ts:38:18
38 templateUrl: './dhcp-option-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionFormComponent.
Error: src/app/dhcp-option-set-form/dhcp-option-set-form.component.html:7:10 - error TS2322: Type 'AbstractControl' is not assignable to type 'FormGroup'.
7 [formGroup]="formArray.at(i)"
~~~~~~~~~
src/app/dhcp-option-set-form/dhcp-option-set-form.component.ts:13:18
13 templateUrl: './dhcp-option-set-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionSetFormComponent.
Error: src/app/dhcp-option-set-form/dhcp-option-set-form.component.html:7:10 - error TS2322: Type 'AbstractControl' is not assignable to type 'FormGroup'.
7 [formGroup]="formArray.at(i)"
~~~~~~~~~
src/app/dhcp-option-set-form/dhcp-option-set-form.component.ts:13:18
13 templateUrl: './dhcp-option-set-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component DhcpOptionSetFormComponent.
Error: src/app/events-panel/events-panel.component.html:44:9 - error TS2322: Type 'string' is not assignable to type 'number'.
44 pageLinkSize="3"
~~~~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:74:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
74 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:91:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
91 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:108:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
108 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/events-panel/events-panel.component.html:125:21 - error TS2322: Type 'string' is not assignable to type 'boolean'.
125 showClear="true"
~~~~~~~~~
src/app/events-panel/events-panel.component.ts:15:18
15 templateUrl: './events-panel.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component EventsPanelComponent.
Error: src/app/ha-status/ha-status.component.html:17:17 - error TS2322: Type 'string' is not assignable to type 'boolean'.
17 showServerLink="true"
~~~~~~~~~~~~~~
src/app/ha-status/ha-status.component.ts:12:18
12 templateUrl: './ha-status.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HaStatusComponent.
Error: src/app/host-form/host-form.component.html:92:32 - error TS2740: Type 'AbstractControl' is missing the following properties from type 'FormGroup': controls, registerControl, addControl, removeControl, and 3 more.
92 <ng-container [formGroup]="ipGroup" class="p-d-flex p-ai-start">
~~~~~~~~~
src/app/host-form/host-form.component.ts:163:18
163 templateUrl: './host-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HostFormComponent.
Error: src/app/host-form/host-form.component.html:125:65 - error TS2322: Type 'string' is not assignable to type 'number'.
125 <p-inputNumber ngDefaultControl min="1" max="128" formControlName="inputPDLength">
~~~
src/app/host-form/host-form.component.ts:163:18
163 templateUrl: './host-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HostFormComponent.
Error: src/app/host-form/host-form.component.html:125:73 - error TS2322: Type 'string' is not assignable to type 'number'.
125 <p-inputNumber ngDefaultControl min="1" max="128" formControlName="inputPDLength">
~~~
src/app/host-form/host-form.component.ts:163:18
163 templateUrl: './host-form.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component HostFormComponent.
Error: src/app/json-tree/json-tree.component.html:56:14 - error TS2322: Type 'string | number' is not assignable to type 'string'.
Type 'number' is not assignable to type 'string'.
56 [key]="item.key"
~~~
src/app/json-tree/json-tree.component.ts:30:18
30 templateUrl: './json-tree.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component JsonTreeComponent.
Error: src/app/json-tree/json-tree.component.html:71:13 - error TS2322: Type 'string' is not assignable to type 'boolean'.
71 showCurrentPageReport="true"
~~~~~~~~~~~~~~~~~~~~~
src/app/json-tree/json-tree.component.ts:30:18
30 templateUrl: './json-tree.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component JsonTreeComponent.
Error: src/app/json-tree/json-tree.component.html:131:42 - error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
131 (keyup.enter)="onEnterJumpToPage(jumpToPageBox.value - 1); jumpToPageBox.value = ''"
~~~~~~~~~~~~~~~~~~~~~~~
src/app/json-tree/json-tree.component.ts:30:18
30 templateUrl: './json-tree.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component JsonTreeComponent.
Error: src/app/kea-app-tab/kea-app-tab.component.html:7:11 - error NG8007: The property and event halves of the two-way binding 'visible' are not bound to the same target.
Find more at https://angular.io/guide/two-way-binding#how-two-way-binding-works
7 [(visible)]="appRenameDialogVisible"
~~~~~~~
src/app/rename-app-dialog/rename-app-dialog.component.ts:21:14
21 export class RenameAppDialogComponent implements OnInit, OnChanges {
~~~~~~~~~~~~~~~~~~~~~~~~
The property half of the binding is to the 'RenameAppDialogComponent' component.
src/app/kea-app-tab/kea-app-tab.component.ts:1:45
1 import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core'
~~~~~~~~~~~~~~~~~~~~~
The event half of the binding is to a native event called 'visible' on the <app-rename-app-dialog> DOM element.
Are you missing an output declaration called 'visibleChange'?
src/app/kea-app-tab/kea-app-tab.component.ts:23:18
23 templateUrl: './kea-app-tab.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component KeaAppTabComponent.
Error: src/app/kea-app-tab/kea-app-tab.component.html:298:34 - error TS2739: Type '{ machine: any; appType: any; daemonType: any; }' is missing the following properties from type '{ level: number; machine: any; appType: any; daemonType: any; user: any; }': level, user
298 [filter]="{
~~~~~~
src/app/kea-app-tab/kea-app-tab.component.ts:23:18
23 templateUrl: './kea-app-tab.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component KeaAppTabComponent.
Error: src/app/machines-page/machines-page.component.html:569:45 - error TS2739: Type '{ machine: any; }' is missing the following properties from type '{ level: number; machine: any; appType: any; daemonType: any; user: any; }': level, appType, daemonType, user
569 <app-events-panel #eventsTable [filter]="{ machine: machineTab.machine.id }"></app-events-panel>
~~~~~~
src/app/machines-page/machines-page.component.ts:21:18
21 templateUrl: './machines-page.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component MachinesPageComponent.
```backloghttps://gitlab.isc.org/isc-projects/bind9/-/issues/3437CDS error window too small2022-07-05T13:12:27ZMark AndrewsCDS error window too smallJob [#2622252](https://gitlab.isc.org/isc-private/bind9/-/jobs/2622252) failed for isc-private/bind9@36c4446d40e7765d0fec46109cf9e765ed7c3147:
It looks like we need to allow 10 seconds instead of 3 seconds
also `D:cds:stderr did not ma...Job [#2622252](https://gitlab.isc.org/isc-private/bind9/-/jobs/2622252) failed for isc-private/bind9@36c4446d40e7765d0fec46109cf9e765ed7c3147:
It looks like we need to allow 10 seconds instead of 3 seconds
also `D:cds:stderr did not match ''` is spurious. It should only be emitted when we are searching for $err.
```
I:cds:correct signature inception time (13)
D:cds:stderr did not match ''
D:cds:bad inception time 3609 at checktime.pl line 27, <> line 28.
I:cds:failed
D:cds:exit status does not match 0
I:cds:failed
I:cds:in-place reads modification time (14)
```
```
dnssec-cds: child records must not be signed before 20220704070137 (1656918097)
dnssec-cds: which child DNSKEY records match parent DS records?
dnssec-cds: no matching DS for DNSKEY 58053 8
dnssec-cds: found matching DS 38830 8 1
dnssec-cds: no matching DS for DNSKEY 23492 8
dnssec-cds: verify DNSKEY signature(s)
dnssec-cds: skip RRSIG by key 23492: no matching (C)DS
dnssec-cds: found RRSIG by key 38830
dnssec-cds: this is the oldest so far 20220704080146 (1656921706)
dnssec-cds: skip RRSIG by key 58053: no matching (C)DS
dnssec-cds: verify CDS signature(s)
dnssec-cds: skip RRSIG by key 23492: no matching (C)DS
dnssec-cds: found RRSIG by key 38830
dnssec-cds: skip RRSIG by key 58053: no matching (C)DS
dnssec-cds: child signature inception time 20220704080146 (1656921706)
dnssec-cds: from RRSIG DNSKEY by key 38830
dnssec-cds: which child DNSKEY records match new DS records?
dnssec-cds: no matching DS for DNSKEY 58053 8
dnssec-cds: found matching DS 38830 8 1
dnssec-cds: no matching DS for DNSKEY 23492 8
dnssec-cds: verify DNSKEY signature(s)
dnssec-cds: skip RRSIG by key 23492: no matching (C)DS
dnssec-cds: found RRSIG by key 38830
dnssec-cds: skip RRSIG by key 58053: no matching (C)DS
dnssec-cds: debug 1: calling free_rbtdb(cds.test)
dnssec-cds: debug 1: done free_rbtdb(cds.test)
dnssec-cds: debug 1: calling free_rbtdb(cds.test)
dnssec-cds: debug 1: done free_rbtdb(cds.test)
```July 2022 (9.16.31, 9.16.31-S1, 9.18.5, 9.19.3)