-
-
Notifications
You must be signed in to change notification settings - Fork 119
Expand file tree
/
Copy pathRELNOTES
More file actions
2765 lines (2508 loc) · 114 KB
/
RELNOTES
File metadata and controls
2765 lines (2508 loc) · 114 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
NSD RELEASE NOTES
4.14.3
================
FEATURES:
BUG FIXES:
- Fix #478: Feature request: reduce syslog noise from frequent
read-only control commands (e.g. stats_noreset). It logs the
verbosity command always, and others at 2 and higher.
- Fix XDP cleanup code being executed even if xdp is not configured
- Merge #481 from jaredmauch: Fix pedantic/CodeQL warning in sources
4.14.2
================
FEATURES:
BUG FIXES:
- Merge #477: Improve ignored old serial log message.
- Fix in IXFR processing, to commit the collected RRs before
deletions.
4.14.1
================
FEATURES:
- Merge #469 from jschlyter: Add container build files
BUG FIXES:
- Fix to note DSYNC RFC9859 reference.
- Fix to note reference for NXNAME in comment.
- Merge #470 from jschlyter: Update path to default container
configuration and entrypoint
- Fix rr-test.tdir so AMTRELAY relay field is "." with type 0
- Fix checkconf.tdir test to anticipate default values for
send-buffer-size and receive-buffer-size when configured with 0
- skip dns-cookies.tdir test with restricted unpriviledged userns
- Fix #474: metrics output with zone statistics to change
disallowed characters in metric names to underscores.
- Fix that non normalized NSEC next owner names are preserved.
- Fix to preserve case in literal dnames in RR types RRSIG,
IPSECKEY, TALINK, DSYNC and AMTRELAY.
- Fix for #474: Fix metrics name for zone statistics for
the queries_total to have disallowed characters changed
to underscores.
- Fix to silence restricted userns check in test script.
- Fix #475 info: axfr for domain from not-verified.
- Fix metrics to clear server variable after close and log error
on allocation failure.
- Fix to escape slashes when they appear in the zone name for a
pattern zonefile that is created. Also for per zone statistics.
- Merge #472: Reduce memory usage with zones with RRsets
consisting of many RRs.
- Fix man page for ip-address, add text about process numbers,
bindtodevice and setfib.
- Fix systemd signalling so that it does not reload for too long.
The reload is not signalled to systemd, so that long operations
can complete, without systemd acting on a timer to stop them.
4.14.0
================
FEATURES:
- Fix #137: Adds tcp-listen-queue: number config option to set
the TCP backlog. And the default for the listen TCP backlog is
set to -1 on BSDs and Linux.
- Merge #444: Refactor RDATA storage to reduce memory footprint
BUG FIXES:
- Fix empty debug statement body in catalog consumer zone process.
- Merge #459: Check for libfstrm version >= 0.4.
- For #459: Add configure check for fstrm_tcp_writer_options_init
in addition to the check for fstrm_iothr_init.
- Merge #460: Add XDP_OBJ fixing link errors for XDP.
- Fix XDP build error with --enable-checking
- Resolve warnings about mixed declaration and code and unused variable
- Fix confusing report for default send and receive buffer-size by
nsd-checkconf
- Fix to log more details when send-buffer-size or receive-buffer-size
is not granted, on verbosity level 2.
- Update in acx_nlnetlabs.m4 to version 49.
- Update in acx_nlnetlabs.m4 to version 50, with cache value for
malloc function check.
- Update acx_nlnetlabs.m4 to version 51, with nonstring unknown
attribute warning fix.
- Merge #466: Do not delete nodes from non-existent zone's NSEC3 hash
trees
4.13.0
================
FEATURES:
- Use '(all)' and '(none)' for the socket server affinity
log output instead of '*' and '-'.
- The --enable-bind8-stats feature, was already enabled by default,
is described as enabled by default in usage.
- The --enable-zone-stats feature is enabled by default. It can be
turned on with config like `zonestats: "%s"`.
- The --enable-ratelimit feature is enabled by default. The
ratelimit value is off by default. It can be turned on with
config like `rrl-ratelimit: 200`.
- The --enable-dnstap feature is enabled by default. If fstrm-devel
or protobuf-c are not found by configure it prints an error.
It can be turned on with config like `dnstap-enable: yes`.
- Change default for send-buffer-size to 4m, to mitigate a
cross-layer issue where the UDP socket send buffers are
exhausted waiting for ARP/NDP resolution. Thanks to Reflyable
for the report.
- Disable TLSv1.2 if TLSv1.3 is available.
- Merge #449: Add useful logging for XoT transfers.
- Merge #425: Add experimental XDP (AF_XDP) support for UDP traffic
- Merge #455: --with-dbdir option for configure to set the base
directory for the xfrd zone timer state file, the zone list file
and the cookie secrets file. Thanks Simon Josefsson.
- Merge #456: Spelling fixes in metrics.c. Thanks Simon Josefsson.
BUG FIXES:
- Fix punctuation of nsd -h output for the -a option.
- Fix checkconf unit test for when metrics are not enabled.
- Prometheus metrics tests require --enable-zone-stats.
- Add unit test for socket server affinity log output.
- Move xfrd-tcp unit test to its own file.
- Fix contrib/nsd.spec to omit configure flags that are default or
that do not exist.
- Fix to remove mention of obsolete root-server option.
- Fix mention of draft-rrtypes and root-server configure options.
- Fix ci workflow for enable dnstap.
- Fix to remove use of sprintf from metrics.
- Fix for fstrm and protobuf-c for ci workflow coverity-scan.
- Fix for parallel build of dnstap protoc-c output.
- Fix to remove unneeded mkdir from Makefile.
- Fix dnstap to use protoc and keep dnstap_config.h unchanged if
possible.
- Fix to provide doc for --enable-systemd.
- Fix to remove debug printout for configure dnstap header.
- Fix #441: SystemD script for NSD prevents using chroot.
- Fix to add checks for compression pointers and too long dnames in
internal dname routines, dname_make and ixfr dname_length.
- Fix to remove shell assignment operator from Makefile for DATE.
- make depend.
- Fix bitwise operators in conditional expressions with parentheses.
- Fix conditional expressions with parentheses for bitwise and.
- Merge #445: contrib/nsd.openrc.in: use supervise-daemon and
add `need net`.
- Fix #446 nsd_size_db_in_mem_bytes (size.db.mem) metric not
updated on reload.
- Merge #447: Minimize disruptions on reconfig.
- For #447: Updated simdzone to latest commit. With the padding
test changes.
- For #447: use need_to_send_reload to detect if a reload is issued.
- For #447: acl_list_equal already tests for TSIG key changes, so
removed the duplicate checks.
- For #447: log crypto error with the SSL_write error.
- Update simdzone with support for --enable-pie.
- Merge #454 from jaredmauch: handle rare case but seen in
production where data->query is NULL.
- Fix zonestatfd check
- Fix code analyzer warning, and bail out of handle_tcp_writing
and handle_tls_writing early when data->query is NULL.
4.12.0
================
FEATURES:
- Merge #418: Support for DSYNC, EID, NIMLOC, SINK, TALINK, DOA,
AMTRELAY and IPN resource record types.
- Merge #420: Zones get state "old-serial" with
`nsd-control zonestatus` when the served serial is older than
the one received by the transfer daemon.
- Merge #429: Add prometheus metrics
BUG FIXES:
- Fix re-enable to configure dns-cookies from config file, which was
accidentally removed with the 4.11.1 release.
- Fix #426: nsd crashes with patterns in config_apply_pattern.
- Fix for #430: Confusing documentation: word "outgoing".
- Fix for #430: Confusing documentation: word "outgoing". Add wording
to tcp-count, xfrd-tcp-max, xfrd-tcp-pipeline options.
- Fix that nsec3 prehash after a full transfer can create the nsec3
zone trees if they are needed.
- Fix in nsd-mem for a zone with ixfr data.
- Fix ixfr read routine for use after the temp region is freed of rr.
- Fix ixfr file read to manage numlist in temp domains.
- Fix nsd-mem to clean ixfr storage.
- Fix log print assert in server sockets for printing '-' empty.
- Fix notify_fmt test for xfrd file location.
- Fix sanitizer warnings in read_uint32.
- Fix sanitizer warning in tsig write of zero length mac and otherdata.
- Fix to please sanitizer for ixfr store of data in cancelled state.
- Fix multiple zone transfers in one reload so that xfrd does not
check the update as failed and restart the transfer.
- Fix read of ixfr file with rdata subdomain.
- Fix test checkconf for metrics options.
- Updated simdzone to include fixes for NSAP-PTR, LOC,
uninitialized reads, and comment nit.
- Fix #436: Fix print of RR type NSAP-PTR.
- Fix unit test call to zone_parse_string and initialize padding.
- Fix escape more characters when printing an RR type with an
unquoted string.
- Fix memory leak in the process of addzone.
- Fix to update common.sh for speed of kill_pid.
- Fix nsd-checkzone ixfr create cleanup on exit.
4.11.1
================
BUG FIXES:
- Fix #415: Fix out of tree builds. Thanks Florian Obser (@fobser).
- Fix #414: XoT interoperability with BIND and Knot
- Fix #421: old-main can quit before the reload process received
from old-main that it is done on the reload_listener pipe.
Thanks Otto Retter.
- Fix whitespace in comment.
- Fix #424: Stalled updates after corrupt transfer.
4.11.0
================
FEATURES:
- Support reloading configuration on SIGHUP.
- Fix #383: log timestamps in ISO8601 format with timezone.
This adds the option `log-time-iso: yes` that logs in ISO8601
format.
- Updated cookie secrets management.
The default cookie secret file location can be set at compile time
with the --with-cookiesecretsfile=path option to configure. The
default location is changed to {dbdir}/cookiesecrets.txt. The
previous default location will be checked at startup when there is
no cookie secrets file at the new default location.
A staging cookie can now also be configured in the configuration
file and secrets configured in the configuration file now take
precedence over those read from file.
All DNS related setting in the configuration file will be reevaluated
and effectuated after nsd-control reconfig.
- Merge #398: RFC 9660 The DNS Zone Version (ZONEVERSION) Option
- Merge #406: ohttp and tls-supported-groups SvcParam suppor
- Merge #408: NINFO, RKEY, RESINFO, WALLET, CLA and TA RR types
- Merge #409: Writing of NSAP-PTR, GPOS and HIP RR types
- Merge #407: Better balanced verbosity levels for logging.
BUG FIXES:
- Fix title underline and declaration after statement warnings.
- Add cross platform freebsd, openbsd and netbsd to github ci.
- Update simdzone to include fix for netbsd double bswap declarations,
and also semantic checks for DS and ZONEMD. And CFLAGS has -march
prepended to fix detection.
- Merge #376: Point the user towards tcpdump for logging individual
queries.
- Track $INCLUDEs in zone files.
- Fix ci to update macos-12 to the macos-15 runner image.
- Merge #390: Apply non-xfr tasks before xfr tasks.
This fixes an issue where non-xfr tasks are lost when they are
batch processed together with non-xfr tasks.
This merge also changes that notifies are passed on from the serve
processes to the xfrd directly instead of via main. This was
necessary to allow applying the non-xfr tasks without forking a
backup-main for the sole purpose of forwarding notifies.
- Merge #391: Update copyright lines (in version output).
- Fix #392: Inconsistent documentation about control-interface.
- Merge #395: Explain the zonefile example better.
- Merge #394: Fix the path to use doc/manual/.
- Fix analyzer issue in do_print_cookie_secrets to check for failure.
- Merge #404: Introducing Sphinx substitution in code blocks.
As well as other fixes with Sphinx build.
- Update Copyright lines in help output
- Merge #395: Explain zonefile example better
- Merge #394: Fix doc path (fixes "Edit on GitHub" button in the docs)
- Fix Makefile for parallel build failure around bison rule.
- Fix #405: Fix typo in documentation.
- Treat a mismatch in RRset TTLs as a warning.
4.10.1
================
FEATURES:
- Merge #352 from orlitzky: contrib: add OpenRC service script, config
file, and tmpfiles entry.
- Merge #337 from bilias: Mutual TLS-AUTH.
BUG FIXES:
- Fix incorrect punctuation of log messages.
- Fix for #317, document more text on pidfile permissions.
- Fix #334: RFC8482 behavior documentation.
- Fix for OpenSSL 3.0 deprecated functions.
- Merge #341: Fix allow-query wording in nsd.conf.5.in.
- Fix test script from making spurious output.
- Fix cpu_affinity and socket_partitioning tests for --enable-log-role.
- Fix #344: Update simdzone.
- Fix #347: Adjust verbosity for TLS (+TCP) to be 5.
- Merge #348: Move TLS logging to verbosity level 5.
- For #347: Also adjust verbosity of log message for remaining TCP
connections.
- Merge #349: log file name before loading.
- Use MAKE variable rather than make command directly in Makefile.
- Serialize WKS RRs using numeric values rather than names.
- Fix propagation of Makefile targets to simdzone.
- Do not log ACL mismatch on followed CNAMEs.
- Fix link of xfr-inspect for libssl dependency.
- Initialize tls_auth_port and tls_auth_xfr_only options.
- Merge #358: Fix Hurd build error due to log_err.
- Update simdzone to fix detection of AVX2 support.
4.10.0
================
FEATURES:
- Merge #278: Replace Flex+Bison based zone parser with simdzone.
Performance of loading zones and IXFRs is greatly improved by using
the simdzone project by NLnet Labs. The optimized presentation format
parser leverages SIMD instructions in modern CPUs to improve throughput.
Right now SSE4.2 and AVX2 instruction sets are supported, other
instruction sets will use the fallback implementation, which still is
a decent improvement over the Flex+Bison based parser.
BUG FIXES:
- Fix that when the server truncates the pidfile, it does not follow
symbolic links.
- Fix #317: nsd should not chown its PID file.
- For #317: Modify nsd service script to stop NSD from creating a
pid file that systemd is not using.
- Fix #324: Clarify the purpose of contrib/bug390.patch.
- Fix IXFR requests upstream for zones with a long name. Thanks for
the report to Yuuki Wakisaka from Internet Initiative Japan Inc.
- Unit test for dname subdomain test used by xfrd-tcp.c.
- Fix #329: TCP accept queues number.
- Fix that the reload handler for sigchild uses signal_add, and
also that the signal handler is restored when done.
- Fix that when server verify is done it resets the sigchild handler.
- Fix makedist.sh for simdzone inclusion.
- Fix makedist.sh to remove simdzone git tracking information and
scripting temporaries from tarball.
- Fix error output of makedist.sh.
- Use simdzone version with name parser fix.
- Bump simdzone version to fix OpenBSD build issues.
- Bump simdzone to include minor fixes.
4.9.1
================
BUG FIXES:
- Use rooted temporary path in makedist.sh.
4.9.0
================
FEATURES:
- Merge #315: Allow SOA apex queries to otherwise with allow-query
protected zones for clients matching a provide-xfr rule, because
clients that are allowed to transfer the zone need to be able to
query SOA at the apex preceding the actual transfer.
- Merge #304: Support for Catalog zones version "2" as specified in
RFC 9432. Both the consumer as well as the producer role are
implemented, but only a single catalog consumer zone is allowed.
The "coo" property, only relevant with multiple catalog consumer,
is therefore not supported. The "group" property is supported.
Have a look at the nsd.conf man page for details on how to
configure and use catalog zones.
BUG FIXES:
- Fix to sync the tests script file common.sh.
- Update test script file common.sh.
- Fix #306: Missing AC_SUBST(dbdir) breaks installation with 4.8.0.
- Fix for #306: Create directory for xfrd.state and zone.list files
in make install.
- Merge #307 from anandb-ripencc: Many improvements to the nsd.conf
man page.
- Fix #308: Deprecate "multi-master-check" in favour of
"multi-primary-check".
- Merge #309: More RFC 8499 compliance.
- Fix control-reconfig-xfrd test for zonestatus primary that is
printed by nsd-control zonestatus.
- Move acx_nlnetlabs.m4 to version 47, with crypt32 check.
- Move acx_nlnetlabs.m4 to version 48, with ssp and getaddrinfo
include check.
- Fix #313: nsd 4.8 stats with implausible spikes.
- Fix compile with memclean for xfrd nsd.db close.
- In xfrd del secondary zone, the timer could perhaps have
event_added, and if so, it would not be event_del if a tcp connection
is active at the time. This could cause the libevent event lists
to fail. Also fix to make sure to set event_added for the
nsd-control ssl nonblocking handshake and check event_added there
too, for extra certainty.
- Merge #316: Fix to reap defunct children by the reload process that
emerged when some serve child processes were still serving TCP
request while the others had already quit, while the reload process
was waiting for the signal from the backup/old main process that all
children exited.
- Fix (also from Merge #316) to reap exited children more frequently
from server main loop for processes that exited during reload, but
missed the initial reaping at start of the main loop because they
took somewhat longer to exit.
- Fix timing sensitivity in ixfr_outsync test.
- Test if debug is available in do-tests.
- Enforce timeout from NSD in ixfr_gone test.
- Update expressions in ixfr_and_restart test.
- Make algorithm explicit in control-repattern test.
- Switch algorithm to hmac-256 for testplan_mess test.
- Replace multiple strcat and strcpy by snprintf.
4.8.0
================
FEATURES:
- Merge #281: Proxy protocol. An implementation of PROXYv2 for NSD.
It can be configured with proxy-protocol-port: portnum with the
port number of the interface on which proxy traffic is handled.
The interface can support proxy traffic for UDP, TCP and TLS.
- Merge #301: improve the logging of ixfr fallbacks to axfr.
- Merge #305: faster stats. Statistics can be gathered while a reload
is in progress.
BUG FIXES:
- Merge #282: Improve nsd.conf man page.
- Fix unused but set variable warning.
- Fix #283: Compile failure in remote.c when --disable-bind8-stats
and --without-ssl are specified.
- Fix #284: dnstap_collector.c: SOCK_NONBLOCK is not available on
Mac/Darwin.
- Fix unused variable warning in unit test of udb.
- Merge #287: Update nsd.conf.5.in.
- Fix autoconf 2.69 warnings in configure.
- Merge #295: Update e-mail addresses, add ref to support contracts
- Fix for interprocess communication to set quit sync command from
main process explicitly.
- Fix processing of consolidated IXFRs.
- Remove on-disk database.
- Answer first query for connections accepted just before reload.
- Fix: Always instate write handler after reading a query over TCP.
- Fix #14: Set timeout to 3s when servicing remaining TCP connections.
- Merge #302: Test package fixes. Correct Auxfiles, kill_from_pidfile
function and fix drop_updates, rr-test and xfr_update tests.
- Fix unit test kill_from_pidfile function for nonexistent files
because the argument is evaluated before the test expression.
- Fix rr-test to also convert the contents of the just written output
file.
- Fix test set to remove -f nsd.db and rm nsd.db commands.
- Fix test set to remove difffile option.
4.7.0
================
FEATURES:
- Merge #263: Add bash autocompletion script for nsd-control.
- Fix #267: Allow unencrypted local operation of nsd-control.
- Merge #269 from Fale: Add systemd service unit.
- Fix #271: DNSTAP over TCP, with dnstap-ip: "127.0.0.1@3333".
- dnstap over TLS, default enabled. Configured with the
options dnstap-tls, dnstap-tls-server-name, dnstap-tls-cert-bundle,
dnstap-tls-client-key-file and dnstap-tls-client-cert-file.
BUG FIXES:
- Fix #239: -Wincompatible-pointer-types warning in remote.c.
- Fix configure for -Wstrict-prototypes.
- Fix #262: Zone(s) not synchronizing properly via TLS.
- Fix for #262: More error logging for SSL read failures for zone
transfers.
- Merge #265: Fix C99 compatibility issue.
- Fix #266: Fix build with --without-ssl.
- Fix for #267: neater variable definitions.
- Fix #270: reserved identifier violation.
- Fix to clean more memory on exit of dnstap collector.
- Fix dnstap to not check socket path when using IP address.
- Fix to compile without ssl with dnstap-tls code.
- Dnstap tls code fixes.
- Fix include brackets for ssl.h include statements, instead of quotes.
- Fix static analyzer warning about nsd_event_method initialization.
- Fix #273: Large TXT record breaks AXFR.
- Fix ixfr create from adding too many record types.
- Fix cirrus script for submit to coverity scan to libtoolize
the configure script components config.guess and config.sub.
- Fix readme status badge links.
- make depend.
- Fix for build to run flex and bison before compiling code that needs
the headers.
- Fix to remove unused whitespace from acx_nlnetlabs.m4 and config.h.
- For #279: Note that autoreconf -fi creates the configure script
and also the needed auxiliary files, for autoconf 2.69 and 2.71.
- Fix unused variable warning in unit test, from clang compile.
- Fix #240: Prefix messages originating from verifier.
- Fix #275: Drop unnecessary root server checks.
4.6.1
================
FEATURES:
- Set ALPN "dot" token during connection establishment as per RFC9103
section 7.1 (Thanks Cesar Kuroiwa).
- Add SVCB dohpath support
BUG FIXES:
- Fix static analyzer reports, fix wrong log print when skipping xfr,
fix to print error on pipe read fail, and assert an xfr is in
progress during packet checks.
- Use AC_PROG_CC_STDC with autoconf versions prior to 2.70.
- Add missing documentation for zone verification.
- Fix #212: Change commandline control actions to always log.
- Merge #231 from moritzbuhl: Fix checking if nonblocking sockets work
on OpenBSD.
- Change zone parsing to accept non-trailing newline.
4.6.0
================
FEATURES:
- Port zone-verification from CreDNS to NSD4.
BUG FIXES:
- Fix static analyzer reports on ixfrcreate temp file.
- Fixup wrong ixfrcreate fread return check.
4.5.0
================
FEATURES:
- Merge PR #209: IXFR out
This adds IXFR out functionality to NSD. NSD can copy IXFRs from
upstream to downstream clients, or create IXFRs from zonefiles.
The options store-ixfr: yes and create-ixfr: yes can be used to
turn this on. Default is turned off. The options ixfr-number and
ixfr-size can be used to tune the number of IXFR transfers and
total data size stored. This is configured per zone, the IXFRs
are served to the hosts that are allowed to perform zone transfers.
And if TSIG is configured, signed with the same key. The content
is stored to file if a zonefile is configured for the zone, in
the zonefile.ixfr and zonefile.ixfr.2, .. files. They contain
readable text format. The number of IXFRs is num.rixfr in
statistics output, also per zone if per zone statistics are enabled.
If offline, nsd-checkzone -i can create ixfr files.
NSD already supports requesting IXFRs, this addition allows NSD
to serve IXFR transfers to clients.
NSD stops responding with NOTIMPL to IXFR requests, also for zones
that do not have IXFR enabled. The clients gets a full zone reply
or a status reply if the serial is up to date.
BUG FIXES:
- Fix code analyzer zero divide warning.
- Fix code analyzer large value with assertion.
- Fix another code analyzer zero divide warning.
- Fix code analyzer warning about uninitialized temp storage in loop.
- Fix spelling error in comment in svcbparam_lookup_key.
- Update cirrus script FreeBSD version.
4.4.0
================
FEATURES:
- Merge #193: Lower memory usage of the XFRD process by default.
Instead of preallocating all elements, they are allocated when used.
There are options for managing the memory usage, defaults are the
same as before. xfrd-tcp-max sets the number of sockets for tcp
connections that xfrd can make to download zone contents. And
xfrd-tcp-pipeline the number of simultaneous transfers over the
same connection.
BUG FIXES:
- Fix #200: nsd-checkzone succeeds even with incorrect serial in SOA
record.
- Merge #204 from jonathangray: correct some spelling mistakes.
- Fix to change file mode before changing file owner for the
nsd-control unix socket file.
- Fix to document nsd-checkzone -p in the man page for nsd-checkzone.
- Fix #206: build with --without-ssl fails.
- Merge #207 Sync nsd-control-setup with unbound-control-setup to
generate certificates with SANs.
- Fix unit tests for nds-control-setup exit code and the
xfrd-tcp-max default.
4.3.9
================
BUG FIXES:
- Fix #198: nsd-control reconfig core dump.
- Fix to remove git tracking and ci information from release tarballs.
- Fix unit tests for new answer-cookie default.
- Fix socket_partitioning unit test for FreeBSD.
- Fix SVCB test to work around older dig with drill.
4.3.8
================
FEATURES:
- Merge #185 by cesarkuroiwa: Mutual TLS.
- Set default for answer-cookie to no. Because in server deployments
with mixed server software, a default of yes causes issues.
BUG FIXES:
- Fix to compile with OpenSSL 3.0.0beta2.
- Fix configure detection of SSL_CTX_set_security_level.
- Fix deprecated functions use from openssl 3.0.0beta2.
- For #184: Note that all zones can be targeted by some nsd-control
commands in the man page.
- Fixes for #185: Document client-cert, client-key and client-key-pw
in the man page. Fix yacc semicolon. Fix unused variable warning.
Use strlcpy instead of strncpy. Fix spelling error in error
printout.
- Merge #187: Support using system-wide crypto policies.
- Fix #188: NSD fails to build against openssl 1.1 on CentOS 7.
- Fix sed script in ssldir split handling.
- Fix #189: nsd 4.3.7 crash answer_delegation: Assertion
`query->delegation_rrset' failed.
- Fix #190: NSD returns 3 NSEC3 records for NODATA response.
- Fix compile failure with openssl 1.0.2.
- Fix #194: Incorrect NSEC3 response for SOA query below delegation
point.
4.3.7
================
FEATURES:
- Syntax of SVCB and HTTPS RR type as per draft-ietf-dnsop-svcb-https
- Client side DNS Zone Transfer-over-TLS (XoT) support as per
draft-ietf-dprive-xfr-over-tls
- Interoperable DNS Cookies support as per RFC7873 and RFC9018
BUG FIXES:
- Fix for #170: Fix build warnings when IPv6 is disabled.
- Fix #170: Disabled IPv6 and DNSTAP enabled triggers a build error.
- Fix for #128: Skip over sendmmsg invalid argument when port is zero.
- Fix #171: Invalid negative response (NSEC3) after IXFR.
- Fix to make nsec3_chain_find_prev return NULL if one nsec3 left.
- Fix #174: NS Records below delegation are not ignored (nsd-checkzone
also does not raise any issue).
- Fix #176: please review Loglevel on missing zonefile.
- Update the ACX_CHECK_NONBLOCKING_BROKEN test for the configure
script.
- Fix #179: log notice and server-count.
- Update configure nonblocking test to use host.
- Fix #168: Buffer overflow in the dname_to_string() function
- Fixes for child server processes getting out of sync with the
dnstap-collector process
- Fix gcc-11 warning on array bounds.
- Fix compile of cookies on FreeBSD without IPv6.
- Fix for loop initial declaration for nonc99 compiler
- Fix typo in xfrd-tcp.c.
4.3.6
================
FEATURES:
- Fix #146 with #147: DNSTAP log the local address of the server
with the dnstap logs.
- Enable configuring a control-interface by interface name.
- A -p option to nsd-checkzone to print a successfully read zone.
- Add Extended DNS Errors RFC8914
- Per zone Access Control List for queries
with an allow-query: option.
BUG FIXES:
- Prevent a few more yacc clashes.
- Merge PR #153 from fobser: Repair -fno-common linker errors
automatically.
- Fix uninitialized access of log_buf in error printout on apply ixfr.
- Fix AF_LOCAL compile error for Solaris.
- Fix ifaddrs compile error for Solaris.
- Fix ifaddrs.h compile error for Solaris.
- Man page documentation for dnstap options.
- Fix segfault on high verbosity for TLS channels with dnstap log
local address.
- Fix #163: A TSIG noncompliance with RFC 2845.
- Fix that wildcard is printed as a star instead of escaped, in
logs and in written zone files.
- Fix double config.h include in configlexer.c
- Fix to remove configyyrename from makedist.sh and also
update the flex and bison rules there to add the "c_" prefix.
- Fix configure to use header checks with compile.
- Fix warning about unused function log_addr.
- Fix #154: TXT with parentheses fails in 4.3.5.
- Align parsing of TXT elements with how bind does it.
- Fix configure failure for enable systemd because of autoconf.
4.3.5
================
BUG FIXES:
- Fix #143: xfrd no hysteresis with NOT IMPLEMENTED rcode.
- Fix #144: Typo fix in nsd.conf.5.in.
- For #145: Fix that service of remaining TCP and TLS connections
does not allow new queries to be made, the connection is closed.
Only existing queries and zone transfers are answered, new ones
are rejected by a close of the channel.
- Fix that nsd-control has timeout when connection is down.
- remove windows socket ifdefs from nsd-control.
- Fix #148: CNAME need not be followed after a synthesized CNAME
for a CNAME query.
- Fix configure.ac for autoconf 2.70.
- Fix #150: TXT record validation difference with BIND.
- Fix #151: DNAME not applied more than once to resolve the query.
- Fix #152: '*' in Rdata causes the return code to be NOERROR instead
of NX.
4.3.4
================
FEATURES:
- Merge PR #141: ZONEMD RR type.
BUG FIXES:
- Fix #129: ambiguous use of errno, in log message if sendmmsg fails.
- Fix #128: Fix that the invalid port number is logged for sendmmsg
failed: Invalid argument.
- Fix #127: two minor `-Wcast-qual` cleanups
- Fix #126: minor header hygiene
- Fix #125: include config.h in compat/setproctitle.c and fix
prototype of `setproctitle`
- Fix #133: fix 0-init of local ( stack ) buffer.
- Fix missing parenthesis on size of fix to init buffer.
- Fix #134: IPV4_MINIMAL_RESPONSE_SIZE vs EDNS_MAX_MESSAGE_LEN.
- Fix to add missing closest encloser NSEC3 for wildcard nodata type
DS answer.
- Remove unused init_cfg_parse routine from configlexer.
- Fix #138: NSD returns non-EDNS answer when QUESTION is empty.
- Fix #142: NODATA answers missin SOA in authority section after
CNAME chain.
- Fix for CVE-2020-28935 : Fix that symlink does not interfere
with chown of pidfile.
4.3.3
================
FEATURES:
- Follow DNS flag day 2020 advice and
set default EDNS message size to 1232.
- Merged PR #113 with fixes. Instead of listing an IP-address to
listen on, an interface name can be specified in nsd.conf, with
ip-address: eth0. The IP-addresses for that interface are then used.
- Port TSIG code for openssl 3.0.0-alpha6.
BUG FIXES:
- Fix make install with --with-pidfile="".
- Merge #115 from millert: Fix strlcpy() usage. From OpenBSD.
- Merge #117: mini_event.h (4.3.2 and 4.3.1) on OpenBSD cannot find
fd_set - patch.
- Fix that configure checks for EVP_sha256 to detect openssl, because
HMAC_CTX_new is deprecated in 3.0.0.
- Fix #119: fix compile warnings from new gcc.
- Fix #119: warn when trying to parse a directory.
- Merge PR #121: Increase log level of recreated database from
WARNING to ERR.
- Remove unused space from LIBS on link line.
- Updated date in nsd -v output.
4.3.2
================
FEATURES:
- Fix #96: log-only-syslog: yes sets to only use syslog, fixes
that the default configuration and systemd results in duplicate
log messages.
- Fix #107: nsd -v shows configure line, openssl version and libevent version.
- Fix #103 with #110: min-expire-time option. To provide a lower
bound for expire period. Expressed in number of seconds or
refresh+retry+1.
BUG FIXES:
- Fix for posix shell syntax for trap in nsd-control-setup
- Fix to omit the listen-on lines from log at startup, unless verbose.
- Fix uninitialised values for bindtodevice option at startup with
reuseport and multiple interfaces.
- Fix #95: Removed make test check because tpkg not included in
release tarballs.
- Fix unused parameter compile warnings.
- Fix #97: EDNS unknown version: query not in response.
- Fix #99: Fix copying of socket properties with reuseport enabled.
- Document default value for tcp-timeout.
- Merge PR#102 from and0x000: add missing default in documentation
for drop-updates.
- Fix unlink of pidfile warning if not possible due to permissions,
nsd can display the message at high verbosity levels.
- Removed contrib/nsd.service, example is too complicated and not
useful.
- Do not log EAGAIN errors for sendmmsg, to stop log spam on OpenBSD.
- Merge #108 from Nomis: Make the max-retry-time description clearer.
- Retry when udp send buffer is full to wait until buffer space is
available.
- Remove errno reset behaviour from sendmmsg and recvmmsg
replacement functions.
- Fix unit test for different nsd-control-setup -h exit code.
- Merge #112 from jaredmauch: log old and new serials when NSD
rejects an IXFR due to an old serial number.
- Fix #106: Adhere better to xfrd bounds. Refresh and retry times.
- Fix #105: Clearing hash_tree means just emptying the tree.
4.3.1
================
BUG FIXES:
- Fix #70: error: 'fd_set' undeclared.
- Fix #71: error: 'for' loop initial declaration used outside C99
mode.
- Fix to move declarations out of for loops in event test too.
- Fix #76: cpuid typedef for Hurd, DragonflyBSD compile.
- Fix #75: configure test for sched_setaffinity, and use
cpuset_setaffinity otherwise. Also test for presence of sysconf.
- Fix #74: GNU Hurd fix cast from pointer to integer of different size.
- Fix for #74, #75: cpuset test for header contents and provide code.
- Fix #78: Fix SO_SETFIB error on FreeBSD.
- Merge PR #83 from noloader: Fix GNU HURD sched_setaffinity compile.
- Fix #80: NetBSD and implicit declaration of reallocarray.
- Fix unknown u_long in util.c for Issue #80 .
- Merge PR #86 from noloader: Use precious variables for GREP, EGREP,
SED, AWK, LEX and YACC.
- For PR #86: Fix that programs loaded after CFLAGS and stuff is
set, specifically the compiler, so that it can work if it needs
special flags from that. Fix that lex only needs to support -i
if actually defined, otherwise the output included in the source
tarball can be used.
- Merge PR #90 by phicoh: O_CLOEXEC should be FD_CLOEXEC.
- Merge PR #92 by tonysgi: Fix typo.
- Merge PR #91 by gearnode: nsd-control-setup recreate certificates.
The '-r' option recreates certificates. Without it it creates them
if they do not exist, and does not modify them otherwise.
4.3.0
================
FEATURES:
- Fix to use getrandom() for randomness, if available.
- Fix #56: Drop sparse TSIG signing support in NSD.
Sign every axfr packet with TSIG, according to the latest
draft-ietf-dnsop-rfc2845bis-06, Section 5.3.1.
- Merge pull request #59 from buddyns: add FreeBSD support
for conf key ip-transparent.
- Add feature to pin server processes to specific cpus.
- Add feature to pin IP addresses to selected server processes.
- Set process title to identify individual processes.
- Merge PR#22: minimise-any: prefer polular and not large RRset,
from Daisuke Higashi.
- Add support for SO_BINDTODEVICE on Linux.
- Add support for SO_SETFIB on FreeBSD.
- Add feature to drop queries with opcode UPDATE.
BUG FIXES:
- Fix fname null check of fname in namedb_read_zonefile.
- Fix implicit cast of size in udb_radnode_array_grow.
- Fix ignore of return value of ssl_printf in remote.c.
- Fix unused check of fd in parent_handle_reload_command.
- Attempt to fix signedness of nscount lookup in ixfr query_process.
- Fix identical branches for ssl_print of errors in remote.c.
- Fix type cast bounds, signedness of opt_rdlen in edns_parse_record.
- Fix to separate header and data lines in parse_zone_list_file.
- Fix to define max number of EDNS records we are willing to
spend time on.
- Fix size of string len and capacity type cast in udbradtree.
- Fix to protect rrcount in tsig_find_rr from overflow.
- Annotate radix_find_prefix_node not reachable trail code.
- Fix to protect rrcount in packet_find_notify_serial from overflow.
- Fix to close socket on error in create_tcp_accept_sock.
- Fix to log on failure to chmod for socket for remote control.
- Fix to remove unneeded if in open of socket for remote control.
- Fix to restore input parameter on call failure in create_dirs.
- Please checker by terminating and initialising string read
by remote control.
- Fix to define upper bounds on rr counts read from untrusted packet
data.
- Separate acl_addr_match_range functions for ip4 and ip6, to
please checkers.
- Avoid unused variable warning in new match_range_v4 function.
- Fix whitespace in nsd.conf.sample.in, patch from Paul Wouters.
- use-systemd is ignored in nsd.conf, when NSD is compiled with
libsystemd it always signals readiness, if possible.
- Note that use-systemd is not necessary and ignored in man page.
- Fix unreachable code in ssl set options code.
- Fix bad shift in assertion code analyzer complaint.
- Fix responses for IXFR so that the authority section is not echoed
in the response.
- Merge PR#60: Minor portability fixes from michaelforney, with
avoid pointer arithmetic on void* and avoid unnecessary VLA.
- Fix that the retry wait does not exceed one day for zone transfers.
CHANGES:
- Set FD_CLOEXEC on opened sockets.
4.2.4
================
FEATURES:
- Fix #48: Add make distclean that removes config.h made by configure.
And add maintainer-clean that removes bison and flex output.
BUG FIXES:
- Detect fixed time memcmp for openssl 0.9.8 compatibility.
- Detect EC_KEY_new_by_curve_name for openssl 0.9.8.
- include limits.h for UINT_MAX.
- If no recvmmsg, dont use msg_flags member, but errno for error,
where our fallback function left it, msg_flags also does not exist
on some systems.
- Remove unused variable warning for portability.
- Fix #52: do not log transient network full errors unless higher
verbosity is set.
- Fix regressions in configparser.y where global variables were not
set for minimal-responses, round-robin and log-time-ascii.
4.2.3
================
FEATURES:
- For #39: confine-to-zone configures NSD to not return out-of-zone
additional information. Contributed by Greg Bock.
- For #21: pidfile "" allows to run NSD without a pidfile, for
startup management tools like daemontools.
- For #21 add
contrib/patch_for_s6_startup_and_other_service_supervisors.diff
that adds support for readiness notification with READY_FD from
Cameron Nemo.
BUG FIXES:
- Fix #35: excessive logging of ixfr failures, it stops the log when
fallback to axfr is possible. log is enabled at high verbosity.
- Fixup warnings during --disable-ipv6 compile.
- The nsd.conf includes are sorted ascending, for include statements
with a '*' from glob.
- Fix #38: log address and failure reason with tls handshake errors,
squelches (the same as unbound) some unless high verbosity is used.
- Fixup clang analysis warning in xfrd_parse_received_xfr_packet
master dereference.
CHANGES:
- Number of different UDP handlers has been reduced to one. recvmmsg
and sendmmsg implementations are now used on all platforms.
Compatible implementations are in place for systems that lack the
system calls.
- Socket options are now set in designated functions for easy reuse.
- Socket setup has been simplified for easy reuse.
- Configuration parser is now aware of the context in which an option
was specified.
- Fix #44: document that remote-control is a top-level nsd.conf
attribute.
4.2.2
================
BUG FIXES:
- Fix #20: CVE-2019-13207 Stack-based Buffer Overflow in the
dname_concatenate() function. Reported by Frederic Cambus.
It causes the zone parser to crash on a malformed zone file,
with assertions enabled, an assertion catches it.
- Fix #19: Out-of-bounds read caused by improper validation of
array index. Reported by Frederic Cambus. The zone parser
fails on type SIG because of mismatched definition with RRSIG.
- PR #23: Fix typo in nsd.conf man-page.
- Fix that NSD warns for wrong length of the hash in SSHFP records.
- Fix #25: NSD doesn't refresh zones after extended downtime,
it refreshes the old zones.
- Set no renegotiation on the SSL context to stop client
session renegotiation.
- Fix #29: SSHFP check NULL pointer dereference.
- Fix #30: SSHFP check failure due to missing domain name.
- Fix to timeval_add in minievent for remaining second in microseconds.
- PR #31: nsd-control: Add missing stdio header.
- PR #32: tsig: Fix compilation without HAVE_SSL.
- Cleanup tls context on xfrd exit.
- Fix #33: Fix segfault in service of remaining streams on exit.
- Fix error message for out of zone data to have more information.
4.2.1
================
FEATURES:
- Added num.tls and num.tls6 stat counters.
- PR #12: send-buffer-size, receive-buffer-size,
tcp-reject-overflow options for nsd.conf, from Jeroen Koekkoek.
- Fix #14, tcp connections have 1/10 to be active and have to work
every second, and then they get time to complete during a reload,
this is a process that lingers with the old version during a version
update.
BUG FIXES:
- Fix #13: Stray dot at the end of some log entries, removes dot
after updated serial number in log entry.
- Fix TLS cipher selection, the previous was redundant, prefers
CHACHA20-POLY1305 over AESGCM and was not as readable as it
could be.
- Consolidate server tls context create and remote control context
create, with hardening for the remote control tls context too.
- Fix to init event structure for reassignment.
- Fix to init event not pointer, in reassignment.
- Fix #15: crash in SSL library, initialize variables for TCP access
when TLS is configured.
- Fix tls handshake event callback function mistake, reported
by Mykhailo Danylenko.
- Initialize event structures before event_set, to stop uninitialized
values from setting event library lists and assertions, that would
sometimes also show after event_del.
- Do not use symbol from libc, instead use own replacement, if not
available, for accept4.
- Fix output of nsd-checkconf -h.
4.2.0
================
FEATURES:
- Print IP address when bind socket fails with error.
- Fix #4249: The option hide-identity: yes stops NSD from responding
with the hostname for chaos class queries. Implements the RFC4892
security considerations.
- Patch to add support for TCP Fast Open, from Sara
Dickinson (Sinodun).
- Patch to add support for tls service on a specified tls port,
from Sara Dickinson (Sinodun).
- Use travis for build check, initial unit test and clang analysis.
- TLS OCSP stapling support, enabled with tls-service-ocsp: filename,
patch from Andreas Schulze.
BUG FIXES:
- Fix to delete unused zparser.default_apex member.
- Fix that the TLS handshake routine sets the correct event to
continue when done.
- Fix that TLS renegotiation calls the read and write routines again
with the same parameters when the desired event has been satisfied.
- Fix that TCP Fastopen has better error message and supports OSX.
- Fix to avoid buffer alloc with global buffer in tls write handler.
- Fix to initialize event structure when accepting TCP connection.
- Disable TLS1.0, TLS1.1 and weak ciphers, enable
CIPHER_SERVER_PREFERENCE, patch from Andreas Schulze.
- further setup ssl ctx after the keys are loaded, for ECDH.
- Fix #10: Fix memory leaks caused by duplicate rr and include
instructions.
- Fix to define _OPENBSD_SOURCE to get reallocarray on NetBSD.
4.1.27
================
FEATURES:
- Deny ANY with only one RR in response, by default. Patch from
Daisuke Higashi. The deny-any statement in nsd.conf sets ANY
queries over UDP to be further moved to TCP as well.
Also no additional section processing for type ANY, reducing
the response size.
- Fix #4215: on-the-fly change of TSIG keys with patch from Igor, adds
nsd-control print_tsig, update_tsig, add_tsig, assoc_tsig
and del_tsig. These changes are gone after reload, edit the
config file (or a file included from it) to make changes that
last after restart.
BUG FIXES:
- Fix #4213: disable-ipv6 and dnstap compile error.
- Fix to reduce region_log_stats if condition, this removes a
debug statement.
- Fix for FreeBSD port with dnstap enabled.
- Fix to remove unused code.
- Fix #6: nsd-control-setup: Change validity time to a shorter
period (<2038).