]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/dnsdistdist/docs/changelog.rst
spelling: [API] deserialize
[thirdparty/pdns.git] / pdns / dnsdistdist / docs / changelog.rst
1 Changelog
2 =========
3
4 .. changelog::
5 :version: 1.5.0-alpha1
6 :released: 20th of March 2010
7
8 .. change::
9 :tags: Improvements
10 :pullreq: 7820
11
12 Don't start as root within a systemd environment
13
14 .. change::
15 :tags: Bug Fixes
16 :pullreq: 8115
17 :tickets: 8098
18
19 Fix ECS addition when the OPT record is not the last one
20
21 .. change::
22 :tags: New Features
23 :pullreq: 8171
24 :tickets: 4747
25
26 Add SetNegativeAndSOAAction() and its Lua binding
27
28 .. change::
29 :tags: New Features
30 :pullreq: 8274
31
32 Implement dynamic blocking on ratio of rcode/total responses
33
34 .. change::
35 :tags: Improvements, Performance
36 :pullreq: 8355
37
38 Rework NetmaskTree for better CPU and memory efficiency. (Stephan Bosch)
39
40 .. change::
41 :tags: Improvements, DNS over TLS
42 :pullreq: 8380
43
44 Switch the default DoT provider from GnuTLS to OpenSSL
45
46 .. change::
47 :tags: Improvements
48 :pullreq: 8456
49
50 Separate the check-config and client modes
51
52 .. change::
53 :tags: Improvements, Performance
54 :pullreq: 8491
55
56 Implement parallel health checks
57
58 .. change::
59 :tags: New Features, Performance
60 :pullreq: 8505
61 :tickets: 7617
62
63 Implement LuaFFIRule, LuaFFIAction and LuaFFIResponseAction
64
65 .. change::
66 :tags: Improvements
67 :pullreq: 8529
68
69 Add the number of received bytes to StatNode entries
70
71 .. change::
72 :tags: Improvements, Performance
73 :pullreq: 8538
74
75 Use move semantics when updating the content of the StateHolder
76
77 .. change::
78 :tags: Improvements
79 :pullreq: 8556
80 :tickets: 8534
81
82 Support setting the value of AA, AD and RA when self-generating answers
83
84 .. change::
85 :tags: New Features
86 :pullreq: 8567
87 :tickets: 7387
88
89 Add bounded loads to the consistent hashing policy
90
91 .. change::
92 :tags: Improvements
93 :pullreq: 8580
94
95 pthread_rwlock_init() should be matched by pthread_rwlock_destroy()
96
97 .. change::
98 :tags: Bug Fixes
99 :pullreq: 8591
100
101 Wait longer for the TLS ticket to arrive in our tests
102
103 .. change::
104 :tags: Bug Fixes
105 :pullreq: 8604
106
107 Add missing exception message in KVS error
108
109 .. change::
110 :tags: Improvements
111 :pullreq: 8631
112
113 Replace include guard ifdef/define with pragma once (Chris Hofstaedtler)
114
115 .. change::
116 :tags: New Features
117 :pullreq: 8654
118
119 Dnsdist: LogResponseAction (phonedph1)
120
121 .. change::
122 :tags: Improvements
123 :pullreq: 8657
124
125 Allow retrieving and deleting a backend via its UUID
126
127 .. change::
128 :tags: Bug Fixes, DNS over TLS
129 :pullreq: 8662
130
131 Display the correct DoT provider
132
133 .. change::
134 :tags: Improvements, Protobuf
135 :pullreq: 8702
136
137 Add the source and destination ports to the protobuf msg
138
139 .. change::
140 :tags: New Features
141 :pullreq: 8722
142
143 Add spoofRawAction() to craft answers from raw bytes
144
145 .. change::
146 :tags: Improvements
147 :pullreq: 8733
148
149 Load an openssl configuration file, if any, during startup
150
151 .. change::
152 :tags: Improvements, DNS over HTTPS
153 :pullreq: 8760
154 :tickets: 8573
155
156 Don't accept sub-paths of configured DoH URLs
157
158 .. change::
159 :tags: Bug Fixes, DNS over TLS
160 :pullreq: 8761
161
162 Use ref counting for the DoT TLS context
163
164 .. change::
165 :tags: Improvements, DNS over HTTPS
166 :pullreq: 8762
167 :tickets: 8586
168
169 Implement Cache-Control headers in DoH
170
171 .. change::
172 :tags: Improvements, Metrics
173 :pullreq: 8772
174 :tickets: 8746
175
176 Add backend status to prometheus metrics
177
178 .. change::
179 :tags: Bug Fixes
180 :pullreq: 8782
181
182 Add getTag()/setTag() Lua bindings for a DNSResponse
183
184 .. change::
185 :tags: Improvements, Metrics
186 :pullreq: 8783
187
188 Add 'IO wait' and 'steal' metrics on Linux
189
190 .. change::
191 :tags: Bug Fixes
192 :pullreq: 8787
193 :tickets: 8442
194
195 Fix key logging for DNS over TLS
196
197 .. change::
198 :tags: Improvements, Performance
199 :pullreq: 8812
200
201 Keep a masked network in the Netmask class
202
203 .. change::
204 :tags: New Features
205 :pullreq: 8874
206
207 Add support for Proxy Protocol between dnsdist and the recursor
208
209 .. change::
210 :tags: Improvements
211 :pullreq: 8848
212
213 Add get*BindCount() functions
214
215 .. change::
216 :tags: Bug Fixes
217 :pullreq: 8855
218
219 Fix a typo in the help/completion for getDNSCryptBindCount
220
221 .. change::
222 :tags: Bug Fixes
223 :pullreq: 8856
224
225 Implement rmACL() (swoga)
226
227 .. change::
228 :tags: Bug Fixes
229 :pullreq: 8879
230
231 Remove unused lambda capture reported by clang++
232
233 .. change::
234 :tags: Improvements
235 :pullreq: 8882
236
237 Add sessionTimeout setting for TLS session lifetime (Matti Hiljanen)
238
239 .. change::
240 :tags: Bug Fixes, Protobuf
241 :pullreq: 8883
242 :tickets: 8629
243
244 Add 'queue full' metrics for our remote logger, log at debug only
245
246 .. change::
247 :tags: Improvements, Protobuf
248 :pullreq: 8887
249
250 Better handling of reconnections in Remote Logger
251
252 .. change::
253 :tags: Improvements, DNS over HTTPS, DNS over TLS
254 :pullreq: 8899
255 :tickets: 8806
256
257 Document that the 'keyLogFile' option requires OpenSSL >= 1.1.1
258
259 .. change::
260 :tags: Improvements
261 :pullreq: 8900
262 :tickets: 8739
263
264 Detect {Libre,Open}SSL functions availability during configure
265
266 .. change::
267 :tags: Improvements, DNS over HTTPS
268 :pullreq: 8905
269 :tickets: 8819
270
271 Change the default DoH path from / to /dns-query
272
273 .. change::
274 :tags: New Features
275 :pullreq: 8909
276
277 Implement bounded loads for the whashed and wrandom policies
278
279 .. change::
280 :tags: Improvements, DNSTAP, Performance
281 :pullreq: 8937
282
283 Make FrameStream IO parameters configurable
284
285 .. change::
286 :tags: Improvements, DNS over HTTPS
287 :pullreq: 8945
288 :tickets: 8661
289
290 Add support for the processing of X-Forwarded-For headers
291
292 .. change::
293 :tags: Bug Fixes, DNS over HTTPS
294 :pullreq: 8949
295
296 Set the DoH ticket rotation delay before loading tickets
297
298 .. change::
299 :tags: Improvements
300 :pullreq: 8950
301 :tickets: 8669
302
303 Warn on startup about low weight values with chashed
304
305 .. changelog::
306 :version: 1.4.0
307 :released: 20th of November 2019
308
309 .. change::
310 :tags: Bug Fixes
311 :pullreq: 8524
312
313 Lowercase the name blocked by a SMT dynamic block
314
315 .. change::
316 :tags: Improvements
317 :pullreq: 8531
318
319 Fix the default value of ``setMaxUDPOutstanding`` in the console's help (phonedph1)
320
321 .. change::
322 :tags: Improvements
323 :pullreq: 8522
324
325 Add bindings for the noerrors and drops members of StatNode
326
327 .. change::
328 :tags: DNS over HTTPS, DNS over TLS
329 :pullreq: 8526
330
331 Prefer the cipher suite from the server by default (DoH, DoT)
332
333 .. change::
334 :tags: Improvements
335 :pullreq: 8440
336
337 Fix -WShadow warnings (Aki Tuomi)
338
339 .. change::
340 :tags: Improvements
341 :pullreq: 8509
342
343 Fix typo: settting to setting (Chris Hofstaedtler)
344
345 .. changelog::
346 :version: 1.4.0-rc5
347 :released: 30th of October 2019
348
349 .. change::
350 :tags: Improvements, DNS over HTTPS, Metrics
351 :pullreq: 8465
352
353 Rename the 'address' label to 'frontend' for DoH metrics
354
355 .. change::
356 :tags: Bug Fixes, DNS over HTTPS
357 :pullreq: 8471
358
359 Increment the DOHUnit ref count when it's set in the IDState
360
361 .. changelog::
362 :version: 1.4.0-rc4
363 :released: 25th of October 2019
364
365 .. change::
366 :tags: New Features, DNS over HTTPS, DNS over TLS
367 :pullreq: 8442
368
369 Add support dumping TLS keys via keyLogFile
370
371 .. change::
372 :tags: Improvements, DNS over HTTPS
373 :pullreq: 8416
374
375 Implement reference counting for the DOHUnit object
376
377 .. change::
378 :tags: Improvements, DNS over HTTPS, DNS over TLS, Metrics
379 :pullreq: 8447
380
381 Add metrics about TLS handshake failures for DoH and DoT
382
383 .. change::
384 :tags: Improvements
385 :pullreq: 8411
386 :tickets: 8390
387
388 Add more options to LogAction (non-verbose mode, timestamps)
389
390 .. change::
391 :tags: Improvements, DNS over HTTPS, DNS over TLS
392 :pullreq: 8383
393
394 Merge the setup of TLS contexts in DoH and DoT
395
396 .. change::
397 :tags: Bug Fixes
398 :pullreq: 8408
399
400 Fix the caching of large entries
401
402 .. change::
403 :tags: Improvements
404 :pullreq: 8415
405
406 Fix formatting in showTCPStats()
407
408 .. change::
409 :tags: Bug Fixes
410 :pullreq: 8413
411 :tickets: 8412
412
413 Work around cmsg_space somehow not being a constexpr on macOS
414
415 .. change::
416 :tags: Improvements
417 :pullreq: 8372
418
419 Use SO_BINDTODEVICE when available for newServer's source interface
420
421 .. change::
422 :tags: Bug Fixes, Metrics
423 :pullreq: 8409
424
425 Add missing prometheus descriptions for cache-related metrics
426
427 .. change::
428 :tags: Improvements, DNS over HTTPS, DNS over TLS, Metrics
429 :pullreq: 8406
430
431 Add metrics about unknown/inactive TLS ticket keys
432
433 .. change::
434 :tags: Improvements, DNS over TLS, Metrics
435 :pullreq: 8387
436
437 Add metrics about TLS versions with DNS over TLS
438
439 .. change::
440 :tags: Improvements, DNS over HTTPS, Metrics
441 :pullreq: 8395
442
443 Count the number of concurrent connections for DoH as well
444
445 .. change::
446 :tags: Bug Fixes, DNS over HTTPS
447 :pullreq: 8388
448
449 Clear the DoH session ticket encryption key in the ctor
450
451 .. change::
452 :tags: Improvements, DNS over HTTPS, DNS over TLS
453 :pullreq: 8382
454
455 Add a 'preferServerCiphers' option for DoH and DoT
456
457 .. change::
458 :tags: Bug Fixes, Metrics
459 :pullreq: 8381
460
461 Add a prometheus 'thread' label to distinguish identical frontends
462
463 .. change::
464 :tags: Bug Fixes, Metrics
465 :pullreq: 8378
466
467 Fix a typo in the prometheus description of 'senderrors'
468
469 .. change::
470 :tags: Bug Fixes, Metrics
471 :pullreq: 8368
472
473 More prometheus fixes
474
475 .. change::
476 :tags: Improvements, DNS over HTTPS
477 :pullreq: 8365
478 :tickets: 8353
479
480 Lowercase custom DoH header names
481
482 .. change::
483 :tags: Improvements
484 :pullreq: 8364
485 :tickets: 8362
486
487 Check the address supplied to 'webserver' in check-config
488
489 .. change::
490 :tags: Improvements, DNS over HTTPS, Metrics
491 :pullreq: 8361
492
493 Refactor DoH prometheus metrics again
494
495 .. change::
496 :tags: Bug Fixes
497 :pullreq: 8359
498
499 Fix the creation order of rules when inserted via setRules()
500
501 .. changelog::
502 :version: 1.4.0-rc3
503 :released: 30th of September 2019
504
505 .. change::
506 :tags: Improvements
507 :pullreq: 8083
508 :tickets: 7845
509
510 Clean up our interactions with errno
511
512 .. change::
513 :tags: Improvements, DNS over HTTPS, DNS over TLS
514 :pullreq: 8264
515
516 Display the DoH and DoT binds in the web view
517
518 .. change::
519 :tags: Improvements
520 :pullreq: 8265
521 :tickets: 5514
522
523 Remove the 'blockfilter' stat from the web view
524
525 .. change::
526 :tags: Improvements, DNS over HTTPS
527 :pullreq: 8267
528
529 Allow accepting DoH queries over HTTP instead of HTTPS
530
531 .. change::
532 :tags: Improvements
533 :pullreq: 8268
534
535 Fix some spelling mistakes noticed by lintian (Chris Hofstaedtler)
536
537 .. change::
538 :tags: Bug Fixes
539 :pullreq: 8281
540
541 Fix the newCDBKVStore console completion when LMDB is not enabled (phonedph1)
542
543 .. change::
544 :tags: Bug Fixes
545 :pullreq: 8283
546
547 Allow configure CDB_CFLAGS to work (phonedph1)
548
549 .. change::
550 :tags: Improvements
551 :pullreq: 8285
552
553 dnsdistconf.lua use non-deprecated versions for 1.4.0 (phonedph1)
554
555 .. change::
556 :tags: Bug Fixes
557 :pullreq: 8303
558
559 Fix the warning message on an invalid secpoll answer
560
561 .. change::
562 :tags: Bug Fixes
563 :pullreq: 8304
564 :tickets: 8300
565
566 Don't connect to remote logger in client/command mode
567
568 .. change::
569 :tags: Improvements
570 :pullreq: 8318
571
572 Better use of labels in our DoH prometheus export
573
574 .. change::
575 :tags: Improvements, DNS over HTTPS
576 :pullreq: 8349
577
578 Implement TLS session ticket keys management for DoH
579
580 .. changelog::
581 :version: 1.4.0-rc2
582 :released: 2nd of September 2019
583
584 .. change::
585 :tags: New Features
586 :pullreq: 8139
587
588 Add a KeyValueStoreLookup action based on CDB or LMDB
589
590 .. change::
591 :tags: Security
592 :pullreq: 8200
593
594 Update h2o to 2.2.6, fixing CVE-2019-9512, CVE-2019-9514 and CVE-2019-9515 for repo.powerdns.com packages
595
596 .. change::
597 :tags: New Features, DNS over HTTPS
598 :pullreq: 8206
599
600 Add support for early DoH HTTP responses
601
602 .. change::
603 :tags: Improvements, DNS over HTTPS, DNS over TLS
604 :pullreq: 8207
605 :tickets: 8202
606
607 Add minTLSVersion for DoH and DoT
608
609 .. change::
610 :tags: Improvements
611 :pullreq: 8250
612
613 Split dnsdist-lua-bindings.cc to reduce memory consumption during compilation
614
615 .. change::
616 :tags: Improvements
617 :pullreq: 8252
618
619 Add a Lua binding for `dynBlockRulesGroup:setQuiet(quiet)`
620
621 .. changelog::
622 :version: 1.4.0-rc1
623 :released: 12th of August 2019
624
625 .. change::
626 :tags: Improvements
627 :pullreq: 7860
628
629 Disallow TCP disablement
630
631 .. change::
632 :tags: Improvements
633 :pullreq: 7862
634
635 Update boost.m4 to the latest version
636
637 .. change::
638 :tags: Bug Fixes
639 :pullreq: 7886
640
641 SuffixMatchTree: fix root removal, partial match of non-leaf nodes
642
643 .. change::
644 :tags: Improvements
645 :pullreq: 7909
646
647 Print stats from expungeByName (Matti Hiljanen)
648
649 .. change::
650 :tags: Bug Fixes, DNS over HTTPS
651 :pullreq: 7911
652 :tickets: 7894
653
654 Properly override the HTTP Server header for DoH
655
656 .. change::
657 :tags: Bug Fixes, DNS over HTTPS, DNS over TLS
658 :pullreq: 7915
659
660 Exit when requested DoT/DoH support is not compiled in
661
662 .. change::
663 :tags: Improvements, DNS over HTTPS
664 :pullreq: 7917
665
666 Send better HTTP status codes, handle ACL drops earlier
667
668 .. change::
669 :tags: Bug Fixes, DNS over HTTPS
670 :pullreq: 7927
671 :tickets: 7917
672
673 Proper HTTP response for timeouts over DoH
674
675 .. change::
676 :tags: Improvements, DNS over HTTPS
677 :pullreq: 7933
678 :tickets: 7898
679
680 Add more stats about DoH HTTP responses
681
682 .. change::
683 :tags: Bug Fixes, Carbon, Prometheus
684 :pullreq: 7934
685 :tickets: 7933
686
687 Deduplicate frontends entries with carbon and prometheus
688
689 .. change::
690 :tags: Bug Fixes
691 :pullreq: 7951
692 :tickets: 6942, 8084
693
694 Update boost.m4
695
696 .. change::
697 :tags: Improvements
698 :pullreq: 7952
699 :tickets: 7950
700
701 Squelch unused function warning
702
703 .. change::
704 :tags: Bug Fixes
705 :pullreq: 7974
706 :tickets: 7971
707
708 Fix short IOs over TCP
709
710 .. change::
711 :tags: Improvements, DNS over TLS
712 :pullreq: 7978
713
714 Improve error messages for DoT issues
715
716 .. change::
717 :tags: Bug Fixes
718 :pullreq: 7979
719
720 Fix handling of backend connection failing over TCP
721
722 .. change::
723 :tags: Improvements
724 :pullreq: 7985
725
726 SuffixMatchNode:add(): accept more types
727
728 .. change::
729 :tags: Improvements
730 :pullreq: 7990
731 :tickets: 7981
732
733 Explicitly align the buffer used for cmsgs
734
735 .. change::
736 :tags: Improvements
737 :pullreq: 7992
738
739 Add `quiet` parameter to NetmaskGroupRule
740
741 .. change::
742 :tags: Improvements
743 :pullreq: 7996
744 :tickets: 7981
745
746 Clear cmsg_space(sizeof(data)) in cmsghdr to appease Valgrind
747
748 .. change::
749 :tags: Bug Fixes
750 :pullreq: 8003
751
752 Insert the response into the ringbuffer right after sending it
753
754 .. change::
755 :tags: Improvements
756 :pullreq: 8007
757
758 Add static assertions for the size of the src address control buffer
759
760 .. change::
761 :tags: Improvements
762 :pullreq: 8013
763
764 Don't create temporary strings to escape DNSName labels
765
766 .. change::
767 :tags: Bug Fixes, DNSCrypt
768 :pullreq: 8015
769 :tickets: 8014
770
771 Skip non-dnscrypt binds in `showDNSCryptBinds()`
772
773 .. change::
774 :tags: Improvements
775 :pullreq: 8024
776
777 Display TCP/DoT queries and responses in verbose mode, opcode in grepq
778
779 .. change::
780 :tags: Improvements
781 :pullreq: 8025
782
783 Be a bit more explicit about what failed in testCrypto()
784
785 .. change::
786 :tags: Bug Fixes
787 :pullreq: 8030
788 :tickets: 8021
789
790 Handle ENOTCONN on read() over TCP
791
792 .. change::
793 :tags: Improvements, DNSCrypt
794 :pullreq: 8042
795 :tickets: 8020
796
797 Accept more than one certificate in `addDNSCryptBind()`
798
799 .. change::
800 :tags: Bug Fixes
801 :pullreq: 8067
802
803 Make sure we always compile with BOOST_CB_ENABLE_DEBUG set to 0
804
805 .. change::
806 :tags: Bug Fixes
807 :pullreq: 8078
808
809 Catch exceptions thrown when handling a TCP response
810
811 .. change::
812 :tags: Bug Fixes
813 :pullreq: 8079
814
815 Fix unlimited retries when TCP Fast Open is enabled
816
817 .. change::
818 :tags: Bug Fixes
819 :pullreq: 8081
820
821 M4/systemd.m4: fail when systemctl is not available
822
823 .. change::
824 :tags: Bug Fixes, Prometheus
825 :pullreq: 8105
826
827 Fix a typo in the Server's latency description for Prometheus (phonedph1)
828
829 .. change::
830 :tags: Improvements
831 :pullreq: 8110
832
833 Update URLs to use HTTPS scheme (Chris Hofstaedtler)
834
835 .. change::
836 :tags: Bug Fixes, DNS over HTTPS
837 :pullreq: 8112
838
839 Prevent a dangling DOHUnit pointer when send() failed
840
841 .. change::
842 :tags: Improvements
843 :pullreq: 8113
844
845 Double-check we only increment the outstanding counter once
846
847 .. change::
848 :tags: New Features
849 :pullreq: 8117
850
851 Implement ContinueAction()
852
853 .. change::
854 :tags: Bug Fixes
855 :pullreq: 8131
856 :tickets: 8130
857
858 Console: flush cout after printing g_outputbuffer (Doug Freed)
859
860 .. change::
861 :tags: Improvements
862 :pullreq: 8135
863 :tickets: 8108
864
865 ext/ipcrypt: ship license in tarballs (Chris Hofstaedtler)
866
867 .. change::
868 :tags: New Features, DNS over HTTPS, DNS over TLS
869 :pullreq: 8141
870 :tickets: 7812
871
872 Add OCSP stapling (from files) for DoT and DoH
873
874 .. change::
875 :tags: New Features, DNS over HTTPS
876 :pullreq: 8148
877 :tickets: 7957, 7900
878
879 Add support for custom DoH headers (Melissa Voegeli)
880
881 .. change::
882 :tags: New Features, DNS over HTTPS
883 :pullreq: 8153
884 :tickets: 8133
885
886 Add lua bindings, rules and action for DoH
887
888 .. change::
889 :tags: Improvements
890 :pullreq: 8154
891
892 Use a counter to mark IDState usage instead of the FD
893
894 .. change::
895 :tags: Bug Fixes
896 :pullreq: 8158
897
898 Fix signedness issue in isEDNSOptionInOpt()
899
900 .. change::
901 :tags: Improvements
902 :pullreq: 8175
903
904 Increase the default value of setMaxUDPOutstanding to 65535
905
906 .. changelog::
907 :version: 1.4.0-beta1
908 :released: 6th of June 2019
909
910 .. change::
911 :tags: Bug Fixes, DoH
912 :pullreq: 7814
913 :tickets: 7810
914
915 DoH: Don't let 'self' dangling while parsing the request's qname, this could lead to a crash
916
917 .. change::
918 :tags: Bug Fixes
919 :pullreq: 7823
920
921 Fix minor issues reported by Coverity
922
923 .. change::
924 :tags: New Features, DoT, DoH
925 :pullreq: 7825
926 :tickets: 7210
927
928 Implement SNIRule for DoT and DoH
929
930 .. change::
931 :tags: Bug Fixes
932 :pullreq: 7833
933
934 Remove second, incomplete copy of lua EDNSOptionCode table
935
936 .. change::
937 :tags: Improvements, Prometheus
938 :pullreq: 7853
939 :tickets: 6088
940
941 Support Prometheus latency histograms (Marlin Cremers)
942
943 .. changelog::
944 :version: 1.4.0-alpha2
945 :released: 26th of April 2019
946
947 .. change::
948 :tags: Improvements
949 :pullreq: 7410
950
951 Ignore Path MTU discovery on UDP server socket
952
953 .. change::
954 :tags: Improvements
955 :pullreq: 7708
956
957 Alternative solution to the unaligned accesses.
958
959 .. change::
960 :tags: Bug Fixes
961 :pullreq: 7718
962
963 Exit when setting ciphers fails (GnuTLS)
964
965 .. change::
966 :tags: New Features
967 :pullreq: 7726
968 :tickets: 6911, 7526
969
970 Add DNS over HTTPS support based on libh2o
971
972 .. changelog::
973 :version: 1.4.0-alpha1
974 :released: 12th of April 2019
975
976 .. change::
977 :tags: New Features
978 :pullreq: 7209
979
980 Make recursor & dnsdist communicate (ECS) 'variable' status
981
982 .. change::
983 :tags: Improvements
984 :pullreq: 7167
985
986 Fix compiler warning about returning garbage (Adam Majer)
987
988 .. change::
989 :tags: Improvements
990 :pullreq: 7168
991
992 Fix warnings, mostly unused parameters, reported by -wextra
993
994 .. change::
995 :tags: New Features
996 :pullreq: 6959
997 :tickets: 6941, 2362
998
999 Add namespace and instance variable to carbon key (Gibheer)
1000
1001 .. change::
1002 :tags: Improvements
1003 :pullreq: 7191
1004
1005 Add optional uuid column to showServers()
1006
1007 .. change::
1008 :tags: New Features
1009 :pullreq: 7087
1010
1011 Allow NoRecurse for use in dynamic blocks or Lua rules (phonedph1)
1012
1013 .. change::
1014 :tags: New Features
1015 :pullreq: 7197
1016 :tickets: 7194
1017
1018 Expose secpoll status
1019
1020 .. change::
1021 :tags: Improvements
1022 :pullreq: 7026
1023
1024 Configure --enable-pdns-option --with-third-party-module (Josh Soref)
1025
1026 .. change::
1027 :tags: Bug Fixes
1028 :pullreq: 7256
1029
1030 Protect GnuTLS tickets key rotation with a read-write lock
1031
1032 .. change::
1033 :tags: Bug Fixes
1034 :pullreq: 7267
1035
1036 Check that ``SO_ATTACH_BPF`` is defined before enabling eBPF
1037
1038 .. change::
1039 :tags: Improvements
1040 :pullreq: 7138
1041
1042 Drop remaining capabilities after startup
1043
1044 .. change::
1045 :tags: New Features
1046 :pullreq: 7323
1047 :tickets: 7236
1048
1049 Add an optional 'checkTimeout' parameter to 'newServer()'
1050
1051 .. change::
1052 :tags: New Features
1053 :pullreq: 7322
1054 :tickets: 7237
1055
1056 Add a 'rise' parameter to 'newServer()'
1057
1058 .. change::
1059 :tags: New Features
1060 :pullreq: 7310
1061 :tickets: 7239
1062
1063 Add a 'keepStaleData' option to the packet cache
1064
1065 .. change::
1066 :tags: New Features
1067 :pullreq: 6967
1068 :tickets: 6846, 6897
1069
1070 Expose trailing data (Richard Gibson)
1071
1072 .. change::
1073 :tags: Improvements
1074 :pullreq: 6634
1075
1076 More sandboxing using systemd's features
1077
1078 .. change::
1079 :tags: Bug Fixes
1080 :pullreq: 7426
1081
1082 Fix off-by-one in mvRule counting
1083
1084 .. change::
1085 :tags: Improvements
1086 :pullreq: 7428
1087
1088 Reduce systemcall usage in Protobuf logging
1089
1090 .. change::
1091 :tags: Improvements
1092 :pullreq: 7433
1093
1094 Resync YaHTTP code to cmouse/yahttp@11be77a1fc4032 (Chris Hofstaedtler)
1095
1096 .. change::
1097 :tags: New Features
1098 :pullreq: 7142
1099
1100 Add option to set interval between health checks (1848)
1101
1102 .. change::
1103 :tags: New Features
1104 :pullreq: 7406
1105
1106 Add EDNS unknown version handling (Dmitry Alenichev)
1107
1108 .. change::
1109 :tags: Improvements
1110 :pullreq: 7431
1111
1112 Pass empty response (Dmitry Alenichev)
1113
1114 .. change::
1115 :tags: Improvements
1116 :pullreq: 7502
1117
1118 Change the way getRealMemusage() works on linux (using statm)
1119
1120 .. change::
1121 :tags: Bug Fixes
1122 :pullreq: 7520
1123
1124 Don't convert nsec to usec if we need nsec
1125
1126 .. change::
1127 :tags: New Features
1128 :pullreq: 7537
1129
1130 DNSNameSet and QNameSetRule (Andrey)
1131
1132 .. change::
1133 :tags: Bug Fixes
1134 :pullreq: 7594
1135
1136 Fix setRules()
1137
1138 .. change::
1139 :tags: Bug Fixes
1140 :pullreq: 7560
1141
1142 Handle EAGAIN in the GnuTLS DNS over TLS provider
1143
1144 .. change::
1145 :tags: Bug Fixes
1146 :pullreq: 7586
1147 :tickets: 7461
1148
1149 Gracefully handle a null latency in the webserver's js
1150
1151 .. change::
1152 :tags: Improvements
1153 :pullreq: 7585
1154 :tickets: 7534
1155
1156 Prevent 0-ttl cache hits
1157
1158 .. change::
1159 :tags: Improvements
1160 :pullreq: 7343
1161 :tickets: 7139
1162
1163 Add addDynBlockSMT() support to dynBlockRulesGroup
1164
1165 .. change::
1166 :tags: Improvements
1167 :pullreq: 7578
1168
1169 Add frontend response statistics (Matti Hiljanen)
1170
1171 .. change::
1172 :tags: Bug Fixes
1173 :pullreq: 7652
1174
1175 EDNSOptionView improvements
1176
1177 .. change::
1178 :tags: New Features
1179 :pullreq: 7481
1180 :tickets: 6242
1181
1182 Add support for encrypting ip addresses #gdpr
1183
1184 .. change::
1185 :tags: Improvements
1186 :pullreq: 7670
1187
1188 Remove addLuaAction and addLuaResponseAction
1189
1190 .. change::
1191 :tags: Improvements
1192 :pullreq: 7559
1193 :tickets: 7526, 4814
1194
1195 Refactoring of the TCP stack
1196
1197 .. change::
1198 :tags: Bug Fixes
1199 :pullreq: 7674
1200 :tickets: 7481
1201
1202 Honor libcrypto include path
1203
1204 .. change::
1205 :tags: New Features
1206 :pullreq: 7677
1207 :tickets: 5653
1208
1209 Add 'setSyslogFacility()'
1210
1211 .. change::
1212 :tags: Improvements
1213 :pullreq: 7692
1214 :tickets: 7556
1215
1216 Prevent a conflict with BADSIG being clobbered
1217
1218 .. change::
1219 :tags: Improvements
1220 :pullreq: 7689
1221
1222 Switch to the new 'newPacketCache()' syntax for 1.4.0
1223
1224 .. change::
1225 :tags: New Features
1226 :pullreq: 7676
1227
1228 Add 'reloadAllCertificates()'
1229
1230 .. change::
1231 :tags: Improvements
1232 :pullreq: 7678
1233
1234 Move constants to proper namespace
1235
1236 .. change::
1237 :tags: Improvements
1238 :pullreq: 7694
1239
1240 Unify the management of DNS/DNSCrypt/DoT frontends
1241
1242 .. changelog::
1243 :version: 1.3.3
1244 :released: 8th of November 2018
1245
1246 .. change::
1247 :tags: New Features
1248 :pullreq: 6737, 6939
1249 :tickets: 6932
1250
1251 Add consistent hash builtin policy
1252
1253 .. change::
1254 :tags: New Features
1255 :pullreq: 6803
1256
1257 Add EDNSOptionRule
1258
1259 .. change::
1260 :tags: New Features
1261 :pullreq: 6813
1262
1263 Add DSTPortRule (phonedph1)
1264
1265 .. change::
1266 :tags: New Features
1267 :pullreq: 6826
1268
1269 Make getOutstanding usable from both lua and console (phonedph1)
1270
1271 .. change::
1272 :tags: Improvements
1273 :pullreq: 6831
1274
1275 Get rid of some allocs/copies in DNS parsing
1276
1277 .. change::
1278 :tags: Bug Fixes
1279 :pullreq: 6835
1280
1281 Display dynblocks' default action, None, as the global one
1282
1283 .. change::
1284 :tags: Improvements
1285 :pullreq: 6847
1286 :tickets: 6348, 4857
1287
1288 Set a correct EDNS OPT RR for self-generated answers
1289
1290 .. change::
1291 :tags: New Features
1292 :pullreq: 6856
1293
1294 Added :excludeRange and :includeRange methods to DynBPFFilter class (Reinier Schoof)
1295
1296 .. change::
1297 :tags: Improvements
1298 :pullreq: 6877
1299
1300 Fix a sign-comparison warning in isEDNSOptionInOPT()
1301
1302 .. change::
1303 :tags: New Features
1304 :pullreq: 3935, 6343, 6901, 7007, 7089
1305 :tickets: 4947, 6002
1306
1307 Add Prometheus stats support (Pavel Odintsov, Kai S)
1308
1309 .. change::
1310 :tags: Bug Fixes
1311 :pullreq: 6956
1312
1313 Fix compilation when SO_REUSEPORT is not defined
1314
1315 .. change::
1316 :tags: Improvements
1317 :pullreq: 6986
1318 :tickets: 6907, 6907
1319
1320 Add warning rates to DynBlockRulesGroup rules
1321
1322 .. change::
1323 :tags: New Features
1324 :pullreq: 6997
1325 :tickets: 6974
1326
1327 Name threads in the programs
1328
1329 .. change::
1330 :tags: Improvements
1331 :pullreq: 7015
1332 :tickets: 7004, 6990
1333
1334 Add support for exporting a server id in protobuf
1335
1336 .. change::
1337 :tags: Improvements
1338 :pullreq: 7030
1339
1340 dnsdist did not set TCP_NODELAY, causing needless latency
1341
1342 .. change::
1343 :tags: Bug Fixes
1344 :pullreq: 7060
1345
1346 Release memory on DNS over TLS handshake failure
1347
1348 .. change::
1349 :tags: Improvements
1350 :pullreq: 7062
1351
1352 Add a setting to control the number of stored sessions
1353
1354 .. change::
1355 :tags: Improvements
1356 :pullreq: 7064
1357 :tickets: 7060
1358
1359 Wrap GnuTLS and OpenSSL pointers in smart pointers
1360
1361 .. change::
1362 :tags: New Features
1363 :pullreq: 7075
1364 :tickets: 6908
1365
1366 Support the NXDomain action with dynamic blocks
1367
1368 .. change::
1369 :tags: Improvements
1370 :pullreq: 7078
1371 :tickets: 6909
1372
1373 Add a 'creationOrder' field to rules
1374
1375 .. change::
1376 :tags: Improvements
1377 :pullreq: 7092
1378 :tickets: 7091
1379
1380 Fix return-type detection with boost 1.69's tribool
1381
1382 .. change::
1383 :tags: Improvements
1384 :pullreq: 7104
1385 :tickets: 7096
1386
1387 Fix format string issue on 32bits ARM
1388
1389 .. change::
1390 :tags: Improvements
1391 :pullreq: 7108
1392
1393 Wrap TCP connection objects in smart pointers
1394
1395 .. change::
1396 :tags: Improvements
1397 :pullreq: 7109
1398 :tickets: 7084
1399
1400 Add the setConsoleOutputMaxMsgSize function
1401
1402 .. change::
1403 :tags: New Features
1404 :pullreq: 7115
1405
1406 Add security polling
1407
1408 .. change::
1409 :tags: Improvements
1410 :pullreq: 7117
1411 :tickets: 7112
1412
1413 Add the ability to update webserver credentials
1414
1415 .. change::
1416 :tags: New Features
1417 :pullreq: 7140
1418
1419 Add a PoolAvailableRule to easily add backup pools (Robin Geuze)
1420
1421 .. change::
1422 :tags: Bug Fixes
1423 :pullreq: 7165
1424 :tickets: 6896
1425
1426 Handle trailing data correctly when adding OPT or ECS info
1427
1428 .. changelog::
1429 :version: 1.3.2
1430 :released: 10th of July 2018
1431
1432 .. change::
1433 :tags: Bug Fixes
1434 :pullreq: 6785
1435
1436 Add missing include for PRId64, fix build on CentOS 6 / SLES 12
1437
1438 .. changelog::
1439 :version: 1.3.1
1440 :released: 10th of July 2018
1441
1442 .. change::
1443 :tags: Improvements
1444 :pullreq: 6358
1445 :tickets: 6357
1446
1447 Remove `thelog` and `thel` and replace this with a global g_log
1448
1449 .. change::
1450 :tags: Improvements
1451 :pullreq: 6422
1452
1453 Fix two small nits on the documentation
1454
1455 .. change::
1456 :tags: Improvements
1457 :pullreq: 6426
1458 :tickets: 6394
1459
1460 Move the el6 dnsdist package to upstart
1461
1462 .. change::
1463 :tags: Bug Fixes
1464 :pullreq: 6425
1465
1466 Initialize the done variable in the rings' unit tests
1467
1468 .. change::
1469 :tags: Bug Fixes
1470 :pullreq: 6429
1471
1472 Reorder headers to fix OpenBSD build
1473
1474 .. change::
1475 :tags: Improvements
1476 :pullreq: 6435
1477 :tickets: 6433
1478
1479 CLI option improvements (Chris Hofstaedtler)
1480
1481 .. change::
1482 :tags: Improvements
1483 :pullreq: 6436
1484
1485 Split pdns_enable_unit_tests (Chris Hofstaedtler)
1486
1487 .. change::
1488 :tags: Bug Fixes
1489 :pullreq: 6448
1490
1491 Restrict value range for weight parameter, avoid sum overflows dropping queries (Dan McCombs)
1492
1493 .. change::
1494 :tags: Improvements
1495 :pullreq: 6445, 6457, 6470
1496 :tickets: 6423
1497
1498 Re-do lua detection
1499
1500 .. change::
1501 :tags: Improvements
1502 :pullreq: 6460
1503
1504 Docs: fix missing ref in the dnsdist docs
1505
1506 .. change::
1507 :tags: Improvements
1508 :pullreq: 6502
1509
1510 Be more permissive in wrandom tests, log values on failure
1511
1512 .. change::
1513 :tags: Improvements
1514 :pullreq: 6523
1515 :tickets: 6430
1516
1517 Tests: avoid failure on not-so-optimal distribution
1518
1519 .. change::
1520 :tags: New Features
1521 :pullreq: 6524
1522 :tickets: 6450
1523
1524 Add support for more than one TLS certificate
1525
1526 .. change::
1527 :tags: Improvements
1528 :pullreq: 6577
1529
1530 Add syntax to dns.proto to silence compilation warning.
1531
1532 .. change::
1533 :tags: Improvements
1534 :pullreq: 6590
1535
1536 Fix warnings reported by gcc 8.1.0
1537
1538 .. change::
1539 :tags: Improvements
1540 :pullreq: 6592
1541 :tickets: 6483
1542
1543 Document setVerboseHealthchecks()
1544
1545 .. change::
1546 :tags: Improvements
1547 :pullreq: 6615
1548
1549 Update dq.rst (phonedph1)
1550
1551 .. change::
1552 :tags: Improvements
1553 :pullreq: 6641
1554
1555 Fix rpm scriptlets
1556
1557 .. change::
1558 :tags: Improvements
1559 :pullreq: 6637
1560
1561 Don't copy unitialized values of SuffixMatchTree
1562
1563 .. change::
1564 :tags: Improvements
1565 :pullreq: 6684
1566
1567 Expose toString of various objects to Lua (Chris Hofstaedtler)
1568
1569 .. change::
1570 :tags: Improvements
1571 :pullreq: 6674
1572
1573 Remove 'expired' states from MaxQPSIPRule
1574
1575 .. change::
1576 :tags: Bug Fixes
1577 :pullreq: 6672
1578
1579 Fix reconnection handling
1580
1581 .. change::
1582 :tags: Improvements
1583 :pullreq: 6688
1584 :tickets: 6664
1585
1586 Mark the remote member of DownstreamState as const
1587
1588 .. change::
1589 :tags: Bug Fixes
1590 :pullreq: 6706
1591
1592 Dynamic blocks were being created with the wrong duration (David Freedman)
1593
1594 .. change::
1595 :tags: Improvements
1596 :pullreq: 6710
1597 :tickets: 6706
1598
1599 Test the content of dynamic blocks using the API
1600
1601 .. change::
1602 :tags: Improvements
1603 :pullreq: 6711
1604 :tickets: 6532
1605
1606 Default set "connection: close" header for web requests
1607
1608 .. change::
1609 :tags: Improvements
1610 :pullreq: 6717
1611
1612 Update timedipsetrule.rst (phonedph1)
1613
1614 .. change::
1615 :tags: Improvements
1616 :pullreq: 6716
1617 :tickets: 6712
1618
1619 Don't access the TCP buffer vector past its size
1620
1621 .. change::
1622 :tags: Improvements
1623 :pullreq: 6563
1624
1625 Show droprate in API output
1626
1627 .. change::
1628 :tags: Bug Fixes
1629 :pullreq: 6718
1630 :tickets: 6442
1631
1632 Limit qps and latency to two decimals in the web view
1633
1634 .. change::
1635 :tags: Improvements
1636 :pullreq: 6715
1637 :tickets: 6683, 6709
1638
1639 Refuse console connection without a proper key set
1640
1641 .. change::
1642 :tags: New Features
1643 :pullreq: 6740
1644 :tickets: 6579
1645
1646 Add a negative ttl option to the packet cache
1647
1648 .. change::
1649 :tags: Bug Fixes
1650 :pullreq: 6747
1651
1652 Check the flags to detect collisions in the packet cache
1653
1654 .. change::
1655 :tags: New Features
1656 :pullreq: 6749
1657
1658 Add the ability to dump a summary of the cache content
1659
1660 .. change::
1661 :tags: Bug Fixes
1662 :pullreq: 6762
1663
1664 Fix iterating over the results of exceed*() functions
1665
1666 .. change::
1667 :tags: Bug Fixes
1668 :pullreq: 6767
1669
1670 Fix duration false positive in the dynblock regression tests
1671
1672 .. change::
1673 :tags: New Features
1674 :pullreq: 6760
1675
1676 Add netmask-based {ex,in}clusions to DynblockRulesGroup
1677
1678 .. change::
1679 :tags: New Features
1680 :pullreq: 6776
1681 :tickets: 6703
1682
1683 Add DNSAction.NoOp to debug dynamic blocks
1684
1685 .. change::
1686 :tags: Bug Fixes
1687 :pullreq: 6775
1688 :tickets: 6758
1689
1690 Implement NoneAction()
1691
1692 .. change::
1693 :tags: Bug Fixes
1694 :pullreq: 6754
1695 :tickets: 6747
1696
1697 Detect ECS collisions in the packet cache
1698
1699 .. change::
1700 :tags: Bug Fixes
1701 :pullreq: 6773
1702
1703 Fix an outstanding counter race when reusing states
1704
1705 .. change::
1706 :tags: New Features
1707 :pullreq: 6734
1708 :tickets: 6404
1709
1710 Add SetECSAction to set an arbitrary outgoing ecs value
1711
1712 .. change::
1713 :tags: Improvements
1714 :pullreq: 6726
1715
1716 Use LRU to clean the MaxQPSIPRule's store
1717
1718 .. change::
1719 :tags: Improvements
1720 :pullreq: 6769
1721
1722 Disable maybe uninitialized warnings with boost optional
1723
1724 .. change::
1725 :tags: New Features
1726 :pullreq: 6764
1727
1728 Add support for rotating certificates and keys
1729
1730 .. change::
1731 :tags: Improvements
1732 :pullreq: 6658
1733 :tickets: 6541
1734
1735 Luawrapper: report caught std::exception as lua_error
1736
1737 .. change::
1738 :tags: Improvements
1739 :pullreq: 6602
1740
1741 Dnstap.rst: fix some editing errors (Chris Hofstaedtler)
1742
1743 .. change::
1744 :tags: Improvements
1745 :pullreq: 6541
1746 :tickets: 6535
1747
1748 Allow known exception types to be converted to string
1749
1750
1751 .. changelog::
1752 :version: 1.3.0
1753 :released: 30th of March 2018
1754
1755 .. change::
1756 :tags: Improvements, New Features
1757 :pullreq: 5576, 5860
1758 :tickets: 5202, 5859
1759
1760 Add cache sharding, ``recvmmsg`` and CPU pinning support.
1761 With these, the scalability of :program:`dnsdist` is drastically improved.
1762
1763 .. change::
1764 :tags: Improvements
1765 :pullreq: 5970
1766
1767 Add burst option to :func:`MaxQPSIPRule` (42wim).
1768
1769 .. change::
1770 :tags: Bug Fixes
1771 :pullreq: 5328
1772 :tickets: 5327
1773
1774 Handle SNMP alarms so we can reconnect to the master.
1775
1776 .. change::
1777 :tags: New Features
1778 :pullreq: 5625
1779
1780 Add an optional `status` parameter to :func:`Server:setAuto`.
1781
1782 .. change::
1783 :tags: Bug Fixes
1784 :pullreq: 5597
1785 :tickets: 5489
1786
1787 Fix signed/unsigned comparison warnings on ARM.
1788
1789 .. change::
1790 :tags: Improvements
1791 :pullreq: 6022
1792
1793 Add Pools, cacheHitResponseRules to the API.
1794
1795 .. change::
1796 :tags: New Features
1797 :pullreq: 6072
1798
1799 Add :func:`inClientStartup` function.
1800
1801 .. change::
1802 :tags: Improvements
1803 :pullreq: 5929
1804 :tickets: 5748
1805
1806 Add a class option to health checks.
1807
1808 .. change::
1809 :tags: New Features
1810 :pullreq: 6037
1811
1812 Add tag-based routing of queries.
1813
1814 .. change::
1815 :tags: New Features
1816 :pullreq: 6117, 6175, 6176, 6177, 6189
1817
1818 Add experimental :doc:`DNS-over-TLS <guides/dns-over-tls>` support.
1819
1820 .. change::
1821 :tags: Improvements
1822 :pullreq: 6030
1823
1824 Add UUIDs to rules, this allows tracking rules through modifications and moving them around.
1825
1826 .. change::
1827 :tags: Bug Fixes
1828 :pullreq: 5770
1829
1830 Keep trying if the first connection to the remote logger failed
1831
1832 .. change::
1833 :tags: New Features
1834 :pullreq: 5201, 6170
1835
1836 Add simple :doc:`dnstap <reference/dnstap>` support (Justin Valentini, Chris Hofstaedtler).
1837
1838 .. change::
1839 :tags: Improvements
1840 :pullreq: 6185
1841 :tickets: 6182
1842
1843 Apply ResponseRules to locally generated answers (Chris Hofstaedtler).
1844
1845 .. change::
1846 :tags: Improvements
1847 :pullreq: 6283
1848
1849 Report :func:`LuaAction` and :func:`LuaResponseAction` failures in the log and send SERVFAIL instead of not answering the query (Chris Hofstaedtler).
1850
1851 .. change::
1852 :tags: Improvements
1853 :pullreq: 6289
1854
1855 Unify global statistics accounting (Chris Hofstaedtler).
1856
1857 .. change::
1858 :tags: Improvements
1859 :pullreq: 6350, 6366
1860
1861 Speed up the processing of large ring buffers.
1862 This change will make :program:`dnsdist` more scalable with a large number of different clients.
1863
1864 .. change::
1865 :tags: Improvements
1866 :pullreq: 6363
1867 :tickets: 6346
1868
1869 Make custom :func:`addLuaAction` and :func:`addLuaResponseAction` callback's second return value optional.
1870
1871 .. change::
1872 :tags: Improvements
1873 :pullreq: 6327
1874
1875 Add "server-up" metric count to Carbon Reporting (Lowell Mower).
1876
1877 .. change::
1878 :tags: Improvements
1879 :pullreq: 6045, 6382
1880
1881 Add xchacha20 support for :doc:`DNSCrypt <guides/dnscrypt>`.
1882
1883 .. change::
1884 :tags: Improvements
1885 :pullreq: 6317
1886
1887 Scalability improvement: Add an option to use several source ports towards a backend.
1888
1889 .. change::
1890 :tags: Improvements
1891 :pullreq: 6375, 5866
1892 :tickets: 4845
1893
1894 Add '?' and 'help' for providing help() output on ``dnsdist -c`` (Kirill Ponomarev, Chris Hofstaedtler).
1895
1896 .. change::
1897 :tags: Improvements
1898 :pullreq: 6190, 6381
1899
1900 Replace the Lua mutex with a rw lock to limit contention.
1901 This improves the processing speed and parallelism of the policies.
1902
1903 .. change::
1904 :tags: New Features
1905 :pullreq: 6220, 5594
1906 :tickets: 5079, 5654
1907
1908 Add experimental XPF support based on `draft-bellis-dnsop-xpf-04 <https://tools.ietf.org/html/draft-bellis-dnsop-xpf-04>`__.
1909
1910 .. change::
1911 :tags: New Features
1912 :pullreq: 6147
1913
1914 Add :func:`ERCodeRule` to match on extended RCodes (Chris Hofstaedtler).
1915
1916 .. change::
1917 :tags: Bug Fixes
1918 :pullreq: 6018
1919
1920 Fix escaping unusual DNS label octets in DNSName is off by one (Kees Monshouwer).
1921
1922 .. change::
1923 :tags: New Features
1924 :pullreq: 6003
1925
1926 Add :func:`TempFailureCacheTTLAction` (Chris Hofstaedtler).
1927
1928 .. change::
1929 :tags: Improvements
1930 :pullreq: 6146
1931
1932 Ensure :program:`dnsdist` compiles on NetBSD (Tom Ivar Helbekkmo).
1933
1934 .. change::
1935 :tags: Improvements
1936 :pullreq: 5845
1937 :tickets: 5845
1938
1939 Also log eBPF dynamic blocks, as regular dynamic block already are.
1940
1941 .. change::
1942 :tags: New Features, Improvements
1943 :pullreq: 6391
1944
1945 Add :ref:`DynBlockRulesGroup` to improve processing speed of the :func:`maintenance` function by reducing memory usage and not walking the ringbuffers multiple times.
1946
1947 .. change::
1948 :tags: Removals
1949 :pullreq: 6394
1950 :tickets: 6329
1951
1952 Remove the ``--daemon`` option from :program:`dnsdist`.
1953
1954 .. change::
1955 :tags: New Features
1956 :pullreq: 6399
1957 :tickets: 4654
1958
1959 Add :func:`console ACL <addConsoleACL>` functions.
1960
1961 .. change::
1962 :tags: New Features
1963 :pullreq: 6400
1964 :tickets: 6098
1965
1966 Allow adding :meth:`EDNS Client Subnet information <ServerPool:setECS>` to a query before looking in the cache.
1967 This allows serving ECS enabled answers from the cache when all servers in a pool are down.
1968
1969 .. change::
1970 :tags: Improvements
1971 :pullreq: 6401
1972 :tickets: 6211
1973
1974 Ensure large numbers are shown correctly in the API.
1975
1976 .. change::
1977 :tags: Improvements
1978 :pullreq: 6402
1979 :tickets: 5763
1980
1981 Add option to :func:`showRules` to truncate the output length.
1982
1983 .. change::
1984 :tags: Bug Fixes
1985 :pullreq: 6403
1986
1987 Avoid assertion errors in :func:`NewServer` (Chris Hofstaedtler).
1988
1989 .. change::
1990 :tags: Improvements
1991 :pullreq: 6407
1992
1993 Fix several warnings reported by clang's analyzer and cppcheck, should lead to small performance increases.
1994
1995
1996 .. changelog::
1997 :version: 1.2.1
1998 :released: 16th of February 2018
1999
2000 .. change::
2001 :tags: New Features
2002 :pullreq: 5880
2003
2004 Add configuration option to disable IP_BIND_ADDRESS_NO_PORT (Dan McCombs).
2005
2006 .. change::
2007 :tags: Improvements
2008 :pullreq: 6057
2009
2010 Handle bracketed IPv6 addresses without ports (Chris Hofstaedtler).
2011
2012 .. change::
2013 :tags: Bug Fixes
2014 :pullreq: 5647
2015
2016 Make dnsdist dynamic truncate do right thing on TCP/IP.
2017
2018 .. change::
2019 :tags: Bug Fixes
2020 :pullreq: 5686
2021
2022 Add missing QPSAction
2023
2024 .. change::
2025 :tags: Bug Fixes
2026 :pullreq: 5847
2027
2028 Don't create a Remote Logger in client mode.
2029
2030 .. change::
2031 :tags: Bug Fixes
2032 :pullreq: 5858
2033
2034 Use libsodium's CFLAGS, we might need them to find the includes.
2035
2036 .. change::
2037 :tags: Bug Fixes
2038 :pullreq: 6012
2039
2040 Keep the TCP connection open on cache hit, generated answers.
2041
2042 .. change::
2043 :tags: Bug Fixes
2044 :pullreq: 6041
2045
2046 Add the missing <sys/time.h> include to mplexer.hh for struct timeval.
2047
2048 .. change::
2049 :tags: Bug Fixes
2050 :pullreq: 6043
2051
2052 Sort the servers based on their 'order' after it has been set.
2053
2054 .. change::
2055 :tags: Bug Fixes
2056 :pullreq: 6073
2057
2058 Quiet unused variable warning on macOS (Chris Hofstaedtler).
2059
2060 .. change::
2061 :tags: Bug Fixes
2062 :pullreq: 6094
2063 :tickets: 5652
2064
2065 Fix the outstanding counter when an exception is raised.
2066
2067 .. change::
2068 :tags: Bug Fixes
2069 :pullreq: 6164
2070 :tickets: 6163
2071
2072 Do not connect the snmpAgent from a dnsdist client.
2073
2074 .. changelog::
2075 :version: 1.2.0
2076 :released: 21st of August 2017
2077
2078 .. change::
2079 :tags: Improvements
2080 :pullreq: 4852
2081 :tickets: 4851
2082
2083 DNSName: Check that both first two bits are set in compressed labels.
2084
2085 .. change::
2086 :tags: Improvements
2087 :pullreq: 4285
2088 :tickets: 4131, 4155
2089
2090 Handle unreachable servers at startup, reconnect stale sockets
2091
2092 .. change::
2093 :tags: Improvements
2094 :pullreq: 4474
2095 :tickets: 4471
2096
2097 Gracefully handle invalid addresses in :func:`newServer`.
2098
2099 .. change::
2100 :tags: New Features
2101 :pullreq: 4536
2102 :tickets: 4527
2103
2104 Add an option to 'mute' UDP responses per bind.
2105
2106 .. change::
2107 :tags: New Features, Performance
2108 :pullreq: 4611
2109
2110 Add TCP management options from :rfc:`RFC 7766 section 10 <7766#section-10>`.
2111
2112 .. change::
2113 :tags: Bug Fixes
2114 :pullreq: 4775
2115
2116 LuaWrapper: Use the correct index when storing a function.
2117
2118 .. change::
2119 :tags: New Features
2120 :pullreq: 4779
2121 :tickets: 4562
2122
2123 Save history to home-dir, only use CWD as a last resort.
2124
2125 .. change::
2126 :tags: New Features
2127 :pullreq: 4898
2128
2129 Add the :func:`setRingBuffersSize` directive to allows changing the ringbuffer size.
2130
2131 .. change::
2132 :tags: Improvements, Security
2133 :pullreq: 4815
2134
2135 Merge the client and server nonces to prevent replay attacks.
2136
2137 .. change::
2138 :tags: Improvements
2139 :pullreq: 4786
2140
2141 Use ``IP_BIND_ADDRESS_NO_PORT`` when available.
2142
2143 .. change::
2144 :tags: Bug Fixes
2145 :pullreq: 4785
2146 :tickets: 4689
2147
2148 Send a latency of 0 over carbon, null over API for down servers.
2149
2150 .. change::
2151 :tags: Improvements
2152 :pullreq: 4780
2153 :tickets: 4775, 4660
2154
2155 Add an optional ``seconds`` parameter to :func:`statNodeRespRing`.
2156
2157 .. change::
2158 :tags: Improvements
2159 :pullreq: 4910
2160
2161 Report a more specific lua version and report luajit in ``--version``.
2162
2163 .. change::
2164 :tags: Improvements, DNSCrypt
2165 :pullreq: 4813, 4926
2166
2167 Store the computed shared key and reuse it for the response for DNSCrypt messages.
2168
2169 .. change::
2170 :tags: New Features, Protobuf
2171 :pullreq: 4776
2172 :tickets: 4709
2173
2174 Add an option to export CNAME records over protobuf.
2175
2176 .. change::
2177 :tags: New Features
2178 :pullreq: 4787
2179 :tickets: 4707
2180
2181 Allow TTL alteration via Lua.
2182
2183 .. change::
2184 :tags: New Features
2185 :pullreq: 4837
2186
2187 Add :func:`RDRule` to match queries with the ``RD`` flag set.
2188
2189 .. change::
2190 :tags: New Features
2191 :pullreq: 4897
2192
2193 Add :func:`setWHashedPertubation` for consistent ``whashed`` results.
2194
2195 .. change::
2196 :tags: New Features
2197 :pullreq: 4818
2198
2199 Add ``tcpConnectTimeout`` to :func:`newServer`.
2200
2201 .. change::
2202 :tags: Bug Fixes
2203 :pullreq: 4911
2204
2205 Fix negative port detection for IPv6 addresses on 32-bit.
2206
2207 .. change::
2208 :tags: Bug Fixes
2209 :pullreq: 4877
2210 :tickets: 4579
2211
2212 Fix crashed on SmartOS/Illumos (Roman Dayneko).
2213
2214 .. change::
2215 :tags: New Features
2216 :pullreq: 4788, 5036
2217 :tickets: 4708
2218
2219 Add cache hit response rules.
2220
2221 .. change::
2222 :tags: Improvements, Performance
2223 :pullreq: 4817
2224
2225 Add :func:`setTCPUseSinglePipe` to use a single TCP waiting queue.
2226
2227 .. change::
2228 :tags: Bug Fixes
2229 :pullreq: 4859
2230 :tickets: 4857
2231
2232 Change ``truncateTC`` to defaulting to off, having it enabled by default causes an compatibility with :rfc:`6891` (Robin Geuze).
2233
2234 .. change::
2235 :tags: Bug Fixes
2236 :pullreq: 4987, 5037
2237 :tickets: 4983
2238
2239 Don't cache answers without any TTL (like SERVFAIL).
2240
2241 .. change::
2242 :tags: Improvements, Performance
2243 :pullreq: 4985, 5501
2244 :tickets: 5494
2245
2246 Add ``sendSizeAndMsgWithTimeout`` to send size and data in a single call and use it for TCP Fast Open towards backends.
2247
2248 .. change::
2249 :tags: Improvements
2250 :pullreq: 5056
2251
2252 Prevent issues by unshadowing variables.
2253
2254 .. change::
2255 :tags: New Features, SNMP
2256 :pullreq: 4989, 5123, 5204
2257
2258 Add :doc:`SNMP support <advanced/snmp>`.
2259
2260 .. change::
2261 :tags: Bug Fixes, Performance
2262 :pullreq: 4950
2263 :tickets: 4761
2264
2265 Refactor SuffixMatchNode using a SuffixMatchTree.
2266
2267 .. change::
2268 :tags: Improvements
2269 :pullreq: 4920
2270
2271 Register DNSName::chopOff (@plzz).
2272
2273 .. change::
2274 :tags: New Features
2275 :pullreq: 5070
2276
2277 Allow passing :class:`DNSName`\ s as DNSRules.
2278
2279 .. change::
2280 :tags: Bug Fixes, Webserver
2281 :pullreq: 5089
2282
2283 Send an HTTP 404 on unknown API paths.
2284
2285 .. change::
2286 :tags: Improvements, Performance
2287 :pullreq: 4958
2288
2289 Tune systemd unit-file for medium-sized installations (Winfried Angele).
2290
2291 .. change::
2292 :tags: New Features
2293 :pullreq: 5113
2294
2295 Add support for setting the server selection policy on a per pool basis (Robin Geuze).
2296
2297 .. change::
2298 :tags: Improvements
2299 :pullreq: 5150, 5171
2300 :tickets: 5053
2301
2302 Make :func:`includeDirectory` work sorted (Robin Geuze).
2303
2304 .. change::
2305 :tags: Improvements, LuaWrapper
2306 :pullreq: 5147
2307
2308 Allow embedded NULs in strings received from Lua.
2309
2310 .. change::
2311 :tags: New Features
2312 :pullreq: 5159
2313
2314 Add a ``suffixMatch`` parameter to :meth:`PacketCache:expungeByName` (Robin Geuze).
2315
2316 .. change::
2317 :tags: Improvements
2318 :pullreq: 5163
2319
2320 Cleanup closed TCP downstream connections.
2321
2322 .. change::
2323 :tags: Bug Fixes
2324 :pullreq: 5194
2325
2326 Fix destination port reporting on "any" binds.
2327
2328 .. change::
2329 :tags: New Features
2330 :pullreq: 5136
2331 :tickets: 5126
2332
2333 Add an option so the packet cache entries don't age.
2334
2335 .. change::
2336 :tags: Bug Fixes, Security
2337 :pullreq: 5199
2338
2339 Unified ``-k`` and :func:`setKey` behaviour for client and server mode now.
2340
2341 .. change::
2342 :tags: Improvements
2343 :pullreq: 5230
2344
2345 Improve reporting of C++ exceptions that bubble up via Lua.
2346
2347 .. change::
2348 :tags: Improvements, Performance
2349 :pullreq: 5185
2350
2351 Add the possibility to fill a :class:`NetmaskGroup` (using :meth:`NetmaskGroup:addMask`) from `exceeds*` results.
2352
2353 .. change::
2354 :tags: Improvements
2355 :pullreq: 5253
2356
2357 Add better logging on queries that get dropped, timed out or received.
2358
2359 .. change::
2360 :tags: New Features
2361 :pullreq: 5235
2362
2363 Add :func:`QNameRule`.
2364
2365 .. change::
2366 :tags: Bug Fixes
2367 :pullreq: 5320
2368
2369 Correctly truncate EDNS Client Subnetmasks.
2370
2371 .. change::
2372 :tags: Improvements
2373 :pullreq: 5342
2374
2375 Print useful messages when query and response actions are mixed.
2376
2377 .. change::
2378 :tags: New Features
2379 :pullreq: 5337
2380
2381 Add an optional action to :func:`addDynBlocks`.
2382
2383 .. change::
2384 :tags: New Features
2385 :pullreq: 5344
2386
2387 Add an optional interface parameter to :func:`addLocal`/:func:`setLocal`.
2388
2389 .. change::
2390 :tags: Bug Fixes, Performance
2391 :pullreq: 5359
2392
2393 Get rid of ``std::move()`` calls preventing copy elision.
2394
2395 .. change::
2396 :tags: Bug Fixes
2397 :pullreq: 5369
2398 :tickets: 5365
2399
2400 Fix :func:`RecordsTypeCountRule`\ 's handling of the # of records in a section.
2401
2402 .. change::
2403 :tags: New Features
2404 :pullreq: 5386
2405
2406 Make a ``truncate`` action available to DynBlock and Lua.
2407
2408 .. change::
2409 :tags: Bug Fixes
2410 :pullreq: 5383
2411 :tickets: 5287
2412
2413 Change stats functions to always return lowercase names (Robin Geuze).
2414
2415 .. change::
2416 :tags: New Features
2417 :pullreq: 5336
2418
2419 Implement a runtime changeable rule that matches IP address for a certain time called :func:`TimedIPSetRule`.
2420
2421 .. change::
2422 :tags: Bug Fixes
2423 :pullreq: 5449, 5454
2424
2425 Only use TCP Fast Open when supported and prevent compiler warnings.
2426
2427 .. change::
2428 :tags: Improvements
2429 :pullreq: 5497
2430
2431 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.
2432
2433 .. change::
2434 :tags: New Features
2435 :pullreq: 5496
2436
2437 Add support for returning several IPs to spoof from Lua.
2438
2439 .. change::
2440 :tags: New Features
2441 :pullreq: 5490, 5508
2442 :tickets: 5420, 5507
2443
2444 Add Lua bindings to be able to rotate DNSCrypt keys, see :doc:`guides/dnscrypt`.
2445
2446 .. change::
2447 :tags: Improvements, Performance
2448 :pullreq: 5353
2449
2450 Add labels count to StatNode, only set the name once.
2451
2452 .. change::
2453 :tags: Removals
2454 :pullreq: 5514
2455 :tickets: 5513
2456
2457 Remove BlockFilter.
2458
2459 .. change::
2460 :tags: New Features
2461 :pullreq: 5396, 5577
2462
2463 Add the capability to set arbitrary tags in protobuf messages.
2464
2465 .. change::
2466 :tags: Bug Fixes
2467 :pullreq: 5563
2468 :tickets: 5559
2469
2470 Skip timeouts on the response latency graph.
2471
2472 .. change::
2473 :tags: Removals
2474 :pullreq: 5526
2475 :tickets: 5069
2476
2477 Deprecate syntactic sugar functions.
2478
2479 .. change::
2480 :tags: Improvements
2481 :pullreq: 5579
2482 :tickets: 5538
2483
2484 Don't use square brackets for IPv6 in Carbon metrics.
2485
2486 .. change::
2487 :tags: Bug Fixes
2488 :pullreq: 5580
2489 :tickets: 5566
2490
2491 Copy the DNS header before encrypting it in place.
2492
2493 .. change::
2494 :tags: New Features
2495 :pullreq: 5581
2496 :tickets: 5565
2497
2498 Add setConsoleConnectionsLogging().
2499
2500 .. change::
2501 :tags: Security
2502 :pullreq: 5630
2503
2504 Fix potential pointer wrap-around on 32 bits.
2505
2506 .. change::
2507 :tags: Security
2508 :pullreq: 5631
2509
2510 Make the API available with an API key only.
2511
2512 1.1.0
2513 -----
2514
2515 Released December 29th 2016
2516
2517 Changes since 1.1.0-beta2:
2518
2519 Improvements
2520 ~~~~~~~~~~~~
2521
2522 - `#4783 <https://github.com/PowerDNS/pdns/pull/4783>`__: Add -latomic
2523 on powerpc
2524 - `#4812 <https://github.com/PowerDNS/pdns/pull/4812>`__: Handle
2525 header-only responses, handle Refused as Servfail in the cache
2526
2527 Bug fixes
2528 ~~~~~~~~~
2529
2530 - `#4762 <https://github.com/PowerDNS/pdns/pull/4762>`__:
2531 SuffixMatchNode: Fix an insertion issue for an existing node
2532 - `#4772 <https://github.com/PowerDNS/pdns/pull/4772>`__: Fix dnsdist
2533 initscript config check
2534
2535 1.1.0-beta2
2536 -----------
2537
2538 Released December 14th 2016
2539
2540 Changes since 1.1.0-beta1:
2541
2542 New features
2543 ~~~~~~~~~~~~
2544
2545 - `#4518 <https://github.com/PowerDNS/pdns/pull/4518>`__: Fix dynblocks
2546 over TCP, allow refusing dyn blocked queries
2547 - `#4519 <https://github.com/PowerDNS/pdns/pull/4519>`__: Allow
2548 altering the ECS behavior via rules and Lua
2549 - `#4535 <https://github.com/PowerDNS/pdns/pull/4535>`__: Add
2550 ``DNSQuestion:getDO()``
2551 - `#4653 <https://github.com/PowerDNS/pdns/pull/4653>`__:
2552 ``getStatisticsCounters()`` to access counters from Lua
2553 - `#4657 <https://github.com/PowerDNS/pdns/pull/4657>`__: Add
2554 ``includeDirectory(dir)``
2555 - `#4658 <https://github.com/PowerDNS/pdns/pull/4658>`__: Allow editing
2556 the ACL via the API
2557 - `#4702 <https://github.com/PowerDNS/pdns/pull/4702>`__: Add
2558 ``setUDPTimeout(n)``
2559 - `#4726 <https://github.com/PowerDNS/pdns/pull/4726>`__: Add an option
2560 to return ServFail when no server is available
2561 - `#4748 <https://github.com/PowerDNS/pdns/pull/4748>`__: Add
2562 ``setCacheCleaningPercentage()``
2563
2564 Improvements
2565 ~~~~~~~~~~~~
2566
2567 - `#4533 <https://github.com/PowerDNS/pdns/pull/4533>`__: Fix building
2568 with clang on OS X and FreeBSD
2569 - `#4537 <https://github.com/PowerDNS/pdns/pull/4537>`__: Replace
2570 luawrapper's std::forward/std::make\_tuple combo with
2571 std::forward\_as\_tuple (Sangwhan "fish" Moon)
2572 - `#4596 <https://github.com/PowerDNS/pdns/pull/4596>`__: Change the
2573 default max number of queued TCP conns to 1000
2574 - `#4632 <https://github.com/PowerDNS/pdns/pull/4632>`__: Improve
2575 dnsdist error message on a common typo/config mistake
2576 - `#4694 <https://github.com/PowerDNS/pdns/pull/4694>`__: Don't use a
2577 const\_iterator for erasing (fix compilation with some versions of
2578 gcc)
2579 - `#4715 <https://github.com/PowerDNS/pdns/pull/4715>`__: Specify that
2580 dnsmessage.proto uses protobuf version 2
2581 - `#4765 <https://github.com/PowerDNS/pdns/pull/4765>`__: Some service
2582 improvements
2583
2584 Bug fixes
2585 ~~~~~~~~~
2586
2587 - `#4425 <https://github.com/PowerDNS/pdns/pull/4425>`__: Fix a
2588 protobuf regression (requestor/responder mix-up) caused by a94673e
2589 - `#4541 <https://github.com/PowerDNS/pdns/pull/4541>`__: Fix insertion
2590 issues in SuffixMatchTree, move it to dnsname.hh
2591 - `#4553 <https://github.com/PowerDNS/pdns/pull/4553>`__: Flush output
2592 in single command client mode
2593 - `#4578 <https://github.com/PowerDNS/pdns/pull/4578>`__: Fix
2594 destination address reporting
2595 - `#4640 <https://github.com/PowerDNS/pdns/pull/4640>`__: Don't exit
2596 dnsdist on an exception in maintenance
2597 - `#4721 <https://github.com/PowerDNS/pdns/pull/4721>`__: Handle
2598 exceptions in the UDP responder thread
2599 - `#4734 <https://github.com/PowerDNS/pdns/pull/4734>`__: Add the TCP
2600 socket to the map only if the connection succeeds. Closes #4733
2601 - `#4742 <https://github.com/PowerDNS/pdns/pull/4742>`__: Decrement the
2602 queued TCP conn count if writing to the pipe fails
2603 - `#4743 <https://github.com/PowerDNS/pdns/pull/4743>`__: Ignore
2604 newBPFFilter() and newDynBPFFilter() in client mode
2605 - `#4753 <https://github.com/PowerDNS/pdns/pull/4753>`__: Fix FD leak
2606 on TCP connection failure, handle TCP worker creation failure
2607 - `#4764 <https://github.com/PowerDNS/pdns/pull/4764>`__: Prevent race
2608 while creating new TCP worker threads
2609
2610 1.1.0-beta1
2611 -----------
2612
2613 Released September 1st 2016
2614
2615 Changes since 1.0.0:
2616
2617 New features
2618 ~~~~~~~~~~~~
2619
2620 - `#3762 <https://github.com/PowerDNS/pdns/pull/3762>`__ Teeaction:
2621 send copy of query to second nameserver, sponge responses
2622 - `#3876 <https://github.com/PowerDNS/pdns/pull/3876>`__ Add
2623 ``showResponseRules()``, ``{mv,rm,top}ResponseRule()``
2624 - `#3936 <https://github.com/PowerDNS/pdns/pull/3936>`__ Filter on
2625 opcode, records count/type, trailing data
2626 - `#3975 <https://github.com/PowerDNS/pdns/pull/3975>`__ Make dnsdist
2627 {A,I}XFR aware, document possible issues
2628 - `#4006 <https://github.com/PowerDNS/pdns/pull/4006>`__ Add eBPF
2629 source address and qname/qtype filtering
2630 - `#4008 <https://github.com/PowerDNS/pdns/pull/4008>`__ Node
2631 infrastructure for querying recent traffic
2632 - `#4042 <https://github.com/PowerDNS/pdns/pull/4042>`__ Add
2633 server-side TCP Fast Open support
2634 - `#4050 <https://github.com/PowerDNS/pdns/pull/4050>`__ Add
2635 ``clearRules()`` and ``setRules()``
2636 - `#4114 <https://github.com/PowerDNS/pdns/pull/4114>`__ Add
2637 ``QNameLabelsCountRule()`` and ``QNameWireLengthRule()``
2638 - `#4116 <https://github.com/PowerDNS/pdns/pull/4116>`__ Added src
2639 boolean to NetmaskGroupRule to match destination address (Reinier
2640 Schoof)
2641 - `#4175 <https://github.com/PowerDNS/pdns/pull/4175>`__ Implemented
2642 query counting (Reinier Schoof)
2643 - `#4244 <https://github.com/PowerDNS/pdns/pull/4244>`__ Add a
2644 ``setCD`` parameter to set cd=1 on health check queries
2645 - `#4284 <https://github.com/PowerDNS/pdns/pull/4284>`__ Add
2646 RCodeRule(), Allow, Delay and Drop response actions
2647 - `#4305 <https://github.com/PowerDNS/pdns/pull/4305>`__ Add an
2648 optional Lua callback for altering a Protobuf message
2649 - `#4309 <https://github.com/PowerDNS/pdns/pull/4309>`__ Add
2650 showTCPStats function (RobinGeuze)
2651 - `#4329 <https://github.com/PowerDNS/pdns/pull/4329>`__ Add options to
2652 LogAction() so it can append (instead of truncate) (Duane Wessels)
2653
2654 Improvements
2655 ~~~~~~~~~~~~
2656
2657 - `#3714 <https://github.com/PowerDNS/pdns/pull/3714>`__ Add
2658 documentation links to dnsdist.service (Ruben Kerkhof)
2659 - `#3754 <https://github.com/PowerDNS/pdns/pull/3754>`__ Allow the use
2660 of custom headers in the web server
2661 - `#3826 <https://github.com/PowerDNS/pdns/pull/3826>`__ Implement a
2662 'quiet' mode for SuffixMatchNodeRule()
2663 - `#3836 <https://github.com/PowerDNS/pdns/pull/3836>`__ Log the
2664 content of webserver's exceptions
2665 - `#3858 <https://github.com/PowerDNS/pdns/pull/3858>`__ Only log
2666 YaHTTP's parser exceptions in verbose mode
2667 - `#3877 <https://github.com/PowerDNS/pdns/pull/3877>`__ Increase max
2668 FDs in systemd unit, warn if clearly too low
2669 - `#4019 <https://github.com/PowerDNS/pdns/pull/4019>`__ Add an
2670 optional ``addECS`` option to ``TeeAction()``
2671 - `#4029 <https://github.com/PowerDNS/pdns/pull/4029>`__ Add version
2672 and feature information to version output
2673 - `#4079 <https://github.com/PowerDNS/pdns/pull/4079>`__ Return an
2674 error on RemoteLog{,Response}Action() w/o protobuf
2675 - `#4246 <https://github.com/PowerDNS/pdns/pull/4246>`__ API now sends
2676 pools as a JSON array instead of a string
2677 - `#4302 <https://github.com/PowerDNS/pdns/pull/4302>`__ Add ``help()``
2678 and ``showVersion()``
2679 - `#4286 <https://github.com/PowerDNS/pdns/pull/4286>`__ Add response
2680 rules to the API and Web status page
2681 - `#4068 <https://github.com/PowerDNS/pdns/pull/4068>`__ Display the
2682 dyn eBPF filters stats in the web interface
2683
2684 Bug fixes
2685 ~~~~~~~~~
2686
2687 - `#3755 <https://github.com/PowerDNS/pdns/pull/3755>`__ Fix RegexRule
2688 example in dnsdistconf.lua
2689 - `#3773 <https://github.com/PowerDNS/pdns/pull/3773>`__ Stop copying
2690 the HTTP request headers to the response
2691 - `#3837 <https://github.com/PowerDNS/pdns/pull/3837>`__ Remove dnsdist
2692 service file on trusty
2693 - `#3840 <https://github.com/PowerDNS/pdns/pull/3840>`__ Catch
2694 WrongTypeException in client mode
2695 - `#3906 <https://github.com/PowerDNS/pdns/pull/3906>`__ Keep the
2696 servers ordered inside pools
2697 - `#3988 <https://github.com/PowerDNS/pdns/pull/3988>`__ Fix
2698 ``grepq()`` output in the README
2699 - `#3992 <https://github.com/PowerDNS/pdns/pull/3992>`__ Fix some typos
2700 in the AXFR/IXFR documentation
2701 - `#3995 <https://github.com/PowerDNS/pdns/pull/3995>`__ Fix comparison
2702 between signed and unsigned integer
2703 - `#4049 <https://github.com/PowerDNS/pdns/pull/4049>`__ Fix dnsdist
2704 rpm building script #4048 (Daniel Stirnimann)
2705 - `#4065 <https://github.com/PowerDNS/pdns/pull/4065>`__ Include
2706 editline/readline.h instead of readline.h/history.h
2707 - `#4067 <https://github.com/PowerDNS/pdns/pull/4067>`__ Disable eBPF
2708 support when BPF\_FUNC\_tail\_call is not found
2709 - `#4069 <https://github.com/PowerDNS/pdns/pull/4069>`__ Fix a buffer
2710 overflow when displaying an OpcodeRule
2711 - `#4101 <https://github.com/PowerDNS/pdns/pull/4101>`__ Fix $
2712 expansion in build-dnsdist-rpm
2713 - `#4198 <https://github.com/PowerDNS/pdns/pull/4198>`__ newServer
2714 setting maxCheckFailures makes no sense (stutiredboy)
2715 - `#4205 <https://github.com/PowerDNS/pdns/pull/4205>`__ Prevent the
2716 use of "any" addresses for downstream server
2717 - `#4220 <https://github.com/PowerDNS/pdns/pull/4220>`__ Don't log an
2718 error when parsing an invalid UDP query
2719 - `#4348 <https://github.com/PowerDNS/pdns/pull/4348>`__ Fix invalid
2720 outstanding count for {A,I}XFR over TCP
2721 - `#4365 <https://github.com/PowerDNS/pdns/pull/4365>`__ Reset origFD
2722 asap to keep the outstanding count correct
2723 - `#4375 <https://github.com/PowerDNS/pdns/pull/4375>`__ Tuple requires
2724 make\_tuple to initialize
2725 - `#4380 <https://github.com/PowerDNS/pdns/pull/4380>`__ Fix
2726 compilation with clang when eBPF support is enabled
2727
2728 1.0.0
2729 -----
2730
2731 Released April 21st 2016
2732
2733 Changes since 1.0.0-beta1:
2734
2735 Improvements
2736 ~~~~~~~~~~~~
2737
2738 - `#3700 <https://github.com/PowerDNS/pdns/pull/3700>`__ Create user
2739 from the RPM package to drop privs
2740 - `#3712 <https://github.com/PowerDNS/pdns/pull/3712>`__ Make check
2741 should run testrunner
2742 - `#3713 <https://github.com/PowerDNS/pdns/pull/3713>`__ Remove
2743 contrib/dnsdist.service (Ruben Kerkhof)
2744 - `#3722 <https://github.com/PowerDNS/pdns/pull/3722>`__ Use LT\_INIT
2745 and disable static objects (Ruben Kerkhof)
2746 - `#3724 <https://github.com/PowerDNS/pdns/pull/3724>`__ Include
2747 PDNS\_CHECK\_OS in configure (Chris Hofstaedtler)
2748 - `#3728 <https://github.com/PowerDNS/pdns/pull/3728>`__ Document
2749 libedit Ctrl-R workaround for CentOS 6
2750 - `#3730 <https://github.com/PowerDNS/pdns/pull/3730>`__ Make
2751 ``topBandwidth()`` behave like other top\* functions
2752 - `#3731 <https://github.com/PowerDNS/pdns/pull/3731>`__ Clarify a bit
2753 the documentation of load-balancing policies
2754
2755 Bug fixes
2756 ~~~~~~~~~
2757
2758 - `#3711 <https://github.com/PowerDNS/pdns/pull/3711>`__ Building rpm
2759 needs systemd headers (Ruben Kerkhof)
2760 - `#3736 <https://github.com/PowerDNS/pdns/pull/3736>`__ Add missing
2761 Lua binding for NetmaskGroupRule()
2762 - `#3739 <https://github.com/PowerDNS/pdns/pull/3739>`__ Drop
2763 privileges after daemonizing and writing our pid
2764
2765 1.0.0-beta1
2766 -----------
2767
2768 Released April 14th 2016
2769
2770 Changes since 1.0.0-alpha2:
2771
2772 New features
2773 ~~~~~~~~~~~~
2774
2775 - Per-pool packet cache
2776 - Some actions do not stop the processing anymore when they match,
2777 allowing more complex setups: Delay, Disable Validation, Log,
2778 MacAddr, No Recurse and of course None
2779 - The new RE2Rule() is available, using the RE2 regular expression
2780 library to match queries, in addition to the existing POSIX-based
2781 RegexRule()
2782 - SpoofAction() now supports multiple A and AAAA records
2783 - Remote logging of questions and answers via Protocol Buffer
2784
2785 Improvements
2786 ~~~~~~~~~~~~
2787
2788 - `#3405 <https://github.com/PowerDNS/pdns/pull/3405>`__ Add health
2789 check logging, ``maxCheckFailures`` to backend
2790 - `#3412 <https://github.com/PowerDNS/pdns/pull/3412>`__ Check config
2791 - `#3440 <https://github.com/PowerDNS/pdns/pull/3440>`__ Client
2792 operation improvements
2793 - `#3466 <https://github.com/PowerDNS/pdns/pull/3466>`__ Add dq binding
2794 for skipping packet cache in LuaAction (Jan Broer)
2795 - `#3499 <https://github.com/PowerDNS/pdns/pull/3499>`__ Add support
2796 for multiple carbon servers
2797 - `#3504 <https://github.com/PowerDNS/pdns/pull/3504>`__ Allow
2798 accessing the API with an optional API key
2799 - `#3556 <https://github.com/PowerDNS/pdns/pull/3556>`__ Add an option
2800 to limit the number of queued TCP connections
2801 - `#3578 <https://github.com/PowerDNS/pdns/pull/3578>`__ Add a
2802 ``disable-syslog`` option
2803 - `#3608 <https://github.com/PowerDNS/pdns/pull/3608>`__ Export cache
2804 stats to carbon
2805 - `#3622 <https://github.com/PowerDNS/pdns/pull/3622>`__ Display the
2806 ACL content on startup
2807 - `#3627 <https://github.com/PowerDNS/pdns/pull/3627>`__ Remove ECS
2808 option from response's OPT RR when necessary
2809 - `#3633 <https://github.com/PowerDNS/pdns/pull/3633>`__ Count "TTL too
2810 short" cache events
2811 - `#3677 <https://github.com/PowerDNS/pdns/pull/3677>`__ systemd-notify
2812 support
2813
2814 Bug fixes
2815 ~~~~~~~~~
2816
2817 - `#3388 <https://github.com/PowerDNS/pdns/pull/3388>`__ Lock the Lua
2818 context before executing a LuaAction
2819 - `#3433 <https://github.com/PowerDNS/pdns/pull/3433>`__ Check that the
2820 answer matches the initial query
2821 - `#3461 <https://github.com/PowerDNS/pdns/pull/3461>`__ Fix crash when
2822 calling rmServer() with an invalid index
2823 - `#3550 <https://github.com/PowerDNS/pdns/pull/3550>`__,\ `#3551 <https://github.com/PowerDNS/pdns/pull/3551>`__
2824 Fix build failure on FreeBSD (Ruben Kerkhof)
2825 - `#3594 <https://github.com/PowerDNS/pdns/pull/3594>`__ Prevent EOF
2826 error for empty console response w/o sodium
2827 - `#3634 <https://github.com/PowerDNS/pdns/pull/3634>`__ Prevent
2828 dangling TCP fd in case setupTCPDownstream() fails
2829 - `#3641 <https://github.com/PowerDNS/pdns/pull/3641>`__ Under
2830 threshold, QPS action should return None, not Allow
2831 - `#3658 <https://github.com/PowerDNS/pdns/pull/3658>`__ Fix a race
2832 condition in MaxQPSIPRule
2833
2834 1.0.0-alpha2
2835 ------------
2836
2837 Released February 5th 2016
2838
2839 Changes since 1.0.0-alpha1:
2840
2841 New features
2842 ~~~~~~~~~~~~
2843
2844 - Lua functions now receive a DNSQuestion ``dq`` object instead of
2845 several parameters. This adds a greater compatibility with PowerDNS
2846 and allows adding more parameters without breaking the API
2847 (`#3198 <https://github.com/PowerDNS/pdns/issues/3198>`__)
2848 - Added a ``source`` option to ``newServer()`` to specify the local
2849 address or interface used to contact a downstream server
2850 (`#3138 <https://github.com/PowerDNS/pdns/issues/3138>`__)
2851 - CNAME and IPv6-only support have been added to spoofed responses
2852 (`#3064 <https://github.com/PowerDNS/pdns/issues/3064>`__)
2853 - ``grepq()`` can be used to search for slow queries, along with
2854 ``topSlow()``
2855 - New Lua functions: ``addDomainCNAMESpoof()``, ``AllowAction()`` by
2856 @bearggg, ``exceedQRate()``, ``MacAddrAction()``, ``makeRule()``,
2857 ``NotRule()``, ``OrRule()``, ``QClassRule()``, ``RCodeAction()``,
2858 ``SpoofCNAMEAction()``, ``SuffixMatchNodeRule()``, ``TCPRule()``,
2859 ``topSlow()``
2860 - ``NetmaskGroup`` support have been added in Lua
2861 (`#3144 <https://github.com/PowerDNS/pdns/issues/3144>`__)
2862 - Added ``MacAddrAction()`` to add the source MAC address to the
2863 forwarded query
2864 (`#3313 <https://github.com/PowerDNS/pdns/issues/3313>`__)
2865
2866 Bug fixes
2867 ~~~~~~~~~
2868
2869 - An issue in DelayPipe could make dnsdist crash at startup
2870 - ``downstream-timeouts`` metric was not always updated
2871 - ``truncateTC`` was unproperly updating the response length
2872 (`#3126 <https://github.com/PowerDNS/pdns/issues/3126>`__)
2873 - DNSCrypt responses larger than queries were unproperly truncated
2874 - An issue prevented info message from being displayed in non-verbose
2875 mode, fixed by Jan Broer
2876 - Reinstating an expired Dynamic Rule was not correctly logged
2877 (`#3323 <https://github.com/PowerDNS/pdns/issues/3323>`__)
2878 - Initialized counters in the TCP client thread might have cause FD and
2879 memory leak, reported by Martin Pels
2880 (`#3300 <https://github.com/PowerDNS/pdns/issues/3300>`__)
2881 - We now drop queries containing no question (qdcount == 0)
2882 (`#3290 <https://github.com/PowerDNS/pdns/issues/3290>`__)
2883 - Outstanding TCP queries count was not always correct
2884 (`#3288 <https://github.com/PowerDNS/pdns/issues/3288>`__)
2885 - A locking issue in exceedRespGen() might have caused crashs
2886 (`#3277 <https://github.com/PowerDNS/pdns/issues/3277>`__)
2887 - Useless sockets were created in client mode
2888 (`#3257 <https://github.com/PowerDNS/pdns/issues/3257>`__)
2889 - ``addAnyTCRule()`` was generating TC=1 responses even over TCP
2890 (`#3251 <https://github.com/PowerDNS/pdns/issues/3251>`__)
2891
2892 Web interface
2893 ~~~~~~~~~~~~~
2894
2895 - Cleanup of the HTML by Sander Hoentjen
2896 - Fixed an XSS reported by @janeczku
2897 (`#3217 <https://github.com/PowerDNS/pdns/issues/3217>`__)
2898 - Removed remote images
2899 - Set the charset to UTF-8, added some security-related and CORS HTTP
2900 headers
2901 - Added server latency by Jan Broer
2902 (`#3201 <https://github.com/PowerDNS/pdns/issues/3201>`__)
2903 - Switched to official minified versions of JS scripts, by Sander
2904 Hoentjen (`#3317 <https://github.com/PowerDNS/pdns/issues/3317>`__)
2905 - Don't log unauthenticated HTTP request as an authentication failure
2906
2907 Various documentation updates and minor cleanups:
2908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2909
2910 - Added documentation for Advanced DNS Protection features (Dynamic
2911 rules, ``maintenance()``)
2912 - Make ``topBandwidth()`` default to the top 10 clients
2913 - Replaced readline with libedit
2914 - Added GPL2 License
2915 (`#3200 <https://github.com/PowerDNS/pdns/issues/3200>`__)
2916 - Added incbin License
2917 (`#3269 <https://github.com/PowerDNS/pdns/issues/3269>`__)
2918 - Updated completion rules
2919 - Removed wrong option ``--daemon-no`` by Stefan Schmidt
2920
2921 1.0.0-alpha1
2922 ------------
2923
2924 Released December 24th 2015
2925
2926 Initial release