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