]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/dnsdistdist/docs/changelog.rst
Merge pull request #13387 from omoerbeek/rec-b-root-servers
[thirdparty/pdns.git] / pdns / dnsdistdist / docs / changelog.rst
1 Changelog
2 =========
3
4 .. changelog::
5 :version: 1.9.0-alpha3
6 :released: 20th of October 2023
7
8 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading.
9
10 .. change::
11 :tags: New Features, Protobuf
12 :pullreq: 13185
13
14 Log Extended DNS Errors (EDE) to protobuf
15
16 .. change::
17 :tags: Bugs Fixes
18 :pullreq: 13274
19
20 Enable back h2o support in our packages
21
22 .. change::
23 :tags: Improvements
24 :pullreq: 13275
25 :tickets: 13201
26
27 Add Lua binding to downstream address (Denis Machard)
28
29 .. change::
30 :tags: New Features, DNS over QUIC
31 :pullreq: 13280
32
33 Add support for incoming DNS over QUIC
34
35 .. change::
36 :tags: Bugs Fixes, DNS over HTTPS
37 :pullreq: 13298
38
39 Fix timeouts on incoming DoH connections with nghttp2
40
41 .. change::
42 :tags: Bug Fixes, Metrics
43 :pullreq: 13302
44
45 Fix a typo in 'Client timeouts' (phonedph1)
46
47 .. change::
48 :tags: Improvements
49 :pullreq: 13305
50
51 Set proper levels when logging messages
52
53 .. change::
54 :tags: Improvements
55 :pullreq: 13310
56
57 Fix several cosmetic issues in eBPF dynamic blocks, update documentation
58
59 .. change::
60 :tags: Improvements, Webserver
61 :pullreq: 13335
62
63 Display the rule name, if any, in the web interface
64
65 .. change::
66 :tags: Bug Fixes
67 :pullreq: 13340
68
69 Netmask: Normalize subnet masks coming from a string
70
71 .. change::
72 :tags: Bug Fixes
73 :pullreq: 13372
74 :tickets: 13280
75
76 Prevent DNS header alignment issues
77
78 .. changelog::
79 :version: 1.9.0-alpha2
80 :released: Never
81
82 This version was never released due to a last-minute issue in RPM packaging.
83
84 .. changelog::
85 :version: 1.8.2
86 :released: 11th of October 2023
87
88 This release fixes the HTTP2 rapid reset attack for the packages we provide.
89 If you are compiling DNSdist yourself or using the packages provided by your distribution,
90 please check that the h2o library has been patched to mitigate this vulnerability.
91
92 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.8.x.
93
94 .. change::
95 :tags: Bug Fixes, Security
96 :pullreq: #13349
97
98 Switch to our fork of h2o to mitigate the HTTP2 rapid reset attack
99
100 .. changelog::
101 :version: 1.7.5
102 :released: 11th of October 2023
103
104 This release fixes the HTTP2 rapid reset attack for the packages we provide.
105 If you are compiling DNSdist yourself or using the packages provided by your distribution,
106 please check that the h2o library has been patched to mitigate this vulnerability.
107
108 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
109
110 .. change::
111 :tags: Bug Fixes, Security
112 :pullreq: #13351
113
114 Switch to our fork of h2o to mitigate the HTTP2 rapid reset attack
115
116 .. changelog::
117 :version: 1.9.0-alpha1
118 :released: 18th of September 2023
119
120 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading.
121
122 .. change::
123 :tags: Improvements, DNS over HTTPS
124 :pullreq: 12678
125
126 Add support for incoming DoH via nghttp2
127
128 .. change::
129 :tags: Improvements
130 :pullreq: 13145
131
132 Fix building our fuzzing targets from a dist tarball
133
134 .. change::
135 :tags: Removals
136 :pullreq: 13168
137
138 Change the default for building with net-snmp from `auto` to `no`
139
140 .. change::
141 :tags: Improvements
142 :pullreq: 13135
143
144 Add a DNSHeader:getTC() Lua binding
145
146 .. change::
147 :tags: New Features
148 :pullreq: 13013
149 :tickets: 13007
150
151 Add Lua bindings to access selector and action
152
153 .. change::
154 :tags: Improvements
155 :pullreq: 13088
156
157 Stop passing -u dnsdist -g dnsdist on systemd's ExecStart
158
159 .. change::
160 :tags: Improvements, Metrics
161 :pullreq: 13009
162
163 Add metrics for health-check failures
164
165 .. change::
166 :tags: Improvements
167 :pullreq: 12931
168
169 Use arc4random only for random values
170
171 .. change::
172 :tags: New Features
173 :pullreq: 12689
174
175 Add an option to write `grepq`'s output to a file
176
177 .. changelog::
178 :version: 1.8.1
179 :released: 8th of September 2023
180
181 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.8.x.
182
183 .. change::
184 :tags: Bug Fixes
185 :pullreq: 12820
186
187 Print the received, invalid health-check response ID
188
189 .. change::
190 :tags: Bug Fixes
191 :pullreq: 12821
192
193 Account for the health-check run time between two runs
194
195 .. change::
196 :tags: Bug Fixes
197 :pullreq: 12822
198
199 Properly set the size of the UDP health-check response
200
201 .. change::
202 :tags: Bug Fixes
203 :pullreq: 12823
204
205 Add the query ID to health-check log messages, fix nits
206
207 .. change::
208 :tags: Bug Fixes
209 :pullreq: 12824
210
211 Stop setting SO_REUSEADDR on outgoing UDP client sockets
212
213 .. change::
214 :tags: Bug Fixes, DNS over HTTPS
215 :pullreq: 12977
216
217 Fix a crash when X-Forwarded-For overrides the initial source IP
218
219 .. change::
220 :tags: Bug Fixes
221 :pullreq: 13116
222
223 Properly handle short reads on backend upgrade discovery
224
225 .. change::
226 :tags: Bug Fixes
227 :pullreq: 13117
228
229 Undo an accidentally change of disableZeroScope to disableZeroScoping (Winfried Angele)
230
231 .. change::
232 :tags: Bug Fixes
233 :pullreq: 13118
234 :tickets: 13027
235
236 Fix the group of the dnsdist.conf file when installed via RPM
237
238 .. change::
239 :tags: Bug Fixes
240 :pullreq: 13119
241 :tickets: 12926
242
243 Work around Red Hat 8 messing up OpenSSL's headers and refusing to fix it
244
245 .. change::
246 :tags: Bug Fixes
247 :pullreq: 13120
248
249 Fix a typo for libedit in the dnsdist features list
250
251 .. change::
252 :tags: Improvements
253 :pullreq: 13121
254
255 Stop using the now deprecated ERR_load_CRYPTO_strings() to detect OpenSSL
256
257 .. change::
258 :tags: Improvements
259 :pullreq: 13122
260
261 Automatically load Lua FFI inspection functions
262
263 .. change::
264 :tags: New Features
265 :pullreq: 13123
266
267 Allow declaring custom metrics at runtime
268
269 .. change::
270 :tags: Bug Fixes
271 :pullreq: 13124
272
273 Fix webserver config template for our docker container (Houtworm)
274
275 .. change::
276 :tags: Improvements
277 :pullreq: 13125
278
279 Increment the "dyn blocked" counter for eBPF blocks as well
280
281 .. change::
282 :tags: Bug Fixes
283 :pullreq: 13127
284
285 YaHTTP: Prevent integer overflow on very large chunks
286
287 .. change::
288 :tags: Bug Fixes
289 :pullreq: 13128
290
291 Fix the console description of PoolAction and QPSPoolAction (phonedph1)
292
293 .. change::
294 :tags: Bug Fixes
295 :pullreq: 13129
296 :tickets: 12711
297
298 Properly handle reconnection failure for backend UDP sockets
299
300 .. change::
301 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
302 :pullreq: 13130
303
304 Fix a memory leak when processing TLS tickets w/ OpenSSL 3.x
305
306 .. change::
307 :tags: Bug Fixes, DNS over HTTPS
308 :pullreq: 13131
309 :tickets: 12762
310
311 Fix cache hit and miss metrics with DoH queries
312
313 .. change::
314 :tags: Bug Fixes
315 :pullreq: 13132
316
317 SpoofAction: copy the QClass from the request (Christof Chen)
318
319 .. change::
320 :tags: Improvements
321 :pullreq: 13133
322
323 Make DNSQType.TSIG available (Jacob Bunk)
324
325 .. change::
326 :tags: Bug Fixes
327 :pullreq: 13150
328
329 Properly record self-answered UDP responses with recvmmsg
330
331 .. change::
332 :tags: Bug Fixes, DNS over TLS
333 :pullreq: 13178
334
335 Fix a race when creating the first TLS connections
336
337 .. changelog::
338 :version: 1.7.4
339 :released: 14th of April 2023
340
341 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
342
343 .. change::
344 :tags: Bug Fixes
345 :pullreq: 12183
346 :tickets: 12177
347
348 Fix building with boost < 1.56
349
350 .. change::
351 :tags: Bug Fixes
352 :pullreq: 12460
353 :tickets: 12453
354
355 lock.hh: include <stdexcept>
356
357 .. change::
358 :tags: Bug Fixes
359 :pullreq: 12569
360
361 dnsdist-protocols.hh: include <cstdint> (Sander Hoentjen)
362
363 .. change::
364 :tags: New Features
365 :pullreq: 12621
366 :tickets: 12074
367
368 Add getPoolNames() function, returning a list of pool names (Christof Chen)
369
370 .. change::
371 :tags: Bug Fixes
372 :pullreq: 12535
373
374 Fix the formatting of 'showServers'
375
376 .. change::
377 :tags: Bug Fixes
378 :pullreq: 12529
379 :tickets: 11905
380
381 Properly record the incoming flags on a timeout
382
383 .. change::
384 :tags: Bug Fixes, Metrics
385 :pullreq: 12484
386 :tickets: 11498
387
388 Properly update rcode-related metrics on RCodeAction hits
389
390 .. change::
391 :tags: Bug Fixes, DNS over TLS, DNS over HTTPS
392 :pullreq: 12421
393 :tickets: 12341
394
395 Skip invalid OCSP files after issuing a warning
396
397 .. change::
398 :tags: Bug Fixes
399 :pullreq: 12365
400 :tickets: 12357
401
402 Prevent an underflow of the TCP d_queued counter
403
404 .. change::
405 :tags: Bug Fixes, DNS over HTTPS
406 :pullreq: 12327
407
408 Fix the health-check timeout computation for DoH backend
409
410 .. change::
411 :tags: Bug Fixes, Webserver
412 :pullreq: 12260
413 :tickets: 9349
414
415 Properly encode json strings containing binary data
416
417 .. change::
418 :tags: Bug Fixes, DNS over TLS
419 :pullreq: 12237
420 :tickets: 12236
421
422 Ignore unclean TLS session shutdown
423
424 .. change::
425 :tags: Bug Fixes
426 :pullreq: 12100
427 :tickets: 12099
428
429 Properly handle single-SOA XFR responses
430
431 .. change::
432 :tags: Bug Fixes
433 :pullreq: 11830
434 :tickets: 4155
435
436 Also reconnect on ENETUNREACH. (Asgeir Storesund Nilsen)
437
438 .. change::
439 :tags: Bug Fixes
440 :pullreq: 11729
441 :tickets: 11728
442
443 Fix a bug in SetEDNSOptionAction
444
445 .. change::
446 :tags: Bug Fixes
447 :pullreq: 11718
448
449 Fix the number of concurrent queries on a backend TCP conn
450
451 .. changelog::
452 :version: 1.8.0
453 :released: 30th of March 2023
454
455 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.8.x.
456
457 .. change::
458 :tags: Bug Fixes
459 :pullreq: 12687
460
461 Fix 'Unknown key' issue for actions and rules parameters
462
463 .. change::
464 :tags: Bug Fixes
465 :pullreq: 12672
466
467 Fix a dnsheader unaligned case
468
469 .. change::
470 :tags: Bug Fixes
471 :pullreq: 12654
472
473 secpoll: explicitly include necessary ctime header for time_t
474
475 .. changelog::
476 :version: 1.8.0-rc3
477 :released: 16th of March 2023
478
479 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.8.x.
480
481 .. change::
482 :tags: Bug Fixes
483 :pullreq: 12641
484
485 Use the correct source address when harvesting failed
486
487 .. change::
488 :tags: Bug Fixes
489 :pullreq: 12639
490
491 Fix a race when a cross-protocol query triggers an IO error
492
493 .. change::
494 :tags: Improvements, Metrics, Webserver
495 :pullreq: 12638
496
497 Report per-incoming transport latencies in the web interface
498
499 .. change::
500 :tags: Improvements, Metrics
501 :pullreq: 12648
502
503 Report the TCP latency for TCP-only Do53, DoT and DoH backends
504
505 .. change::
506 :tags: Improvements
507 :pullreq: 12626
508
509 Count hits in the StatNode
510
511 .. changelog::
512 :version: 1.8.0-rc2
513 :released: 9th of March 2023
514
515 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.8.x.
516
517 .. change::
518 :tags: Improvements, Protobuf
519 :pullreq: 12615
520
521 Add Lua bindings for PB requestorID, deviceName and deviceID
522
523 .. change::
524 :tags: Improvements
525 :pullreq: 12593
526
527 Clean up the fortify and LTO m4 by not directly editing flags
528
529 .. change::
530 :tags: Bug Fixes
531 :pullreq: 12592
532
533 Only increment the 'servfail-responses' metric on backend responses (phonedph1)
534
535 .. change::
536 :tags: Bug Fixes
537 :pullreq: 12586
538
539 Fix the harvesting of destination addresses
540
541 .. change::
542 :tags: Improvements
543 :pullreq: 12589
544
545 YaHTTP: Better detection of whether C++11 features are available
546
547 .. change::
548 :tags: Bug Fixes, Protobuf
549 :pullreq: 12588
550
551 Fix compilation with DoH disabled (Adam Majer)
552
553 .. change::
554 :tags: Improvements
555 :pullreq: 12587
556
557 Skip signal-unsafe logging when we are about to exit, with TSAN
558
559 .. changelog::
560 :version: 1.8.0-rc1
561 :released: 23rd of February 2023
562
563 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.8.x.
564
565 .. change::
566 :tags: Bug Fixes
567 :pullreq: 12569
568
569 Include <cstdint> in dnsdist-protocols.hh (Sander Hoentjen)
570
571 .. change::
572 :tags: Improvements
573 :pullreq: 12543
574
575 Enable Link-Time Optimization for our packages
576
577 .. change::
578 :tags: Improvements, Metrics
579 :pullreq: 12553
580
581 Add support for custom prometheus names in custom metrics
582
583 .. change::
584 :tags: Improvements, Protobuf
585 :pullreq: 12520
586
587 Add support for metadata in protobuf messages
588
589 .. change::
590 :tags: Improvements, DNS over HTTPS, DNS over TLS, Performance
591 :pullreq: 12545
592
593 Enable experimental kTLS support with OpenSSL on Linux
594
595 .. change::
596 :tags: Improvements, Performance
597 :pullreq: 12537
598
599 Improve the scalability of MaxQPSIPRule()
600
601 .. change::
602 :tags: Improvements
603 :pullreq: 12538
604
605 Stop using the deprecated `boost::optional::get_value_or`
606
607 .. change::
608 :tags: Bug Fixes
609 :pullreq: 12535
610
611 Fix the formatting of 'showServers'
612
613 .. change::
614 :tags: Bug Fixes
615 :pullreq: 12529
616 :tickets: 11905
617
618 Properly record the incoming flags on a timeout
619
620 .. change::
621 :tags: Improvements
622 :pullreq: 12530
623 :tickets: 10932
624
625 List version number early
626
627 .. change::
628 :tags: Improvements, DNS over TLS, DNS over HTTPS
629 :pullreq: 12423
630
631 OpenSSL 3.0: Offer TLS providers as an alternative to TLS engines
632
633 .. change::
634 :tags: Improvements
635 :pullreq: 12518
636
637 Remove duplicate code in xdp (Y7n05h)
638
639 .. change::
640 :tags: Improvements
641 :pullreq: 10115
642
643 Warn on unsupported parameters (Aki Tuomi)
644
645 .. change::
646 :tags: Improvements
647 :pullreq: 12469
648 :tickets: 12417
649
650 Add unit tests for the Lua FFI interface
651
652 .. change::
653 :tags: Improvements
654 :pullreq: 12492
655
656 Refactor 'cannot be used at runtime' handling
657
658 .. change::
659 :tags: New Features
660 :pullreq: 12417
661
662 Add the ability to change the qname and owner names in DNS packets
663
664 .. change::
665 :tags: Improvements
666 :pullreq: 12481
667 :tickets: 7611
668
669 Fail if we can't check the configuration file
670
671 .. change::
672 :tags: Bug Fixes, DNS over HTTPS
673 :pullreq: 12483
674 :tickets: 12019
675
676 Apply the max number of concurrent conns per client to DoH
677
678 .. change::
679 :tags: Bug Fixes
680 :pullreq: 12484
681 :tickets: 11498
682
683 Properly update rcode-related metrics on RCodeAction hits
684
685 .. change::
686 :tags: New Features, Webserver
687 :pullreq: 12473
688 :tickets: 6154, 10468
689
690 Add an API endpoint to remove entries from caches
691
692 .. change::
693 :tags: Improvements, Webserver
694 :pullreq: 12474
695 :tickets: 10360
696
697 Add an option for unauthenticated access to the dashboard
698
699 .. change::
700 :tags: New Features
701 :pullreq: 12388
702
703 Implement async processing of queries and responses
704
705 .. change::
706 :tags: Improvements
707 :pullreq: 12441
708
709 Add a configure option to enable LTO
710
711 .. change::
712 :tags: Bug Fixes, Metrics
713 :pullreq: 12424
714 :tickets: 10517, 11216
715
716 Better handling of multiple carbon servers
717
718 .. change::
719 :tags: Improvements
720 :pullreq: 12427
721
722 Add a new configure option to initialize automatic variables
723
724 .. change::
725 :tags: Improvements, DNS over HTTPS, DNS over TLS
726 :pullreq: 12421
727 :tickets: 12341
728
729 Skip invalid OCSP files after issuing a warning
730
731 .. change::
732 :tags: Improvements, DNS over HTTPS, DNS over TLS
733 :pullreq: 12435
734
735 Gracefully handle a failure to create a TLS server context
736
737 .. change::
738 :tags: Improvements
739 :pullreq: 12381
740
741 Enable FORTIFY_SOURCE=3 when supported by the compiler
742
743 .. change::
744 :tags: Improvements
745 :pullreq: 12405
746
747 Proper accounting of response and cache hits
748
749 .. change::
750 :tags: Improvements, DNS over HTTPS
751 :pullreq: 12386
752
753 Merge the 'main' and 'client' DoH threads in single acceptor mode
754
755 .. change::
756 :tags: New Features
757 :pullreq: 12384
758
759 Add the ability to cap the TTL of records after insertion into the cache
760
761 .. change::
762 :tags: Improvements
763 :pullreq: 12411
764
765 Support OpenSSL 3.0 for ipcipher CA6 encryption/decryption
766
767 .. change::
768 :tags: Improvements
769 :pullreq: 12383
770
771 Stronger guarantees against data race in the UDP path
772
773 .. change::
774 :tags: Improvements
775 :pullreq: 12402
776
777 Add bindings for the current and query times in DQ/DR
778
779 .. change::
780 :tags: New Features
781 :pullreq: 12400
782
783 Add SetReducedTTLResponseAction
784
785 .. change::
786 :tags: New Features
787 :pullreq: 12385
788
789 Add a Lua FFI interface for metrics
790
791 .. change::
792 :tags: Bug Fixes
793 :pullreq: 12387
794
795 Handle out-of-memory exceptions in the UDP receiver thread
796
797 .. change::
798 :tags: Bug Fixes
799 :pullreq: 12365
800 :tickets: 12357
801
802 Prevent an underflow of the TCP d_queued counter
803
804 .. change::
805 :tags: Bug Fixes
806 :pullreq: 12100
807 :tickets: 12099
808
809 Properly handle single-SOA XFR responses
810
811 .. change::
812 :tags: Bug Fixes, DNS over HTTPS
813 :pullreq: 12327
814
815 Fix the health-check timeout computation for DoH backend
816
817 .. change::
818 :tags: New Features
819 :pullreq: 12280
820
821 Add a new chain of rules triggered after cache insertion
822
823 .. change::
824 :tags: Improvements
825 :pullreq: 11554
826
827 Raise RLIMIT_MEMLOCK automatically when eBPF is requested (Yogesh Singh)
828
829 .. change::
830 :tags: Improvements
831 :pullreq: 12248
832 :tickets: 11153
833
834 Systemd: Add "After" dependency on time-sync.target (Kevin P. Fleming)
835
836 .. change::
837 :tags: Improvements, DNS over TLS
838 :pullreq: 12237
839 :tickets: 12236
840
841 Ignore unclean TLS session shutdown
842
843 .. change::
844 :tags: Improvements, Performance
845 :pullreq: 12276
846
847 Reduce useless wake-ups from the event loop
848
849 .. change::
850 :tags: New Features
851 :pullreq: 11020
852
853 Added XDP middleware for dropped/redirected queries logging (Mini Pierre)
854
855 .. change::
856 :tags: Improvements
857 :pullreq: 11863
858
859 DNSName constructor use memchr instead of strchr and cleanup with string_view (Axel Viala)
860
861 .. change::
862 :tags: Improvements
863 :pullreq: 12177
864 :tickets: 12142
865
866 Fix building with boost < 1.56
867
868 .. change::
869 :tags: New Features
870 :pullreq: 12065
871
872 Implement a 'lazy' health-checking mode
873
874 .. change::
875 :tags: Improvements, DNS over HTTPS, DNS over TLS
876 :pullreq: 11675
877
878 Skip DoT/DoH frontend when a tls configuration error occurs
879
880 .. change::
881 :tags: New Features
882 :pullreq: 12074
883 :tickets: 12073
884
885 Add getPoolNames() function, returning a list of pool names (Christof Chen)
886
887 .. change::
888 :tags: New Features
889 :pullreq: 12082
890
891 Cleaner way of getting the IP/masks associated to a network interface
892
893 .. change::
894 :tags: Improvements
895 :pullreq: 12077
896 :tickets: 12075
897
898 Retain output when expunging from multiple caches (Christof Chen)
899
900 .. change::
901 :tags: New Features
902 :pullreq: 12022
903
904 Add Lua helpers to look into the content of DNS payloads
905
906 .. change::
907 :tags: New Features
908 :pullreq: 11994
909
910 Add more Lua bindings for network-related operations
911
912 .. change::
913 :tags: Improvements, Performance, DNS over HTTPS
914 :pullreq: 11901
915
916 Faster cache-lookups for DNS over HTTPS queries
917
918 .. change::
919 :tags: Improvements, Performance
920 :pullreq: 12003
921
922 Add a 'single acceptor thread' build option, reducing the number of threads
923
924 .. change::
925 :tags: New Features
926 :pullreq: 12008
927
928 Add Lua binding for inspecting the in-memory ring buffers
929
930 .. change::
931 :tags: Bug Fixes
932 :pullreq: 11729
933 :tickets: 11728
934
935 Fix a bug in SetEDNSOptionAction
936
937 .. change::
938 :tags: New Features
939 :pullreq: 12007
940
941 Add Lua bindings to look up domain and IP addresses from the cache
942
943 .. change::
944 :tags: Improvements, DNS over HTTPS
945 :pullreq: 12000
946
947 Speed up DoH handling by preventing allocations and copies
948
949 .. change::
950 :tags: Improvements, Metrics
951 :pullreq: 11987
952
953 Slightly reduce the number of allocations in API calls
954
955 .. change::
956 :tags: Improvements
957 :pullreq: 11993
958
959 Add build-time options to disable the dynamic blocks and UDP response delay
960
961 .. change::
962 :tags: Improvements
963 :pullreq: 11992
964
965 Add missing thread names
966
967 .. change::
968 :tags: Improvements
969 :pullreq: 11988
970
971 Add a build option (define) to prevent loading OpenSSL's errors
972
973 .. change::
974 :tags: Improvements
975 :pullreq: 11862
976 :tickets: 11853
977
978 Properly load ciphers and digests with OpenSSL 3.0
979
980 .. change::
981 :tags: Improvements
982 :pullreq: 11889
983
984 Add local ComboAddress parameter for SBind() at TeeAction() (@FredericDT)
985
986 .. change::
987 :tags: Improvements, Performance
988 :pullreq: 11883
989
990 Make recording queries/responses in the ringbuffers optional
991
992 .. change::
993 :tags: Improvements, Performance
994 :pullreq: 11852
995
996 Slightly reduce contention around a pool's servers
997
998 .. change::
999 :tags: Improvements, Performance, DNS over HTTPS
1000 :pullreq: 11851
1001
1002 Only call getsockname() once per incoming DoH connection
1003
1004 .. change::
1005 :tags: Improvements
1006 :pullreq: 11844
1007
1008 Do not keep the mplexer created for the initial health-check around
1009
1010 .. change::
1011 :tags: Bug Fixes
1012 :pullreq: 11830
1013 :tickets: 4155
1014
1015 Also reconnect on ENETUNREACH. (Asgeir Storesund Nilsen)
1016
1017 .. change::
1018 :tags: Bug Fixes
1019 :pullreq: 11761
1020
1021 Keep retained capabilities even when switching user/group
1022
1023 .. change::
1024 :tags: Improvements, Performance
1025 :pullreq: 11734
1026
1027 Set TCP_NODELAY on the TCP connection to backends
1028
1029 .. change::
1030 :tags: Improvements
1031 :pullreq: 11723
1032
1033 Use getrandom() if available
1034
1035 .. change::
1036 :tags: Improvements
1037 :pullreq: 11713
1038
1039 Implement a limit of concurrent connections to a backend
1040
1041 .. change::
1042 :tags: Improvements, Metrics
1043 :pullreq: 11716
1044
1045 Add more detailed metrics
1046
1047 .. change::
1048 :tags: Bug Fixes
1049 :pullreq: 11718
1050
1051 Fix the number of concurrent queries on a backend TCP conn
1052
1053 .. change::
1054 :tags: Improvements
1055 :pullreq: 11712
1056 :tickets: 11585
1057
1058 Fill ringbuffers with responses served from the cache
1059
1060 .. change::
1061 :tags: Improvements
1062 :pullreq: 11696
1063
1064 Bind to the requested src interface without a src address
1065
1066 .. change::
1067 :tags: Improvements, Performance
1068 :pullreq: 11689
1069
1070 Avoid allocating memory in LB policies for small number of servers
1071
1072 .. change::
1073 :tags: Improvements, Metrics
1074 :pullreq: 11707
1075
1076 Compute backend latency earlier, to avoid internal latency
1077
1078 .. change::
1079 :tags: New Features
1080 :pullreq: 11698
1081
1082 Implement `SuffixMatchTree::getBestMatch()` to get the name that matched
1083
1084 .. change::
1085 :tags: Improvements
1086 :pullreq: 11711
1087
1088 Log listening addresses and version at the 'info' level
1089
1090 .. change::
1091 :tags: Improvements
1092 :pullreq: 11651
1093
1094 Refactor sendfromto (Y7n05h)
1095
1096 .. change::
1097 :tags: New Features
1098 :pullreq: 11526
1099
1100 Use BPF_MAP_TYPE_LPM_TRIE for range matching (Y7n05h)
1101
1102 .. change::
1103 :tags: Improvements, Performance
1104 :pullreq: 11624
1105
1106 SuffixMatchTree: Improve lookup performance
1107
1108 .. change::
1109 :tags: Improvements, Metrics
1110 :pullreq: 11659
1111
1112 Add 'statistics' to the general API endpoint
1113
1114 .. change::
1115 :tags: Improvements
1116 :pullreq: 11668
1117
1118 Optionally send 'verbose' messages to a file, and log them at 'DEBUG' level otherwise
1119
1120 .. change::
1121 :tags: New Features, Metrics
1122 :pullreq: 11674
1123
1124 Add support for user defined metrics
1125
1126 .. change::
1127 :tags: Improvements
1128 :pullreq: 11669
1129
1130 Log when exiting due to a SIGTERM signal
1131
1132 .. change::
1133 :tags: Improvements
1134 :pullreq: 11673
1135
1136 Add the protocol (Do53, DoT, DoH, ...) of backends in the API
1137
1138 .. change::
1139 :tags: Improvements, Metrics
1140 :pullreq: 11656
1141
1142 Add a counter for the number of cache cleanups
1143
1144 .. change::
1145 :tags: Improvements, Performance
1146 :pullreq: 11655
1147
1148 Change dns_tolower() and dns_toupper() to use a table
1149
1150 .. change::
1151 :tags: New Features
1152 :pullreq: 11637
1153
1154 Add getVerbose() function
1155
1156 .. change::
1157 :tags: New Features
1158 :pullreq: 11606
1159
1160 Add Lua bindings to access the DNS payload as a string
1161
1162 .. change::
1163 :tags: Improvements
1164 :pullreq: 11620
1165 :tickets: 11619
1166
1167 Remove implicit type conversion (Y7n05h)
1168
1169 .. change::
1170 :tags: Bug Fixes, DNS over HTTPS
1171 :pullreq: 11621
1172 :tickets: 11604
1173
1174 Fix a crash on a invalid protocol in DoH forwarded-for header
1175
1176 .. change::
1177 :tags: Bug Fixes
1178 :pullreq: 11604
1179
1180 Fix invalid proxy protocol payload on a DoH TC to TCP retry
1181
1182 .. change::
1183 :tags: New Features
1184 :pullreq: 11567
1185
1186 Add setVerbose() to switch the verbose mode at runtime
1187
1188 .. change::
1189 :tags: Improvements, Performance
1190 :pullreq: 11577
1191 :tickets: 11576
1192
1193 Scan the UDP buckets only when we have outstanding queries
1194
1195 .. change::
1196 :tags: Improvements
1197 :pullreq: 11543
1198 :tickets: 11488
1199
1200 Log when a console message exceeds the maximum size
1201
1202 .. change::
1203 :tags: Improvements
1204 :pullreq: 11578
1205
1206 Include the address of the backend in 'relayed to' messages
1207
1208 .. change::
1209 :tags: Improvements, Webserver, Metrics
1210 :pullreq: 11514
1211
1212 Add an option for unauthenticated access to the API
1213
1214 .. change::
1215 :tags: Improvements
1216 :pullreq: 11573
1217
1218 Better log message when no downstream server are available
1219
1220 .. change::
1221 :tags: New Features
1222 :pullreq: 11547
1223 :tickets: 11434
1224
1225 Add a 'getAddressAndPort()' method to DOHFrontend and TLSFrontend objects
1226
1227 .. change::
1228 :tags: Bug Fixes
1229 :pullreq: 11545
1230 :tickets: 11501
1231
1232 Use the correct outgoing protocol in our ring buffers
1233
1234 .. change::
1235 :tags: Improvements
1236 :pullreq: 11546
1237 :tickets: 11383
1238
1239 Raise the number of entries in a packet cache to at least 1
1240
1241 .. change::
1242 :tags: Improvements
1243 :pullreq: 11535
1244 :tickets: 11526
1245
1246 Merge multiple parameters in newBPFFilter (Y7n05h)
1247
1248 .. change::
1249 :tags: Improvements, Performance
1250 :pullreq: 11531
1251
1252 Prevent allocations in two corner cases
1253
1254 .. change::
1255 :tags: Improvements
1256 :pullreq: 11523
1257
1258 Reject BPFFilter::attachToAllBinds() at configuration time (Y7n05h)
1259
1260 .. change::
1261 :tags: Improvements
1262 :pullreq: 11515
1263
1264 Add more build-time options to select features
1265
1266 .. change::
1267 :tags: Improvements
1268 :pullreq: 11517
1269
1270 Multiplexer: Take the maximum number of events as a hint
1271
1272 .. change::
1273 :tags: New Features
1274 :pullreq: 11497
1275 :tickets: 9994
1276
1277 Add setTCPFastOpenKey() (Y7n05h)
1278
1279 .. change::
1280 :tags: Improvements, Performance
1281 :pullreq: 11437
1282 :tickets: 11422
1283
1284 Only allocate the health-check mplexer when needed
1285
1286 .. change::
1287 :tags: Improvements, DNS over HTTPS, DNS over TLS
1288 :pullreq: 11415
1289
1290 More useful default ports for DoT/DoH backends
1291
1292 .. change::
1293 :tags: Improvements
1294 :pullreq: 11388
1295
1296 Add --log-timestamps flag
1297
1298 .. change::
1299 :tags: New Features, DNS over HTTPS, DNS over TLS
1300 :pullreq: 11293
1301
1302 Dynamic discovery and upgrade of backends
1303
1304 .. change::
1305 :tags: New Features, Security
1306 :pullreq: 11163
1307
1308 Allow randomly selecting a backend UDP socket and query ID
1309
1310 .. change::
1311 :tags: Removals
1312 :pullreq: 11324
1313 :tickets: 11201
1314
1315 Remove the leak warning with GnuTLS >= 3.7.3
1316
1317 .. change::
1318 :tags: Improvements
1319 :pullreq: 11174
1320
1321 Add a parameter to PoolAction to keep processing rules
1322
1323 .. change::
1324 :tags: New Features
1325 :pullreq: 11173
1326
1327 Add Lua FFI helpers for protocol and MAC address access, proxy protocol payload generation
1328
1329 .. change::
1330 :tags: Improvements
1331 :pullreq: 11196
1332
1333 Fix build with OpenSSL 3.0.0
1334
1335 .. change::
1336 :tags: Improvements, Performance
1337 :pullreq: 11171
1338
1339 Defer the actual allocation of the ring buffer entries
1340
1341 .. change::
1342 :tags: Improvements, DNS over HTTPS, DNS over TLS
1343 :pullreq: 11166
1344
1345 Libssl: Load only the ciphers and digests needed for TLS, not all of them
1346
1347 .. change::
1348 :tags: New Features
1349 :pullreq: 11184
1350
1351 Add support to store mac address in query rings
1352
1353 .. change::
1354 :tags: Improvements
1355 :pullreq: 11178
1356
1357 Build with `-fvisibility=hidden` by default
1358
1359 .. change::
1360 :tags: New Features
1361 :pullreq: 11126
1362
1363 Add newThread() function
1364
1365 .. change::
1366 :tags: Improvements
1367 :pullreq: 10950
1368
1369 Add a lot more of build-time options to select features
1370
1371 .. change::
1372 :tags: New Features
1373 :pullreq: 11098
1374
1375 Lua support to remove resource records from a response
1376
1377 .. change::
1378 :tags: New Features, DNS over HTTPS, DNS over TLS
1379 :pullreq: 11027
1380
1381 Add support for password protected PKCS12 files for TLS configuration
1382
1383 .. change::
1384 :tags: New Features
1385 :pullreq: 11051
1386
1387 Add support to spoof a full self-generated response from lua
1388
1389 .. change::
1390 :tags: New Features
1391 :pullreq: 10949
1392
1393 Add a Lua FFI helper to generate proxy protocol payloads
1394
1395 .. change::
1396 :tags: New Features
1397 :pullreq: 11017
1398
1399 Add Lua bindings to get the list of network interfaces, addresses
1400
1401 .. change::
1402 :tags: New Features, DNS over TLS
1403 :pullreq: 10734
1404
1405 Add experimental support for TLS asynchronous engines
1406
1407 .. change::
1408 :tags: New Features
1409 :pullreq: 11059
1410
1411 Add lua support to limit TTL values of responses
1412
1413 .. changelog::
1414 :version: 1.7.3
1415 :released: 2nd of November 2022
1416
1417 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1418
1419 dnsdist 1.7.3 contains no functional changes or bugfixes.
1420 This release strictly serves to bring dnsdist packages to our EL9 and Ubuntu Jammy repositories, and upgrades the dnsdist Docker image from Debian buster to Debian bullseye, as buster is officially EOL.
1421
1422 .. change::
1423 :tags: Improvements
1424 :pullreq: 11948
1425
1426 add el9/9stream targets
1427
1428 .. change::
1429 :tags: Improvements
1430 :pullreq: 11974
1431
1432 docker images: upgrade to Debian bullseye
1433
1434 .. change::
1435 :tags: Improvements
1436 :pullreq: 11742
1437
1438 dh_builddeb: force gzip compression (this makes the Ubuntu Jammy packages compatible with our Debian-hosted repositories)
1439
1440 .. changelog::
1441 :version: 1.7.2
1442 :released: 14th of June 2022
1443
1444 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1445
1446 .. change::
1447 :tags: Improvements
1448 :pullreq: 11579
1449 :tickets: 11576
1450
1451 Scan the UDP buckets only when we have outstanding queries
1452
1453 .. change::
1454 :tags: Improvements
1455 :pullreq: 11580
1456 :tickets: 11422
1457
1458 Only allocate the health-check mplexer when needed
1459
1460 .. change::
1461 :tags: Bug Fixes, Metrics
1462 :pullreq: 11664
1463 :tickets: 11602
1464
1465 Add missing descriptions for prometheus metrics
1466
1467 .. change::
1468 :tags: Bug Fixes, DNS over HTTPS
1469 :pullreq: 11665
1470 :tickets: 11604
1471
1472 Fix invalid proxy protocol payload on a DoH TC to TCP retry
1473
1474 .. change::
1475 :tags: Improvements
1476 :pullreq: 11666
1477 :tickets: 11606
1478
1479 Add Lua bindings to access the DNS payload as a string
1480
1481 .. change::
1482 :tags: Bug Fixes, DNS over HTTPS
1483 :pullreq: 11667
1484 :tickets: 11621
1485
1486 Fix a crash on a invalid protocol in DoH forwarded-for header
1487
1488 .. changelog::
1489 :version: 1.7.1
1490 :released: 25th of April 2022
1491
1492 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1493
1494 .. change::
1495 :tags: Improvements
1496 :pullreq: 11195
1497
1498 Fix compilation with OpenSSL 3.0.0
1499
1500 .. change::
1501 :tags: Improvements
1502 :pullreq: 11094
1503 :tickets: 11081
1504
1505 Docker images: remove capability requirements
1506
1507 .. change::
1508 :tags: Improvements
1509 :pullreq: 11292
1510 :tickets: 11290
1511
1512 Docker image: install ca-certificates
1513
1514 .. change::
1515 :tags: Bug Fixes
1516 :pullreq: 11335
1517 :tickets: 11330
1518
1519 Fix a use-after-free in case of a network error in the middle of a XFR query
1520
1521 .. change::
1522 :tags: Bug Fixes
1523 :pullreq: 11550
1524 :tickets: 11504
1525
1526 Properly use eBPF when the DynBlock is not set
1527
1528 .. change::
1529 :tags: Improvements
1530 :pullreq: 11176
1531 :tickets: 11113
1532
1533 Work around a compiler bug seen on OpenBSD/amd64 using clang-13
1534
1535 .. change::
1536 :tags: Improvements
1537 :pullreq: 11197
1538
1539 Stop using the now deprecated and useless std::binary_function
1540
1541 .. change::
1542 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
1543 :pullreq: 11251
1544 :tickets: 11249
1545
1546 Set Server Name Indication on outgoing TLS connections (DoT, DoH)
1547
1548 .. change::
1549 :tags: Bug Fixes, DNS over HTTPS
1550 :pullreq: 11253
1551 :tickets: 11250
1552
1553 Fix the health-check timeout for outgoing DoH connections
1554
1555 .. change::
1556 :tags: Bug Fixes
1557 :pullreq: 11255
1558 :tickets: 11254
1559
1560 Fix 'inConfigCheck()'
1561
1562 .. change::
1563 :tags: Bug Fixes, Metrics
1564 :pullreq: 11323
1565 :tickets: 11239
1566
1567 Fix the latency-count metric
1568
1569 .. change::
1570 :tags: Improvements, DNS over HTTPS, DNS over TLS
1571 :pullreq: 11324
1572 :tickets: 11201
1573
1574 Remove the leak warning with GnuTLS >= 3.7.3
1575
1576 .. change::
1577 :tags: Bug Fixes
1578 :pullreq: 11545
1579 :tickets: 11501
1580
1581 Use the correct outgoing protocol in our ring buffers
1582
1583 .. change::
1584 :tags: Bug Fixes
1585 :pullreq: 11546
1586 :tickets: 11383
1587
1588 Raise the number of entries in a packet cache to at least 1
1589
1590 .. change::
1591 :tags: Improvements
1592 :pullreq: 11547
1593 :tickets: 11434
1594
1595 Add a 'getAddressAndPort()' method to DOHFrontend and TLSFrontend objects
1596
1597 .. change::
1598 :tags: Bug Fixes
1599 :pullreq: 11565
1600
1601 Fix wrong eBPF values (qtype, counter) being inserted for qnames
1602
1603 .. change::
1604 :tags: Bug Fixes
1605 :pullreq: 11572
1606 :tickets: 11375
1607
1608 The check interval applies to health-check, not timeouts
1609
1610 .. changelog::
1611 :version: 1.7.0
1612 :released: 17th of January 2022
1613
1614 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1615
1616 .. change::
1617 :tags: Bug Fixes
1618 :pullreq: 11156
1619 :tickets: 11131
1620
1621 Test the correct member in DynBlockRatioRule::warningRatioExceeded (Doug Freed)
1622
1623 .. changelog::
1624 :version: 1.7.0-rc1
1625 :released: 22nd of December 2021
1626
1627 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1628
1629 .. change::
1630 :tags: Improvements, DNS over TLS, Performance
1631 :pullreq: 11037
1632
1633 Reuse and save the TLS session tickets in DoT healthchecks
1634
1635 .. change::
1636 :tags: Bug Fixes, DNS over HTTPS, Security
1637 :pullreq: 11075
1638
1639 Fix a double-free when a DoH cross-protocol response is dropped
1640
1641 .. change::
1642 :tags: Bug Fixes, DNS over HTTPS
1643 :pullreq: 11079
1644
1645 Check the size of the query when re-sending a DoH query
1646
1647 .. changelog::
1648 :version: 1.7.0-beta2
1649 :released: 29th of November 2021
1650
1651 .. change::
1652 :tags: Bug Fixes
1653 :pullreq: 10993
1654 :tickets: 10988
1655
1656 Fix compiler/static analyzer warnings
1657
1658 .. change::
1659 :tags: Improvements, DNS over HTTPS, DNS over TLS
1660 :pullreq: 10997
1661
1662 Add a function to know how many TLS sessions are currently cached
1663
1664 .. change::
1665 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
1666 :pullreq: 10999
1667
1668 Fix a memory leak when reusing TLS tickets for outgoing connections
1669
1670 .. change::
1671 :tags: Improvements, DNS over HTTPS, DNS over TLS
1672 :pullreq: 11001
1673
1674 Warn that GnuTLS 3.7.x leaks memory when validating certs
1675
1676 .. change::
1677 :tags: Improvements
1678 :pullreq: 11006
1679 :tickets: 10135
1680
1681 Add 'showWebserverConfig'
1682
1683 .. change::
1684 :tags: Bug Fixes
1685 :pullreq: 11007
1686
1687 Fix Lua parameters bound checks
1688
1689 .. change::
1690 :tags: Improvements, Performance
1691 :pullreq: 11008
1692 :tickets: 10898
1693
1694 Add a function to set the UDP recv/snd buffer sizes
1695
1696 .. change::
1697 :tags: Bug Fixes
1698 :pullreq: 11031
1699
1700 Add missing visibility attribute on `dnsdist_ffi_dnsquestion_get_qname_hash`
1701
1702 .. changelog::
1703 :version: 1.7.0-beta1
1704 :released: 16th of November 2021
1705
1706 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1707
1708 .. change::
1709 :tags: Improvements
1710 :pullreq: 10646
1711
1712 Convert make_pair to emplace (Rosen Penev)
1713
1714 .. change::
1715 :tags: Improvements
1716 :pullreq: 10795
1717 :tickets: 10651
1718
1719 Add syslog identifier to service file
1720
1721 .. change::
1722 :tags: New Features
1723 :pullreq: 10815
1724 :tickets: 4993
1725
1726 Add range support for dynamic blocks
1727
1728 .. change::
1729 :tags: Bug Fixes, DNS over HTTPS
1730 :pullreq: 10845
1731
1732 Keep watching idle DoH backend connections
1733
1734 .. change::
1735 :tags: Improvements, Performance
1736 :pullreq: 10862
1737
1738 Use the same outgoing TCP connection for different clients
1739
1740 .. change::
1741 :tags: Improvements
1742 :pullreq: 10868
1743
1744 Get rid of make_pair (Rosen Penev)
1745
1746 .. change::
1747 :tags: Improvements
1748 :pullreq: 10870
1749
1750 Use make_unique instead of new (Rosen Penev)
1751
1752 .. change::
1753 :tags: Bug Fixes
1754 :pullreq: 10874
1755
1756 Properly handle I/O exceptions in the health checker
1757
1758 .. change::
1759 :tags: Improvements, DNS over HTTPS, Performance
1760 :pullreq: 10875
1761
1762 Read as many DoH responses as possible before yielding
1763
1764 .. change::
1765 :tags: Improvements, DNS over HTTPS, Performance
1766 :pullreq: 10876
1767
1768 Stop over-allocating for DoH queries
1769
1770 .. change::
1771 :tags: Improvements, Protobuf, DNSTAP
1772 :pullreq: 10879
1773 :tickets: 9103
1774
1775 Support DoT, DoH and DNSCrypt transports for protobuf and dnstap
1776
1777 .. change::
1778 :tags: Bug Fixes
1779 :pullreq: 10900
1780
1781 NetmaskTree: Drop the 'noexcept' qualifier on the TreeNode ctor
1782
1783 .. change::
1784 :tags: Improvements
1785 :pullreq: 10907
1786 :tickets: 4670
1787
1788 Handle existing EDNS content for SetMacAddrAction/SetEDNSOptionAction
1789
1790 .. change::
1791 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
1792 :pullreq: 10920
1793
1794 Fix the cleaning of TCP, DoT and DoH connections to the backend
1795
1796 .. change::
1797 :tags: Bug Fixes
1798 :pullreq: 10922
1799
1800 Fix build without nghttp2
1801
1802 .. change::
1803 :tags: New Features
1804 :pullreq: 10923
1805
1806 Add the ability to retain select capabilities at runtime
1807
1808 .. change::
1809 :tags: Bug Fixes
1810 :pullreq: 10935
1811
1812 Remove debug print line flooding logs (Eugen Mayer)
1813
1814 .. change::
1815 :tags: Bug Fixes
1816 :pullreq: 10943
1817 :tickets: 10938
1818
1819 Credentials: EVP_PKEY_CTX_set1_scrypt_salt() takes an `unsigned char*`
1820
1821 .. change::
1822 :tags: New Features, Performance
1823 :pullreq: 10883, 10498
1824
1825 Implement filesystem pinning for eBPF maps, drop and truncate via XDP (Pierre Grié)
1826
1827 .. changelog::
1828 :version: 1.7.0-alpha2
1829 :released: 19th of October 2021
1830
1831 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1832
1833 .. change::
1834 :tags: Improvements
1835 :pullreq: 10760
1836
1837 Don't create SSLKEYLOGFILE files with wide permissions
1838
1839 .. change::
1840 :tags: Improvements
1841 :pullreq: 10767
1842
1843 Update existing tags when calling setTagAction and setTagResponseAction
1844
1845 .. change::
1846 :tags: Bug Fixes, DNS over HTTPS
1847 :pullreq: 10772
1848 :tickets: 10771
1849
1850 Better handling of outgoing DoH workers
1851
1852 .. change::
1853 :tags: Improvements
1854 :pullreq: 10775
1855 :tickets: 10403
1856
1857 Fix the unit tests to handle v4-only or v6-only connectivity
1858
1859 .. change::
1860 :tags: Improvements
1861 :pullreq: 10782
1862
1863 Improve the coverage of the outgoing DoH code
1864
1865 .. change::
1866 :tags: Bug Fixes
1867 :pullreq: 10787
1868
1869 Properly cache UDP queries passed to a TCP/DoT/DoH backend
1870
1871 .. change::
1872 :tags: Improvements
1873 :pullreq: 10791
1874
1875 Allow skipping arbitrary EDNS options when computing packet hash
1876
1877 .. change::
1878 :tags: New Features
1879 :pullreq: 10814
1880
1881 Add lua support for SetEDNSOptionAction
1882
1883 .. change::
1884 :tags: Improvements, DNS over HTTPS, DNS over TLS
1885 :pullreq: 10823
1886
1887 Disable TLS renegotiation, release buffers for outgoing TLS
1888
1889 .. change::
1890 :tags: New Features
1891 :pullreq: 10832
1892
1893 Rule for basing decisions on outstanding queries in a pool (phonedph1)
1894
1895 .. change::
1896 :tags: Improvements
1897 :pullreq: 10833
1898
1899 Add incoming and outgoing protocols to grepq
1900
1901 .. change::
1902 :tags: Improvements
1903 :pullreq: 10835
1904 :tickets: 10559
1905
1906 Allow setting the block reason from the SMT callback
1907
1908 .. change::
1909 :tags: Bug Fixes
1910 :pullreq: 10841
1911
1912 Use per-thread credentials for GnuTLS client connections
1913
1914 .. change::
1915 :tags: Improvements
1916 :pullreq: 10844
1917
1918 Clear the UDP states of TCP-only backends
1919
1920 .. change::
1921 :tags: Improvements
1922 :pullreq: 10846
1923
1924 Replace shared by unique ptrs, reduce structs size
1925
1926 .. change::
1927 :tags: Bug Fixes
1928 :pullreq: 10848
1929
1930 Only set recursion protection once we know we do not return
1931
1932 .. changelog::
1933 :version: 1.7.0-alpha1
1934 :released: 23rd of September 2021
1935
1936 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.7.x.
1937
1938 .. change::
1939 :tags: Improvements
1940 :pullreq: 10157
1941 :tickets: 7937
1942
1943 Move to hashed passwords for the web interface
1944
1945 .. change::
1946 :tags: Improvements
1947 :pullreq: 10381
1948
1949 Reorganize the IDState and Rings fields to reduce memory usage
1950
1951 .. change::
1952 :tags: Improvements
1953 :pullreq: 10429
1954
1955 Fix 'temporary used in loop' warnings reported by g++ 11.1.0
1956
1957 .. change::
1958 :tags: Improvements
1959 :pullreq: 10441
1960
1961 Skip some memory allocations in client mode to reduce memory usage
1962
1963 .. change::
1964 :tags: Improvements
1965 :pullreq: 10414
1966
1967 Support multiple ip addresses for dnsdist-resolver lua script (Wim)
1968
1969 .. change::
1970 :tags: Improvements
1971 :pullreq: 10489
1972 :tickets: 10436
1973
1974 Make DNSDist XFR aware when transfer is finished (Dimitrios Mavrommatis)
1975
1976 .. change::
1977 :tags: New Features
1978 :pullreq: 10532
1979 :tickets: 10456
1980
1981 Add FFI functions to spoof multiple raw values
1982
1983 .. change::
1984 :tags: Improvements
1985 :pullreq: 10508
1986 :tickets: 10500
1987
1988 Do not report latency metrics of down upstream servers (Holger Hoffstätte)
1989
1990 .. change::
1991 :tags: Improvements
1992 :pullreq: 10537
1993 :tickets: 10338
1994
1995 Carry the exact incoming protocol (Do53, DNSCrypt, DoT, DoH) in DQ
1996
1997 .. change::
1998 :tags: Improvements
1999 :pullreq: 10527
2000 :tickets: 10502
2001
2002 Implement 'reload()' to rotate Log(Response)Action's log file
2003
2004 .. change::
2005 :tags: New Features, Performance
2006 :pullreq: 10501
2007
2008 Add support for Lua per-thread FFI rules and actions
2009
2010 .. change::
2011 :tags: Improvements, Performance
2012 :pullreq: 10520
2013
2014 Don't look up the LMDB dbi by name for every query
2015
2016 .. change::
2017 :tags: New Features
2018 :pullreq: 10525
2019 :tickets: 10520
2020
2021 Add support for range-based lookups into a Key-Value store
2022
2023 .. change::
2024 :tags: Improvements
2025 :pullreq: 10626
2026
2027 Document that setECSOverride has its drawbacks (Andreas Jakum)
2028
2029 .. change::
2030 :tags: Improvements
2031 :pullreq: 10649
2032
2033 Convert dnsdist and the recursor to LockGuarded
2034
2035 .. change::
2036 :tags: Improvements
2037 :pullreq: 10631
2038
2039 Handle waiting for a descriptor to become readable OR writable
2040
2041 .. change::
2042 :tags: Bug Fixes
2043 :pullreq: 10656
2044
2045 Catch FDMultiplexerException in IOStateHandler's destructor
2046
2047 .. change::
2048 :tags: New Features, DNS over TLS
2049 :pullreq: 10338
2050
2051 Implement cross-protocol queries, including outgoing DNS over TLS
2052
2053 .. change::
2054 :tags: Bug Fixes
2055 :pullreq: 10672
2056
2057 Resizing LMDB map size while there might be open transactions is unsafe
2058
2059 .. change::
2060 :tags: New Features
2061 :pullreq: 10597
2062 :tickets: 10367
2063
2064 Implement SpoofSVCAction to return SVC responses
2065
2066 .. change::
2067 :tags: Bug Fixes
2068 :pullreq: 10695
2069 :tickets: 10693
2070
2071 Ignore TCAction over TCP
2072
2073 .. change::
2074 :tags: Improvements
2075 :pullreq: 10687
2076
2077 Clean up a bit of "cast from type [...] casts away qualifiers" warnings
2078
2079 .. change::
2080 :tags: New Features, DNS over HTTPS
2081 :pullreq: 10635
2082
2083 Implementation of DoH between dnsdist and the backend
2084
2085 .. change::
2086 :tags: Bug Fixes
2087 :pullreq: 10704
2088
2089 Stop raising the number of TCP workers to the number of TCP binds
2090
2091 .. change::
2092 :tags: Bug Fixes
2093 :pullreq: 10724
2094
2095 Handle exception raised in IOStateGuard's destructor
2096
2097 .. changelog::
2098 :version: 1.6.1
2099 :released: 15th of September 2021
2100
2101 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2102
2103 .. change::
2104 :tags: Bug Fixes
2105 :pullreq: 10438
2106
2107 Backport a missing mutex header
2108
2109 .. change::
2110 :tags: Bug Fixes, DNSTAP
2111 :pullreq: 10538
2112 :tickets: 10497
2113
2114 Set the dnstap/protobuf transport to TCP for DoH queries
2115
2116 .. change::
2117 :tags: New Features
2118 :pullreq: 10550
2119 :tickets: 10418
2120
2121 Add the missing DOHFronted::loadNewCertificatesAndKeys()
2122
2123 .. change::
2124 :tags: New Features
2125 :pullreq: 10560
2126 :tickets: 10482
2127
2128 Implement a web endpoint to get metrics for only one pool
2129
2130 .. change::
2131 :tags: Bug Fixes
2132 :pullreq: 10619
2133 :tickets: 10419
2134
2135 Properly handle ECS for queries with ancount or nscount > 0
2136
2137 .. change::
2138 :tags: Bug Fixes
2139 :pullreq: 10656
2140
2141 Catch FDMultiplexerException in IOStateHandler's destructor
2142
2143 .. change::
2144 :tags: Bug Fixes
2145 :pullreq: 10706
2146 :tickets: 10705
2147
2148 Fix outstanding counter issue on TCP error
2149
2150 .. changelog::
2151 :version: 1.6.0
2152 :released: 11th of May 2021
2153
2154 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2155
2156 .. changelog::
2157 :version: 1.5.2
2158 :released: 10th of May 2021
2159
2160 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
2161
2162 .. change::
2163 :tags: Bug Fixes
2164 :pullreq: 9583
2165
2166 Make: two fixes
2167
2168 .. change::
2169 :tags: Bug Fixes
2170 :pullreq: 9717
2171 :tickets: 9689
2172
2173 Fix eBPF filtering of long qnames
2174
2175 .. change::
2176 :tags: Bug Fixes, Metrics
2177 :pullreq: 9729
2178 :tickets: 9728
2179
2180 Fix a typo in prometheus metrics dnsdist_frontend_tlshandshakefailures #9728 (AppliedPrivacy)
2181
2182 .. change::
2183 :tags: Bug Fixes, Performance
2184 :pullreq: 9749
2185
2186 Fix the DNSName move assignment operator
2187
2188 .. change::
2189 :tags: Bug Fixes
2190 :pullreq: 9900
2191
2192 Fix a hang when removing a server with more than one socket
2193
2194 .. change::
2195 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
2196 :pullreq: 9922
2197 :tickets: 9921
2198
2199 Fix SNI on resumed sessions by acknowledging the name sent by the client
2200
2201 .. change::
2202 :tags: Bug Fixes, DNS over HTTPS
2203 :pullreq: 9936
2204 :tickets: 9934
2205
2206 Fix a crash when a DoH responses map is updated at runtime
2207
2208 .. change::
2209 :tags: Bug Fixes
2210 :pullreq: 9980
2211 :tickets: 9756
2212
2213 Fix Dynamic Block RCode rules messing up the queries count
2214
2215 .. change::
2216 :tags: Bug Fixes
2217 :pullreq: 10012
2218 :tickets: 10006
2219
2220 Fix EDNS in ServFail generated when no server is available
2221
2222 .. change::
2223 :tags: Bug Fixes
2224 :pullreq: 10095
2225 :tickets: 10090
2226
2227 Prevent a crash with DynBPF objects in client mode
2228
2229 .. change::
2230 :tags: Bug Fixes
2231 :pullreq: 10355
2232
2233 Add missing getEDNSOptions and getDO bindings for DNSResponse
2234
2235 .. changelog::
2236 :version: 1.6.0-rc2
2237 :released: 4th of May 2021
2238
2239 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2240
2241 .. change::
2242 :tags: Improvements, Metrics
2243 :pullreq: 10323
2244
2245 Make the backend queryLoad and dropRate values atomic
2246
2247 .. change::
2248 :tags: Bug Fixes
2249 :pullreq: 10327
2250 :tickets: 10324
2251
2252 Only use eBPF for "drop" actions, clean up more often
2253
2254 .. change::
2255 :tags: Bug Fixes, DNSCrypt
2256 :pullreq: 10346
2257
2258 Fix missing locks in DNSCrypt certificates management
2259
2260 .. changelog::
2261 :version: 1.6.0-rc1
2262 :released: 20th of April 2021
2263
2264 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2265
2266 .. change::
2267 :tags: Bug Fixes
2268 :pullreq: 10171
2269
2270 Lua: don't destroy keys during table iteration
2271
2272 .. change::
2273 :tags: Improvements
2274 :pullreq: 10216
2275 :tickets: 10209
2276
2277 Replace pthread_rwlock with std::shared_mutex
2278
2279 .. change::
2280 :tags: Improvements
2281 :pullreq: 10264
2282
2283 Also disable PMTU for v6
2284
2285 .. change::
2286 :tags: Bug Fixes
2287 :pullreq: 10267
2288 :tickets: 10262
2289
2290 Add missing getEDNSOptions and getDO bindings for DNSResponse
2291
2292 .. change::
2293 :tags: Bug Fixes
2294 :pullreq: 10274
2295
2296 Fix some issues reported by Thread Sanitizer
2297
2298 .. changelog::
2299 :version: 1.6.0-alpha3
2300 :released: 29th of March 2021
2301
2302 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2303
2304 .. change::
2305 :tags: Improvements
2306 :pullreq: 10156
2307
2308 Improve TCP connection reuse, add metrics
2309
2310 .. change::
2311 :tags: Improvements
2312 :pullreq: 10161
2313 :tickets: 7591
2314
2315 Using DATA to report memory usage is unreliable, start using RES instead, as it seems reliable and relevant
2316
2317 .. change::
2318 :tags: Improvements, DNS over HTTPS, DNS over TLS
2319 :pullreq: 10179
2320
2321 Set OpenSSL to release buffers when idle, saves 35 kB per connection
2322
2323 .. change::
2324 :tags: Improvements
2325 :pullreq: 10184
2326
2327 Add a metric for TCP listen queue full events
2328
2329 .. change::
2330 :tags: Bug Fixes
2331 :pullreq: 10201
2332
2333 Fix the TCP connect timeout, add metrics
2334
2335 .. change::
2336 :tags: Improvements
2337 :pullreq: 10204
2338
2339 Enable sharding by default, greater pipe buffer sizes
2340
2341 .. change::
2342 :tags: Improvements
2343 :pullreq: 10207
2344
2345 Add limits for cached TCP connections, metrics
2346
2347 .. change::
2348 :tags: Bug Fixes, DNS over HTTPS
2349 :pullreq: 10208
2350
2351 Fix the handling of DoH queries with a non-zero ID
2352
2353 .. change::
2354 :tags: Improvements, DNSCrypt, DNS over HTTPS, DNS over TLS
2355 :pullreq: 10214
2356
2357 Unify certificate reloading syntaxes
2358
2359 .. change::
2360 :tags: Improvements, DNS over HTTPS, DNS over TLS
2361 :pullreq: 10218
2362
2363 Disable TLS renegotiation by default
2364
2365 .. changelog::
2366 :version: 1.6.0-alpha2
2367 :released: 4th of March 2021
2368
2369 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2370
2371 .. change::
2372 :tags: Improvements
2373 :pullreq: 9361
2374
2375 Bind __tostring instead of toString for Lua, so that conversion to string works automatically (Aki Tuomi)
2376
2377 .. change::
2378 :tags: Improvements
2379 :pullreq: 10046
2380 :tickets: 10035
2381
2382 Make NetmaskTree::fork() a bit easier to understand
2383
2384 .. change::
2385 :tags: Bug Fixes
2386 :pullreq: 10050
2387 :tickets: 10049
2388
2389 Remove forgotten debug line in the web server
2390
2391 .. change::
2392 :tags: New Features
2393 :pullreq: 10063
2394
2395 Add option to spoofRawAction to spoof multiple answers (Sander Hoentjen)
2396
2397 .. change::
2398 :tags: New Features
2399 :pullreq: 10073
2400
2401 Add 'spoof' and 'spoofRaw' Lua bindings
2402
2403 .. change::
2404 :tags: Bug Fixes
2405 :pullreq: 10088
2406
2407 Create TCP worker threads before acceptors ones
2408
2409 .. change::
2410 :tags: Bug Fixes
2411 :pullreq: 10095
2412 :tickets: 10090
2413
2414 Prevent a crash with DynBPF objects in client mode
2415
2416 .. change::
2417 :tags: Bug Fixes
2418 :pullreq: 10108
2419
2420 Fix several bugs in the TCP code path, add unit tests
2421
2422 .. change::
2423 :tags: Improvements
2424 :pullreq: 10131
2425
2426 Do not update the TCP error counters on idle states
2427
2428 .. change::
2429 :tags: Bug Fixes
2430 :pullreq: 10139
2431
2432 Fix size check during trailing data addition, regression tests
2433
2434 .. change::
2435 :tags: Bug Fixes
2436 :pullreq: 10133
2437
2438 Clean up expired entries from all the packet cache's shards
2439
2440 .. changelog::
2441 :version: 1.6.0-alpha1
2442 :released: 2nd of February 2021
2443
2444 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.6.x.
2445
2446 .. change::
2447 :tags: Improvements
2448 :pullreq: 9273
2449
2450 Add Lua bindings to get a server's latency
2451
2452 .. change::
2453 :tags: Improvements
2454 :pullreq: 9225
2455
2456 Wrap more FILE objects in smart pointers
2457
2458 .. change::
2459 :tags: Bug Fixes
2460 :pullreq: 9222
2461 :tickets: 9075
2462
2463 Use toStringWithPort instead of manual addr/port concat (Mischan Toosarani-Hausberger)
2464
2465 .. change::
2466 :tags: Bug Fixes
2467 :pullreq: 9275
2468
2469 Force a reconnection when a downstream transitions to the UP state (Nuitari, Stephane Bakhos)
2470
2471 .. change::
2472 :tags: Improvements
2473 :pullreq: 9049
2474
2475 Set the default EDNS buffer size on generated answers to 1232
2476
2477 .. change::
2478 :tags: Improvements
2479 :pullreq: 9157
2480 :tickets: 9156
2481
2482 Add support for FreeBSD's SO_REUSEPORT_LB
2483
2484 .. change::
2485 :tags: Improvements, Performance
2486 :pullreq: 9382
2487
2488 Speed up the round robin policy
2489
2490 .. change::
2491 :tags: Bug Fixes
2492 :pullreq: 9381
2493
2494 Handle EINTR in DelayPipe
2495
2496 .. change::
2497 :tags: Improvements, Performance
2498 :pullreq: 9424
2499
2500 Avoid unnecessary allocations and copies with DNSName::toDNSString()
2501
2502 .. change::
2503 :tags: Improvements, Performance
2504 :pullreq: 9420
2505 :tickets: 8993
2506
2507 Get rid of allocations in the packet cache's fast path
2508
2509 .. change::
2510 :tags: Improvements
2511 :pullreq: 9428
2512
2513 Accept string in DNSDistPacketCache:expungeByName
2514
2515 .. change::
2516 :tags: Bug Fixes
2517 :pullreq: 9431
2518
2519 Handle empty DNSNames in grepq()
2520
2521 .. change::
2522 :tags: New Features
2523 :pullreq: 9175
2524
2525 Add per-thread Lua FFI load-balancing policies
2526
2527 .. change::
2528 :tags: Improvements
2529 :pullreq: 9466
2530
2531 DNSName: add toDNSString convenience function
2532
2533 .. change::
2534 :tags: Improvements, Security
2535 :pullreq: 8969
2536
2537 Use more of systemd's sandboxing options when available
2538
2539 .. change::
2540 :tags: Improvements
2541 :pullreq: 8993
2542 :tickets: 5131
2543
2544 Skip EDNS Cookies in the packet cache
2545
2546 .. change::
2547 :tags: Improvements, DNS over HTTPS, DNS over TLS
2548 :pullreq: 9510
2549
2550 Prioritize ChaCha20-Poly1305 when client does (Sukhbir Singh)
2551
2552 .. change::
2553 :tags: Bug Fixes
2554 :pullreq: 9583
2555
2556 Make: two fixes
2557
2558 .. change::
2559 :tags: Removals
2560 :pullreq: 9532
2561
2562 Rename topRule() and friends
2563
2564 .. change::
2565 :tags: Improvements
2566 :pullreq: 9677
2567
2568 Add the query payload size to the verbose log over TCP
2569
2570 .. change::
2571 :tags: New Features, webserver
2572 :pullreq: 9676
2573 :tickets: 9120
2574
2575 Implement Lua custom web endpoints
2576
2577 .. change::
2578 :tags: Bug Fixes
2579 :pullreq: 9689
2580 :tickets: 9626
2581
2582 Fix eBPF filtering of long qnames
2583
2584 .. change::
2585 :tags: Bug Fixes
2586 :pullreq: 9721
2587
2588 Improve const-correctness of Lua bindings (Georgeto)
2589
2590 .. change::
2591 :tags: Improvements
2592 :pullreq: 9737
2593 :tickets: 9274
2594
2595 Add the response code in the packet cache dump
2596
2597 .. change::
2598 :tags: Improvements, Performance
2599 :pullreq: 9749
2600
2601 Fix the DNSName move assignment operator
2602
2603 .. change::
2604 :tags: New Features
2605 :pullreq: 9582
2606
2607 Implement TCP out-of-order
2608
2609 .. change::
2610 :tags: Improvements
2611 :pullreq: 9746
2612
2613 Add an optional name to rules
2614
2615 .. change::
2616 :tags: Removals
2617 :pullreq: 9784
2618 :tickets: 9783
2619
2620 Remove useless second argument for `SpoofAction`
2621
2622 .. change::
2623 :tags: Improvements, Metrics
2624 :pullreq: 9756
2625
2626 Add prometheus metrics for top Dynamic Blocks entries
2627
2628 .. change::
2629 :tags: Improvements
2630 :pullreq: 9822
2631
2632 Add the ability to set ACL from a file (Matti Hiljanen)
2633
2634 .. change::
2635 :tags: Improvements, Performance
2636 :pullreq: 9850
2637
2638 Don't copy the policy for every query
2639
2640 .. change::
2641 :tags: Improvements, Performance
2642 :pullreq: 9832
2643
2644 UUID: Use the non-cryptographic variant of the boost::uuid
2645
2646 .. change::
2647 :tags: Improvements
2648 :pullreq: 9862
2649 :tickets: 9861
2650
2651 Add a Lua binding for the number of queries dropped by a server
2652
2653 .. change::
2654 :tags: Improvements, Metrics, DNS over HTTPS
2655 :pullreq: 9738
2656
2657 Add per connection queries count and duration stats for DoH
2658
2659 .. change::
2660 :tags: Bug Fixes
2661 :pullreq: 9900
2662
2663 Fix a hang when removing a server with more than one socket
2664
2665 .. change::
2666 :tags: Improvements, Performance
2667 :pullreq: 9782
2668 :tickets: 9756, 9756, 6763
2669
2670 Use an eBPF filter for Dynamic blocks when available
2671
2672 .. change::
2673 :tags: Improvements, Performance, Protobuf, DNSTAP
2674 :pullreq: 9843
2675 :tickets: 9780, 9781
2676
2677 Use protozero for Protocol Buffer operations
2678
2679 .. change::
2680 :tags: Bug Fixes, DNS over TLS
2681 :pullreq: 9921
2682
2683 Fix SNI on resumed sessions by acknowledging the name sent by the client
2684
2685 .. change::
2686 :tags: Bug Fixes
2687 :pullreq: 9925
2688
2689 Appease clang++ 12 ASAN on macOS
2690
2691 .. change::
2692 :tags: Improvements
2693 :pullreq: 9913
2694
2695 Move to c++17
2696
2697 .. change::
2698 :tags: New Features
2699 :pullreq: 9616
2700
2701 Add support for incoming Proxy Protocol
2702
2703 .. change::
2704 :tags: Bug Fixes
2705 :pullreq: 9937
2706
2707 Bunch of signed vs unsigned warnings
2708
2709 .. change::
2710 :tags: Improvements
2711 :pullreq: 9920
2712 :tickets: 9918
2713
2714 Fix warnings on autoconf 2.70
2715
2716 .. change::
2717 :tags: Bug Fixes, DNS over HTTPS
2718 :pullreq: 9934
2719 :tickets: 9927
2720
2721 Fix a crash when a DoH responses map is updated at runtime
2722
2723 .. change::
2724 :tags: Improvements, webserver
2725 :pullreq: 9955
2726
2727 Reduce diff to upstream yahttp, fixing a few CodeQL reports
2728
2729 .. change::
2730 :tags: New Features
2731 :pullreq: 9960
2732 :tickets: 9536
2733
2734 Add SkipCacheResponseAction
2735
2736 .. change::
2737 :tags: Improvements, DNS over HTTPS
2738 :pullreq: 9962
2739
2740 Add an option to allow sub-paths for DoH
2741
2742 .. change::
2743 :tags: Improvements
2744 :pullreq: 9989
2745 :tickets: 9383
2746
2747 Handle syslog facility as string, document the numerical one
2748
2749 .. change::
2750 :tags: Improvements, webserver
2751 :pullreq: 9972
2752 :tickets: 8710, 9311
2753
2754 Deprecate parameters to webserver(), add 'statsRequireAuthentication' parameter
2755
2756 .. change::
2757 :tags: Improvements, DNS over TLS
2758 :pullreq: 9957
2759
2760 Start all TCP worker threads on startup
2761
2762 .. change::
2763 :tags: Improvements
2764 :pullreq: 9992
2765 :tickets: 9357
2766
2767 Add a counter for queries truncated because of a rule
2768
2769 .. change::
2770 :tags: Bug Fixes
2771 :pullreq: 9991
2772 :tickets: 9961
2773
2774 Send a NotImp answer on empty (qdcount=0) queries
2775
2776 .. change::
2777 :tags: Improvements
2778 :pullreq: 9993
2779
2780 Replace offensive terms in our code and documentation
2781
2782 .. change::
2783 :tags: Bug Fixes
2784 :pullreq: 9999
2785 :tickets: 7038
2786
2787 Don't apply QPS to backend server on cache hits
2788
2789 .. change::
2790 :tags: Bug Fixes
2791 :pullreq: 10012
2792 :tickets: 10006
2793
2794 Fix EDNS in ServFail generated when no server is available
2795
2796 .. change::
2797 :tags: Improvements
2798 :pullreq: 9998
2799 :tickets: 9455
2800
2801 Use aligned atomics to prevent false sharing
2802
2803 .. change::
2804 :tags: Improvements, Removals
2805 :pullreq: 9974
2806 :tickets: 8118
2807
2808 Unify non-terminal actions as SetXXXAction()
2809
2810 .. change::
2811 :tags: Improvements
2812 :pullreq: 10015
2813 :tickets: 9545
2814
2815 Accept a NMG to fill DynBlockRulesGroup ranges
2816
2817 .. change::
2818 :tags: Improvements
2819 :pullreq: 10023
2820
2821 Silence clang 12 warning
2822
2823 .. change::
2824 :tags: Improvements, Webserver
2825 :pullreq: 9997
2826 :tickets: 4978
2827
2828 Limit the number of concurrent console and web connections
2829
2830 .. change::
2831 :tags: Improvements
2832 :pullreq: 10035
2833
2834 Fix a few warnings reported by clang's static analyzer and cppcheck
2835
2836 .. changelog::
2837 :version: 1.5.1
2838 :released: 1st of October 2020
2839
2840 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
2841
2842 .. change::
2843 :tags: Improvements
2844 :pullreq: 9540
2845 :tickets: 9372
2846
2847 Add the 'clearConsoleHistory' command
2848
2849 .. change::
2850 :tags: Bug Fixes
2851 :pullreq: 9541
2852 :tickets: 9372
2853
2854 Stop the related responder thread when a backend is removed
2855
2856 .. change::
2857 :tags: Bug Fixes
2858 :pullreq: 9542
2859
2860 Fix getEDNSOptions() for {AN,NS}COUNT != 0 and ARCOUNT = 0
2861
2862 .. change::
2863 :tags: Bug Fixes
2864 :pullreq: 9543
2865
2866 Fix building with LLVM11 (@RvdE)
2867
2868 .. change::
2869 :tags: Bug Fixes
2870 :pullreq: 9555
2871
2872 Only add EDNS on negative answers if the query had EDNS
2873
2874 .. changelog::
2875 :version: 1.5.0
2876 :released: 30th of July 2020
2877
2878 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
2879
2880 .. change::
2881 :tags: Improvements
2882 :pullreq: 9231
2883
2884 Use explicit flag for the specific version of c++ we are targeting.
2885
2886 .. change::
2887 :tags: Bug Fixes
2888 :pullreq: 9320
2889
2890 Prevent a possible overflow via large Proxy Protocol values. (Valentei Sergey)
2891
2892 .. change::
2893 :tags: Bug Fixes
2894 :pullreq: 9348
2895 :tickets: 9279
2896
2897 Avoid name clashes on Solaris derived systems.
2898
2899 .. change::
2900 :tags: Bug Fixes
2901 :pullreq: 9343
2902
2903 Resize hostname to final size in getCarbonHostname(). (Aki Tuomi)
2904
2905 .. change::
2906 :tags: Bug Fixes, DNS over HTTPS
2907 :pullreq: 9344
2908
2909 Fix compilation with h2o_socket_get_ssl_server_name().
2910
2911 .. change::
2912 :tags: Bug Fixes
2913 :pullreq: 9346
2914
2915 Fix compilation on OpenBSD/amd64.
2916
2917 .. change::
2918 :tags: Bug Fixes
2919 :pullreq: 9356
2920
2921 Handle calling PacketCache methods on a nil object.
2922
2923 .. change::
2924 :tags: Improvements
2925 :pullreq: 9360
2926
2927 Prevent a copy of a pool's backends when selecting a server.
2928
2929 .. changelog::
2930 :version: 1.5.0-rc4
2931 :released: 7th of July 2020
2932
2933 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
2934
2935 .. change::
2936 :tags: Bug Fixes
2937 :pullreq: 9278
2938
2939 Prevent a race between the DoH handling threads
2940
2941 .. changelog::
2942 :version: 1.5.0-rc3
2943 :released: 18th of June 2020
2944
2945 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
2946
2947 .. change::
2948 :tags: Improvements
2949 :pullreq: 9100
2950
2951 Less negatives in secpoll error messages improves readability.
2952
2953 .. change::
2954 :tags: Bug Fixes
2955 :pullreq: 9127
2956 :tickets: 9125
2957
2958 Fix compilation on systems that do not define HOST_NAME_MAX
2959
2960 .. change::
2961 :tags: Improvements
2962 :pullreq: 9207
2963
2964 Use std::string_view when available (Rosen Penev)
2965
2966 .. change::
2967 :tags: Bug Fixes, DNS over HTTPS
2968 :pullreq: 9211
2969 :tickets: 9206
2970
2971 Use non-blocking pipes to pass DoH queries/responses around
2972
2973 .. change::
2974 :tags: Bug Fixes
2975 :pullreq: 9213
2976
2977 Do not use `using namespace std;`
2978
2979 .. change::
2980 :tags: New Features
2981 :pullreq: 9229
2982
2983 Implement an ACL in the internal web server
2984
2985 .. change::
2986 :tags: Improvements
2987 :pullreq: 9238
2988 :tickets: 8038
2989
2990 Clean up dnsdistconf.lua as a default configuration file
2991
2992 .. change::
2993 :tags: Improvements
2994 :pullreq: 9244
2995
2996 Add optional masks to KeyValueLookupKeySourceIP
2997
2998 .. changelog::
2999 :version: 1.5.0-rc2
3000 :released: 13th of May 2020
3001
3002 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
3003
3004 .. change::
3005 :tags: Bug Fixes
3006 :pullreq: 9031
3007 :tickets: 9025
3008
3009 Fix compilation of the ports event multiplexer
3010
3011 .. change::
3012 :tags: Improvements
3013 :pullreq: 9042
3014
3015 Avoid copies in for loops
3016
3017 .. change::
3018 :tags: Improvements
3019 :pullreq: 9054
3020
3021 Build with -Wmissing-declarations -Wredundant-decls
3022
3023 .. change::
3024 :tags: Improvements
3025 :pullreq: 9016
3026 :tickets: 9004
3027
3028 Use std::shuffle instead of std::random_shuffle
3029
3030 .. change::
3031 :tags: Improvements
3032 :pullreq: 9053
3033
3034 Get rid of a naked pointer in the /dev/poll event multiplexer
3035
3036 .. change::
3037 :tags: Improvements
3038 :pullreq: 9059
3039
3040 A few warnings fixed, reported by clang on OpenBSD
3041
3042 .. change::
3043 :tags: Bug Fixes, DNS over HTTPS
3044 :pullreq: 9068
3045
3046 Fix duplicated HTTP/1 counter in 'showDOHFrontends()'
3047
3048 .. change::
3049 :tags: Bug Fixes
3050 :pullreq: 9057
3051
3052 Gracefully handle a failure to remove FD on (re)-connection
3053
3054 .. change::
3055 :tags: Improvements
3056 :pullreq: 9067
3057
3058 Wrap pthread objects
3059
3060 .. change::
3061 :tags: Improvements, Metrics
3062 :pullreq: 9084
3063
3064 Add the unit to the help for latency buckets
3065
3066 .. change::
3067 :tags: Improvements
3068 :pullreq: 9078
3069
3070 NetmaskTree: do not test node for null, the loop guarantees node is not null.
3071
3072 .. changelog::
3073 :version: 1.5.0-rc1
3074 :released: 16th of April 2020
3075
3076 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
3077
3078 .. change::
3079 :tags: Bug Fixes
3080 :pullreq: 8955
3081
3082 On OpenBSD string_view is both in boost and std
3083
3084 .. change::
3085 :tags: Improvements
3086 :pullreq: 8956
3087
3088 Expose SuffixMatchNode::remove in Lua
3089
3090 .. change::
3091 :tags: Improvements
3092 :pullreq: 8962
3093
3094 Remove a std::move() preventing Return-Value Optimization in lmdb-safe.cc
3095
3096 .. change::
3097 :tags: Bug Fixes, DNSCrypt
3098 :pullreq: 8974
3099
3100 Keep accepting fragmented UDP datagrams on DNSCrypt binds
3101
3102 .. change::
3103 :tags: Bug Fixes, DNSCrypt
3104 :pullreq: 8976
3105 :tickets: 8974
3106
3107 Accept UDP datagrams larger than 1500 bytes for DNSCrypt
3108
3109 .. change::
3110 :tags: Improvements
3111 :pullreq: 8996
3112
3113 Drop responses with the QR bit set to 0
3114
3115 .. change::
3116 :tags: Improvements
3117 :pullreq: 8994
3118 :tickets: 8986
3119
3120 Add an option to control the size of the TCP listen queue
3121
3122 .. changelog::
3123 :version: 1.5.0-alpha1
3124 :released: 20th of March 2020
3125
3126 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.5.x.
3127
3128 .. change::
3129 :tags: Improvements
3130 :pullreq: 7820
3131
3132 Don't start as root within a systemd environment
3133
3134 .. change::
3135 :tags: Bug Fixes
3136 :pullreq: 8115
3137 :tickets: 8098
3138
3139 Fix ECS addition when the OPT record is not the last one
3140
3141 .. change::
3142 :tags: New Features
3143 :pullreq: 8171
3144 :tickets: 4747
3145
3146 Add SetNegativeAndSOAAction() and its Lua binding
3147
3148 .. change::
3149 :tags: New Features
3150 :pullreq: 8274
3151
3152 Implement dynamic blocking on ratio of rcode/total responses
3153
3154 .. change::
3155 :tags: Improvements, Performance
3156 :pullreq: 8355
3157
3158 Rework NetmaskTree for better CPU and memory efficiency. (Stephan Bosch)
3159
3160 .. change::
3161 :tags: Improvements, DNS over TLS
3162 :pullreq: 8380
3163
3164 Switch the default DoT provider from GnuTLS to OpenSSL
3165
3166 .. change::
3167 :tags: Improvements
3168 :pullreq: 8456
3169
3170 Separate the check-config and client modes
3171
3172 .. change::
3173 :tags: Improvements, Performance
3174 :pullreq: 8491
3175
3176 Implement parallel health checks
3177
3178 .. change::
3179 :tags: New Features, Performance
3180 :pullreq: 8505
3181 :tickets: 7617
3182
3183 Implement LuaFFIRule, LuaFFIAction and LuaFFIResponseAction
3184
3185 .. change::
3186 :tags: Improvements
3187 :pullreq: 8529
3188
3189 Add the number of received bytes to StatNode entries
3190
3191 .. change::
3192 :tags: Improvements, Performance
3193 :pullreq: 8538
3194
3195 Use move semantics when updating the content of the StateHolder
3196
3197 .. change::
3198 :tags: Improvements
3199 :pullreq: 8556
3200 :tickets: 8534
3201
3202 Support setting the value of AA, AD and RA when self-generating answers
3203
3204 .. change::
3205 :tags: New Features
3206 :pullreq: 8567
3207 :tickets: 7387
3208
3209 Add bounded loads to the consistent hashing policy
3210
3211 .. change::
3212 :tags: Improvements
3213 :pullreq: 8580
3214
3215 pthread_rwlock_init() should be matched by pthread_rwlock_destroy()
3216
3217 .. change::
3218 :tags: Bug Fixes
3219 :pullreq: 8591
3220
3221 Wait longer for the TLS ticket to arrive in our tests
3222
3223 .. change::
3224 :tags: Bug Fixes
3225 :pullreq: 8604
3226
3227 Add missing exception message in KVS error
3228
3229 .. change::
3230 :tags: Improvements
3231 :pullreq: 8631
3232
3233 Replace include guard ifdef/define with pragma once (Chris Hofstaedtler)
3234
3235 .. change::
3236 :tags: New Features
3237 :pullreq: 8654
3238
3239 LogResponseAction (phonedph1)
3240
3241 .. change::
3242 :tags: Improvements
3243 :pullreq: 8657
3244
3245 Allow retrieving and deleting a backend via its UUID
3246
3247 .. change::
3248 :tags: Bug Fixes, DNS over TLS
3249 :pullreq: 8662
3250
3251 Display the correct DoT provider
3252
3253 .. change::
3254 :tags: Improvements, Protobuf
3255 :pullreq: 8702
3256
3257 Add the source and destination ports to the protobuf msg
3258
3259 .. change::
3260 :tags: New Features
3261 :pullreq: 8722
3262
3263 Add spoofRawAction() to craft answers from raw bytes
3264
3265 .. change::
3266 :tags: Improvements
3267 :pullreq: 8733
3268
3269 Load an openssl configuration file, if any, during startup
3270
3271 .. change::
3272 :tags: Improvements, DNS over HTTPS
3273 :pullreq: 8760
3274 :tickets: 8573
3275
3276 Don't accept sub-paths of configured DoH URLs
3277
3278 .. change::
3279 :tags: Bug Fixes, DNS over TLS
3280 :pullreq: 8761
3281
3282 Use ref counting for the DoT TLS context
3283
3284 .. change::
3285 :tags: Improvements, DNS over HTTPS
3286 :pullreq: 8762
3287 :tickets: 8586
3288
3289 Implement Cache-Control headers in DoH
3290
3291 .. change::
3292 :tags: Improvements, Metrics
3293 :pullreq: 8772
3294 :tickets: 8746
3295
3296 Add backend status to prometheus metrics
3297
3298 .. change::
3299 :tags: Bug Fixes
3300 :pullreq: 8782
3301
3302 Add getTag()/setTag() Lua bindings for a DNSResponse
3303
3304 .. change::
3305 :tags: Improvements, Metrics
3306 :pullreq: 8783
3307
3308 Add 'IO wait' and 'steal' metrics on Linux
3309
3310 .. change::
3311 :tags: Bug Fixes
3312 :pullreq: 8787
3313 :tickets: 8442
3314
3315 Fix key logging for DNS over TLS
3316
3317 .. change::
3318 :tags: Improvements, Performance
3319 :pullreq: 8812
3320
3321 Keep a masked network in the Netmask class
3322
3323 .. change::
3324 :tags: New Features
3325 :pullreq: 8874
3326
3327 Add support for Proxy Protocol between dnsdist and the recursor
3328
3329 .. change::
3330 :tags: Improvements
3331 :pullreq: 8848
3332
3333 Add get*BindCount() functions
3334
3335 .. change::
3336 :tags: Bug Fixes
3337 :pullreq: 8855
3338
3339 Fix a typo in the help/completion for getDNSCryptBindCount
3340
3341 .. change::
3342 :tags: Bug Fixes
3343 :pullreq: 8856
3344
3345 Implement rmACL() (swoga)
3346
3347 .. change::
3348 :tags: Bug Fixes
3349 :pullreq: 8879
3350
3351 Remove unused lambda capture reported by clang++
3352
3353 .. change::
3354 :tags: Improvements
3355 :pullreq: 8882
3356
3357 Add sessionTimeout setting for TLS session lifetime (Matti Hiljanen)
3358
3359 .. change::
3360 :tags: Bug Fixes, Protobuf
3361 :pullreq: 8883
3362 :tickets: 8629
3363
3364 Add 'queue full' metrics for our remote logger, log at debug only
3365
3366 .. change::
3367 :tags: Improvements, Protobuf
3368 :pullreq: 8887
3369
3370 Better handling of reconnections in Remote Logger
3371
3372 .. change::
3373 :tags: Improvements, DNS over HTTPS, DNS over TLS
3374 :pullreq: 8899
3375 :tickets: 8806
3376
3377 Document that the 'keyLogFile' option requires OpenSSL >= 1.1.1
3378
3379 .. change::
3380 :tags: Improvements
3381 :pullreq: 8900
3382 :tickets: 8739
3383
3384 Detect {Libre,Open}SSL functions availability during configure
3385
3386 .. change::
3387 :tags: Improvements, DNS over HTTPS
3388 :pullreq: 8905
3389 :tickets: 8819
3390
3391 Change the default DoH path from / to /dns-query
3392
3393 .. change::
3394 :tags: New Features
3395 :pullreq: 8909
3396
3397 Implement bounded loads for the whashed and wrandom policies
3398
3399 .. change::
3400 :tags: Improvements, DNSTAP, Performance
3401 :pullreq: 8937
3402
3403 Make FrameStream IO parameters configurable
3404
3405 .. change::
3406 :tags: Improvements, DNS over HTTPS
3407 :pullreq: 8945
3408 :tickets: 8661
3409
3410 Add support for the processing of X-Forwarded-For headers
3411
3412 .. change::
3413 :tags: Bug Fixes, DNS over HTTPS
3414 :pullreq: 8949
3415
3416 Set the DoH ticket rotation delay before loading tickets
3417
3418 .. change::
3419 :tags: Improvements
3420 :pullreq: 8950
3421 :tickets: 8669
3422
3423 Warn on startup about low weight values with chashed
3424
3425 .. changelog::
3426 :version: 1.4.0
3427 :released: 20th of November 2019
3428
3429 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
3430
3431 .. change::
3432 :tags: Bug Fixes
3433 :pullreq: 8524
3434
3435 Lowercase the name blocked by a SMT dynamic block
3436
3437 .. change::
3438 :tags: Improvements
3439 :pullreq: 8531
3440
3441 Fix the default value of ``setMaxUDPOutstanding`` in the console's help (phonedph1)
3442
3443 .. change::
3444 :tags: Improvements
3445 :pullreq: 8522
3446
3447 Add bindings for the noerrors and drops members of StatNode
3448
3449 .. change::
3450 :tags: DNS over HTTPS, DNS over TLS
3451 :pullreq: 8526
3452
3453 Prefer the cipher suite from the server by default (DoH, DoT)
3454
3455 .. change::
3456 :tags: Improvements
3457 :pullreq: 8440
3458
3459 Fix -Wshadow warnings (Aki Tuomi)
3460
3461 .. change::
3462 :tags: Improvements
3463 :pullreq: 8509
3464
3465 Fix typo: settting to setting (Chris Hofstaedtler)
3466
3467 .. changelog::
3468 :version: 1.4.0-rc5
3469 :released: 30th of October 2019
3470
3471 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
3472
3473 .. change::
3474 :tags: Improvements, DNS over HTTPS, Metrics
3475 :pullreq: 8465
3476
3477 Rename the 'address' label to 'frontend' for DoH metrics
3478
3479 .. change::
3480 :tags: Bug Fixes, DNS over HTTPS
3481 :pullreq: 8471
3482
3483 Increment the DOHUnit ref count when it's set in the IDState
3484
3485 .. changelog::
3486 :version: 1.4.0-rc4
3487 :released: 25th of October 2019
3488
3489 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
3490
3491 .. change::
3492 :tags: New Features, DNS over HTTPS, DNS over TLS
3493 :pullreq: 8442
3494
3495 Add support dumping TLS keys via keyLogFile
3496
3497 .. change::
3498 :tags: Improvements, DNS over HTTPS
3499 :pullreq: 8416
3500
3501 Implement reference counting for the DOHUnit object
3502
3503 .. change::
3504 :tags: Improvements, DNS over HTTPS, DNS over TLS, Metrics
3505 :pullreq: 8447
3506
3507 Add metrics about TLS handshake failures for DoH and DoT
3508
3509 .. change::
3510 :tags: Improvements
3511 :pullreq: 8411
3512 :tickets: 8390
3513
3514 Add more options to LogAction (non-verbose mode, timestamps)
3515
3516 .. change::
3517 :tags: Improvements, DNS over HTTPS, DNS over TLS
3518 :pullreq: 8383
3519
3520 Merge the setup of TLS contexts in DoH and DoT
3521
3522 .. change::
3523 :tags: Bug Fixes
3524 :pullreq: 8408
3525
3526 Fix the caching of large entries
3527
3528 .. change::
3529 :tags: Improvements
3530 :pullreq: 8415
3531
3532 Fix formatting in showTCPStats()
3533
3534 .. change::
3535 :tags: Bug Fixes
3536 :pullreq: 8413
3537 :tickets: 8412
3538
3539 Work around cmsg_space somehow not being a constexpr on macOS
3540
3541 .. change::
3542 :tags: Improvements
3543 :pullreq: 8372
3544
3545 Use SO_BINDTODEVICE when available for newServer's source interface
3546
3547 .. change::
3548 :tags: Bug Fixes, Metrics
3549 :pullreq: 8409
3550
3551 Add missing prometheus descriptions for cache-related metrics
3552
3553 .. change::
3554 :tags: Improvements, DNS over HTTPS, DNS over TLS, Metrics
3555 :pullreq: 8406
3556
3557 Add metrics about unknown/inactive TLS ticket keys
3558
3559 .. change::
3560 :tags: Improvements, DNS over TLS, Metrics
3561 :pullreq: 8387
3562
3563 Add metrics about TLS versions with DNS over TLS
3564
3565 .. change::
3566 :tags: Improvements, DNS over HTTPS, Metrics
3567 :pullreq: 8395
3568
3569 Count the number of concurrent connections for DoH as well
3570
3571 .. change::
3572 :tags: Bug Fixes, DNS over HTTPS
3573 :pullreq: 8388
3574
3575 Clear the DoH session ticket encryption key in the ctor
3576
3577 .. change::
3578 :tags: Improvements, DNS over HTTPS, DNS over TLS
3579 :pullreq: 8382
3580
3581 Add a 'preferServerCiphers' option for DoH and DoT
3582
3583 .. change::
3584 :tags: Bug Fixes, Metrics
3585 :pullreq: 8381
3586
3587 Add a prometheus 'thread' label to distinguish identical frontends
3588
3589 .. change::
3590 :tags: Bug Fixes, Metrics
3591 :pullreq: 8378
3592
3593 Fix a typo in the prometheus description of 'senderrors'
3594
3595 .. change::
3596 :tags: Bug Fixes, Metrics
3597 :pullreq: 8368
3598
3599 More prometheus fixes
3600
3601 .. change::
3602 :tags: Improvements, DNS over HTTPS
3603 :pullreq: 8365
3604 :tickets: 8353
3605
3606 Lowercase custom DoH header names
3607
3608 .. change::
3609 :tags: Improvements
3610 :pullreq: 8364
3611 :tickets: 8362
3612
3613 Check the address supplied to 'webserver' in check-config
3614
3615 .. change::
3616 :tags: Improvements, DNS over HTTPS, Metrics
3617 :pullreq: 8361
3618
3619 Refactor DoH prometheus metrics again
3620
3621 .. change::
3622 :tags: Bug Fixes
3623 :pullreq: 8359
3624
3625 Fix the creation order of rules when inserted via setRules()
3626
3627 .. changelog::
3628 :version: 1.4.0-rc3
3629 :released: 30th of September 2019
3630
3631 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
3632
3633
3634 .. change::
3635 :tags: Improvements
3636 :pullreq: 8083
3637 :tickets: 7845
3638
3639 Clean up our interactions with errno
3640
3641 .. change::
3642 :tags: Improvements, DNS over HTTPS, DNS over TLS
3643 :pullreq: 8264
3644
3645 Display the DoH and DoT binds in the web view
3646
3647 .. change::
3648 :tags: Improvements
3649 :pullreq: 8265
3650 :tickets: 5514
3651
3652 Remove the 'blockfilter' stat from the web view
3653
3654 .. change::
3655 :tags: Improvements, DNS over HTTPS
3656 :pullreq: 8267
3657
3658 Allow accepting DoH queries over HTTP instead of HTTPS
3659
3660 .. change::
3661 :tags: Improvements
3662 :pullreq: 8268
3663
3664 Fix some spelling mistakes noticed by lintian (Chris Hofstaedtler)
3665
3666 .. change::
3667 :tags: Bug Fixes
3668 :pullreq: 8281
3669
3670 Fix the newCDBKVStore console completion when LMDB is not enabled (phonedph1)
3671
3672 .. change::
3673 :tags: Bug Fixes
3674 :pullreq: 8283
3675
3676 Allow configure CDB_CFLAGS to work (phonedph1)
3677
3678 .. change::
3679 :tags: Improvements
3680 :pullreq: 8285
3681
3682 dnsdistconf.lua use non-deprecated versions for 1.4.0 (phonedph1)
3683
3684 .. change::
3685 :tags: Bug Fixes
3686 :pullreq: 8303
3687
3688 Fix the warning message on an invalid secpoll answer
3689
3690 .. change::
3691 :tags: Bug Fixes
3692 :pullreq: 8304
3693 :tickets: 8300
3694
3695 Don't connect to remote logger in client/command mode
3696
3697 .. change::
3698 :tags: Improvements
3699 :pullreq: 8318
3700
3701 Better use of labels in our DoH prometheus export
3702
3703 .. change::
3704 :tags: Improvements, DNS over HTTPS
3705 :pullreq: 8349
3706
3707 Implement TLS session ticket keys management for DoH
3708
3709 .. changelog::
3710 :version: 1.4.0-rc2
3711 :released: 2nd of September 2019
3712
3713 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
3714
3715
3716 .. change::
3717 :tags: New Features
3718 :pullreq: 8139
3719
3720 Add a KeyValueStoreLookup action based on CDB or LMDB
3721
3722 .. change::
3723 :tags: Security
3724 :pullreq: 8200
3725
3726 Update h2o to 2.2.6, fixing CVE-2019-9512, CVE-2019-9514 and CVE-2019-9515 for repo.powerdns.com packages
3727
3728 .. change::
3729 :tags: New Features, DNS over HTTPS
3730 :pullreq: 8206
3731
3732 Add support for early DoH HTTP responses
3733
3734 .. change::
3735 :tags: Improvements, DNS over HTTPS, DNS over TLS
3736 :pullreq: 8207
3737 :tickets: 8202
3738
3739 Add minTLSVersion for DoH and DoT
3740
3741 .. change::
3742 :tags: Improvements
3743 :pullreq: 8250
3744
3745 Split dnsdist-lua-bindings.cc to reduce memory consumption during compilation
3746
3747 .. change::
3748 :tags: Improvements
3749 :pullreq: 8252
3750
3751 Add a Lua binding for `dynBlockRulesGroup:setQuiet(quiet)`
3752
3753 .. changelog::
3754 :version: 1.4.0-rc1
3755 :released: 12th of August 2019
3756
3757 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
3758
3759 .. change::
3760 :tags: Improvements
3761 :pullreq: 7860
3762
3763 Disallow TCP disablement
3764
3765 .. change::
3766 :tags: Improvements
3767 :pullreq: 7862
3768
3769 Update boost.m4 to the latest version
3770
3771 .. change::
3772 :tags: Bug Fixes
3773 :pullreq: 7886
3774
3775 SuffixMatchTree: fix root removal, partial match of non-leaf nodes
3776
3777 .. change::
3778 :tags: Improvements
3779 :pullreq: 7909
3780
3781 Print stats from expungeByName (Matti Hiljanen)
3782
3783 .. change::
3784 :tags: Bug Fixes, DNS over HTTPS
3785 :pullreq: 7911
3786 :tickets: 7894
3787
3788 Properly override the HTTP Server header for DoH
3789
3790 .. change::
3791 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
3792 :pullreq: 7915
3793
3794 Exit when requested DoT/DoH support is not compiled in
3795
3796 .. change::
3797 :tags: Improvements, DNS over HTTPS
3798 :pullreq: 7917
3799
3800 Send better HTTP status codes, handle ACL drops earlier
3801
3802 .. change::
3803 :tags: Bug Fixes, DNS over HTTPS
3804 :pullreq: 7927
3805 :tickets: 7917
3806
3807 Proper HTTP response for timeouts over DoH
3808
3809 .. change::
3810 :tags: Improvements, DNS over HTTPS
3811 :pullreq: 7933
3812 :tickets: 7898
3813
3814 Add more stats about DoH HTTP responses
3815
3816 .. change::
3817 :tags: Bug Fixes, Carbon, Prometheus
3818 :pullreq: 7934
3819 :tickets: 7933
3820
3821 Deduplicate frontends entries with carbon and prometheus
3822
3823 .. change::
3824 :tags: Bug Fixes
3825 :pullreq: 7951
3826 :tickets: 6942, 8084
3827
3828 Update boost.m4
3829
3830 .. change::
3831 :tags: Improvements
3832 :pullreq: 7952
3833 :tickets: 7950
3834
3835 Squelch unused function warning
3836
3837 .. change::
3838 :tags: Bug Fixes
3839 :pullreq: 7974
3840 :tickets: 7971
3841
3842 Fix short IOs over TCP
3843
3844 .. change::
3845 :tags: Improvements, DNS over TLS
3846 :pullreq: 7978
3847
3848 Improve error messages for DoT issues
3849
3850 .. change::
3851 :tags: Bug Fixes
3852 :pullreq: 7979
3853
3854 Fix handling of backend connection failing over TCP
3855
3856 .. change::
3857 :tags: Improvements
3858 :pullreq: 7985
3859
3860 SuffixMatchNode:add(): accept more types
3861
3862 .. change::
3863 :tags: Improvements
3864 :pullreq: 7990
3865 :tickets: 7981
3866
3867 Explicitly align the buffer used for cmsgs
3868
3869 .. change::
3870 :tags: Improvements
3871 :pullreq: 7992
3872
3873 Add `quiet` parameter to NetmaskGroupRule
3874
3875 .. change::
3876 :tags: Improvements
3877 :pullreq: 7996
3878 :tickets: 7981
3879
3880 Clear cmsg_space(sizeof(data)) in cmsghdr to appease Valgrind
3881
3882 .. change::
3883 :tags: Bug Fixes
3884 :pullreq: 8003
3885
3886 Insert the response into the ringbuffer right after sending it
3887
3888 .. change::
3889 :tags: Improvements
3890 :pullreq: 8007
3891
3892 Add static assertions for the size of the src address control buffer
3893
3894 .. change::
3895 :tags: Improvements
3896 :pullreq: 8013
3897
3898 Don't create temporary strings to escape DNSName labels
3899
3900 .. change::
3901 :tags: Bug Fixes, DNSCrypt
3902 :pullreq: 8015
3903 :tickets: 8014
3904
3905 Skip non-dnscrypt binds in `showDNSCryptBinds()`
3906
3907 .. change::
3908 :tags: Improvements
3909 :pullreq: 8024
3910
3911 Display TCP/DoT queries and responses in verbose mode, opcode in grepq
3912
3913 .. change::
3914 :tags: Improvements
3915 :pullreq: 8025
3916
3917 Be a bit more explicit about what failed in testCrypto()
3918
3919 .. change::
3920 :tags: Bug Fixes
3921 :pullreq: 8030
3922 :tickets: 8021
3923
3924 Handle ENOTCONN on read() over TCP
3925
3926 .. change::
3927 :tags: Improvements, DNSCrypt
3928 :pullreq: 8042
3929 :tickets: 8020
3930
3931 Accept more than one certificate in `addDNSCryptBind()`
3932
3933 .. change::
3934 :tags: Bug Fixes
3935 :pullreq: 8067
3936
3937 Make sure we always compile with BOOST_CB_ENABLE_DEBUG set to 0
3938
3939 .. change::
3940 :tags: Bug Fixes
3941 :pullreq: 8078
3942
3943 Catch exceptions thrown when handling a TCP response
3944
3945 .. change::
3946 :tags: Bug Fixes
3947 :pullreq: 8079
3948
3949 Fix unlimited retries when TCP Fast Open is enabled
3950
3951 .. change::
3952 :tags: Bug Fixes
3953 :pullreq: 8081
3954
3955 M4/systemd.m4: fail when systemctl is not available
3956
3957 .. change::
3958 :tags: Bug Fixes, Prometheus
3959 :pullreq: 8105
3960
3961 Fix a typo in the Server's latency description for Prometheus (phonedph1)
3962
3963 .. change::
3964 :tags: Improvements
3965 :pullreq: 8110
3966
3967 Update URLs to use HTTPS scheme (Chris Hofstaedtler)
3968
3969 .. change::
3970 :tags: Bug Fixes, DNS over HTTPS
3971 :pullreq: 8112
3972
3973 Prevent a dangling DOHUnit pointer when send() failed
3974
3975 .. change::
3976 :tags: Improvements
3977 :pullreq: 8113
3978
3979 Double-check we only increment the outstanding counter once
3980
3981 .. change::
3982 :tags: New Features
3983 :pullreq: 8117
3984
3985 Implement ContinueAction()
3986
3987 .. change::
3988 :tags: Bug Fixes
3989 :pullreq: 8131
3990 :tickets: 8130
3991
3992 Console: flush cout after printing g_outputbuffer (Doug Freed)
3993
3994 .. change::
3995 :tags: Improvements
3996 :pullreq: 8135
3997 :tickets: 8108
3998
3999 ext/ipcrypt: ship license in tarballs (Chris Hofstaedtler)
4000
4001 .. change::
4002 :tags: New Features, DNS over HTTPS, DNS over TLS
4003 :pullreq: 8141
4004 :tickets: 7812
4005
4006 Add OCSP stapling (from files) for DoT and DoH
4007
4008 .. change::
4009 :tags: New Features, DNS over HTTPS
4010 :pullreq: 8148
4011 :tickets: 7957, 7900
4012
4013 Add support for custom DoH headers (Melissa Voegeli)
4014
4015 .. change::
4016 :tags: New Features, DNS over HTTPS
4017 :pullreq: 8153
4018 :tickets: 8133
4019
4020 Add lua bindings, rules and action for DoH
4021
4022 .. change::
4023 :tags: Improvements
4024 :pullreq: 8154
4025
4026 Use a counter to mark IDState usage instead of the FD
4027
4028 .. change::
4029 :tags: Bug Fixes
4030 :pullreq: 8158
4031
4032 Fix signedness issue in isEDNSOptionInOpt()
4033
4034 .. change::
4035 :tags: Improvements
4036 :pullreq: 8175
4037
4038 Increase the default value of setMaxUDPOutstanding to 65535
4039
4040 .. changelog::
4041 :version: 1.4.0-beta1
4042 :released: 6th of June 2019
4043
4044 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
4045
4046 .. change::
4047 :tags: Bug Fixes, DoH
4048 :pullreq: 7814
4049 :tickets: 7810
4050
4051 DoH: Don't let 'self' dangling while parsing the request's qname, this could lead to a crash
4052
4053 .. change::
4054 :tags: Bug Fixes
4055 :pullreq: 7823
4056
4057 Fix minor issues reported by Coverity
4058
4059 .. change::
4060 :tags: New Features, DoT, DoH
4061 :pullreq: 7825
4062 :tickets: 7210
4063
4064 Implement SNIRule for DoT and DoH
4065
4066 .. change::
4067 :tags: Bug Fixes
4068 :pullreq: 7833
4069
4070 Remove second, incomplete copy of lua EDNSOptionCode table
4071
4072 .. change::
4073 :tags: Improvements, Prometheus
4074 :pullreq: 7853
4075 :tickets: 6088
4076
4077 Support Prometheus latency histograms (Marlin Cremers)
4078
4079 .. changelog::
4080 :version: 1.4.0-alpha2
4081 :released: 26th of April 2019
4082
4083 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
4084
4085 .. change::
4086 :tags: Improvements
4087 :pullreq: 7410
4088
4089 Ignore Path MTU discovery on UDP server socket
4090
4091 .. change::
4092 :tags: Improvements
4093 :pullreq: 7708
4094
4095 Alternative solution to the unaligned accesses.
4096
4097 .. change::
4098 :tags: Bug Fixes
4099 :pullreq: 7718
4100
4101 Exit when setting ciphers fails (GnuTLS)
4102
4103 .. change::
4104 :tags: New Features
4105 :pullreq: 7726
4106 :tickets: 6911, 7526
4107
4108 Add DNS over HTTPS support based on libh2o
4109
4110 .. changelog::
4111 :version: 1.4.0-alpha1
4112 :released: 12th of April 2019
4113
4114 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.4.x.
4115
4116 .. change::
4117 :tags: New Features
4118 :pullreq: 7209
4119
4120 Make recursor & dnsdist communicate (ECS) 'variable' status
4121
4122 .. change::
4123 :tags: Improvements
4124 :pullreq: 7167
4125
4126 Fix compiler warning about returning garbage (Adam Majer)
4127
4128 .. change::
4129 :tags: Improvements
4130 :pullreq: 7168
4131
4132 Fix warnings, mostly unused parameters, reported by -wextra
4133
4134 .. change::
4135 :tags: New Features
4136 :pullreq: 6959
4137 :tickets: 6941, 2362
4138
4139 Add namespace and instance variable to carbon key (Gibheer)
4140
4141 .. change::
4142 :tags: Improvements
4143 :pullreq: 7191
4144
4145 Add optional uuid column to showServers()
4146
4147 .. change::
4148 :tags: New Features
4149 :pullreq: 7087
4150
4151 Allow NoRecurse for use in dynamic blocks or Lua rules (phonedph1)
4152
4153 .. change::
4154 :tags: New Features
4155 :pullreq: 7197
4156 :tickets: 7194
4157
4158 Expose secpoll status
4159
4160 .. change::
4161 :tags: Improvements
4162 :pullreq: 7026
4163
4164 Configure --enable-pdns-option --with-third-party-module (Josh Soref)
4165
4166 .. change::
4167 :tags: Bug Fixes
4168 :pullreq: 7256
4169
4170 Protect GnuTLS tickets key rotation with a read-write lock
4171
4172 .. change::
4173 :tags: Bug Fixes
4174 :pullreq: 7267
4175
4176 Check that ``SO_ATTACH_BPF`` is defined before enabling eBPF
4177
4178 .. change::
4179 :tags: Improvements
4180 :pullreq: 7138
4181
4182 Drop remaining capabilities after startup
4183
4184 .. change::
4185 :tags: New Features
4186 :pullreq: 7323
4187 :tickets: 7236
4188
4189 Add an optional 'checkTimeout' parameter to 'newServer()'
4190
4191 .. change::
4192 :tags: New Features
4193 :pullreq: 7322
4194 :tickets: 7237
4195
4196 Add a 'rise' parameter to 'newServer()'
4197
4198 .. change::
4199 :tags: New Features
4200 :pullreq: 7310
4201 :tickets: 7239
4202
4203 Add a 'keepStaleData' option to the packet cache
4204
4205 .. change::
4206 :tags: New Features
4207 :pullreq: 6967
4208 :tickets: 6846, 6897
4209
4210 Expose trailing data (Richard Gibson)
4211
4212 .. change::
4213 :tags: Improvements
4214 :pullreq: 6634
4215
4216 More sandboxing using systemd's features
4217
4218 .. change::
4219 :tags: Bug Fixes
4220 :pullreq: 7426
4221
4222 Fix off-by-one in mvRule counting
4223
4224 .. change::
4225 :tags: Improvements
4226 :pullreq: 7428
4227
4228 Reduce systemcall usage in Protobuf logging
4229
4230 .. change::
4231 :tags: Improvements
4232 :pullreq: 7433
4233
4234 Resync YaHTTP code to cmouse/yahttp@11be77a1fc4032 (Chris Hofstaedtler)
4235
4236 .. change::
4237 :tags: New Features
4238 :pullreq: 7142
4239
4240 Add option to set interval between health checks (1848)
4241
4242 .. change::
4243 :tags: New Features
4244 :pullreq: 7406
4245
4246 Add EDNS unknown version handling (Dmitry Alenichev)
4247
4248 .. change::
4249 :tags: Improvements
4250 :pullreq: 7431
4251
4252 Pass empty response (Dmitry Alenichev)
4253
4254 .. change::
4255 :tags: Improvements
4256 :pullreq: 7502
4257
4258 Change the way getRealMemusage() works on linux (using statm)
4259
4260 .. change::
4261 :tags: Bug Fixes
4262 :pullreq: 7520
4263
4264 Don't convert nsec to usec if we need nsec
4265
4266 .. change::
4267 :tags: New Features
4268 :pullreq: 7537
4269
4270 DNSNameSet and QNameSetRule (Andrey)
4271
4272 .. change::
4273 :tags: Bug Fixes
4274 :pullreq: 7594
4275
4276 Fix setRules()
4277
4278 .. change::
4279 :tags: Bug Fixes
4280 :pullreq: 7560
4281
4282 Handle EAGAIN in the GnuTLS DNS over TLS provider
4283
4284 .. change::
4285 :tags: Bug Fixes
4286 :pullreq: 7586
4287 :tickets: 7461
4288
4289 Gracefully handle a null latency in the webserver's js
4290
4291 .. change::
4292 :tags: Improvements
4293 :pullreq: 7585
4294 :tickets: 7534
4295
4296 Prevent 0-ttl cache hits
4297
4298 .. change::
4299 :tags: Improvements
4300 :pullreq: 7343
4301 :tickets: 7139
4302
4303 Add addDynBlockSMT() support to dynBlockRulesGroup
4304
4305 .. change::
4306 :tags: Improvements
4307 :pullreq: 7578
4308
4309 Add frontend response statistics (Matti Hiljanen)
4310
4311 .. change::
4312 :tags: Bug Fixes
4313 :pullreq: 7652
4314
4315 EDNSOptionView improvements
4316
4317 .. change::
4318 :tags: New Features
4319 :pullreq: 7481
4320 :tickets: 6242
4321
4322 Add support for encrypting ip addresses #gdpr
4323
4324 .. change::
4325 :tags: Improvements
4326 :pullreq: 7670
4327
4328 Remove addLuaAction and addLuaResponseAction
4329
4330 .. change::
4331 :tags: Improvements
4332 :pullreq: 7559
4333 :tickets: 7526, 4814
4334
4335 Refactoring of the TCP stack
4336
4337 .. change::
4338 :tags: Bug Fixes
4339 :pullreq: 7674
4340 :tickets: 7481
4341
4342 Honor libcrypto include path
4343
4344 .. change::
4345 :tags: New Features
4346 :pullreq: 7677
4347 :tickets: 5653
4348
4349 Add 'setSyslogFacility()'
4350
4351 .. change::
4352 :tags: Improvements
4353 :pullreq: 7692
4354 :tickets: 7556
4355
4356 Prevent a conflict with BADSIG being clobbered
4357
4358 .. change::
4359 :tags: Improvements
4360 :pullreq: 7689
4361
4362 Switch to the new 'newPacketCache()' syntax for 1.4.0
4363
4364 .. change::
4365 :tags: New Features
4366 :pullreq: 7676
4367
4368 Add 'reloadAllCertificates()'
4369
4370 .. change::
4371 :tags: Improvements
4372 :pullreq: 7678
4373
4374 Move constants to proper namespace
4375
4376 .. change::
4377 :tags: Improvements
4378 :pullreq: 7694
4379
4380 Unify the management of DNS/DNSCrypt/DoT frontends
4381
4382 .. changelog::
4383 :version: 1.3.3
4384 :released: 8th of November 2018
4385
4386 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.3.x.
4387
4388 .. change::
4389 :tags: New Features
4390 :pullreq: 6737, 6939
4391 :tickets: 6932
4392
4393 Add consistent hash builtin policy
4394
4395 .. change::
4396 :tags: New Features
4397 :pullreq: 6803
4398
4399 Add EDNSOptionRule
4400
4401 .. change::
4402 :tags: New Features
4403 :pullreq: 6813
4404
4405 Add DSTPortRule (phonedph1)
4406
4407 .. change::
4408 :tags: New Features
4409 :pullreq: 6826
4410
4411 Make getOutstanding usable from both lua and console (phonedph1)
4412
4413 .. change::
4414 :tags: Improvements
4415 :pullreq: 6831
4416
4417 Get rid of some allocs/copies in DNS parsing
4418
4419 .. change::
4420 :tags: Bug Fixes
4421 :pullreq: 6835
4422
4423 Display dynblocks' default action, None, as the global one
4424
4425 .. change::
4426 :tags: Improvements
4427 :pullreq: 6847
4428 :tickets: 6348, 4857
4429
4430 Set a correct EDNS OPT RR for self-generated answers
4431
4432 .. change::
4433 :tags: New Features
4434 :pullreq: 6856
4435
4436 Added :excludeRange and :includeRange methods to DynBPFFilter class (Reinier Schoof)
4437
4438 .. change::
4439 :tags: Improvements
4440 :pullreq: 6877
4441
4442 Fix a sign-comparison warning in isEDNSOptionInOPT()
4443
4444 .. change::
4445 :tags: New Features
4446 :pullreq: 3935, 6343, 6901, 7007, 7089
4447 :tickets: 4947, 6002
4448
4449 Add Prometheus stats support (Pavel Odintsov, Kai S)
4450
4451 .. change::
4452 :tags: Bug Fixes
4453 :pullreq: 6956
4454
4455 Fix compilation when SO_REUSEPORT is not defined
4456
4457 .. change::
4458 :tags: Improvements
4459 :pullreq: 6986
4460 :tickets: 6907, 6907
4461
4462 Add warning rates to DynBlockRulesGroup rules
4463
4464 .. change::
4465 :tags: New Features
4466 :pullreq: 6997
4467 :tickets: 6974
4468
4469 Name threads in the programs
4470
4471 .. change::
4472 :tags: Improvements
4473 :pullreq: 7015
4474 :tickets: 7004, 6990
4475
4476 Add support for exporting a server id in protobuf
4477
4478 .. change::
4479 :tags: Improvements
4480 :pullreq: 7030
4481
4482 dnsdist did not set TCP_NODELAY, causing needless latency
4483
4484 .. change::
4485 :tags: Bug Fixes
4486 :pullreq: 7060
4487
4488 Release memory on DNS over TLS handshake failure
4489
4490 .. change::
4491 :tags: Improvements
4492 :pullreq: 7062
4493
4494 Add a setting to control the number of stored sessions
4495
4496 .. change::
4497 :tags: Improvements
4498 :pullreq: 7064
4499 :tickets: 7060
4500
4501 Wrap GnuTLS and OpenSSL pointers in smart pointers
4502
4503 .. change::
4504 :tags: New Features
4505 :pullreq: 7075
4506 :tickets: 6908
4507
4508 Support the NXDomain action with dynamic blocks
4509
4510 .. change::
4511 :tags: Improvements
4512 :pullreq: 7078
4513 :tickets: 6909
4514
4515 Add a 'creationOrder' field to rules
4516
4517 .. change::
4518 :tags: Improvements
4519 :pullreq: 7092
4520 :tickets: 7091
4521
4522 Fix return-type detection with boost 1.69's tribool
4523
4524 .. change::
4525 :tags: Improvements
4526 :pullreq: 7104
4527 :tickets: 7096
4528
4529 Fix format string issue on 32bits ARM
4530
4531 .. change::
4532 :tags: Improvements
4533 :pullreq: 7108
4534
4535 Wrap TCP connection objects in smart pointers
4536
4537 .. change::
4538 :tags: Improvements
4539 :pullreq: 7109
4540 :tickets: 7084
4541
4542 Add the setConsoleOutputMaxMsgSize function
4543
4544 .. change::
4545 :tags: New Features
4546 :pullreq: 7115
4547
4548 Add security polling
4549
4550 .. change::
4551 :tags: Improvements
4552 :pullreq: 7117
4553 :tickets: 7112
4554
4555 Add the ability to update webserver credentials
4556
4557 .. change::
4558 :tags: New Features
4559 :pullreq: 7140
4560
4561 Add a PoolAvailableRule to easily add backup pools (Robin Geuze)
4562
4563 .. change::
4564 :tags: Bug Fixes
4565 :pullreq: 7165
4566 :tickets: 6896
4567
4568 Handle trailing data correctly when adding OPT or ECS info
4569
4570 .. changelog::
4571 :version: 1.3.2
4572 :released: 10th of July 2018
4573
4574 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.3.x.
4575
4576 .. change::
4577 :tags: Bug Fixes
4578 :pullreq: 6785
4579
4580 Add missing include for PRId64, fix build on CentOS 6 / SLES 12
4581
4582 .. changelog::
4583 :version: 1.3.1
4584 :released: 10th of July 2018
4585
4586 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.3.x.
4587
4588 .. change::
4589 :tags: Improvements
4590 :pullreq: 6358
4591 :tickets: 6357
4592
4593 Remove `thelog` and `thel` and replace this with a global g_log
4594
4595 .. change::
4596 :tags: Improvements
4597 :pullreq: 6422
4598
4599 Fix two small nits on the documentation
4600
4601 .. change::
4602 :tags: Improvements
4603 :pullreq: 6426
4604 :tickets: 6394
4605
4606 Move the el6 dnsdist package to upstart
4607
4608 .. change::
4609 :tags: Bug Fixes
4610 :pullreq: 6425
4611
4612 Initialize the done variable in the rings' unit tests
4613
4614 .. change::
4615 :tags: Bug Fixes
4616 :pullreq: 6429
4617
4618 Reorder headers to fix OpenBSD build
4619
4620 .. change::
4621 :tags: Improvements
4622 :pullreq: 6435
4623 :tickets: 6433
4624
4625 CLI option improvements (Chris Hofstaedtler)
4626
4627 .. change::
4628 :tags: Improvements
4629 :pullreq: 6436
4630
4631 Split pdns_enable_unit_tests (Chris Hofstaedtler)
4632
4633 .. change::
4634 :tags: Bug Fixes
4635 :pullreq: 6448
4636
4637 Restrict value range for weight parameter, avoid sum overflows dropping queries (Dan McCombs)
4638
4639 .. change::
4640 :tags: Improvements
4641 :pullreq: 6445, 6457, 6470
4642 :tickets: 6423
4643
4644 Re-do lua detection
4645
4646 .. change::
4647 :tags: Improvements
4648 :pullreq: 6460
4649
4650 Docs: fix missing ref in the dnsdist docs
4651
4652 .. change::
4653 :tags: Improvements
4654 :pullreq: 6502
4655
4656 Be more permissive in wrandom tests, log values on failure
4657
4658 .. change::
4659 :tags: Improvements
4660 :pullreq: 6523
4661 :tickets: 6430
4662
4663 Tests: avoid failure on not-so-optimal distribution
4664
4665 .. change::
4666 :tags: New Features
4667 :pullreq: 6524
4668 :tickets: 6450
4669
4670 Add support for more than one TLS certificate
4671
4672 .. change::
4673 :tags: Improvements
4674 :pullreq: 6577
4675
4676 Add syntax to dns.proto to silence compilation warning.
4677
4678 .. change::
4679 :tags: Improvements
4680 :pullreq: 6590
4681
4682 Fix warnings reported by gcc 8.1.0
4683
4684 .. change::
4685 :tags: Improvements
4686 :pullreq: 6592
4687 :tickets: 6483
4688
4689 Document setVerboseHealthchecks()
4690
4691 .. change::
4692 :tags: Improvements
4693 :pullreq: 6615
4694
4695 Update dq.rst (phonedph1)
4696
4697 .. change::
4698 :tags: Improvements
4699 :pullreq: 6641
4700
4701 Fix rpm scriptlets
4702
4703 .. change::
4704 :tags: Improvements
4705 :pullreq: 6637
4706
4707 Don't copy unitialized values of SuffixMatchTree
4708
4709 .. change::
4710 :tags: Improvements
4711 :pullreq: 6684
4712
4713 Expose toString of various objects to Lua (Chris Hofstaedtler)
4714
4715 .. change::
4716 :tags: Improvements
4717 :pullreq: 6674
4718
4719 Remove 'expired' states from MaxQPSIPRule
4720
4721 .. change::
4722 :tags: Bug Fixes
4723 :pullreq: 6672
4724
4725 Fix reconnection handling
4726
4727 .. change::
4728 :tags: Improvements
4729 :pullreq: 6688
4730 :tickets: 6664
4731
4732 Mark the remote member of DownstreamState as const
4733
4734 .. change::
4735 :tags: Bug Fixes
4736 :pullreq: 6706
4737
4738 Dynamic blocks were being created with the wrong duration (David Freedman)
4739
4740 .. change::
4741 :tags: Improvements
4742 :pullreq: 6710
4743 :tickets: 6706
4744
4745 Test the content of dynamic blocks using the API
4746
4747 .. change::
4748 :tags: Improvements
4749 :pullreq: 6711
4750 :tickets: 6532
4751
4752 Default set "connection: close" header for web requests
4753
4754 .. change::
4755 :tags: Improvements
4756 :pullreq: 6717
4757
4758 Update timedipsetrule.rst (phonedph1)
4759
4760 .. change::
4761 :tags: Improvements
4762 :pullreq: 6716
4763 :tickets: 6712
4764
4765 Don't access the TCP buffer vector past its size
4766
4767 .. change::
4768 :tags: Improvements
4769 :pullreq: 6563
4770
4771 Show droprate in API output
4772
4773 .. change::
4774 :tags: Bug Fixes
4775 :pullreq: 6718
4776 :tickets: 6442
4777
4778 Limit qps and latency to two decimals in the web view
4779
4780 .. change::
4781 :tags: Improvements
4782 :pullreq: 6715
4783 :tickets: 6683, 6709
4784
4785 Refuse console connection without a proper key set
4786
4787 .. change::
4788 :tags: New Features
4789 :pullreq: 6740
4790 :tickets: 6579
4791
4792 Add a negative ttl option to the packet cache
4793
4794 .. change::
4795 :tags: Bug Fixes
4796 :pullreq: 6747
4797
4798 Check the flags to detect collisions in the packet cache
4799
4800 .. change::
4801 :tags: New Features
4802 :pullreq: 6749
4803
4804 Add the ability to dump a summary of the cache content
4805
4806 .. change::
4807 :tags: Bug Fixes
4808 :pullreq: 6762
4809
4810 Fix iterating over the results of exceed*() functions
4811
4812 .. change::
4813 :tags: Bug Fixes
4814 :pullreq: 6767
4815
4816 Fix duration false positive in the dynblock regression tests
4817
4818 .. change::
4819 :tags: New Features
4820 :pullreq: 6760
4821
4822 Add netmask-based {ex,in}clusions to DynblockRulesGroup
4823
4824 .. change::
4825 :tags: New Features
4826 :pullreq: 6776
4827 :tickets: 6703
4828
4829 Add DNSAction.NoOp to debug dynamic blocks
4830
4831 .. change::
4832 :tags: Bug Fixes
4833 :pullreq: 6775
4834 :tickets: 6758
4835
4836 Implement NoneAction()
4837
4838 .. change::
4839 :tags: Bug Fixes
4840 :pullreq: 6754
4841 :tickets: 6747
4842
4843 Detect ECS collisions in the packet cache
4844
4845 .. change::
4846 :tags: Bug Fixes
4847 :pullreq: 6773
4848
4849 Fix an outstanding counter race when reusing states
4850
4851 .. change::
4852 :tags: New Features
4853 :pullreq: 6734
4854 :tickets: 6404
4855
4856 Add SetECSAction to set an arbitrary outgoing ecs value
4857
4858 .. change::
4859 :tags: Improvements
4860 :pullreq: 6726
4861
4862 Use LRU to clean the MaxQPSIPRule's store
4863
4864 .. change::
4865 :tags: Improvements
4866 :pullreq: 6769
4867
4868 Disable maybe uninitialized warnings with boost optional
4869
4870 .. change::
4871 :tags: New Features
4872 :pullreq: 6764
4873
4874 Add support for rotating certificates and keys
4875
4876 .. change::
4877 :tags: Improvements
4878 :pullreq: 6658
4879 :tickets: 6541
4880
4881 Luawrapper: report caught std::exception as lua_error
4882
4883 .. change::
4884 :tags: Improvements
4885 :pullreq: 6602
4886
4887 Dnstap.rst: fix some editing errors (Chris Hofstaedtler)
4888
4889 .. change::
4890 :tags: Improvements
4891 :pullreq: 6541
4892 :tickets: 6535
4893
4894 Allow known exception types to be converted to string
4895
4896
4897 .. changelog::
4898 :version: 1.3.0
4899 :released: 30th of March 2018
4900
4901 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.3.x.
4902
4903 .. change::
4904 :tags: Improvements, New Features
4905 :pullreq: 5576, 5860
4906 :tickets: 5202, 5859
4907
4908 Add cache sharding, ``recvmmsg`` and CPU pinning support.
4909 With these, the scalability of :program:`dnsdist` is drastically improved.
4910
4911 .. change::
4912 :tags: Improvements
4913 :pullreq: 5970
4914
4915 Add burst option to :func:`MaxQPSIPRule` (42wim).
4916
4917 .. change::
4918 :tags: Bug Fixes
4919 :pullreq: 5328
4920 :tickets: 5327
4921
4922 Handle SNMP alarms so we can reconnect to the daemon.
4923
4924 .. change::
4925 :tags: New Features
4926 :pullreq: 5625
4927
4928 Add an optional `status` parameter to :func:`Server:setAuto`.
4929
4930 .. change::
4931 :tags: Bug Fixes
4932 :pullreq: 5597
4933 :tickets: 5489
4934
4935 Fix signed/unsigned comparison warnings on ARM.
4936
4937 .. change::
4938 :tags: Improvements
4939 :pullreq: 6022
4940
4941 Add Pools, cacheHitResponseRules to the API.
4942
4943 .. change::
4944 :tags: New Features
4945 :pullreq: 6072
4946
4947 Add :func:`inClientStartup` function.
4948
4949 .. change::
4950 :tags: Improvements
4951 :pullreq: 5929
4952 :tickets: 5748
4953
4954 Add a class option to health checks.
4955
4956 .. change::
4957 :tags: New Features
4958 :pullreq: 6037
4959
4960 Add tag-based routing of queries.
4961
4962 .. change::
4963 :tags: New Features
4964 :pullreq: 6117, 6175, 6176, 6177, 6189
4965
4966 Add experimental :doc:`DNS-over-TLS <guides/dns-over-tls>` support.
4967
4968 .. change::
4969 :tags: Improvements
4970 :pullreq: 6030
4971
4972 Add UUIDs to rules, this allows tracking rules through modifications and moving them around.
4973
4974 .. change::
4975 :tags: Bug Fixes
4976 :pullreq: 5770
4977
4978 Keep trying if the first connection to the remote logger failed
4979
4980 .. change::
4981 :tags: New Features
4982 :pullreq: 5201, 6170
4983
4984 Add simple :doc:`dnstap <reference/dnstap>` support (Justin Valentini, Chris Hofstaedtler).
4985
4986 .. change::
4987 :tags: Improvements
4988 :pullreq: 6185
4989 :tickets: 6182
4990
4991 Apply ResponseRules to locally generated answers (Chris Hofstaedtler).
4992
4993 .. change::
4994 :tags: Improvements
4995 :pullreq: 6283
4996
4997 Report :func:`LuaAction` and :func:`LuaResponseAction` failures in the log and send SERVFAIL instead of not answering the query (Chris Hofstaedtler).
4998
4999 .. change::
5000 :tags: Improvements
5001 :pullreq: 6289
5002
5003 Unify global statistics accounting (Chris Hofstaedtler).
5004
5005 .. change::
5006 :tags: Improvements
5007 :pullreq: 6350, 6366
5008
5009 Speed up the processing of large ring buffers.
5010 This change will make :program:`dnsdist` more scalable with a large number of different clients.
5011
5012 .. change::
5013 :tags: Improvements
5014 :pullreq: 6363
5015 :tickets: 6346
5016
5017 Make custom :func:`addLuaAction` and :func:`addLuaResponseAction` callback's second return value optional.
5018
5019 .. change::
5020 :tags: Improvements
5021 :pullreq: 6327
5022
5023 Add "server-up" metric count to Carbon Reporting (Lowell Mower).
5024
5025 .. change::
5026 :tags: Improvements
5027 :pullreq: 6045, 6382
5028
5029 Add xchacha20 support for :doc:`DNSCrypt <guides/dnscrypt>`.
5030
5031 .. change::
5032 :tags: Improvements
5033 :pullreq: 6317
5034
5035 Scalability improvement: Add an option to use several source ports towards a backend.
5036
5037 .. change::
5038 :tags: Improvements
5039 :pullreq: 6375, 5866
5040 :tickets: 4845
5041
5042 Add '?' and 'help' for providing help() output on ``dnsdist -c`` (Kirill Ponomarev, Chris Hofstaedtler).
5043
5044 .. change::
5045 :tags: Improvements
5046 :pullreq: 6190, 6381
5047
5048 Replace the Lua mutex with a rw lock to limit contention.
5049 This improves the processing speed and parallelism of the policies.
5050
5051 .. change::
5052 :tags: New Features
5053 :pullreq: 6220, 5594
5054 :tickets: 5079, 5654
5055
5056 Add experimental XPF support based on `draft-bellis-dnsop-xpf-04 <https://tools.ietf.org/html/draft-bellis-dnsop-xpf-04>`__.
5057
5058 .. change::
5059 :tags: New Features
5060 :pullreq: 6147
5061
5062 Add :func:`ERCodeRule` to match on extended RCodes (Chris Hofstaedtler).
5063
5064 .. change::
5065 :tags: Bug Fixes
5066 :pullreq: 6018
5067
5068 Fix escaping unusual DNS label octets in DNSName is off by one (Kees Monshouwer).
5069
5070 .. change::
5071 :tags: New Features
5072 :pullreq: 6003
5073
5074 Add :func:`TempFailureCacheTTLAction` (Chris Hofstaedtler).
5075
5076 .. change::
5077 :tags: Improvements
5078 :pullreq: 6146
5079
5080 Ensure :program:`dnsdist` compiles on NetBSD (Tom Ivar Helbekkmo).
5081
5082 .. change::
5083 :tags: Improvements
5084 :pullreq: 5845
5085 :tickets: 5845
5086
5087 Also log eBPF dynamic blocks, as regular dynamic block already are.
5088
5089 .. change::
5090 :tags: New Features, Improvements
5091 :pullreq: 6391
5092
5093 Add :ref:`DynBlockRulesGroup` to improve processing speed of the :func:`maintenance` function by reducing memory usage and not walking the ringbuffers multiple times.
5094
5095 .. change::
5096 :tags: Removals
5097 :pullreq: 6394
5098 :tickets: 6329
5099
5100 Remove the ``--daemon`` option from :program:`dnsdist`.
5101
5102 .. change::
5103 :tags: New Features
5104 :pullreq: 6399
5105 :tickets: 4654
5106
5107 Add :func:`console ACL <addConsoleACL>` functions.
5108
5109 .. change::
5110 :tags: New Features
5111 :pullreq: 6400
5112 :tickets: 6098
5113
5114 Allow adding :meth:`EDNS Client Subnet information <ServerPool:setECS>` to a query before looking in the cache.
5115 This allows serving ECS enabled answers from the cache when all servers in a pool are down.
5116
5117 .. change::
5118 :tags: Improvements
5119 :pullreq: 6401
5120 :tickets: 6211
5121
5122 Ensure large numbers are shown correctly in the API.
5123
5124 .. change::
5125 :tags: Improvements
5126 :pullreq: 6402
5127 :tickets: 5763
5128
5129 Add option to :func:`showRules` to truncate the output length.
5130
5131 .. change::
5132 :tags: Bug Fixes
5133 :pullreq: 6403
5134
5135 Avoid assertion errors in :func:`NewServer` (Chris Hofstaedtler).
5136
5137 .. change::
5138 :tags: Improvements
5139 :pullreq: 6407
5140
5141 Fix several warnings reported by clang's analyzer and cppcheck, should lead to small performance increases.
5142
5143
5144 .. changelog::
5145 :version: 1.2.1
5146 :released: 16th of February 2018
5147
5148 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.2.x.
5149
5150 .. change::
5151 :tags: New Features
5152 :pullreq: 5880
5153
5154 Add configuration option to disable IP_BIND_ADDRESS_NO_PORT (Dan McCombs).
5155
5156 .. change::
5157 :tags: Improvements
5158 :pullreq: 6057
5159
5160 Handle bracketed IPv6 addresses without ports (Chris Hofstaedtler).
5161
5162 .. change::
5163 :tags: Bug Fixes
5164 :pullreq: 5647
5165
5166 Make dnsdist dynamic truncate do right thing on TCP/IP.
5167
5168 .. change::
5169 :tags: Bug Fixes
5170 :pullreq: 5686
5171
5172 Add missing QPSAction
5173
5174 .. change::
5175 :tags: Bug Fixes
5176 :pullreq: 5847
5177
5178 Don't create a Remote Logger in client mode.
5179
5180 .. change::
5181 :tags: Bug Fixes
5182 :pullreq: 5858
5183
5184 Use libsodium's CFLAGS, we might need them to find the includes.
5185
5186 .. change::
5187 :tags: Bug Fixes
5188 :pullreq: 6012
5189
5190 Keep the TCP connection open on cache hit, generated answers.
5191
5192 .. change::
5193 :tags: Bug Fixes
5194 :pullreq: 6041
5195
5196 Add the missing <sys/time.h> include to mplexer.hh for struct timeval.
5197
5198 .. change::
5199 :tags: Bug Fixes
5200 :pullreq: 6043
5201
5202 Sort the servers based on their 'order' after it has been set.
5203
5204 .. change::
5205 :tags: Bug Fixes
5206 :pullreq: 6073
5207
5208 Quiet unused variable warning on macOS (Chris Hofstaedtler).
5209
5210 .. change::
5211 :tags: Bug Fixes
5212 :pullreq: 6094
5213 :tickets: 5652
5214
5215 Fix the outstanding counter when an exception is raised.
5216
5217 .. change::
5218 :tags: Bug Fixes
5219 :pullreq: 6164
5220 :tickets: 6163
5221
5222 Do not connect the snmpAgent from a dnsdist client.
5223
5224 .. changelog::
5225 :version: 1.2.0
5226 :released: 21st of August 2017
5227
5228 Please review the :doc:`Upgrade Guide <../upgrade_guide>` before upgrading from versions < 1.2.x.
5229
5230 .. change::
5231 :tags: Improvements
5232 :pullreq: 4852
5233 :tickets: 4851
5234
5235 DNSName: Check that both first two bits are set in compressed labels.
5236
5237 .. change::
5238 :tags: Improvements
5239 :pullreq: 4285
5240 :tickets: 4131, 4155
5241
5242 Handle unreachable servers at startup, reconnect stale sockets
5243
5244 .. change::
5245 :tags: Improvements
5246 :pullreq: 4474
5247 :tickets: 4471
5248
5249 Gracefully handle invalid addresses in :func:`newServer`.
5250
5251 .. change::
5252 :tags: New Features
5253 :pullreq: 4536
5254 :tickets: 4527
5255
5256 Add an option to 'mute' UDP responses per bind.
5257
5258 .. change::
5259 :tags: New Features, Performance
5260 :pullreq: 4611
5261
5262 Add TCP management options from :rfc:`RFC 7766 section 10 <7766#section-10>`.
5263
5264 .. change::
5265 :tags: Bug Fixes
5266 :pullreq: 4775
5267
5268 LuaWrapper: Use the correct index when storing a function.
5269
5270 .. change::
5271 :tags: New Features
5272 :pullreq: 4779
5273 :tickets: 4562
5274
5275 Save history to home-dir, only use CWD as a last resort.
5276
5277 .. change::
5278 :tags: New Features
5279 :pullreq: 4898
5280
5281 Add the :func:`setRingBuffersSize` directive to allows changing the ringbuffer size.
5282
5283 .. change::
5284 :tags: Improvements, Security
5285 :pullreq: 4815
5286
5287 Merge the client and server nonces to prevent replay attacks.
5288
5289 .. change::
5290 :tags: Improvements
5291 :pullreq: 4786
5292
5293 Use ``IP_BIND_ADDRESS_NO_PORT`` when available.
5294
5295 .. change::
5296 :tags: Bug Fixes
5297 :pullreq: 4785
5298 :tickets: 4689
5299
5300 Send a latency of 0 over carbon, null over API for down servers.
5301
5302 .. change::
5303 :tags: Improvements
5304 :pullreq: 4780
5305 :tickets: 4775, 4660
5306
5307 Add an optional ``seconds`` parameter to :func:`statNodeRespRing`.
5308
5309 .. change::
5310 :tags: Improvements
5311 :pullreq: 4910
5312
5313 Report a more specific lua version and report luajit in ``--version``.
5314
5315 .. change::
5316 :tags: Improvements, DNSCrypt
5317 :pullreq: 4813, 4926
5318
5319 Store the computed shared key and reuse it for the response for DNSCrypt messages.
5320
5321 .. change::
5322 :tags: New Features, Protobuf
5323 :pullreq: 4776
5324 :tickets: 4709
5325
5326 Add an option to export CNAME records over protobuf.
5327
5328 .. change::
5329 :tags: New Features
5330 :pullreq: 4787
5331 :tickets: 4707
5332
5333 Allow TTL alteration via Lua.
5334
5335 .. change::
5336 :tags: New Features
5337 :pullreq: 4837
5338
5339 Add :func:`RDRule` to match queries with the ``RD`` flag set.
5340
5341 .. change::
5342 :tags: New Features
5343 :pullreq: 4897
5344
5345 Add :func:`setWHashedPertubation` for consistent ``whashed`` results.
5346
5347 .. change::
5348 :tags: New Features
5349 :pullreq: 4818
5350
5351 Add ``tcpConnectTimeout`` to :func:`newServer`.
5352
5353 .. change::
5354 :tags: Bug Fixes
5355 :pullreq: 4911
5356
5357 Fix negative port detection for IPv6 addresses on 32-bit.
5358
5359 .. change::
5360 :tags: Bug Fixes
5361 :pullreq: 4877
5362 :tickets: 4579
5363
5364 Fix crashed on SmartOS/Illumos (Roman Dayneko).
5365
5366 .. change::
5367 :tags: New Features
5368 :pullreq: 4788, 5036
5369 :tickets: 4708
5370
5371 Add cache hit response rules.
5372
5373 .. change::
5374 :tags: Improvements, Performance
5375 :pullreq: 4817
5376
5377 Add :func:`setTCPUseSinglePipe` to use a single TCP waiting queue.
5378
5379 .. change::
5380 :tags: Bug Fixes
5381 :pullreq: 4859
5382 :tickets: 4857
5383
5384 Change ``truncateTC`` to defaulting to off, having it enabled by default causes an compatibility with :rfc:`6891` (Robin Geuze).
5385
5386 .. change::
5387 :tags: Bug Fixes
5388 :pullreq: 4987, 5037
5389 :tickets: 4983
5390
5391 Don't cache answers without any TTL (like SERVFAIL).
5392
5393 .. change::
5394 :tags: Improvements, Performance
5395 :pullreq: 4985, 5501
5396 :tickets: 5494
5397
5398 Add ``sendSizeAndMsgWithTimeout`` to send size and data in a single call and use it for TCP Fast Open towards backends.
5399
5400 .. change::
5401 :tags: Improvements
5402 :pullreq: 5056
5403
5404 Prevent issues by unshadowing variables.
5405
5406 .. change::
5407 :tags: New Features, SNMP
5408 :pullreq: 4989, 5123, 5204
5409
5410 Add :doc:`SNMP support <advanced/snmp>`.
5411
5412 .. change::
5413 :tags: Bug Fixes, Performance
5414 :pullreq: 4950
5415 :tickets: 4761
5416
5417 Refactor SuffixMatchNode using a SuffixMatchTree.
5418
5419 .. change::
5420 :tags: Improvements
5421 :pullreq: 4920
5422
5423 Register DNSName::chopOff (@plzz).
5424
5425 .. change::
5426 :tags: New Features
5427 :pullreq: 5070
5428
5429 Allow passing :class:`DNSName`\ s as DNSRules.
5430
5431 .. change::
5432 :tags: Bug Fixes, Webserver
5433 :pullreq: 5089
5434
5435 Send an HTTP 404 on unknown API paths.
5436
5437 .. change::
5438 :tags: Improvements, Performance
5439 :pullreq: 4958
5440
5441 Tune systemd unit-file for medium-sized installations (Winfried Angele).
5442
5443 .. change::
5444 :tags: New Features
5445 :pullreq: 5113
5446
5447 Add support for setting the server selection policy on a per pool basis (Robin Geuze).
5448
5449 .. change::
5450 :tags: Improvements
5451 :pullreq: 5150, 5171
5452 :tickets: 5053
5453
5454 Make :func:`includeDirectory` work sorted (Robin Geuze).
5455
5456 .. change::
5457 :tags: Improvements, LuaWrapper
5458 :pullreq: 5147
5459
5460 Allow embedded NULs in strings received from Lua.
5461
5462 .. change::
5463 :tags: New Features
5464 :pullreq: 5159
5465
5466 Add a ``suffixMatch`` parameter to :meth:`PacketCache:expungeByName` (Robin Geuze).
5467
5468 .. change::
5469 :tags: Improvements
5470 :pullreq: 5163
5471
5472 Cleanup closed TCP downstream connections.
5473
5474 .. change::
5475 :tags: Bug Fixes
5476 :pullreq: 5194
5477
5478 Fix destination port reporting on "any" binds.
5479
5480 .. change::
5481 :tags: New Features
5482 :pullreq: 5136
5483 :tickets: 5126
5484
5485 Add an option so the packet cache entries don't age.
5486
5487 .. change::
5488 :tags: Bug Fixes, Security
5489 :pullreq: 5199
5490
5491 Unified ``-k`` and :func:`setKey` behaviour for client and server mode now.
5492
5493 .. change::
5494 :tags: Improvements
5495 :pullreq: 5230
5496
5497 Improve reporting of C++ exceptions that bubble up via Lua.
5498
5499 .. change::
5500 :tags: Improvements, Performance
5501 :pullreq: 5185
5502
5503 Add the possibility to fill a :class:`NetmaskGroup` (using :meth:`NetmaskGroup:addMask`) from `exceeds*` results.
5504
5505 .. change::
5506 :tags: Improvements
5507 :pullreq: 5253
5508
5509 Add better logging on queries that get dropped, timed out or received.
5510
5511 .. change::
5512 :tags: New Features
5513 :pullreq: 5235
5514
5515 Add :func:`QNameRule`.
5516
5517 .. change::
5518 :tags: Bug Fixes
5519 :pullreq: 5320
5520
5521 Correctly truncate EDNS Client Subnetmasks.
5522
5523 .. change::
5524 :tags: Improvements
5525 :pullreq: 5342
5526
5527 Print useful messages when query and response actions are mixed.
5528
5529 .. change::
5530 :tags: New Features
5531 :pullreq: 5337
5532
5533 Add an optional action to :func:`addDynBlocks`.
5534
5535 .. change::
5536 :tags: New Features
5537 :pullreq: 5344
5538
5539 Add an optional interface parameter to :func:`addLocal`/:func:`setLocal`.
5540
5541 .. change::
5542 :tags: Bug Fixes, Performance
5543 :pullreq: 5359
5544
5545 Get rid of ``std::move()`` calls preventing copy elision.
5546
5547 .. change::
5548 :tags: Bug Fixes
5549 :pullreq: 5369
5550 :tickets: 5365
5551
5552 Fix :func:`RecordsTypeCountRule`\ 's handling of the # of records in a section.
5553
5554 .. change::
5555 :tags: New Features
5556 :pullreq: 5386
5557
5558 Make a ``truncate`` action available to DynBlock and Lua.
5559
5560 .. change::
5561 :tags: Bug Fixes
5562 :pullreq: 5383
5563 :tickets: 5287
5564
5565 Change stats functions to always return lowercase names (Robin Geuze).
5566
5567 .. change::
5568 :tags: New Features
5569 :pullreq: 5336
5570
5571 Implement a runtime changeable rule that matches IP address for a certain time called :func:`TimedIPSetRule`.
5572
5573 .. change::
5574 :tags: Bug Fixes
5575 :pullreq: 5449, 5454
5576
5577 Only use TCP Fast Open when supported and prevent compiler warnings.
5578
5579 .. change::
5580 :tags: Improvements
5581 :pullreq: 5497
5582
5583 Add ``DNSRule::toString()`` and add virtual destructors to DNSRule, DNSAction and DNSResponseAction so the destructors of derived classes are run even when deleted via the base type.
5584
5585 .. change::
5586 :tags: New Features
5587 :pullreq: 5496
5588
5589 Add support for returning several IPs to spoof from Lua.
5590
5591 .. change::
5592 :tags: New Features
5593 :pullreq: 5490, 5508
5594 :tickets: 5420, 5507
5595
5596 Add Lua bindings to be able to rotate DNSCrypt keys, see :doc:`guides/dnscrypt`.
5597
5598 .. change::
5599 :tags: Improvements, Performance
5600 :pullreq: 5353
5601
5602 Add labels count to StatNode, only set the name once.
5603
5604 .. change::
5605 :tags: Removals
5606 :pullreq: 5514
5607 :tickets: 5513
5608
5609 Remove BlockFilter.
5610
5611 .. change::
5612 :tags: New Features
5613 :pullreq: 5396, 5577
5614
5615 Add the capability to set arbitrary tags in protobuf messages.
5616
5617 .. change::
5618 :tags: Bug Fixes
5619 :pullreq: 5563
5620 :tickets: 5559
5621
5622 Skip timeouts on the response latency graph.
5623
5624 .. change::
5625 :tags: Removals
5626 :pullreq: 5526
5627 :tickets: 5069
5628
5629 Deprecate syntactic sugar functions.
5630
5631 .. change::
5632 :tags: Improvements
5633 :pullreq: 5579
5634 :tickets: 5538
5635
5636 Don't use square brackets for IPv6 in Carbon metrics.
5637
5638 .. change::
5639 :tags: Bug Fixes
5640 :pullreq: 5580
5641 :tickets: 5566
5642
5643 Copy the DNS header before encrypting it in place.
5644
5645 .. change::
5646 :tags: New Features
5647 :pullreq: 5581
5648 :tickets: 5565
5649
5650 Add setConsoleConnectionsLogging().
5651
5652 .. change::
5653 :tags: Security
5654 :pullreq: 5630
5655
5656 Fix potential pointer wrap-around on 32 bits.
5657
5658 .. change::
5659 :tags: Security
5660 :pullreq: 5631
5661
5662 Make the API available with an API key only.
5663
5664 1.1.0
5665 -----
5666
5667 Released December 29th 2016
5668
5669 Changes since 1.1.0-beta2:
5670
5671 Improvements
5672 ~~~~~~~~~~~~
5673
5674 - `#4783 <https://github.com/PowerDNS/pdns/pull/4783>`__: Add -latomic
5675 on powerpc
5676 - `#4812 <https://github.com/PowerDNS/pdns/pull/4812>`__: Handle
5677 header-only responses, handle Refused as Servfail in the cache
5678
5679 Bug fixes
5680 ~~~~~~~~~
5681
5682 - `#4762 <https://github.com/PowerDNS/pdns/pull/4762>`__:
5683 SuffixMatchNode: Fix an insertion issue for an existing node
5684 - `#4772 <https://github.com/PowerDNS/pdns/pull/4772>`__: Fix dnsdist
5685 initscript config check
5686
5687 1.1.0-beta2
5688 -----------
5689
5690 Released December 14th 2016
5691
5692 Changes since 1.1.0-beta1:
5693
5694 New features
5695 ~~~~~~~~~~~~
5696
5697 - `#4518 <https://github.com/PowerDNS/pdns/pull/4518>`__: Fix dynblocks
5698 over TCP, allow refusing dyn blocked queries
5699 - `#4519 <https://github.com/PowerDNS/pdns/pull/4519>`__: Allow
5700 altering the ECS behavior via rules and Lua
5701 - `#4535 <https://github.com/PowerDNS/pdns/pull/4535>`__: Add
5702 ``DNSQuestion:getDO()``
5703 - `#4653 <https://github.com/PowerDNS/pdns/pull/4653>`__:
5704 ``getStatisticsCounters()`` to access counters from Lua
5705 - `#4657 <https://github.com/PowerDNS/pdns/pull/4657>`__: Add
5706 ``includeDirectory(dir)``
5707 - `#4658 <https://github.com/PowerDNS/pdns/pull/4658>`__: Allow editing
5708 the ACL via the API
5709 - `#4702 <https://github.com/PowerDNS/pdns/pull/4702>`__: Add
5710 ``setUDPTimeout(n)``
5711 - `#4726 <https://github.com/PowerDNS/pdns/pull/4726>`__: Add an option
5712 to return ServFail when no server is available
5713 - `#4748 <https://github.com/PowerDNS/pdns/pull/4748>`__: Add
5714 ``setCacheCleaningPercentage()``
5715
5716 Improvements
5717 ~~~~~~~~~~~~
5718
5719 - `#4533 <https://github.com/PowerDNS/pdns/pull/4533>`__: Fix building
5720 with clang on OS X and FreeBSD
5721 - `#4537 <https://github.com/PowerDNS/pdns/pull/4537>`__: Replace
5722 luawrapper's std::forward/std::make\_tuple combo with
5723 std::forward\_as\_tuple (Sangwhan "fish" Moon)
5724 - `#4596 <https://github.com/PowerDNS/pdns/pull/4596>`__: Change the
5725 default max number of queued TCP conns to 1000
5726 - `#4632 <https://github.com/PowerDNS/pdns/pull/4632>`__: Improve
5727 dnsdist error message on a common typo/config mistake
5728 - `#4694 <https://github.com/PowerDNS/pdns/pull/4694>`__: Don't use a
5729 const\_iterator for erasing (fix compilation with some versions of
5730 gcc)
5731 - `#4715 <https://github.com/PowerDNS/pdns/pull/4715>`__: Specify that
5732 dnsmessage.proto uses protobuf version 2
5733 - `#4765 <https://github.com/PowerDNS/pdns/pull/4765>`__: Some service
5734 improvements
5735
5736 Bug fixes
5737 ~~~~~~~~~
5738
5739 - `#4425 <https://github.com/PowerDNS/pdns/pull/4425>`__: Fix a
5740 protobuf regression (requestor/responder mix-up) caused by a94673e
5741 - `#4541 <https://github.com/PowerDNS/pdns/pull/4541>`__: Fix insertion
5742 issues in SuffixMatchTree, move it to dnsname.hh
5743 - `#4553 <https://github.com/PowerDNS/pdns/pull/4553>`__: Flush output
5744 in single command client mode
5745 - `#4578 <https://github.com/PowerDNS/pdns/pull/4578>`__: Fix
5746 destination address reporting
5747 - `#4640 <https://github.com/PowerDNS/pdns/pull/4640>`__: Don't exit
5748 dnsdist on an exception in maintenance
5749 - `#4721 <https://github.com/PowerDNS/pdns/pull/4721>`__: Handle
5750 exceptions in the UDP responder thread
5751 - `#4734 <https://github.com/PowerDNS/pdns/pull/4734>`__: Add the TCP
5752 socket to the map only if the connection succeeds. Closes #4733
5753 - `#4742 <https://github.com/PowerDNS/pdns/pull/4742>`__: Decrement the
5754 queued TCP conn count if writing to the pipe fails
5755 - `#4743 <https://github.com/PowerDNS/pdns/pull/4743>`__: Ignore
5756 newBPFFilter() and newDynBPFFilter() in client mode
5757 - `#4753 <https://github.com/PowerDNS/pdns/pull/4753>`__: Fix FD leak
5758 on TCP connection failure, handle TCP worker creation failure
5759 - `#4764 <https://github.com/PowerDNS/pdns/pull/4764>`__: Prevent race
5760 while creating new TCP worker threads
5761
5762 1.1.0-beta1
5763 -----------
5764
5765 Released September 1st 2016
5766
5767 Changes since 1.0.0:
5768
5769 New features
5770 ~~~~~~~~~~~~
5771
5772 - `#3762 <https://github.com/PowerDNS/pdns/pull/3762>`__ Teeaction:
5773 send copy of query to second nameserver, sponge responses
5774 - `#3876 <https://github.com/PowerDNS/pdns/pull/3876>`__ Add
5775 ``showResponseRules()``, ``{mv,rm,top}ResponseRule()``
5776 - `#3936 <https://github.com/PowerDNS/pdns/pull/3936>`__ Filter on
5777 opcode, records count/type, trailing data
5778 - `#3975 <https://github.com/PowerDNS/pdns/pull/3975>`__ Make dnsdist
5779 {A,I}XFR aware, document possible issues
5780 - `#4006 <https://github.com/PowerDNS/pdns/pull/4006>`__ Add eBPF
5781 source address and qname/qtype filtering
5782 - `#4008 <https://github.com/PowerDNS/pdns/pull/4008>`__ Node
5783 infrastructure for querying recent traffic
5784 - `#4042 <https://github.com/PowerDNS/pdns/pull/4042>`__ Add
5785 server-side TCP Fast Open support
5786 - `#4050 <https://github.com/PowerDNS/pdns/pull/4050>`__ Add
5787 ``clearRules()`` and ``setRules()``
5788 - `#4114 <https://github.com/PowerDNS/pdns/pull/4114>`__ Add
5789 ``QNameLabelsCountRule()`` and ``QNameWireLengthRule()``
5790 - `#4116 <https://github.com/PowerDNS/pdns/pull/4116>`__ Added src
5791 boolean to NetmaskGroupRule to match destination address (Reinier
5792 Schoof)
5793 - `#4175 <https://github.com/PowerDNS/pdns/pull/4175>`__ Implemented
5794 query counting (Reinier Schoof)
5795 - `#4244 <https://github.com/PowerDNS/pdns/pull/4244>`__ Add a
5796 ``setCD`` parameter to set cd=1 on health check queries
5797 - `#4284 <https://github.com/PowerDNS/pdns/pull/4284>`__ Add
5798 RCodeRule(), Allow, Delay and Drop response actions
5799 - `#4305 <https://github.com/PowerDNS/pdns/pull/4305>`__ Add an
5800 optional Lua callback for altering a Protobuf message
5801 - `#4309 <https://github.com/PowerDNS/pdns/pull/4309>`__ Add
5802 showTCPStats function (RobinGeuze)
5803 - `#4329 <https://github.com/PowerDNS/pdns/pull/4329>`__ Add options to
5804 LogAction() so it can append (instead of truncate) (Duane Wessels)
5805
5806 Improvements
5807 ~~~~~~~~~~~~
5808
5809 - `#3714 <https://github.com/PowerDNS/pdns/pull/3714>`__ Add
5810 documentation links to dnsdist.service (Ruben Kerkhof)
5811 - `#3754 <https://github.com/PowerDNS/pdns/pull/3754>`__ Allow the use
5812 of custom headers in the web server
5813 - `#3826 <https://github.com/PowerDNS/pdns/pull/3826>`__ Implement a
5814 'quiet' mode for SuffixMatchNodeRule()
5815 - `#3836 <https://github.com/PowerDNS/pdns/pull/3836>`__ Log the
5816 content of webserver's exceptions
5817 - `#3858 <https://github.com/PowerDNS/pdns/pull/3858>`__ Only log
5818 YaHTTP's parser exceptions in verbose mode
5819 - `#3877 <https://github.com/PowerDNS/pdns/pull/3877>`__ Increase max
5820 FDs in systemd unit, warn if clearly too low
5821 - `#4019 <https://github.com/PowerDNS/pdns/pull/4019>`__ Add an
5822 optional ``addECS`` option to ``TeeAction()``
5823 - `#4029 <https://github.com/PowerDNS/pdns/pull/4029>`__ Add version
5824 and feature information to version output
5825 - `#4079 <https://github.com/PowerDNS/pdns/pull/4079>`__ Return an
5826 error on RemoteLog{,Response}Action() w/o protobuf
5827 - `#4246 <https://github.com/PowerDNS/pdns/pull/4246>`__ API now sends
5828 pools as a JSON array instead of a string
5829 - `#4302 <https://github.com/PowerDNS/pdns/pull/4302>`__ Add ``help()``
5830 and ``showVersion()``
5831 - `#4286 <https://github.com/PowerDNS/pdns/pull/4286>`__ Add response
5832 rules to the API and Web status page
5833 - `#4068 <https://github.com/PowerDNS/pdns/pull/4068>`__ Display the
5834 dyn eBPF filters stats in the web interface
5835
5836 Bug fixes
5837 ~~~~~~~~~
5838
5839 - `#3755 <https://github.com/PowerDNS/pdns/pull/3755>`__ Fix RegexRule
5840 example in dnsdistconf.lua
5841 - `#3773 <https://github.com/PowerDNS/pdns/pull/3773>`__ Stop copying
5842 the HTTP request headers to the response
5843 - `#3837 <https://github.com/PowerDNS/pdns/pull/3837>`__ Remove dnsdist
5844 service file on trusty
5845 - `#3840 <https://github.com/PowerDNS/pdns/pull/3840>`__ Catch
5846 WrongTypeException in client mode
5847 - `#3906 <https://github.com/PowerDNS/pdns/pull/3906>`__ Keep the
5848 servers ordered inside pools
5849 - `#3988 <https://github.com/PowerDNS/pdns/pull/3988>`__ Fix
5850 ``grepq()`` output in the README
5851 - `#3992 <https://github.com/PowerDNS/pdns/pull/3992>`__ Fix some typos
5852 in the AXFR/IXFR documentation
5853 - `#3995 <https://github.com/PowerDNS/pdns/pull/3995>`__ Fix comparison
5854 between signed and unsigned integer
5855 - `#4049 <https://github.com/PowerDNS/pdns/pull/4049>`__ Fix dnsdist
5856 rpm building script #4048 (Daniel Stirnimann)
5857 - `#4065 <https://github.com/PowerDNS/pdns/pull/4065>`__ Include
5858 editline/readline.h instead of readline.h/history.h
5859 - `#4067 <https://github.com/PowerDNS/pdns/pull/4067>`__ Disable eBPF
5860 support when BPF\_FUNC\_tail\_call is not found
5861 - `#4069 <https://github.com/PowerDNS/pdns/pull/4069>`__ Fix a buffer
5862 overflow when displaying an OpcodeRule
5863 - `#4101 <https://github.com/PowerDNS/pdns/pull/4101>`__ Fix $
5864 expansion in build-dnsdist-rpm
5865 - `#4198 <https://github.com/PowerDNS/pdns/pull/4198>`__ newServer
5866 setting maxCheckFailures makes no sense (stutiredboy)
5867 - `#4205 <https://github.com/PowerDNS/pdns/pull/4205>`__ Prevent the
5868 use of "any" addresses for downstream server
5869 - `#4220 <https://github.com/PowerDNS/pdns/pull/4220>`__ Don't log an
5870 error when parsing an invalid UDP query
5871 - `#4348 <https://github.com/PowerDNS/pdns/pull/4348>`__ Fix invalid
5872 outstanding count for {A,I}XFR over TCP
5873 - `#4365 <https://github.com/PowerDNS/pdns/pull/4365>`__ Reset origFD
5874 asap to keep the outstanding count correct
5875 - `#4375 <https://github.com/PowerDNS/pdns/pull/4375>`__ Tuple requires
5876 make\_tuple to initialize
5877 - `#4380 <https://github.com/PowerDNS/pdns/pull/4380>`__ Fix
5878 compilation with clang when eBPF support is enabled
5879
5880 1.0.0
5881 -----
5882
5883 Released April 21st 2016
5884
5885 Changes since 1.0.0-beta1:
5886
5887 Improvements
5888 ~~~~~~~~~~~~
5889
5890 - `#3700 <https://github.com/PowerDNS/pdns/pull/3700>`__ Create user
5891 from the RPM package to drop privs
5892 - `#3712 <https://github.com/PowerDNS/pdns/pull/3712>`__ Make check
5893 should run testrunner
5894 - `#3713 <https://github.com/PowerDNS/pdns/pull/3713>`__ Remove
5895 contrib/dnsdist.service (Ruben Kerkhof)
5896 - `#3722 <https://github.com/PowerDNS/pdns/pull/3722>`__ Use LT\_INIT
5897 and disable static objects (Ruben Kerkhof)
5898 - `#3724 <https://github.com/PowerDNS/pdns/pull/3724>`__ Include
5899 PDNS\_CHECK\_OS in configure (Chris Hofstaedtler)
5900 - `#3728 <https://github.com/PowerDNS/pdns/pull/3728>`__ Document
5901 libedit Ctrl-R workaround for CentOS 6
5902 - `#3730 <https://github.com/PowerDNS/pdns/pull/3730>`__ Make
5903 ``topBandwidth()`` behave like other top\* functions
5904 - `#3731 <https://github.com/PowerDNS/pdns/pull/3731>`__ Clarify a bit
5905 the documentation of load-balancing policies
5906
5907 Bug fixes
5908 ~~~~~~~~~
5909
5910 - `#3711 <https://github.com/PowerDNS/pdns/pull/3711>`__ Building rpm
5911 needs systemd headers (Ruben Kerkhof)
5912 - `#3736 <https://github.com/PowerDNS/pdns/pull/3736>`__ Add missing
5913 Lua binding for NetmaskGroupRule()
5914 - `#3739 <https://github.com/PowerDNS/pdns/pull/3739>`__ Drop
5915 privileges after daemonizing and writing our pid
5916
5917 1.0.0-beta1
5918 -----------
5919
5920 Released April 14th 2016
5921
5922 Changes since 1.0.0-alpha2:
5923
5924 New features
5925 ~~~~~~~~~~~~
5926
5927 - Per-pool packet cache
5928 - Some actions do not stop the processing anymore when they match,
5929 allowing more complex setups: Delay, Disable Validation, Log,
5930 MacAddr, No Recurse and of course None
5931 - The new RE2Rule() is available, using the RE2 regular expression
5932 library to match queries, in addition to the existing POSIX-based
5933 RegexRule()
5934 - SpoofAction() now supports multiple A and AAAA records
5935 - Remote logging of questions and answers via Protocol Buffer
5936
5937 Improvements
5938 ~~~~~~~~~~~~
5939
5940 - `#3405 <https://github.com/PowerDNS/pdns/pull/3405>`__ Add health
5941 check logging, ``maxCheckFailures`` to backend
5942 - `#3412 <https://github.com/PowerDNS/pdns/pull/3412>`__ Check config
5943 - `#3440 <https://github.com/PowerDNS/pdns/pull/3440>`__ Client
5944 operation improvements
5945 - `#3466 <https://github.com/PowerDNS/pdns/pull/3466>`__ Add dq binding
5946 for skipping packet cache in LuaAction (Jan Broer)
5947 - `#3499 <https://github.com/PowerDNS/pdns/pull/3499>`__ Add support
5948 for multiple carbon servers
5949 - `#3504 <https://github.com/PowerDNS/pdns/pull/3504>`__ Allow
5950 accessing the API with an optional API key
5951 - `#3556 <https://github.com/PowerDNS/pdns/pull/3556>`__ Add an option
5952 to limit the number of queued TCP connections
5953 - `#3578 <https://github.com/PowerDNS/pdns/pull/3578>`__ Add a
5954 ``disable-syslog`` option
5955 - `#3608 <https://github.com/PowerDNS/pdns/pull/3608>`__ Export cache
5956 stats to carbon
5957 - `#3622 <https://github.com/PowerDNS/pdns/pull/3622>`__ Display the
5958 ACL content on startup
5959 - `#3627 <https://github.com/PowerDNS/pdns/pull/3627>`__ Remove ECS
5960 option from response's OPT RR when necessary
5961 - `#3633 <https://github.com/PowerDNS/pdns/pull/3633>`__ Count "TTL too
5962 short" cache events
5963 - `#3677 <https://github.com/PowerDNS/pdns/pull/3677>`__ systemd-notify
5964 support
5965
5966 Bug fixes
5967 ~~~~~~~~~
5968
5969 - `#3388 <https://github.com/PowerDNS/pdns/pull/3388>`__ Lock the Lua
5970 context before executing a LuaAction
5971 - `#3433 <https://github.com/PowerDNS/pdns/pull/3433>`__ Check that the
5972 answer matches the initial query
5973 - `#3461 <https://github.com/PowerDNS/pdns/pull/3461>`__ Fix crash when
5974 calling rmServer() with an invalid index
5975 - `#3550 <https://github.com/PowerDNS/pdns/pull/3550>`__,\ `#3551 <https://github.com/PowerDNS/pdns/pull/3551>`__
5976 Fix build failure on FreeBSD (Ruben Kerkhof)
5977 - `#3594 <https://github.com/PowerDNS/pdns/pull/3594>`__ Prevent EOF
5978 error for empty console response w/o sodium
5979 - `#3634 <https://github.com/PowerDNS/pdns/pull/3634>`__ Prevent
5980 dangling TCP fd in case setupTCPDownstream() fails
5981 - `#3641 <https://github.com/PowerDNS/pdns/pull/3641>`__ Under
5982 threshold, QPS action should return None, not Allow
5983 - `#3658 <https://github.com/PowerDNS/pdns/pull/3658>`__ Fix a race
5984 condition in MaxQPSIPRule
5985
5986 1.0.0-alpha2
5987 ------------
5988
5989 Released February 5th 2016
5990
5991 Changes since 1.0.0-alpha1:
5992
5993 New features
5994 ~~~~~~~~~~~~
5995
5996 - Lua functions now receive a DNSQuestion ``dq`` object instead of
5997 several parameters. This adds a greater compatibility with PowerDNS
5998 and allows adding more parameters without breaking the API
5999 (`#3198 <https://github.com/PowerDNS/pdns/issues/3198>`__)
6000 - Added a ``source`` option to ``newServer()`` to specify the local
6001 address or interface used to contact a downstream server
6002 (`#3138 <https://github.com/PowerDNS/pdns/issues/3138>`__)
6003 - CNAME and IPv6-only support have been added to spoofed responses
6004 (`#3064 <https://github.com/PowerDNS/pdns/issues/3064>`__)
6005 - ``grepq()`` can be used to search for slow queries, along with
6006 ``topSlow()``
6007 - New Lua functions: ``addDomainCNAMESpoof()``, ``AllowAction()`` by
6008 @bearggg, ``exceedQRate()``, ``MacAddrAction()``, ``makeRule()``,
6009 ``NotRule()``, ``OrRule()``, ``QClassRule()``, ``RCodeAction()``,
6010 ``SpoofCNAMEAction()``, ``SuffixMatchNodeRule()``, ``TCPRule()``,
6011 ``topSlow()``
6012 - ``NetmaskGroup`` support have been added in Lua
6013 (`#3144 <https://github.com/PowerDNS/pdns/issues/3144>`__)
6014 - Added ``MacAddrAction()`` to add the source MAC address to the
6015 forwarded query
6016 (`#3313 <https://github.com/PowerDNS/pdns/issues/3313>`__)
6017
6018 Bug fixes
6019 ~~~~~~~~~
6020
6021 - An issue in DelayPipe could make dnsdist crash at startup
6022 - ``downstream-timeouts`` metric was not always updated
6023 - ``truncateTC`` was unproperly updating the response length
6024 (`#3126 <https://github.com/PowerDNS/pdns/issues/3126>`__)
6025 - DNSCrypt responses larger than queries were unproperly truncated
6026 - An issue prevented info message from being displayed in non-verbose
6027 mode, fixed by Jan Broer
6028 - Reinstating an expired Dynamic Rule was not correctly logged
6029 (`#3323 <https://github.com/PowerDNS/pdns/issues/3323>`__)
6030 - Initialized counters in the TCP client thread might have cause FD and
6031 memory leak, reported by Martin Pels
6032 (`#3300 <https://github.com/PowerDNS/pdns/issues/3300>`__)
6033 - We now drop queries containing no question (qdcount == 0)
6034 (`#3290 <https://github.com/PowerDNS/pdns/issues/3290>`__)
6035 - Outstanding TCP queries count was not always correct
6036 (`#3288 <https://github.com/PowerDNS/pdns/issues/3288>`__)
6037 - A locking issue in exceedRespGen() might have caused crashes
6038 (`#3277 <https://github.com/PowerDNS/pdns/issues/3277>`__)
6039 - Useless sockets were created in client mode
6040 (`#3257 <https://github.com/PowerDNS/pdns/issues/3257>`__)
6041 - ``addAnyTCRule()`` was generating TC=1 responses even over TCP
6042 (`#3251 <https://github.com/PowerDNS/pdns/issues/3251>`__)
6043
6044 Web interface
6045 ~~~~~~~~~~~~~
6046
6047 - Cleanup of the HTML by Sander Hoentjen
6048 - Fixed an XSS reported by @janeczku
6049 (`#3217 <https://github.com/PowerDNS/pdns/issues/3217>`__)
6050 - Removed remote images
6051 - Set the charset to UTF-8, added some security-related and CORS HTTP
6052 headers
6053 - Added server latency by Jan Broer
6054 (`#3201 <https://github.com/PowerDNS/pdns/issues/3201>`__)
6055 - Switched to official minified versions of JS scripts, by Sander
6056 Hoentjen (`#3317 <https://github.com/PowerDNS/pdns/issues/3317>`__)
6057 - Don't log unauthenticated HTTP request as an authentication failure
6058
6059 Various documentation updates and minor cleanups:
6060 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6061
6062 - Added documentation for Advanced DNS Protection features (Dynamic
6063 rules, ``maintenance()``)
6064 - Make ``topBandwidth()`` default to the top 10 clients
6065 - Replaced readline with libedit
6066 - Added GPL2 License
6067 (`#3200 <https://github.com/PowerDNS/pdns/issues/3200>`__)
6068 - Added incbin License
6069 (`#3269 <https://github.com/PowerDNS/pdns/issues/3269>`__)
6070 - Updated completion rules
6071 - Removed wrong option ``--daemon-no`` by Stefan Schmidt
6072
6073 1.0.0-alpha1
6074 ------------
6075
6076 Released December 24th 2015
6077
6078 Initial release