Mark Andrews
f63b2d8fbd
update link order of libbind9
2020-12-21 01:10:00 +00:00
Michał Kępień
28d6c11f89
Merge branch 'v9_11_26-release' into 'v9_11'
...
Merge 9.11.26 release branch
See merge request isc-projects/bind9!4502
2020-12-16 21:39:40 +00:00
Michał Kępień
f9f7f4a95f
Set up release notes for BIND 9.11.27
2020-12-16 22:37:18 +01:00
Michał Kępień
65142b527e
Bump BIND_BASELINE_VERSION for ABI checks
2020-12-16 22:37:18 +01:00
Tinderbox User and Michał Kępień
94c269633c
Merge branch 'prep-release' into v9_11_26-release
2020-12-16 22:32:08 +01:00
Michał Kępień
52e342ebcd
Merge branch 'michal/prepare-release-notes-for-bind-9.11.26' into 'v9_11_26-release'
...
Prepare release notes for BIND 9.11.26
See merge request isc-private/bind9!226
2020-12-16 22:32:08 +01:00
Tinderbox User and Michał Kępień
363a2c3e5e
prep 9.11.26
2020-12-16 22:32:08 +01:00
Michał Kępień
85887a43b8
Prepare release notes for BIND 9.11.26
2020-12-16 22:32:08 +01:00
Michał Kępień
5575baf143
Reorder release notes
2020-12-16 22:32:08 +01:00
Michał Kępień
f39197e714
Tweak and reword release notes
2020-12-16 22:32:08 +01:00
Michał Kępień
fe90f08656
Tweak and reword recent CHANGES entries
2020-12-16 22:32:08 +01:00
Michal Nowak and Michał Kępień
2d0c8c8135
Miscellaneous minor documentation updates
2020-12-16 22:32:08 +01:00
Mark Andrews
01c6715169
Merge branch 'marka-noatomic-v9_11' into 'v9_11'
...
Address TSAN errors when atomics are not available
See merge request isc-projects/bind9!4267
2020-12-10 22:24:25 +00:00
Mark Andrews
8780605bc0
Flush client before putting it on inactive
...
WARNING: ThreadSanitizer: data race
Write of size 4 at 0x000000000001 by thread T1:
#0 get_client bin/named/client.c:3928:16
#1 ns_client_replace bin/named/client.c:3725:12
#2 query_recurse bin/named/query.c:4366:13
#3 query_find bin/named/query.c
#4 ns_query_start bin/named/query.c:9716:8
#5 client_request bin/named/client.c:3127:3
#6 dispatch lib/isc/task.c:1157:7
#7 run lib/isc/task.c:1331:2
Previous write of size 4 at 0x000000000001 by thread T2:
#0 exit_check bin/named/client.c:706:17
#1 ns_client_detach bin/named/client.c:3702:8
#2 query_resume bin/named/query.c:4186:3
#3 dispatch lib/isc/task.c:1157:7
#4 run lib/isc/task.c:1331:2
2020-12-10 06:31:20 +00:00
Mark Andrews
042e1e3a44
Lock check of DNS_ZONEFLG_EXITING flag
...
WARNING: ThreadSanitizer: data race
Read of size 4 at 0x000000000001 by thread T1 (mutexes: write M1):
#0 dns_zone_refresh lib/dns/zone.c:10447
#1 dns_zone_notifyreceive2 lib/dns/zone.c:13646
#2 dns_zone_notifyreceive2 lib/dns/zone.c:13497
#3 ns_notify_start bin/named/notify.c:150
#4 client_request bin/named/client.c:3137
#5 dispatch lib/isc/task.c:1157
#6 run lib/isc/task.c:1331
#7 <null> <null>
Previous write of size 4 at 0x000000000001 by thread T2 (mutexes: write M2):
#0 dns_zone_refresh lib/dns/zone.c:10466
#1 zone_maintenance lib/dns/zone.c:10236
#2 zone_timer lib/dns/zone.c:13136
#3 dispatch lib/isc/task.c:1157
#4 run lib/isc/task.c:1331
#5 <null> <null>
2020-12-10 06:31:20 +00:00
Mark Andrews
7982767d4a
Ignore TSAN errors with getcounter and setcounter
...
WARNING: ThreadSanitizer: data race
Read of size 8 at 0x000000000001 by thread T1:
#0 getcounter lib/isc/stats.c:289:15
#1 isc_stats_update_if_greater lib/isc/stats.c:464:24
#2 client_accept bin/named/client.c:3599:2
#3 client_start bin/named/client.c:833:4
#4 dispatch lib/isc/task.c:1157:7
#5 run lib/isc/task.c:1331:2
Previous write of size 8 at 0x000000000001 by thread T2:
#0 setcounter lib/isc/stats.c:313:27
#1 isc_stats_update_if_greater lib/isc/stats.c:466:3
#2 client_accept bin/named/client.c:3599:2
#3 client_start bin/named/client.c:833:4
#4 dispatch lib/isc/task.c:1157:7
#5 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
7382c3929a
Ingore TSAN errors accessing 'last'
...
WARNING: ThreadSanitizer: data race
Read of size 4 at 0x000000000001 by thread T1:
#0 log_quota bin/named/query.c:4291:22
#1 query_recurse bin/named/query.c:4346:4
#2 query_find bin/named/query.c
#3 ns_query_start bin/named/query.c:9716:8
#4 client_request bin/named/client.c:3115:3
#5 dispatch lib/isc/task.c:1157:7
#6 run lib/isc/task.c:1331:2
Previous write of size 4 at 0x000000000001 by thread T2:
#0 last_cmpxchg bin/named/query.c:81:6
#1 log_quota bin/named/query.c:4293:7
#2 query_recurse bin/named/query.c:4346:4
#3 query_find bin/named/query.c
#4 ns_query_start bin/named/query.c:9716:8
#5 client_request bin/named/client.c:3115:3
#6 dispatch lib/isc/task.c:1157:7
#7 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Ondřej Surý and Mark Andrews
761cedc2b4
Don't use rwlocks for reference counting
...
WARNING: ThreadSanitizer: data race
Write of size 8 at 0x000000000001 by thread T1 (mutexes: write M1):
#0 memset <null>
#1 mem_put lib/isc/mem.c:819
#2 isc___mem_free lib/isc/mem.c:1662
#3 isc__mem_free lib/isc/mem.c:3078
#4 isc___mem_putanddetach lib/isc/mem.c:1221
#5 isc__mem_putanddetach lib/isc/mem.c:3033
#6 destroyring lib/dns/tsig.c:494
#7 dns_tsigkeyring_dumpanddetach lib/dns/tsig.c:665
#8 destroy lib/dns/view.c:392
#9 dns_view_weakdetach lib/dns/view.c:704
#10 zone_free lib/dns/zone.c:1152
#11 zone_shutdown lib/dns/zone.c:13123
#12 dispatch lib/isc/task.c:1157
#13 run lib/isc/task.c:1331
#14 <null> <null>
Previous atomic read of size 8 at 0x000000000001 by thread T2:
#0 __tsan_atomic64_load <null>
#1 isc_rwlock_unlock lib/isc/rwlock.c:612
#2 dns_tsigkeyring_dumpanddetach lib/dns/tsig.c:632
#3 destroy lib/dns/view.c:392
#4 dns_view_weakdetach lib/dns/view.c:704
#5 zone_free lib/dns/zone.c:1149
#6 zone_shutdown lib/dns/zone.c:13123
#7 dispatch lib/isc/task.c:1157
#8 run lib/isc/task.c:1331
#9 <null> <null>
2020-12-10 06:31:19 +00:00
Mark Andrews
b86b3fe853
Ignore TSAN errors when accessing 'ns_client_requests'
2020-12-10 06:31:19 +00:00
Mark Andrews
d85196cdca
Ignore TSAN errors accessing init_count and header->count
...
WARNING: ThreadSanitizer: data race
Write of size 4 at 0x000000000001 by thread T1 (mutexes: write M1):
#0 subtractrdataset lib/dns/rbtdb.c:7065:21
#1 dns_db_subtractrdataset lib/dns/db.c:807:10
#2 diff_apply lib/dns/diff.c:377:14
#3 dns_diff_apply lib/dns/diff.c:458:10
#4 do_one_tuple lib/dns/zone.c:4103:11
#5 update_one_rr lib/dns/zone.c:4132:10
#6 keyfetch_done lib/dns/zone.c:9835:4
#7 dispatch lib/isc/task.c:1157:7
#8 run lib/isc/task.c:1331:2
Previous write of size 4 at 0x000000000001 by thread T2 (mutexes: write M2):
#0 addrdataset lib/dns/rbtdb.c:6869:21
#1 dns_db_addrdataset lib/dns/db.c:783:10
#2 addoptout lib/dns/ncache.c:264:10
#3 dns_ncache_add lib/dns/ncache.c:101:10
#4 ncache_adderesult lib/dns/resolver.c:5989:12
#5 ncache_message lib/dns/resolver.c:6165:11
#6 resquery_response lib/dns/resolver.c:8691:12
#7 dispatch lib/isc/task.c:1157:7
#8 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
fdb893ede1
Address data race in dns_stats_detach over references
...
WARNING: ThreadSanitizer: data race
Write of size 4 at 0x000000000001 by thread T1 (mutexes: write M1):
#0 dns_stats_detach lib/dns/stats.c:115:19
#1 destroy lib/dns/view.c:527:3
#2 dns_view_weakdetach lib/dns/view.c:704:3
#3 zone_free lib/dns/zone.c:1149:3
#4 zone_shutdown lib/dns/zone.c:13123:3
#5 dispatch lib/isc/task.c:1157:7
#6 run lib/isc/task.c:1331:2
Previous read of size 4 at 0x000000000001 by thread T2:
#0 dns_stats_detach lib/dns/stats.c:118:13
#1 destroy lib/dns/view.c:527:3
#2 dns_view_weakdetach lib/dns/view.c:704:3
#3 zone_free lib/dns/zone.c:1152:3
#4 zone_shutdown lib/dns/zone.c:13123:3
#5 dispatch lib/isc/task.c:1157:7
#6 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
e989ba66f0
Lock access to acache stats when not using atomics
...
WARNING: ThreadSanitizer: data race
Write of size 4 at 0x000000000001 by thread T1 (mutexes: write M1):
#0 dns_acache_getentry lib/dns/acache.c:1549:2
#1 rdataset_getadditional lib/dns/rbtdb.c:9912:11
#2 dns_rdataset_getadditional lib/dns/rdataset.c:711:11
#3 query_addadditional2 bin/named/query.c:1991:11
#4 additionaldata_ns lib/dns/./rdata/generic/ns_2.c:198:10
#5 dns_rdata_additionaldata lib/dns/rdata.c:1246:2
#6 dns_rdataset_additionaldata lib/dns/rdataset.c:629:12
#7 query_addrdataset bin/named/query.c:2435:8
#8 query_addrrset bin/named/query.c:2826:2
#9 query_addbestns bin/named/query.c:3525:2
#10 query_find bin/named/query.c:9204:4
#11 query_resume bin/named/query.c:4188:12
#12 dispatch lib/isc/task.c:1157:7
#13 run lib/isc/task.c:1331:2
Previous write of size 4 at 0x000000000001 by thread T2 (mutexes: write M2):
#0 dns_acache_countquerymiss lib/dns/acache.c:1201:2
#1 rdataset_getadditional lib/dns/rbtdb.c:9896:4
#2 dns_rdataset_getadditional lib/dns/rdataset.c:711:11
#3 query_addadditional2 bin/named/query.c:1991:11
#4 additionaldata_ns lib/dns/./rdata/generic/ns_2.c:198:10
#5 dns_rdata_additionaldata lib/dns/rdata.c:1246:2
#6 dns_rdataset_additionaldata lib/dns/rdataset.c:629:12
#7 query_addrdataset bin/named/query.c:2435:8
#8 query_addrrset bin/named/query.c:2826:2
#9 query_find bin/named/query.c:9176:4
#10 query_resume bin/named/query.c:4188:12
#11 dispatch lib/isc/task.c:1157:7
2020-12-10 06:31:19 +00:00
Mark Andrews
d4a59f232e
Ignore TSAN warnings in state_key_init - deliberate
...
WARNING: ThreadSanitizer: data race
Write of size 1 at 0x000000000001 by thread T1 (mutexes: write M1, write M2):
#0 state_key_init lib/dns/geoip2.c:150:5
#1 get_entry_for lib/dns/geoip2.c:241:11
#2 dns_geoip_match lib/dns/geoip2.c:410:10
#3 dns_aclelement_match2 lib/dns/acl.c:493:11
#4 dns_acl_match2 lib/dns/acl.c:298:7
#5 allowed bin/named/client.c:1869:11
#6 ns_client_isself bin/named/client.c:1934:7
#7 notify_isself lib/dns/zone.c:11055:11
#8 notify_send lib/dns/zone.c:11374:7
#9 notify_find_address lib/dns/zone.c:11178:2
#10 zone_notify lib/dns/zone.c:11616:3
#11 zone_maintenance lib/dns/zone.c:10291:4
#12 zone_timer lib/dns/zone.c:13136:2
#13 dispatch lib/isc/task.c:1157:7
#14 run lib/isc/task.c:1331:2
Previous read of size 1 at 0x000000000001 by thread T2 (mutexes: write M3):
#0 state_key_init lib/dns/geoip2.c:134:7
#1 get_entry_for lib/dns/geoip2.c:241:11
#2 dns_geoip_match lib/dns/geoip2.c:410:10
#3 dns_aclelement_match2 lib/dns/acl.c:493:11
#4 dns_acl_match2 lib/dns/acl.c:298:7
#5 allowed bin/named/client.c:1869:11
#6 ns_client_isself bin/named/client.c:1934:7
#7 notify_isself lib/dns/zone.c:11055:11
#8 notify_send lib/dns/zone.c:11374:7
#9 notify_find_address lib/dns/zone.c:11178:2
#10 zone_notify lib/dns/zone.c:11616:3
#11 zone_maintenance lib/dns/zone.c:10291:4
#12 zone_timer lib/dns/zone.c:13136:2
#13 dispatch lib/isc/task.c:1157:7
#14 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
5f6ab3512e
Silence TSAN warning on spins in isc_rwlock_lock
...
WARNING: ThreadSanitizer: data race
Write of size 4 at 0x000000000001 by thread T1:
#0 isc_rwlock_lock lib/isc/rwlock.c:720:2
#1 findnodeintree lib/dns/rbtdb.c:3060:2
#2 findnsec3node lib/dns/rbtdb.c:3164:10
#3 dns_db_findnsec3node lib/dns/db.c:528:10
#4 diff_apply lib/dns/diff.c:318:5
#5 dns_diff_applysilently lib/dns/diff.c:463:10
#6 signname bin/dnssec/./dnssec-signzone.c:1118:11
#7 sign bin/dnssec/./dnssec-signzone.c:1599:2
#8 dispatch lib/isc/task.c:1157:7
#9 run lib/isc/task.c:1331:2
Previous read of size 4 at 0x000000000001 by thread T2:
#0 isc_rwlock_lock lib/isc/rwlock.c:704:25
#1 addrdataset lib/dns/rbtdb.c:6853:2
#2 dns_db_addrdataset lib/dns/db.c:783:10
#3 diff_apply lib/dns/diff.c:370:14
#4 dns_diff_applysilently lib/dns/diff.c:463:10
#5 signname bin/dnssec/./dnssec-signzone.c:1118:11
#6 sign bin/dnssec/./dnssec-signzone.c:1599:2
#7 dispatch lib/isc/task.c:1157:7
#8 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
a241c69920
Lock read of refs when atomics are not available.
...
WARNING: ThreadSanitizer: data race
Read of size 4 at 0x000000000001 by thread T1 (mutexes: write M1):
#0 zone_iattach lib/dns/zone.c:5412:2
#1 soa_query lib/dns/zone.c:12725:2
#2 dispatch lib/isc/task.c:1157:7
#3 run lib/isc/task.c:1331:2
Previous write of size 4 at 0x000000000001 by thread T2 (mutexes: write M2):
#0 dns_zone_detach lib/dns/zone.c:5346:2
#1 ns_server_refreshcommand bin/named/./server.c:9880:3
#2 ns_control_docommand bin/named/control.c:247:12
#3 control_recvmessage bin/named/controlconf.c:469:13
#4 dispatch lib/isc/task.c:1157:7
#5 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
1caef804d5
Ignore thread sanitizer warnings in stats counters
...
set ISC_NO_SANITIZE_THREAD for incrementcounter and decrementcounter
WARNING: ThreadSanitizer: data race
Write of size 8 at 0x000000000001 by thread T1:
#0 decrementcounter lib/isc/stats.c:258:26
#1 isc_stats_decrement lib/isc/stats.c:350:2
#2 dec_stats lib/isc/unix/socket.c:934:3
#3 socketclose lib/isc/unix/socket.c:2270:3
#4 destroy lib/isc/unix/socket.c:2323:3
#5 isc__socket_detach lib/isc/unix/socket.c:3275:3
#6 isc_socket_detach lib/isc/unix/./../socket_api.c:128:3
#7 exit_check bin/named/client.c:593:4
#8 ns_client_next bin/named/client.c:947:8
#9 client_request bin/named/client.c
#10 dispatch lib/isc/task.c:1157:7
#11 run lib/isc/task.c:1331:2
Previous write of size 8 at 0x000000000001 by thread T2:
#0 incrementcounter lib/isc/stats.c:239:26
#1 isc_stats_increment lib/isc/stats.c:340:2
#2 inc_stats lib/isc/unix/socket.c:923:3
#3 internal_accept lib/isc/unix/socket.c:3741:4
#4 dispatch lib/isc/task.c:1157:7
#5 run lib/isc/task.c:1331:2
2020-12-10 06:31:19 +00:00
Mark Andrews
0e5a076cc1
Prevent inlining of code with thread sanitiser disabled
2020-12-10 06:31:19 +00:00
Mark Andrews
c2676bccc5
Add TSAN builds and tests with --disable-atomics specified
2020-12-10 06:31:19 +00:00
Mark Andrews
1b47fbab11
Merge branch '2324-key_mutex-undeclared-in-geoip2-c-with-threads-disabled' into 'v9_11'
...
Resolve "'key_mutex' undeclared in geoip2.c with threads disabled"
See merge request isc-projects/bind9!4454
2020-12-10 03:10:04 +00:00
Mark Andrews
d8047eeb94
Add CHANGES
2020-12-10 13:47:07 +11:00
Mark Andrews
f3c402baed
Only lock access to epoll_ctl when using watcher thread
2020-12-10 02:34:36 +00:00
Mark Andrews
7466b505b3
check result
2020-12-10 02:34:36 +00:00
Mark Andrews
136804b1a0
#ifdef protect key_mutex
2020-12-10 02:34:36 +00:00
Ondřej Surý
89a74d0b01
Merge branch 'ondrej/clang-format-11-v9_11' into 'v9_11'
...
Bump the clang version to 11 (v9.11)
See merge request isc-projects/bind9!4481
2020-12-08 19:09:22 +00:00
Ondřej Surý
e39899a718
Bump the clang version to 11 (stable)
2020-12-08 19:41:48 +01:00
Ondřej Surý
171e3ac2c9
Merge branch '2250-dns-flag-day-2020-revert-nocookie-udp-size-v9_11' into 'v9_11'
...
Resolve "DNS Flag Day 2020 - EDNS buffer size configuring does not work anymore"
See merge request isc-projects/bind9!4457
2020-12-02 15:33:25 +00:00
Ondřej Surý and Ondřej Surý
8aa8e521a9
Add CHANGES and release not for GL #2250
...
(cherry picked from commit c7d81f12f8 )
2020-12-02 12:06:22 +01:00
Ondřej Surý and Ondřej Surý
6425dfa9cb
Change the default value for nocookie-udp-size back to 4096
...
The DNS Flag Day 2020 reduced all the EDNS buffer sizes to 1232. In
this commit, we revert the default value for nocookie-udp-size back to
4096 because the option is too obscure and most people don't realize
that they also need to change this configuration option in addition to
max-udp-size.
(cherry picked from commit 79c196fc77 )
2020-12-02 12:04:28 +01:00
Mark Andrews
867649907c
Merge branch 'nothread-tast_test' into 'v9_11'
...
Pass task_test also with threads disabled
See merge request isc-projects/bind9!4442
2020-12-01 23:28:13 +00:00
Petr Mensik and Mark Andrews
839350f5f6
Pass task_test also with threads disabled
...
Condition cv is declared only when threads are used. Use it only in that
case. Test compiles and passes without thread support also.
2020-12-01 23:06:19 +00:00
Mark Andrews
0563ccd25d
Merge branch '2305-adjust-recursion-limits-v9_11' into 'v9_11'
...
Adjust default value of "max-recursion-queries"
See merge request isc-projects/bind9!4448
2020-12-01 22:29:48 +00:00
Mark Andrews
d09991e4e9
Adjust default value of "max-recursion-queries"
...
Since the queries sent towards root and TLD servers are now included in
the count (as a result of the fix for CVE-2020-8616),
"max-recursion-queries" has a higher chance of being exceeded by
non-attack queries. Increase its default value from 75 to 100.
(cherry picked from commit ab0bf49203 )
2020-12-01 22:13:05 +00:00
Mark Andrews
53203b8f04
Merge branch '2280-check-dname-handling-when-qtype-is-cname-any-2' into 'v9_11'
...
Resolve "Check DNAME handling when QTYPE is CNAME/ANY"
See merge request isc-projects/bind9!4394
2020-12-01 22:12:35 +00:00
Mark Andrews and Evan Hunt
ca9dc40634
Fix DNAME when QTYPE is CNAME or ANY
...
The synthesised CNAME is not supposed to be followed when the
QTYPE is CNAME or ANY as the lookup is satisfied by the CNAME
record.
2020-12-01 11:46:32 -08:00
Mark Andrews
0720c50351
Merge branch '2315-bind-9-11-22-9-11-25-fails-to-build-for-aep-hsm-native-pkcs11-v9_11' into 'v9_11'
...
Resolve "BIND 9.11.22 - 9.11.25 fails to build for AEP HSM native pkcs11"
See merge request isc-projects/bind9!4446
2020-12-01 13:51:40 +00:00
Mark Andrews
b578dd70d9
Add release note for [GL #2315 ]
...
(cherry picked from commit 356243aaec )
2020-12-01 23:31:16 +11:00
Mark Andrews
f9f8dc24e0
Add CHANGES
...
(cherry picked from commit 11a3545e32 )
2020-12-01 23:19:46 +11:00
Mark Andrews
0e7a4169bd
Fix misplaced declaration
...
(cherry picked from commit 49b9219bb3 )
2020-12-01 23:19:46 +11:00
Michał Kępień
319b718638
Merge branch '2310-make-docbook-sources-namespaced-again' into 'v9_11'
...
Make DocBook sources namespaced again
See merge request isc-projects/bind9!4440
2020-11-30 08:35:49 +00:00
Michał Kępień
dfdd3a8a2f
Make DocBook sources namespaced again
...
Every DocBook source document can be namespaced (DocBook 5) or
non-namespaced (DocBook 4). The set of XSL stylesheets used for
producing an output document can also be namespaced or non-namespaced.
Namespaced source documents should be used with namespaced stylesheets
and non-namespaced source documents should be used with non-namespaced
stylesheets. However, both stylesheet flavors contain processing rules
which allow them to be used interchangeably for any type of source
document.
Unfortunately, these processing rules became broken in version 1.79.1 of
the stylesheets, which means that non-namespaced source documents can no
longer be correctly transformed into man pages using namespaced
stylesheets and vice versa. This problem was fixed upstream [1], but no
released version of the XSL stylesheets contains that fix yet.
Back in 2016, this problem was reported as RT #43831 and allegedly fixed
in commit 1b8ce3b330 . However, that fix
only helped for the non-namespaced version of the stylesheets - while
also breaking man page generation for the namespaced flavor.
Since using namespaced DocBook sources is the current best practice
(DocBook 5), make BIND DocBook sources namespaced again. When using
version 1.79.1 or 1.79.2 of the XSL stylesheets, care must be taken to
ensure namespaced stylesheets are used for generating BIND
documentation.
[1] https://github.com/docbook/xslt10-stylesheets/issues/109
2020-11-30 09:33:32 +01:00