==1927474== Memcheck, a memory error detector
==1927474== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==1927474== Using Valgrind-3.16.0 and LibVEX; rerun with -h for copyright info
==1927474== Command: unbound-streamtcp -f localhost
==1927474==
fatal: bad server specs 'localhost'
==1927474==
==1927474== HEAP SUMMARY:
==1927474== in use at exit: 131,186 bytes in 4 blocks
==1927474== total heap usage: 5 allocs, 1 frees, 132,210 bytes allocated
==1927474==
==1927474== 40 bytes in 1 blocks are still reachable in loss record 1 of 4
==1927474== at 0x483F751: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1927474== by 0x1E0573: sldns_buffer_new (sbuffer.c:21)
==1927474== by 0x11ECED: send_em (streamtcp.c:374)
==1927474== by 0x11E6C1: main (streamtcp.c:585)
==1927474==
==1927474== 40 bytes in 1 blocks are still reachable in loss record 2 of 4
==1927474== at 0x483F751: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1927474== by 0x1E0573: sldns_buffer_new (sbuffer.c:21)
==1927474== by 0x11ECFA: send_em (streamtcp.c:375)
==1927474== by 0x11E6C1: main (streamtcp.c:585)
==1927474==
==1927474== 65,553 bytes in 1 blocks are still reachable in loss record 3 of 4
==1927474== at 0x483F751: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1927474== by 0x1E0583: sldns_buffer_new (sbuffer.c:27)
==1927474== by 0x11ECED: send_em (streamtcp.c:374)
==1927474== by 0x11E6C1: main (streamtcp.c:585)
==1927474==
==1927474== 65,553 bytes in 1 blocks are still reachable in loss record 4 of 4
==1927474== at 0x483F751: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1927474== by 0x1E0583: sldns_buffer_new (sbuffer.c:27)
==1927474== by 0x11ECFA: send_em (streamtcp.c:375)
==1927474== by 0x11E6C1: main (streamtcp.c:585)
==1927474==
==1927474== LEAK SUMMARY:
==1927474== definitely lost: 0 bytes in 0 blocks
==1927474== indirectly lost: 0 bytes in 0 blocks
==1927474== possibly lost: 0 bytes in 0 blocks
==1927474== still reachable: 131,186 bytes in 4 blocks
==1927474== suppressed: 0 bytes in 0 blocks
==1927474==
==1927474== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Signed-off-by: eaglegai <eaglegai@163.com>
==3709953== HEAP SUMMARY:
==3709953== in use at exit: 276,541 bytes in 23 blocks
==3709953== total heap usage: 29 allocs, 6 frees, 280,682 bytes allocated
==3709953==
==3709953== 1 bytes in 1 blocks are still reachable in loss record 1 of 23
==3709953== at 0x4866EC0: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-arm64-linux.so)
==3709953== by 0x48E2BC3: ub_initstate (random.c:85)
==3709953== by 0x489B067: ub_ctx_create_nopipe (libunbound.c:114)
==3709953== by 0x489B31F: ub_ctx_create (libunbound.c:180)
==3709953== by 0x10E203: main (unbound-host.c:433)
==3709953==
......
==3709953== 8,192 bytes in 1 blocks are still reachable in loss record 22 of 23
==3709953== at 0x4866EC0: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-arm64-linux.so)
==3709953== by 0x48E427B: regional_create_custom (regional.c:94)
==3709953== by 0x48DEA03: edns_strings_create (edns.c:57)
==3709953== by 0x489B0F3: ub_ctx_create_nopipe (libunbound.c:157)
==3709953== by 0x489B31F: ub_ctx_create (libunbound.c:180)
==3709953== by 0x10E203: main (unbound-host.c:433)
==3709953==
==3709953== 262,144 bytes in 1 blocks are still reachable in loss record 23 of 23
==3709953== at 0x486933C: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-arm64-linux.so)
==3709953== by 0x48C826F: config_create (config_file.c:179)
==3709953== by 0x48C85AF: config_create_forlib (config_file.c:383)
==3709953== by 0x489B0BB: ub_ctx_create_nopipe (libunbound.c:130)
==3709953== by 0x489B31F: ub_ctx_create (libunbound.c:180)
==3709953== by 0x10E203: main (unbound-host.c:433)
==3709953==
==3709953== LEAK SUMMARY:
==3709953== definitely lost: 0 bytes in 0 blocks
==3709953== indirectly lost: 0 bytes in 0 blocks
==3709953== possibly lost: 0 bytes in 0 blocks
==3709953== still reachable: 276,541 bytes in 23 blocks
==3709953== suppressed: 0 bytes in 0 blocks
==3709953==
==3709953== For lists of detected and suppressed errors, rerun with: -s
==3709953== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Signed-off-by: eaglegai <eaglegai@163.com>
This turns completely empty responses, a type of noerror/nodata into
a servfail, but they do not conform to RFC2308, and the retry can
fetch improved content.
the default value for edns-buffer-size. It restricts client edns
buffer size choices, and makes unbound behave similar to other DNS
resolvers. The new choice, down from 4096 means it is harder to get
large responses from Unbound. Thanks to Xiang Li, from NISL Lab,
Tsinghua University.
DDoS attacks, reported by Xiang Li and Wei Xu from NISL Lab,
Tsinghua University. The fix stops query loops, by refusing to send
RD=0 queries to a forwarder, they still get answered from cache.