mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-02-18 10:09:27 -05:00
fix: cross typos, see detail below
What I changed:
Respected repo rules / avoided generated & third‑party artifacts
Skipped Autotools/libtool generated files like configure, aclocal.m4, ltmain.sh, config.guess, config.sub.
Skipped large test vectors (testdata/, dnscrypt/testdata/) and non-UTF8 sample data (pythonmod/examples/dict_data.txt).
Skipped contrib/fastrpz.patch (patch content is effectively third‑party / not meant to be edited in-tree).
Fixed typos in maintained sources/docs
Various doc/comment spelling fixes (e.g. doc/Changelog, doc/example.conf.in, headers, etc.).
Fixed a real typo in a runtime log message: cachedb/redis.c ("%swith" -> "%s with").
Updated Makefile.in to avoid the misspelling Decomissioned while still matching both spellings via regex.
Fixed Synthetize -> Synthesize and other comment-level typos.
Improved a few “codespell false-positive” tokens by adjusting comments (e.g. inout -> in/out).
Repaired an accidental corruption
During edits, daemon/remote.c got partially mangled around the view local-data handlers. I restored it by:
Reintroducing do_view_data_remove()
Repairing do_view_datas_add() and its end-of-function logic
Cleaning up the remaining removed 0 ... message text
Added future-proof configuration
Created repo-root .codespellrc with:
skip = ... list matching the “do not edit / generated / testdata” policy
ignore-words-list = ... for known project terms / false positives
ignore-regex = ... to preserve your existing ignore patterns
Verification
codespell --config ./.codespellrc . now exits 0 (clean run).
Summary
Typos were fixed where safe, generated/third-party areas were excluded, .codespellrc was added for repeatable checks, and codespell now passes cleanly using that config.
Signed-off-by: rezky_nightky <with.rezky@gmail.com>
This commit is contained in:
parent
4426db4d3d
commit
1c4cc1f944
21 changed files with 648 additions and 644 deletions
4
.codespellrc
Normal file
4
.codespellrc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[codespell]
|
||||
skip = ./.git,./autom4te.cache,./node_modules,./po,./testdata,./dnscrypt/testdata,./pythonmod/examples/dict_data.txt,./configure,./config.guess,./config.sub,./ltmain.sh,./aclocal.m4,./contrib/fastrpz.patch
|
||||
ignore-words-list = GOST,gost,EDE,ede,aNULL,siz,servent,SectionIn,tolen,clen,ans,shs,nd,te,crypted,hel
|
||||
ignore-regex = .*(ratatui|Affinitized|affinitized|ede|fo|onl).*
|
||||
54
Makefile.in
54
Makefile.in
|
|
@ -668,7 +668,7 @@ uninstall: $(PYTHONMOD_UNINSTALL) $(PYUNBOUND_UNINSTALL) $(UNBOUND_EVENT_UNINSTA
|
|||
|
||||
iana_update:
|
||||
curl -o port-numbers.tmp https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml --compressed
|
||||
if file port-numbers.tmp | grep 'gzip' >/dev/null; then zcat port-numbers.tmp; else cat port-numbers.tmp; fi | awk '/<record>/ {p=0;} /<protocol>udp/ {p=1;} /<protocol>[^u]/ {p=0;} /Decomissioned|Decommissioned|Removed|De-registered|unassigned|Unassigned|Reserved/ {u=1;} /<number>/ { if(u==1) {u=0;} else { if(p==1) { match($$0,/[0-9]+/); print substr($$0, RSTART, RLENGTH) ","}}}' | sort -nu > util/iana_ports.inc
|
||||
if file port-numbers.tmp | grep 'gzip' >/dev/null; then zcat port-numbers.tmp; else cat port-numbers.tmp; fi | awk '/<record>/ {p=0;} /<protocol>udp/ {p=1;} /<protocol>[^u]/ {p=0;} /Decomm?issioned|Removed|De-registered|unassigned|Unassigned|Reserved/ {u=1;} /<number>/ { if(u==1) {u=0;} else { if(p==1) { match($$0,/[0-9]+/); print substr($$0, RSTART, RLENGTH) ","}}}' | sort -nu > util/iana_ports.inc
|
||||
rm -f port-numbers.tmp
|
||||
|
||||
# dependency generation
|
||||
|
|
@ -862,7 +862,7 @@ listen_dnsport.lo listen_dnsport.o: $(srcdir)/services/listen_dnsport.c config.h
|
|||
$(srcdir)/services/localzone.h $(srcdir)/services/authzone.h $(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h \
|
||||
$(srcdir)/libunbound/unbound.h $(srcdir)/respip/respip.h $(srcdir)/util/fptr_wlist.h $(srcdir)/util/tube.h \
|
||||
$(srcdir)/util/timeval_func.h \
|
||||
|
||||
|
||||
localzone.lo localzone.o: $(srcdir)/services/localzone.c config.h $(srcdir)/services/localzone.h \
|
||||
$(srcdir)/util/rbtree.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/storage/dnstree.h \
|
||||
$(srcdir)/util/module.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/data/msgreply.h \
|
||||
|
|
@ -920,13 +920,13 @@ rpz.lo rpz.o: $(srcdir)/services/rpz.c config.h $(srcdir)/services/rpz.h $(srcdi
|
|||
$(srcdir)/util/net_help.h $(srcdir)/util/random.h $(srcdir)/util/regional.h $(srcdir)/util/data/msgencode.h \
|
||||
$(srcdir)/services/cache/dns.h $(srcdir)/iterator/iterator.h $(srcdir)/services/outbound_list.h \
|
||||
$(srcdir)/iterator/iter_delegpt.h $(srcdir)/daemon/worker.h $(srcdir)/libunbound/worker.h $(srcdir)/util/alloc.h \
|
||||
$(srcdir)/dnstap/dnstap.h
|
||||
$(srcdir)/dnstap/dnstap.h
|
||||
rfc_1982.lo rfc_1982.o: $(srcdir)/util/rfc_1982.c config.h $(srcdir)/util/rfc_1982.h
|
||||
outbound_list.lo outbound_list.o: $(srcdir)/services/outbound_list.c config.h \
|
||||
$(srcdir)/services/outbound_list.h $(srcdir)/services/outside_network.h $(srcdir)/util/alloc.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/rbtree.h $(srcdir)/util/regional.h $(srcdir)/util/netevent.h \
|
||||
$(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \
|
||||
|
||||
|
||||
outside_network.lo outside_network.o: $(srcdir)/services/outside_network.c config.h \
|
||||
$(srcdir)/services/outside_network.h $(srcdir)/util/alloc.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/util/rbtree.h $(srcdir)/util/regional.h $(srcdir)/util/netevent.h $(srcdir)/dnscrypt/dnscrypt.h \
|
||||
|
|
@ -942,7 +942,7 @@ outside_network.lo outside_network.o: $(srcdir)/services/outside_network.c confi
|
|||
$(srcdir)/services/localzone.h $(srcdir)/sldns/sbuffer.h $(srcdir)/util/config_file.h \
|
||||
$(srcdir)/services/authzone.h $(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h $(srcdir)/libunbound/unbound.h \
|
||||
$(srcdir)/respip/respip.h $(srcdir)/util/edns.h $(srcdir)/dnstap/dnstap.h \
|
||||
|
||||
|
||||
alloc.lo alloc.o: $(srcdir)/util/alloc.c config.h $(srcdir)/util/alloc.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/util/regional.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/storage/lruhash.h \
|
||||
$(srcdir)/util/fptr_wlist.h $(srcdir)/util/netevent.h $(srcdir)/dnscrypt/dnscrypt.h \
|
||||
|
|
@ -1044,13 +1044,13 @@ netevent.lo netevent.o: $(srcdir)/util/netevent.c config.h $(srcdir)/util/neteve
|
|||
$(srcdir)/libunbound/unbound.h $(srcdir)/respip/respip.h $(srcdir)/util/proxy_protocol.h \
|
||||
$(srcdir)/util/timeval_func.h $(srcdir)/sldns/str2wire.h $(srcdir)/dnstap/dnstap.h \
|
||||
$(srcdir)/services/listen_dnsport.h $(srcdir)/daemon/acl_list.h \
|
||||
|
||||
|
||||
net_help.lo net_help.o: $(srcdir)/util/net_help.c config.h $(srcdir)/util/net_help.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/util/random.h $(srcdir)/util/data/dname.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h \
|
||||
$(srcdir)/util/module.h $(srcdir)/util/data/msgreply.h $(srcdir)/util/data/packed_rrset.h \
|
||||
$(srcdir)/sldns/rrdef.h $(srcdir)/util/data/msgparse.h $(srcdir)/sldns/pkthdr.h $(srcdir)/util/regional.h \
|
||||
$(srcdir)/util/config_file.h $(srcdir)/sldns/parseutil.h $(srcdir)/sldns/wire2str.h $(srcdir)/sldns/str2wire.h \
|
||||
|
||||
|
||||
random.lo random.o: $(srcdir)/util/random.c config.h $(srcdir)/util/random.h $(srcdir)/util/log.h
|
||||
rbtree.lo rbtree.o: $(srcdir)/util/rbtree.c config.h $(srcdir)/util/log.h $(srcdir)/util/fptr_wlist.h \
|
||||
$(srcdir)/util/netevent.h $(srcdir)/dnscrypt/dnscrypt.h \
|
||||
|
|
@ -1140,7 +1140,7 @@ autotrust.lo autotrust.o: $(srcdir)/validator/autotrust.c config.h $(srcdir)/val
|
|||
$(srcdir)/services/authzone.h $(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h $(srcdir)/libunbound/unbound.h \
|
||||
$(srcdir)/respip/respip.h $(srcdir)/services/cache/rrset.h $(srcdir)/util/storage/slabhash.h \
|
||||
$(srcdir)/validator/val_kcache.h $(srcdir)/sldns/wire2str.h $(srcdir)/sldns/str2wire.h $(srcdir)/sldns/keyraw.h \
|
||||
|
||||
|
||||
val_anchor.lo val_anchor.o: $(srcdir)/validator/val_anchor.c config.h $(srcdir)/validator/val_anchor.h \
|
||||
$(srcdir)/util/rbtree.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/validator/val_sigcrypt.h \
|
||||
$(srcdir)/util/data/packed_rrset.h $(srcdir)/util/storage/lruhash.h $(srcdir)/sldns/pkthdr.h \
|
||||
|
|
@ -1171,7 +1171,7 @@ val_kentry.lo val_kentry.o: $(srcdir)/validator/val_kentry.c config.h $(srcdir)/
|
|||
$(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/sldns/rrdef.h \
|
||||
$(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/dname.h $(srcdir)/util/storage/lookup3.h \
|
||||
$(srcdir)/util/regional.h $(srcdir)/util/net_help.h $(srcdir)/util/random.h $(srcdir)/sldns/keyraw.h \
|
||||
|
||||
|
||||
val_neg.lo val_neg.o: $(srcdir)/validator/val_neg.c config.h \
|
||||
$(srcdir)/validator/val_neg.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/rbtree.h \
|
||||
$(srcdir)/validator/val_nsec.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/storage/lruhash.h \
|
||||
|
|
@ -1196,7 +1196,7 @@ val_secalgo.lo val_secalgo.o: $(srcdir)/validator/val_secalgo.c config.h $(srcdi
|
|||
$(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/validator/val_secalgo.h \
|
||||
$(srcdir)/validator/val_nsec3.h $(srcdir)/util/rbtree.h $(srcdir)/sldns/rrdef.h $(srcdir)/sldns/keyraw.h \
|
||||
$(srcdir)/sldns/sbuffer.h \
|
||||
|
||||
|
||||
val_sigcrypt.lo val_sigcrypt.o: $(srcdir)/validator/val_sigcrypt.c config.h \
|
||||
$(srcdir)/validator/val_sigcrypt.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/storage/lruhash.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h \
|
||||
|
|
@ -1211,7 +1211,7 @@ val_sigcrypt.lo val_sigcrypt.o: $(srcdir)/validator/val_sigcrypt.c config.h \
|
|||
$(srcdir)/services/modstack.h $(srcdir)/services/rpz.h $(srcdir)/services/localzone.h \
|
||||
$(srcdir)/util/storage/dnstree.h $(srcdir)/services/view.h $(srcdir)/services/authzone.h \
|
||||
$(srcdir)/daemon/stats.h $(srcdir)/util/timehist.h $(srcdir)/libunbound/unbound.h $(srcdir)/respip/respip.h \
|
||||
|
||||
|
||||
val_utils.lo val_utils.o: $(srcdir)/validator/val_utils.c config.h $(srcdir)/validator/val_utils.h \
|
||||
$(srcdir)/util/data/packed_rrset.h $(srcdir)/util/storage/lruhash.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h $(srcdir)/validator/validator.h $(srcdir)/util/module.h \
|
||||
|
|
@ -1303,7 +1303,7 @@ dtstream.lo dtstream.o: $(srcdir)/dnstap/dtstream.c config.h $(srcdir)/dnstap/dt
|
|||
$(srcdir)/util/alloc.h $(srcdir)/util/rbtree.h $(srcdir)/util/regional.h $(srcdir)/util/netevent.h \
|
||||
$(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \
|
||||
$(srcdir)/sldns/sbuffer.h \
|
||||
|
||||
|
||||
dnscrypt.lo dnscrypt.o: $(srcdir)/dnscrypt/dnscrypt.c config.h $(srcdir)/sldns/sbuffer.h \
|
||||
$(srcdir)/util/config_file.h $(srcdir)/sldns/rrdef.h $(srcdir)/util/net_help.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/util/random.h $(srcdir)/util/netevent.h $(srcdir)/dnscrypt/dnscrypt.h \
|
||||
|
|
@ -1376,7 +1376,7 @@ unitverify.lo unitverify.o: $(srcdir)/testcode/unitverify.c config.h $(srcdir)/u
|
|||
$(srcdir)/util/data/dname.h $(srcdir)/util/regional.h $(srcdir)/util/alloc.h $(srcdir)/util/net_help.h \
|
||||
$(srcdir)/util/random.h $(srcdir)/util/config_file.h $(srcdir)/sldns/sbuffer.h $(srcdir)/sldns/keyraw.h \
|
||||
$(srcdir)/sldns/str2wire.h $(srcdir)/sldns/wire2str.h \
|
||||
|
||||
|
||||
readhex.lo readhex.o: $(srcdir)/testcode/readhex.c config.h $(srcdir)/testcode/readhex.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/sldns/sbuffer.h $(srcdir)/sldns/parseutil.h
|
||||
testpkts.lo testpkts.o: $(srcdir)/testcode/testpkts.c config.h $(srcdir)/testcode/testpkts.h \
|
||||
|
|
@ -1416,7 +1416,7 @@ unittcpreuse.lo unittcpreuse.o: $(srcdir)/testcode/unittcpreuse.c config.h $(src
|
|||
$(srcdir)/util/log.h $(srcdir)/util/random.h $(srcdir)/services/outside_network.h $(srcdir)/util/alloc.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/rbtree.h $(srcdir)/util/regional.h $(srcdir)/util/netevent.h \
|
||||
$(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \
|
||||
|
||||
|
||||
unitdoq.lo unitdoq.o: $(srcdir)/testcode/unitdoq.c config.h $(srcdir)/util/netevent.h \
|
||||
$(srcdir)/dnscrypt/dnscrypt.h $(srcdir)/dnscrypt/cert.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/log.h \
|
||||
|
|
@ -1514,7 +1514,7 @@ stats.lo stats.o: $(srcdir)/daemon/stats.c config.h $(srcdir)/daemon/stats.h $(s
|
|||
$(srcdir)/services/cache/infra.h $(srcdir)/util/rtt.h $(srcdir)/validator/val_kcache.h \
|
||||
$(srcdir)/validator/val_neg.h $(srcdir)/edns-subnet/subnetmod.h $(srcdir)/util/data/dname.h \
|
||||
$(srcdir)/edns-subnet/addrtree.h $(srcdir)/edns-subnet/edns-subnet.h \
|
||||
|
||||
|
||||
unbound.lo unbound.o: $(srcdir)/daemon/unbound.c config.h $(srcdir)/util/log.h $(srcdir)/daemon/daemon.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/alloc.h $(srcdir)/services/modstack.h \
|
||||
$(srcdir)/daemon/remote.h \
|
||||
|
|
@ -1635,7 +1635,7 @@ stats.lo stats.o: $(srcdir)/daemon/stats.c config.h $(srcdir)/daemon/stats.h $(s
|
|||
$(srcdir)/services/cache/infra.h $(srcdir)/util/rtt.h $(srcdir)/validator/val_kcache.h \
|
||||
$(srcdir)/validator/val_neg.h $(srcdir)/edns-subnet/subnetmod.h $(srcdir)/util/data/dname.h \
|
||||
$(srcdir)/edns-subnet/addrtree.h $(srcdir)/edns-subnet/edns-subnet.h \
|
||||
|
||||
|
||||
replay.lo replay.o: $(srcdir)/testcode/replay.c config.h $(srcdir)/util/log.h $(srcdir)/util/net_help.h \
|
||||
$(srcdir)/util/random.h $(srcdir)/util/config_file.h $(srcdir)/sldns/rrdef.h $(srcdir)/testcode/replay.h \
|
||||
$(srcdir)/util/netevent.h $(srcdir)/dnscrypt/dnscrypt.h \
|
||||
|
|
@ -1754,19 +1754,19 @@ libworker.lo libworker.o: $(srcdir)/libunbound/libworker.c config.h \
|
|||
$(srcdir)/dnstap/dtstream.h
|
||||
unbound-host.lo unbound-host.o: $(srcdir)/smallapp/unbound-host.c config.h $(srcdir)/libunbound/unbound.h \
|
||||
$(srcdir)/sldns/rrdef.h $(srcdir)/sldns/wire2str.h \
|
||||
|
||||
|
||||
asynclook.lo asynclook.o: $(srcdir)/testcode/asynclook.c config.h $(srcdir)/libunbound/unbound.h \
|
||||
$(srcdir)/libunbound/context.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/alloc.h $(srcdir)/util/rbtree.h \
|
||||
$(srcdir)/services/modstack.h $(srcdir)/libunbound/unbound-event.h $(srcdir)/util/data/packed_rrset.h \
|
||||
$(srcdir)/util/storage/lruhash.h $(srcdir)/sldns/rrdef.h \
|
||||
|
||||
|
||||
streamtcp.lo streamtcp.o: $(srcdir)/testcode/streamtcp.c config.h $(srcdir)/util/locks.h $(srcdir)/util/log.h \
|
||||
$(srcdir)/util/net_help.h $(srcdir)/util/random.h $(srcdir)/util/proxy_protocol.h \
|
||||
$(srcdir)/util/data/msgencode.h $(srcdir)/util/data/msgparse.h $(srcdir)/util/storage/lruhash.h \
|
||||
$(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/rrdef.h $(srcdir)/util/data/msgreply.h \
|
||||
$(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/dname.h $(srcdir)/sldns/sbuffer.h \
|
||||
$(srcdir)/sldns/str2wire.h $(srcdir)/sldns/wire2str.h \
|
||||
|
||||
|
||||
perf.lo perf.o: $(srcdir)/testcode/perf.c config.h $(srcdir)/util/log.h $(srcdir)/util/locks.h $(srcdir)/util/net_help.h \
|
||||
$(srcdir)/util/random.h $(srcdir)/util/data/msgencode.h $(srcdir)/util/data/msgreply.h \
|
||||
$(srcdir)/util/storage/lruhash.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/sldns/rrdef.h \
|
||||
|
|
@ -1786,12 +1786,12 @@ unbound-control.lo unbound-control.o: $(srcdir)/smallapp/unbound-control.c confi
|
|||
$(srcdir)/dnscrypt/cert.h \
|
||||
$(srcdir)/services/modstack.h $(srcdir)/respip/respip.h $(srcdir)/services/listen_dnsport.h \
|
||||
$(srcdir)/daemon/acl_list.h \
|
||||
|
||||
|
||||
unbound-anchor.lo unbound-anchor.o: $(srcdir)/smallapp/unbound-anchor.c config.h $(srcdir)/libunbound/unbound.h \
|
||||
$(srcdir)/sldns/rrdef.h $(srcdir)/sldns/parseutil.h \
|
||||
|
||||
|
||||
petal.lo petal.o: $(srcdir)/testcode/petal.c config.h \
|
||||
|
||||
|
||||
unbound-dnstap-socket.lo unbound-dnstap-socket.o: $(srcdir)/dnstap/unbound-dnstap-socket.c config.h \
|
||||
$(srcdir)/dnstap/dtstream.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/dnstap/dnstap_fstrm.h \
|
||||
$(srcdir)/util/ub_event.h $(srcdir)/util/net_help.h $(srcdir)/util/random.h $(srcdir)/services/listen_dnsport.h \
|
||||
|
|
@ -1815,7 +1815,7 @@ pythonmod_utils.lo pythonmod_utils.o: $(srcdir)/pythonmod/pythonmod_utils.c conf
|
|||
$(srcdir)/util/net_help.h $(srcdir)/util/random.h $(srcdir)/services/cache/dns.h \
|
||||
$(srcdir)/services/cache/rrset.h $(srcdir)/util/storage/slabhash.h $(srcdir)/util/regional.h \
|
||||
$(srcdir)/iterator/iter_delegpt.h $(srcdir)/sldns/sbuffer.h \
|
||||
|
||||
|
||||
win_svc.lo win_svc.o: $(srcdir)/winrc/win_svc.c config.h $(srcdir)/winrc/win_svc.h $(srcdir)/winrc/w_inst.h \
|
||||
$(srcdir)/daemon/daemon.h $(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/alloc.h $(srcdir)/services/modstack.h \
|
||||
$(srcdir)/daemon/worker.h \
|
||||
|
|
@ -1835,7 +1835,7 @@ anchor-update.lo anchor-update.o: $(srcdir)/winrc/anchor-update.c config.h $(src
|
|||
$(srcdir)/sldns/rrdef.h $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/wire2str.h
|
||||
keyraw.lo keyraw.o: $(srcdir)/sldns/keyraw.c config.h $(srcdir)/sldns/keyraw.h \
|
||||
$(srcdir)/sldns/rrdef.h \
|
||||
|
||||
|
||||
sbuffer.lo sbuffer.o: $(srcdir)/sldns/sbuffer.c config.h $(srcdir)/sldns/sbuffer.h
|
||||
wire2str.lo wire2str.o: $(srcdir)/sldns/wire2str.c config.h $(srcdir)/sldns/wire2str.h $(srcdir)/sldns/str2wire.h \
|
||||
$(srcdir)/sldns/rrdef.h $(srcdir)/sldns/pkthdr.h $(srcdir)/sldns/parseutil.h $(srcdir)/sldns/sbuffer.h \
|
||||
|
|
@ -1852,7 +1852,7 @@ dohclient.lo dohclient.o: $(srcdir)/testcode/dohclient.c config.h $(srcdir)/sldn
|
|||
$(srcdir)/util/data/msgencode.h $(srcdir)/util/data/msgreply.h $(srcdir)/util/storage/lruhash.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/data/packed_rrset.h $(srcdir)/util/data/msgparse.h \
|
||||
$(srcdir)/sldns/pkthdr.h $(srcdir)/util/net_help.h $(srcdir)/util/random.h \
|
||||
|
||||
|
||||
doqclient.lo doqclient.o: $(srcdir)/testcode/doqclient.c config.h \
|
||||
$(srcdir)/util/locks.h $(srcdir)/util/log.h $(srcdir)/util/net_help.h $(srcdir)/util/random.h $(srcdir)/sldns/sbuffer.h \
|
||||
$(srcdir)/sldns/str2wire.h $(srcdir)/sldns/rrdef.h $(srcdir)/sldns/wire2str.h $(srcdir)/util/data/msgreply.h \
|
||||
|
|
@ -1883,10 +1883,10 @@ strlcpy.lo strlcpy.o: $(srcdir)/compat/strlcpy.c config.h
|
|||
strptime.lo strptime.o: $(srcdir)/compat/strptime.c config.h
|
||||
getentropy_freebsd.lo getentropy_freebsd.o: $(srcdir)/compat/getentropy_freebsd.c
|
||||
getentropy_linux.lo getentropy_linux.o: $(srcdir)/compat/getentropy_linux.c config.h \
|
||||
|
||||
|
||||
getentropy_osx.lo getentropy_osx.o: $(srcdir)/compat/getentropy_osx.c
|
||||
getentropy_solaris.lo getentropy_solaris.o: $(srcdir)/compat/getentropy_solaris.c config.h \
|
||||
|
||||
|
||||
getentropy_win.lo getentropy_win.o: $(srcdir)/compat/getentropy_win.c
|
||||
explicit_bzero.lo explicit_bzero.o: $(srcdir)/compat/explicit_bzero.c config.h
|
||||
arc4random.lo arc4random.o: $(srcdir)/compat/arc4random.c config.h $(srcdir)/compat/chacha_private.h
|
||||
|
|
|
|||
|
|
@ -4,22 +4,22 @@
|
|||
* Copyright (c) 2018, NLnet Labs. All rights reserved.
|
||||
*
|
||||
* This software is open source.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* Neither the name of the NLNET LABS nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
|
@ -192,7 +192,7 @@ redis_connect(const char* host, int port, const char* path,
|
|||
redisReply* rep;
|
||||
rep = redisCommand(ctx, "AUTH %s", password);
|
||||
if(!rep || rep->type == REDIS_REPLY_ERROR) {
|
||||
log_err("failed to authenticate %swith password", infostr);
|
||||
log_err("failed to authenticate %s with password", infostr);
|
||||
freeReplyObject(rep);
|
||||
goto fail;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#ifndef IN6ADDRSZ
|
||||
#define IN6ADDRSZ 16 /* IPv6 T_AAAA */
|
||||
#define IN6ADDRSZ 16 /* IPv6 T_AAAA */
|
||||
#endif
|
||||
|
||||
#ifndef INT16SZ
|
||||
|
|
@ -82,7 +82,7 @@ inet_ntop(int af, const void *src, char *dst, size_t size)
|
|||
* return:
|
||||
* `dst' (as a const)
|
||||
* notes:
|
||||
* (1) uses no statics
|
||||
* (1) uses no static variables
|
||||
* (2) takes a u_char* not an in_addr as input
|
||||
* author:
|
||||
* Paul Vixie, 1996.
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ my $offset = 0;
|
|||
my $inthread=0;
|
||||
my $inpid;
|
||||
|
||||
# We should continue looping untill we meet these conditions:
|
||||
# We should continue looping until we meet these conditions:
|
||||
# a) more total queries than the previous run (which defaults to 0) AND
|
||||
# b) parsed all $numthreads threads in the log.
|
||||
my $numqueries = $previousresult ? $previousresult->[1] : 0;
|
||||
|
|
@ -66,7 +66,7 @@ while ( scalar keys %startstats < $numthreads || scalar keys %donestats < $numth
|
|||
for my $line ( <$in> ) {
|
||||
chomp($line);
|
||||
|
||||
#[1208777234] unbound[6705:0]
|
||||
#[1208777234] unbound[6705:0]
|
||||
if ($line =~ m/^\[\d+\] unbound\[\d+:(\d+)\]/) {
|
||||
$inthread = $1;
|
||||
if ($inthread + 1 > $numthreads) {
|
||||
|
|
@ -110,12 +110,12 @@ while ( scalar keys %startstats < $numthreads || scalar keys %donestats < $numth
|
|||
next;
|
||||
}
|
||||
elsif ( $line =~ m/info:\s+(\d+)\.(\d+)\s+(\d+)\.(\d+)\s+(\d+)/ ) {
|
||||
my ($froms, $fromus, $toms, $tous, $counter) = ($1, $2, $3, $4, $5);
|
||||
my ($from_s, $from_us, $to_s, $to_us, $counter) = ($1, $2, $3, $4, $5);
|
||||
my $prefix = '';
|
||||
if ($froms > 0) {
|
||||
$allstats{$inthread}->{'s_' . int($froms)} = $counter;
|
||||
if ($from_s > 0) {
|
||||
$allstats{$inthread}->{'s_' . int($from_s)} = $counter;
|
||||
} else {
|
||||
$allstats{$inthread}->{'us_' . int($fromus)} = $counter;
|
||||
$allstats{$inthread}->{'us_' . int($from_us)} = $counter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ Patch1: unbound-1.2-glob.patch
|
|||
|
||||
Group: System Environment/Daemons
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: flex, openssl-devel , ldns-devel >= 1.5.0,
|
||||
BuildRequires: flex, openssl-devel , ldns-devel >= 1.5.0,
|
||||
BuildRequires: libevent-devel expat-devel
|
||||
%if %{with_python}
|
||||
BuildRequires: python-devel swig
|
||||
|
|
@ -73,7 +73,7 @@ Summary: Libraries used by the unbound server and client applications
|
|||
Group: Applications/System
|
||||
Requires(post): /sbin/ldconfig
|
||||
Requires(postun): /sbin/ldconfig
|
||||
Requires: openssl
|
||||
Requires: openssl
|
||||
|
||||
%description libs
|
||||
Contains libraries used by the unbound server and client applications
|
||||
|
|
@ -89,7 +89,7 @@ Python modules and extensions for unbound
|
|||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
|
|
@ -116,7 +116,7 @@ install -d 0755 %{buildroot}%{_datadir}/munin/plugins/
|
|||
install -m 0755 %{SOURCE4} %{buildroot}%{_datadir}/munin/plugins/unbound
|
||||
for plugin in unbound_munin_hits unbound_munin_queue unbound_munin_memory unbound_munin_by_type unbound_munin_by_class unbound_munin_by_opcode unbound_munin_by_rcode unbound_munin_by_flags unbound_munin_histogram; do
|
||||
ln -s unbound %{buildroot}%{_datadir}/munin/plugins/$plugin
|
||||
done
|
||||
done
|
||||
|
||||
# install root and DLV key
|
||||
install -m 0644 %{SOURCE5} %{SOURCE6} %{buildroot}%{_sysconfdir}/unbound/
|
||||
|
|
@ -132,7 +132,7 @@ mkdir -p %{buildroot}%{_localstatedir}/run/unbound
|
|||
%clean
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
%files
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc doc/README doc/CREDITS doc/LICENSE doc/FEATURES
|
||||
%attr(0755,root,root) %{_initrddir}/%{name}
|
||||
|
|
@ -182,10 +182,10 @@ exit 0
|
|||
%preun
|
||||
if [ "$1" -eq 0 ]; then
|
||||
/sbin/service %{name} stop >/dev/null 2>&1
|
||||
/sbin/chkconfig --del %{name}
|
||||
/sbin/chkconfig --del %{name}
|
||||
fi
|
||||
|
||||
%postun
|
||||
%postun
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service %{name} condrestart >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
|
@ -198,7 +198,7 @@ fi
|
|||
- Fix install location of pythonmod from sitelib to sitearch
|
||||
- Removed patches merged in by upstream
|
||||
- Removed versioned openssl dep, it differs per branch
|
||||
|
||||
|
||||
* Mon Aug 08 2011 Paul Wouters <paul@xelerance.com> - 1.4.12-3
|
||||
- Added pythonmod docs and examples
|
||||
- Fix for python module load in the server (Tom Hendrikx)
|
||||
|
|
@ -249,17 +249,17 @@ fi
|
|||
- Upgraded to 1.4.5
|
||||
|
||||
* Mon May 31 2010 Paul Wouters <paul@xelerance.com> - 1.4.4-2
|
||||
- Added accidentally omitted svn patches to cvs
|
||||
- Added accidentally omitted svn patches to cvs
|
||||
|
||||
* Mon May 31 2010 Paul Wouters <paul@xelerance.com> - 1.4.4-1
|
||||
- Upgraded to 1.4.4 with svn patches
|
||||
- Obsolete dnssec-conf to ensure it is de-installed
|
||||
|
||||
* Thu Mar 11 2010 Paul Wouters <paul@xelerance.com> - 1.4.3-1
|
||||
- Update to 1.4.3 that fixes 64bit crasher
|
||||
* Tue Mar 11 2010 Paul Wouters <paul@xelerance.com> - 1.4.3-1
|
||||
- Update to 1.4.3 that fixes 64bit crash
|
||||
|
||||
* Tue Mar 09 2010 Paul Wouters <paul@xelerance.com> - 1.4.2-1
|
||||
- Updated to 1.4.2
|
||||
- Updated to 1.4.2
|
||||
- Updated unbound.conf with new options
|
||||
- Enabled pre-fetching DNSKEY records (DNSSEC speedup)
|
||||
- Enabled re-fetching popular records before they expire
|
||||
|
|
@ -369,7 +369,7 @@ fi
|
|||
- label control certs after generation correctly
|
||||
|
||||
* Thu Nov 20 2008 Paul Wouters <paul@xelerance.com> - 1.1.1-1
|
||||
- Updated to unbound 1.1.1 which fixes a crasher and
|
||||
- Updated to unbound 1.1.1 which fixes a crash and
|
||||
addresses nlnetlabs bug #219
|
||||
|
||||
* Wed Nov 19 2008 Paul Wouters <paul@xelerance.com> - 1.1.0-3
|
||||
|
|
@ -408,7 +408,7 @@ fi
|
|||
causes unbound to listen on 0.0.0.0 instead of 127.0.0.1
|
||||
|
||||
* Sun Oct 19 2008 Paul Wouters <paul@xelerance.com> - 1.0.2-3
|
||||
- Split off unbound-libs, make build verbose
|
||||
- Split off unbound-libs, make build verbose
|
||||
|
||||
* Thu Oct 9 2008 Paul Wouters <paul@xelerance.com> - 1.0.2-2
|
||||
- FSB compliance, chroot fixes, initscript fixes
|
||||
|
|
|
|||
|
|
@ -4,22 +4,22 @@
|
|||
* Copyright (c) 2007, NLnet Labs. All rights reserved.
|
||||
*
|
||||
* This software is open source.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* Neither the name of the NLNET LABS nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
|
@ -497,7 +497,7 @@ read_acl_tag_actions(struct acl_list* acl, struct config_file* cfg,
|
|||
return 1;
|
||||
}
|
||||
|
||||
/** read acl tag datas config */
|
||||
/** read acl tag data config */
|
||||
static int
|
||||
read_acl_tag_datas(struct acl_list* acl, struct config_file* cfg,
|
||||
struct config_str3list** acl_tag_datas)
|
||||
|
|
@ -697,7 +697,7 @@ read_acl_interface_tag_actions(struct acl_list* acl_interface,
|
|||
return 1;
|
||||
}
|
||||
|
||||
/** read acl tag datas config for interface */
|
||||
/** read acl tag data config for interface */
|
||||
static int
|
||||
read_acl_interface_tag_datas(struct acl_list* acl_interface,
|
||||
struct config_file* cfg,
|
||||
|
|
|
|||
|
|
@ -1510,7 +1510,7 @@ do_datas_add(struct daemon_remote* rc, RES* ssl, struct worker* worker)
|
|||
buf+cmd_len, line))
|
||||
num++;
|
||||
}
|
||||
(void)ssl_printf(ssl, "added %d datas\n", num);
|
||||
(void)ssl_printf(ssl, "added %d data items\n", num);
|
||||
}
|
||||
|
||||
/** Remove RR data */
|
||||
|
|
@ -1562,7 +1562,7 @@ do_datas_remove(struct daemon_remote* rc, RES* ssl, struct worker* worker)
|
|||
}
|
||||
else num++;
|
||||
}
|
||||
(void)ssl_printf(ssl, "removed %d datas\n", num);
|
||||
(void)ssl_printf(ssl, "removed %d data items\n", num);
|
||||
}
|
||||
|
||||
/** Add a new zone to view */
|
||||
|
|
@ -1643,6 +1643,28 @@ do_view_data_add(RES* ssl, struct worker* worker, char* arg)
|
|||
lock_rw_unlock(&v->lock);
|
||||
}
|
||||
|
||||
/** Remove RR data from view */
|
||||
static void
|
||||
do_view_data_remove(RES* ssl, struct worker* worker, char* arg)
|
||||
{
|
||||
char* arg2;
|
||||
struct view* v;
|
||||
if(!find_arg2(ssl, arg, &arg2))
|
||||
return;
|
||||
v = views_find_view(worker->env.views, arg, 1 /* get write lock*/);
|
||||
if(!v) {
|
||||
ssl_printf(ssl,"no view with name: %s\n", arg);
|
||||
return;
|
||||
}
|
||||
if(!v->local_zones) {
|
||||
lock_rw_unlock(&v->lock);
|
||||
send_ok(ssl);
|
||||
return;
|
||||
}
|
||||
do_data_remove(ssl, v->local_zones, arg2);
|
||||
lock_rw_unlock(&v->lock);
|
||||
}
|
||||
|
||||
/** Add new RR data from stdin to view */
|
||||
static void
|
||||
do_view_datas_add(struct daemon_remote* rc, RES* ssl, struct worker* worker,
|
||||
|
|
@ -1682,29 +1704,7 @@ do_view_datas_add(struct daemon_remote* rc, RES* ssl, struct worker* worker,
|
|||
num++;
|
||||
}
|
||||
lock_rw_unlock(&v->lock);
|
||||
(void)ssl_printf(ssl, "added %d datas\n", num);
|
||||
}
|
||||
|
||||
/** Remove RR data from view */
|
||||
static void
|
||||
do_view_data_remove(RES* ssl, struct worker* worker, char* arg)
|
||||
{
|
||||
char* arg2;
|
||||
struct view* v;
|
||||
if(!find_arg2(ssl, arg, &arg2))
|
||||
return;
|
||||
v = views_find_view(worker->env.views, arg, 1 /* get write lock*/);
|
||||
if(!v) {
|
||||
ssl_printf(ssl,"no view with name: %s\n", arg);
|
||||
return;
|
||||
}
|
||||
if(!v->local_zones) {
|
||||
lock_rw_unlock(&v->lock);
|
||||
send_ok(ssl);
|
||||
return;
|
||||
}
|
||||
do_data_remove(ssl, v->local_zones, arg2);
|
||||
lock_rw_unlock(&v->lock);
|
||||
(void)ssl_printf(ssl, "added %d data items\n", num);
|
||||
}
|
||||
|
||||
/** Remove RR data from stdin from view */
|
||||
|
|
@ -1723,7 +1723,7 @@ do_view_datas_remove(struct daemon_remote* rc, RES* ssl, struct worker* worker,
|
|||
}
|
||||
if(!v->local_zones){
|
||||
lock_rw_unlock(&v->lock);
|
||||
ssl_printf(ssl, "removed 0 datas\n");
|
||||
ssl_printf(ssl, "removed 0 data items\n");
|
||||
return;
|
||||
}
|
||||
/* put the view name in the command buf */
|
||||
|
|
@ -1747,7 +1747,7 @@ do_view_datas_remove(struct daemon_remote* rc, RES* ssl, struct worker* worker,
|
|||
else num++;
|
||||
}
|
||||
lock_rw_unlock(&v->lock);
|
||||
(void)ssl_printf(ssl, "removed %d datas\n", num);
|
||||
(void)ssl_printf(ssl, "removed %d data items\n", num);
|
||||
}
|
||||
|
||||
/** information for the domain search */
|
||||
|
|
|
|||
|
|
@ -4,22 +4,22 @@
|
|||
* Copyright (c) 2020, NLnet Labs. All rights reserved.
|
||||
*
|
||||
* This software is open source.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* Neither the name of the NLNET LABS nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
|
@ -644,7 +644,7 @@ static void log_data_frame(uint8_t* pkt, size_t len)
|
|||
} else {
|
||||
mtype = "nomessage";
|
||||
}
|
||||
|
||||
|
||||
printf("%s%s%s%s%s\n", mtype, (maddr?" ":""), (maddr?maddr:""),
|
||||
(qinf?" ":""), (qinf?qinf:""));
|
||||
free(maddr);
|
||||
|
|
@ -1211,7 +1211,7 @@ void dtio_mainfdcallback(int fd, short ATTR_UNUSED(bits), void* arg)
|
|||
log_info("accepted new dnstap client");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
data = calloc(1, sizeof(*data));
|
||||
if(!data) fatal_exit("out of memory");
|
||||
data->fd = s;
|
||||
|
|
@ -1344,22 +1344,22 @@ setup_and_run(struct config_strlist_head* local_list,
|
|||
static int internal_unittest()
|
||||
{
|
||||
/* unit test tap_data_list_try_to_free_tail() */
|
||||
#define unit_tap_datas_max 5
|
||||
struct tap_data* datas[unit_tap_datas_max];
|
||||
#define unit_tap_data_max 5
|
||||
struct tap_data* data_items[unit_tap_data_max];
|
||||
struct tap_data_list* list;
|
||||
struct tap_socket* socket = calloc(1, sizeof(*socket));
|
||||
size_t i = 0;
|
||||
log_assert(socket);
|
||||
log_assert(unit_tap_datas_max>2); /* needed for the test */
|
||||
for(i=0; i<unit_tap_datas_max; i++) {
|
||||
datas[i] = calloc(1, sizeof(struct tap_data));
|
||||
log_assert(datas[i]);
|
||||
log_assert(tap_data_list_insert(&socket->data_list, datas[i]));
|
||||
log_assert(unit_tap_data_max>2); /* needed for the test */
|
||||
for(i=0; i<unit_tap_data_max; i++) {
|
||||
data_items[i] = calloc(1, sizeof(struct tap_data));
|
||||
log_assert(data_items[i]);
|
||||
log_assert(tap_data_list_insert(&socket->data_list, data_items[i]));
|
||||
}
|
||||
/* sanity base check */
|
||||
list = socket->data_list;
|
||||
for(i=0; list; i++) list = list->next;
|
||||
log_assert(i==unit_tap_datas_max);
|
||||
log_assert(i==unit_tap_data_max);
|
||||
|
||||
/* Free the last data, tail cannot be erased */
|
||||
list = socket->data_list;
|
||||
|
|
@ -1369,22 +1369,22 @@ static int internal_unittest()
|
|||
tap_data_list_try_to_free_tail(list);
|
||||
list = socket->data_list;
|
||||
for(i=0; list; i++) list = list->next;
|
||||
log_assert(i==unit_tap_datas_max);
|
||||
log_assert(i==unit_tap_data_max);
|
||||
|
||||
/* Free the third to last data, tail cannot be erased */
|
||||
list = socket->data_list;
|
||||
for(i=0; i<unit_tap_datas_max-3; i++) list = list->next;
|
||||
for(i=0; i<unit_tap_data_max-3; i++) list = list->next;
|
||||
free(list->d);
|
||||
list->d = NULL;
|
||||
tap_data_list_try_to_free_tail(list);
|
||||
list = socket->data_list;
|
||||
for(i=0; list; i++) list = list->next;
|
||||
log_assert(i==unit_tap_datas_max);
|
||||
log_assert(i==unit_tap_data_max);
|
||||
|
||||
/* Free the second to last data, try to remove tail from the third
|
||||
* again, tail (last 2) should be removed */
|
||||
list = socket->data_list;
|
||||
for(i=0; i<unit_tap_datas_max-2; i++) list = list->next;
|
||||
for(i=0; i<unit_tap_data_max-2; i++) list = list->next;
|
||||
free(list->d);
|
||||
list->d = NULL;
|
||||
list = socket->data_list;
|
||||
|
|
@ -1392,7 +1392,7 @@ static int internal_unittest()
|
|||
tap_data_list_try_to_free_tail(list);
|
||||
list = socket->data_list;
|
||||
for(i=0; list; i++) list = list->next;
|
||||
log_assert(i==unit_tap_datas_max-2);
|
||||
log_assert(i==unit_tap_data_max-2);
|
||||
|
||||
/* Free all the remaining data, try to remove tail from the start,
|
||||
* only the start should remain */
|
||||
|
|
@ -1415,9 +1415,9 @@ static int internal_unittest()
|
|||
socket = calloc(1, sizeof(*socket));
|
||||
log_assert(socket);
|
||||
for(i=0; i<2; i++) {
|
||||
datas[i] = calloc(1, sizeof(struct tap_data));
|
||||
log_assert(datas[i]);
|
||||
log_assert(tap_data_list_insert(&socket->data_list, datas[i]));
|
||||
data_items[i] = calloc(1, sizeof(struct tap_data));
|
||||
log_assert(data_items[i]);
|
||||
log_assert(tap_data_list_insert(&socket->data_list, data_items[i]));
|
||||
}
|
||||
/* sanity base check */
|
||||
list = socket->data_list;
|
||||
|
|
@ -1454,7 +1454,7 @@ extern int optind;
|
|||
extern char* optarg;
|
||||
|
||||
/** main program for streamtcp */
|
||||
int main(int argc, char** argv)
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int c;
|
||||
int usessl = 0;
|
||||
|
|
@ -1604,7 +1604,7 @@ void worker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
|
|||
log_assert(0);
|
||||
}
|
||||
|
||||
int worker_handle_request(struct comm_point* ATTR_UNUSED(c),
|
||||
int worker_handle_request(struct comm_point* ATTR_UNUSED(c),
|
||||
void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
|
||||
struct comm_reply* ATTR_UNUSED(repinfo))
|
||||
{
|
||||
|
|
@ -1612,7 +1612,7 @@ int worker_handle_request(struct comm_point* ATTR_UNUSED(c),
|
|||
return 0;
|
||||
}
|
||||
|
||||
int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
|
||||
int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
|
||||
void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
|
||||
struct comm_reply* ATTR_UNUSED(reply_info))
|
||||
{
|
||||
|
|
@ -1620,7 +1620,7 @@ int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
|
|||
return 0;
|
||||
}
|
||||
|
||||
int remote_accept_callback(struct comm_point* ATTR_UNUSED(c),
|
||||
int remote_accept_callback(struct comm_point* ATTR_UNUSED(c),
|
||||
void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
|
||||
struct comm_reply* ATTR_UNUSED(repinfo))
|
||||
{
|
||||
|
|
@ -1628,7 +1628,7 @@ int remote_accept_callback(struct comm_point* ATTR_UNUSED(c),
|
|||
return 0;
|
||||
}
|
||||
|
||||
int remote_control_callback(struct comm_point* ATTR_UNUSED(c),
|
||||
int remote_control_callback(struct comm_point* ATTR_UNUSED(c),
|
||||
void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
|
||||
struct comm_reply* ATTR_UNUSED(repinfo))
|
||||
{
|
||||
|
|
@ -1657,7 +1657,7 @@ struct outbound_entry* worker_send_query(
|
|||
|
||||
#ifdef UB_ON_WINDOWS
|
||||
void
|
||||
worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void*
|
||||
worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void*
|
||||
ATTR_UNUSED(arg)) {
|
||||
log_assert(0);
|
||||
}
|
||||
|
|
@ -1669,7 +1669,7 @@ wsvc_cron_cb(void* ATTR_UNUSED(arg))
|
|||
}
|
||||
#endif /* UB_ON_WINDOWS */
|
||||
|
||||
void
|
||||
void
|
||||
worker_alloc_cleanup(void* ATTR_UNUSED(arg))
|
||||
{
|
||||
log_assert(0);
|
||||
|
|
@ -1689,7 +1689,7 @@ struct outbound_entry* libworker_send_query(
|
|||
return 0;
|
||||
}
|
||||
|
||||
int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
|
||||
int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c),
|
||||
void* ATTR_UNUSED(arg), int ATTR_UNUSED(error),
|
||||
struct comm_reply* ATTR_UNUSED(reply_info))
|
||||
{
|
||||
|
|
@ -1704,21 +1704,21 @@ void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube),
|
|||
log_assert(0);
|
||||
}
|
||||
|
||||
void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
|
||||
void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
|
||||
struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
|
||||
char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
|
||||
{
|
||||
log_assert(0);
|
||||
}
|
||||
|
||||
void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
|
||||
void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
|
||||
struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
|
||||
char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
|
||||
{
|
||||
log_assert(0);
|
||||
}
|
||||
|
||||
void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
|
||||
void libworker_event_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode),
|
||||
struct sldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s),
|
||||
char* ATTR_UNUSED(why_bogus), int ATTR_UNUSED(was_ratelimited))
|
||||
{
|
||||
|
|
|
|||
278
doc/Changelog
278
doc/Changelog
File diff suppressed because it is too large
Load diff
|
|
@ -658,7 +658,7 @@ server:
|
|||
# or, just before the iterator).
|
||||
# module-config: "validator iterator"
|
||||
|
||||
# File with trusted keys, kept uptodate using RFC5011 probes,
|
||||
# File with trusted keys, kept up-to-date using RFC5011 probes,
|
||||
# initial file like trust-anchor-file, then it stores metadata.
|
||||
# Use several entries, one per domain name, to track multiple zones.
|
||||
#
|
||||
|
|
@ -718,7 +718,7 @@ server:
|
|||
# val-max-restart: 5
|
||||
|
||||
# Should additional section of secure message also be kept clean of
|
||||
# unsecure data. Useful to shield the users of this validator from
|
||||
# insecure data. Useful to shield the users of this validator from
|
||||
# potential bogus data in the additional section. All unsigned data
|
||||
# in the additional section is removed from secure messages.
|
||||
# val-clean-additional: yes
|
||||
|
|
|
|||
|
|
@ -4,22 +4,22 @@
|
|||
* Copyright (c) 2007, NLnet Labs. All rights reserved.
|
||||
*
|
||||
* This software is open source.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* Neither the name of the NLNET LABS nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
#include "sldns/str2wire.h"
|
||||
#include "sldns/wire2str.h"
|
||||
|
||||
struct iter_hints*
|
||||
struct iter_hints*
|
||||
hints_create(void)
|
||||
{
|
||||
struct iter_hints* hints = (struct iter_hints*)calloc(1,
|
||||
|
|
@ -80,10 +80,10 @@ static void hints_del_tree(struct iter_hints* hints)
|
|||
traverse_postorder(&hints->tree, &delhintnode, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
void
|
||||
hints_delete(struct iter_hints* hints)
|
||||
{
|
||||
if(!hints)
|
||||
if(!hints)
|
||||
return;
|
||||
lock_rw_destroy(&hints->lock);
|
||||
hints_del_tree(hints);
|
||||
|
|
@ -113,8 +113,8 @@ ah(struct delegpt* dp, const char* sv, const char* ip)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/** obtain compiletime provided root hints */
|
||||
static struct delegpt*
|
||||
/** obtain compile time provided root hints */
|
||||
static struct delegpt*
|
||||
compile_time_root_prime(int do_ip4, int do_ip6)
|
||||
{
|
||||
/* from:
|
||||
|
|
@ -191,7 +191,7 @@ hints_insert(struct iter_hints* hints, uint16_t c, struct delegpt* dp,
|
|||
}
|
||||
|
||||
/** set stub name */
|
||||
static struct delegpt*
|
||||
static struct delegpt*
|
||||
read_stubs_name(struct config_stub* s)
|
||||
{
|
||||
struct delegpt* dp;
|
||||
|
|
@ -227,7 +227,7 @@ read_stubs_host(struct config_stub* s, struct delegpt* dp)
|
|||
log_assert(p->str);
|
||||
dname = authextstrtodname(p->str, &port, &tls_auth_name);
|
||||
if(!dname) {
|
||||
log_err("cannot parse stub %s nameserver name: '%s'",
|
||||
log_err("cannot parse stub %s nameserver name: '%s'",
|
||||
s->name, p->str);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -252,7 +252,7 @@ read_stubs_host(struct config_stub* s, struct delegpt* dp)
|
|||
}
|
||||
|
||||
/** set stub server addresses */
|
||||
static int
|
||||
static int
|
||||
read_stubs_addr(struct config_stub* s, struct delegpt* dp)
|
||||
{
|
||||
struct config_strlist* p;
|
||||
|
|
@ -262,7 +262,7 @@ read_stubs_addr(struct config_stub* s, struct delegpt* dp)
|
|||
for(p = s->addrs; p; p = p->next) {
|
||||
log_assert(p->str);
|
||||
if(!authextstrtoaddr(p->str, &addr, &addrlen, &auth_name)) {
|
||||
log_err("cannot parse stub %s ip address: '%s'",
|
||||
log_err("cannot parse stub %s ip address: '%s'",
|
||||
s->name, p->str);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -281,7 +281,7 @@ read_stubs_addr(struct config_stub* s, struct delegpt* dp)
|
|||
}
|
||||
|
||||
/** read stubs config */
|
||||
static int
|
||||
static int
|
||||
read_stubs(struct iter_hints* hints, struct config_file* cfg)
|
||||
{
|
||||
struct config_stub* s;
|
||||
|
|
@ -311,7 +311,7 @@ read_stubs(struct iter_hints* hints, struct config_file* cfg)
|
|||
}
|
||||
|
||||
/** read root hints from file */
|
||||
static int
|
||||
static int
|
||||
read_root_hints(struct iter_hints* hints, char* fname)
|
||||
{
|
||||
struct sldns_file_parse_state pstate;
|
||||
|
|
@ -371,11 +371,11 @@ read_root_hints(struct iter_hints* hints, char* fname)
|
|||
memset(&sa, 0, len);
|
||||
sa.sin_family = AF_INET;
|
||||
sa.sin_port = (in_port_t)htons(UNBOUND_DNS_PORT);
|
||||
memmove(&sa.sin_addr,
|
||||
memmove(&sa.sin_addr,
|
||||
sldns_wirerr_get_rdata(rr, rr_len, dname_len),
|
||||
INET_SIZE);
|
||||
if(!delegpt_add_target_mlc(dp, rr, dname_len,
|
||||
(struct sockaddr_storage*)&sa, len,
|
||||
(struct sockaddr_storage*)&sa, len,
|
||||
0, 0)) {
|
||||
log_err("out of memory reading root hints");
|
||||
goto stop_read;
|
||||
|
|
@ -388,7 +388,7 @@ read_root_hints(struct iter_hints* hints, char* fname)
|
|||
memset(&sa, 0, len);
|
||||
sa.sin6_family = AF_INET6;
|
||||
sa.sin6_port = (in_port_t)htons(UNBOUND_DNS_PORT);
|
||||
memmove(&sa.sin6_addr,
|
||||
memmove(&sa.sin6_addr,
|
||||
sldns_wirerr_get_rdata(rr, rr_len, dname_len),
|
||||
INET6_SIZE);
|
||||
if(!delegpt_add_target_mlc(dp, rr, dname_len,
|
||||
|
|
@ -424,7 +424,7 @@ stop_read:
|
|||
}
|
||||
|
||||
/** read root hints list */
|
||||
static int
|
||||
static int
|
||||
read_root_hints_list(struct iter_hints* hints, struct config_file* cfg)
|
||||
{
|
||||
struct config_strlist* p;
|
||||
|
|
@ -433,7 +433,7 @@ read_root_hints_list(struct iter_hints* hints, struct config_file* cfg)
|
|||
if(p->str && p->str[0]) {
|
||||
char* f = p->str;
|
||||
if(cfg->chrootdir && cfg->chrootdir[0] &&
|
||||
strncmp(p->str, cfg->chrootdir,
|
||||
strncmp(p->str, cfg->chrootdir,
|
||||
strlen(cfg->chrootdir)) == 0)
|
||||
f += strlen(cfg->chrootdir);
|
||||
if(!read_root_hints(hints, f))
|
||||
|
|
@ -443,7 +443,7 @@ read_root_hints_list(struct iter_hints* hints, struct config_file* cfg)
|
|||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
int
|
||||
hints_apply_cfg(struct iter_hints* hints, struct config_file* cfg)
|
||||
{
|
||||
int nolock = 1;
|
||||
|
|
@ -463,7 +463,7 @@ hints_apply_cfg(struct iter_hints* hints, struct config_file* cfg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* use fallback compiletime root hints */
|
||||
/* use fallback compile time root hints */
|
||||
if(!hints_find_root(hints, LDNS_RR_CLASS_IN, nolock)) {
|
||||
struct delegpt* dp = compile_time_root_prime(cfg->do_ip4,
|
||||
cfg->do_ip6);
|
||||
|
|
@ -507,7 +507,7 @@ hints_find_root(struct iter_hints* hints, uint16_t qclass, int nolock)
|
|||
return hints_find(hints, &rootlab, qclass, nolock);
|
||||
}
|
||||
|
||||
struct iter_hints_stub*
|
||||
struct iter_hints_stub*
|
||||
hints_lookup_stub(struct iter_hints* hints, uint8_t* qname,
|
||||
uint16_t qclass, struct delegpt* cache_dp, int nolock)
|
||||
{
|
||||
|
|
@ -540,8 +540,8 @@ hints_lookup_stub(struct iter_hints* hints, uint8_t* qname,
|
|||
*/
|
||||
if(r->noprime && query_dname_compare(cache_dp->name, r->dp->name)==0)
|
||||
return r; /* use this stub instead of cached dp */
|
||||
|
||||
/*
|
||||
|
||||
/*
|
||||
* If our cached delegation point is above the hint, we need to prime.
|
||||
*/
|
||||
if(dname_strict_subdomain(r->dp->name, r->dp->namelabs,
|
||||
|
|
@ -561,7 +561,7 @@ int hints_next_root(struct iter_hints* hints, uint16_t* qclass, int nolock)
|
|||
return ret;
|
||||
}
|
||||
|
||||
size_t
|
||||
size_t
|
||||
hints_get_mem(struct iter_hints* hints)
|
||||
{
|
||||
size_t s;
|
||||
|
|
@ -576,7 +576,7 @@ hints_get_mem(struct iter_hints* hints)
|
|||
return s;
|
||||
}
|
||||
|
||||
int
|
||||
int
|
||||
hints_add_stub(struct iter_hints* hints, uint16_t c, struct delegpt* dp,
|
||||
int noprime, int nolock)
|
||||
{
|
||||
|
|
@ -597,7 +597,7 @@ hints_add_stub(struct iter_hints* hints, uint16_t c, struct delegpt* dp,
|
|||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
void
|
||||
hints_delete_stub(struct iter_hints* hints, uint16_t c, uint8_t* nm,
|
||||
int nolock)
|
||||
{
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -8,18 +8,18 @@
|
|||
Copyright (c) 2008. All rights reserved.
|
||||
|
||||
This software is open source.
|
||||
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
|
||||
Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
|
|
@ -105,7 +105,7 @@ def operate(id, event, qstate, qdata):
|
|||
if (event == MODULE_EVENT_NEW) and (qstate.qinfo.qname_str.endswith(".seznam.cz.")): #pokud mame "python validator iterator"
|
||||
print qstate.qinfo.qname_str
|
||||
|
||||
qstate.ext_state[id] = MODULE_FINISHED
|
||||
qstate.ext_state[id] = MODULE_FINISHED
|
||||
|
||||
msg = DNSMessage(qstate.qinfo.qname_str, RR_TYPE_A, RR_CLASS_IN, PKT_QR | PKT_RA | PKT_AA) #, 300)
|
||||
#msg.authority.append("xxx.seznam.cz. 10 IN A 192.168.1.1")
|
||||
|
|
@ -119,10 +119,10 @@ def operate(id, event, qstate, qdata):
|
|||
msg.answer.append("%s 10 IN TXT path=/" % qstate.qinfo.qname_str)
|
||||
|
||||
if not msg.set_return_msg(qstate):
|
||||
qstate.ext_state[id] = MODULE_ERROR
|
||||
qstate.ext_state[id] = MODULE_ERROR
|
||||
return True
|
||||
|
||||
#qstate.return_msg.rep.security = 2 #pokud nebude nasledovat validator, je zapotrebi nastavit security, aby nebyl paket zahozen v mesh_send_reply
|
||||
#qstate.return_msg.rep.security = 2 #pokud nebude nasledovat validator, je zapotrebi nastavit security, aby nebyl packet zahozen v mesh_send_reply
|
||||
printReturnMsg(qstate)
|
||||
|
||||
#Authoritative result can't be stored in cache
|
||||
|
|
@ -136,17 +136,17 @@ def operate(id, event, qstate, qdata):
|
|||
return True
|
||||
|
||||
if event == MODULE_EVENT_NEW:
|
||||
qstate.ext_state[id] = MODULE_WAIT_MODULE
|
||||
qstate.ext_state[id] = MODULE_WAIT_MODULE
|
||||
return True
|
||||
|
||||
if event == MODULE_EVENT_MODDONE:
|
||||
log_info("pythonmod: previous module done")
|
||||
qstate.ext_state[id] = MODULE_FINISHED
|
||||
qstate.ext_state[id] = MODULE_FINISHED
|
||||
return True
|
||||
|
||||
|
||||
if event == MODULE_EVENT_PASS:
|
||||
log_info("pythonmod: event_pass")
|
||||
qstate.ext_state[id] = MODULE_WAIT_MODULE
|
||||
qstate.ext_state[id] = MODULE_WAIT_MODULE
|
||||
return True
|
||||
|
||||
log_err("pythonmod: BAD event")
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
#define LDNS_PARSEUTIL_H
|
||||
struct tm;
|
||||
|
||||
/**
|
||||
/**
|
||||
* A general purpose lookup table
|
||||
*
|
||||
*
|
||||
* Lookup tables are arrays of (id, name) pairs,
|
||||
* So you can for instance lookup the RCODE 3, which is "NXDOMAIN",
|
||||
* and vice versa. The lookup tables themselves are defined wherever needed,
|
||||
|
|
@ -56,13 +56,13 @@ time_t sldns_mktime_from_utc(const struct tm *tm);
|
|||
|
||||
/**
|
||||
* The function interprets time as the number of seconds since epoch
|
||||
* with respect to now using serial arithmetics (rfc1982).
|
||||
* with respect to now using serial arithmetic (rfc1982).
|
||||
* That number of seconds is then converted to broken-out time information.
|
||||
* This is especially useful when converting the inception and expiration
|
||||
* fields of RRSIG records.
|
||||
*
|
||||
* \param[in] time number of seconds since epoch (midnight, January 1st, 1970)
|
||||
* to be interpreted as a serial arithmetics number relative to now.
|
||||
* to be interpreted as a serial arithmetic number relative to now.
|
||||
* \param[in] now number of seconds since epoch (midnight, January 1st, 1970)
|
||||
* to which the time value is compared to determine the final value.
|
||||
* \param[out] result the struct with the broken-out time information
|
||||
|
|
@ -143,7 +143,7 @@ int sldns_b32_pton_extended_hex(const char* src_text, size_t src_text_length,
|
|||
*/
|
||||
int sldns_parse_escape(uint8_t *ch_p, const char** str_p);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Parse one character, with escape codes,
|
||||
* @param ch_p: the parsed character
|
||||
* @param str_p: the string. moved along for characters read.
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ int sldns_wire2str_rdata_unknown_scan(uint8_t** data, size_t* data_len,
|
|||
* @param str_len: length of string buffer.
|
||||
* @param pkt: packet for decompression, if NULL no decompression.
|
||||
* @param pktlen: length of packet buffer.
|
||||
* @param comprloop: inout bool, that is set true if compression loop failure
|
||||
* @param comprloop: in/out bool, that is set true if compression loop failure
|
||||
* happens. Pass in 0, if passed in as true, a lower bound is set
|
||||
* on compression loops to stop arbitrary long packet parse times.
|
||||
* This is meant so you can set it to 0 at the start of a list of dnames,
|
||||
|
|
|
|||
|
|
@ -1069,7 +1069,7 @@ int main(int argc, char* argv[])
|
|||
log_ident_set("unbound-checkconf");
|
||||
log_init(NULL, 0, NULL);
|
||||
#ifdef USE_WINSOCK
|
||||
/* use registry config file in preference to compiletime location */
|
||||
/* use registry config file in preference to compile time location */
|
||||
if(!(cfgfile=w_lookup_reg_str("Software\\Unbound", "ConfigFile")))
|
||||
cfgfile = CONFIGFILE;
|
||||
#endif /* USE_WINSOCK */
|
||||
|
|
|
|||
|
|
@ -990,7 +990,7 @@ int main(int argc, char* argv[])
|
|||
log_ident_set("unbound-control");
|
||||
log_init(NULL, 0, NULL);
|
||||
#ifdef USE_WINSOCK
|
||||
/* use registry config file in preference to compiletime location */
|
||||
/* use registry config file in preference to compile time location */
|
||||
if(!(cfgfile=w_lookup_reg_str("Software\\Unbound", "ConfigFile")))
|
||||
cfgfile = CONFIGFILE;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -570,7 +570,7 @@ struct config_file {
|
|||
/* DNS64 prefix */
|
||||
char* dns64_prefix;
|
||||
|
||||
/* Synthetize all AAAA record despite the presence of an authoritative one */
|
||||
/* Synthesize all AAAA record despite the presence of an authoritative one */
|
||||
int dns64_synthall;
|
||||
/** ignore AAAAs for these domain names and use A record anyway */
|
||||
struct config_strlist* dns64_ignore_aaaa;
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
/*
|
||||
* util/data/msgparse.h - parse wireformat DNS messages.
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2007, NLnet Labs. All rights reserved.
|
||||
*
|
||||
*
|
||||
* This software is open source.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* Neither the name of the NLNET LABS nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
|
@ -102,7 +102,7 @@ extern int SERVE_ORIGINAL_TTL;
|
|||
* without numerical overflow (uin32_t) */
|
||||
#define PREFETCH_TTL_CALC(ttl) ((ttl) - (ttl)/10)
|
||||
|
||||
/* caclulate the TTL used for expired answers to somewhat make sense wrt the
|
||||
/* calculate the TTL used for expired answers to somewhat make sense wrt the
|
||||
* original TTL; don't reply with higher TTL than the original */
|
||||
#ifdef UNBOUND_DEBUG
|
||||
time_t debug_expired_reply_ttl_calc(time_t ttl, time_t ttl_add);
|
||||
|
|
@ -143,7 +143,7 @@ struct msg_parse {
|
|||
/** count of RRsets per section. */
|
||||
size_t an_rrsets;
|
||||
/** count of RRsets per section. */
|
||||
size_t ns_rrsets;
|
||||
size_t ns_rrsets;
|
||||
/** count of RRsets per section. */
|
||||
size_t ar_rrsets;
|
||||
/** total number of rrsets found. */
|
||||
|
|
@ -163,7 +163,7 @@ struct msg_parse {
|
|||
* Based on name, type, class. Same hash value as in rrset cache.
|
||||
*/
|
||||
struct rrset_parse* hashtable[PARSE_TABLE_SIZE];
|
||||
|
||||
|
||||
/** linked list of rrsets that have been found (in order). */
|
||||
struct rrset_parse* rrset_first;
|
||||
/** last element of rrset list. */
|
||||
|
|
@ -214,7 +214,7 @@ struct rrset_parse {
|
|||
* Data stored for an RR during parsing.
|
||||
*/
|
||||
struct rr_parse {
|
||||
/**
|
||||
/**
|
||||
* Pointer to the RR. Points to start of TTL value in the packet.
|
||||
* Rdata length and rdata follow it.
|
||||
* its dname, type and class are the same and stored for the rrset.
|
||||
|
|
@ -275,7 +275,7 @@ struct edns_data {
|
|||
unsigned int cookie_valid : 1;
|
||||
/** if the cookie holds only the client part */
|
||||
unsigned int cookie_client : 1;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* EDNS option
|
||||
|
|
@ -307,7 +307,7 @@ size_t get_rdf_size(sldns_rdf_type rdf);
|
|||
* @param region: how to alloc results.
|
||||
* @return: 0 if OK, or rcode on error.
|
||||
*/
|
||||
int parse_packet(struct sldns_buffer* pkt, struct msg_parse* msg,
|
||||
int parse_packet(struct sldns_buffer* pkt, struct msg_parse* msg,
|
||||
struct regional* region);
|
||||
|
||||
/**
|
||||
|
|
@ -383,8 +383,8 @@ hashvalue_type pkt_hash_rrset(struct sldns_buffer* pkt, uint8_t* dname,
|
|||
* @param dclass: rrset class, network order.
|
||||
* @return NULL or the rrset_parse if found.
|
||||
*/
|
||||
struct rrset_parse* msgparse_hashtable_lookup(struct msg_parse* msg,
|
||||
struct sldns_buffer* pkt, hashvalue_type h, uint32_t rrset_flags,
|
||||
struct rrset_parse* msgparse_hashtable_lookup(struct msg_parse* msg,
|
||||
struct sldns_buffer* pkt, hashvalue_type h, uint32_t rrset_flags,
|
||||
uint8_t* dname, size_t dnamelen, uint16_t type, uint16_t dclass);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -4,22 +4,22 @@
|
|||
* Copyright (c) 2008, NLnet Labs. All rights reserved.
|
||||
*
|
||||
* This software is open source.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* Neither the name of the NLNET LABS nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
|
@ -85,7 +85,7 @@ int val_neg_zone_compare(const void* a, const void* b)
|
|||
|
||||
struct val_neg_cache* val_neg_create(struct config_file* cfg, size_t maxiter)
|
||||
{
|
||||
struct val_neg_cache* neg = (struct val_neg_cache*)calloc(1,
|
||||
struct val_neg_cache* neg = (struct val_neg_cache*)calloc(1,
|
||||
sizeof(*neg));
|
||||
if(!neg) {
|
||||
log_err("Could not create neg cache: out of memory");
|
||||
|
|
@ -109,7 +109,7 @@ size_t val_neg_get_mem(struct val_neg_cache* neg)
|
|||
return result;
|
||||
}
|
||||
|
||||
/** clear datas on cache deletion */
|
||||
/** clear data on cache deletion */
|
||||
static void
|
||||
neg_clear_datas(rbnode_type* n, void* ATTR_UNUSED(arg))
|
||||
{
|
||||
|
|
@ -144,7 +144,7 @@ void neg_cache_delete(struct val_neg_cache* neg)
|
|||
* @param neg: negative cache with LRU start and end.
|
||||
* @param data: this data is fronted.
|
||||
*/
|
||||
static void neg_lru_front(struct val_neg_cache* neg,
|
||||
static void neg_lru_front(struct val_neg_cache* neg,
|
||||
struct val_neg_data* data)
|
||||
{
|
||||
data->prev = NULL;
|
||||
|
|
@ -160,7 +160,7 @@ static void neg_lru_front(struct val_neg_cache* neg,
|
|||
* @param neg: negative cache with LRU start and end.
|
||||
* @param data: this data is removed from the list.
|
||||
*/
|
||||
static void neg_lru_remove(struct val_neg_cache* neg,
|
||||
static void neg_lru_remove(struct val_neg_cache* neg,
|
||||
struct val_neg_data* data)
|
||||
{
|
||||
if(data->prev)
|
||||
|
|
@ -176,7 +176,7 @@ static void neg_lru_remove(struct val_neg_cache* neg,
|
|||
* @param neg: negative cache with LRU start and end.
|
||||
* @param data: this data is used.
|
||||
*/
|
||||
static void neg_lru_touch(struct val_neg_cache* neg,
|
||||
static void neg_lru_touch(struct val_neg_cache* neg,
|
||||
struct val_neg_data* data)
|
||||
{
|
||||
if(data == neg->first)
|
||||
|
|
@ -222,7 +222,7 @@ static void neg_delete_zone(struct val_neg_cache* neg, struct val_neg_zone* z)
|
|||
p = np;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void neg_delete_data(struct val_neg_cache* neg, struct val_neg_data* el)
|
||||
{
|
||||
struct val_neg_zone* z;
|
||||
|
|
@ -236,7 +236,7 @@ void neg_delete_data(struct val_neg_cache* neg, struct val_neg_data* el)
|
|||
/* remove it from the lru list */
|
||||
neg_lru_remove(neg, el);
|
||||
log_assert(neg->first != el && neg->last != el);
|
||||
|
||||
|
||||
/* go up the tree and reduce counts */
|
||||
p = el;
|
||||
while(p) {
|
||||
|
|
@ -277,7 +277,7 @@ static void neg_make_space(struct val_neg_cache* neg, size_t need)
|
|||
}
|
||||
}
|
||||
|
||||
struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
|
||||
struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
|
||||
uint8_t* nm, size_t len, uint16_t dclass)
|
||||
{
|
||||
struct val_neg_zone lookfor;
|
||||
|
|
@ -301,7 +301,7 @@ struct val_neg_zone* neg_find_zone(struct val_neg_cache* neg,
|
|||
* @param labs: labels in nm
|
||||
* @return data or NULL if not found.
|
||||
*/
|
||||
static struct val_neg_data* neg_find_data(struct val_neg_zone* zone,
|
||||
static struct val_neg_data* neg_find_data(struct val_neg_zone* zone,
|
||||
uint8_t* nm, size_t len, int labs)
|
||||
{
|
||||
struct val_neg_data lookfor;
|
||||
|
|
@ -449,7 +449,7 @@ static struct val_neg_data* neg_closest_data_parent(
|
|||
static struct val_neg_zone* neg_setup_zone_node(
|
||||
uint8_t* nm, size_t nm_len, int labs, uint16_t dclass)
|
||||
{
|
||||
struct val_neg_zone* zone =
|
||||
struct val_neg_zone* zone =
|
||||
(struct val_neg_zone*)calloc(1, sizeof(*zone));
|
||||
if(!zone) {
|
||||
return NULL;
|
||||
|
|
@ -513,7 +513,7 @@ static struct val_neg_zone* neg_zone_chain(
|
|||
dname_remove_label(&nm, &nm_len);
|
||||
}
|
||||
return first;
|
||||
}
|
||||
}
|
||||
|
||||
void val_neg_zone_take_inuse(struct val_neg_zone* zone)
|
||||
{
|
||||
|
|
@ -670,7 +670,7 @@ static struct val_neg_data* neg_data_chain(
|
|||
* @param el: element to start walking at.
|
||||
* @param nsec: the nsec record with the end point
|
||||
*/
|
||||
static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
||||
static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
||||
struct val_neg_data* el, struct ub_packed_rrset_key* nsec)
|
||||
{
|
||||
struct packed_rrset_data* d = (struct packed_rrset_data*)nsec->
|
||||
|
|
@ -697,7 +697,7 @@ static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
|||
}
|
||||
|
||||
/* sanity check, both owner and end must be below the zone apex */
|
||||
if(!dname_subdomain_c(el->name, zone->name) ||
|
||||
if(!dname_subdomain_c(el->name, zone->name) ||
|
||||
!dname_subdomain_c(end, zone->name))
|
||||
return;
|
||||
|
||||
|
|
@ -710,7 +710,7 @@ static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
|||
while(walk && walk != RBTREE_NULL) {
|
||||
cur = (struct val_neg_data*)walk;
|
||||
/* sanity check: must be larger than start */
|
||||
if(dname_canon_lab_cmp(cur->name, cur->labs,
|
||||
if(dname_canon_lab_cmp(cur->name, cur->labs,
|
||||
el->name, el->labs, &m) <= 0) {
|
||||
/* r == 0 skip original record. */
|
||||
/* r < 0 too small! */
|
||||
|
|
@ -718,7 +718,7 @@ static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
|||
continue;
|
||||
}
|
||||
/* stop at endpoint, also data at empty nonterminals must be
|
||||
* removed (no NSECs there) so everything between
|
||||
* removed (no NSECs there) so everything between
|
||||
* start and end */
|
||||
if(end && dname_canon_lab_cmp(cur->name, cur->labs,
|
||||
end, end_labs, &m) >= 0) {
|
||||
|
|
@ -734,7 +734,7 @@ static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
|||
* But it may trigger delete of other data and the
|
||||
* entire zone. However, if that happens, this is done
|
||||
* by deleting the *parents* of the element for deletion,
|
||||
* and maybe also the entire zone if it is empty.
|
||||
* and maybe also the entire zone if it is empty.
|
||||
* But parents are smaller in canonical compare, thus,
|
||||
* if a larger element exists, then it is not a parent,
|
||||
* it cannot get deleted, the zone cannot get empty.
|
||||
|
|
@ -745,7 +745,7 @@ static void wipeout(struct val_neg_cache* neg, struct val_neg_zone* zone,
|
|||
}
|
||||
}
|
||||
|
||||
void neg_insert_data(struct val_neg_cache* neg,
|
||||
void neg_insert_data(struct val_neg_cache* neg,
|
||||
struct val_neg_zone* zone, struct ub_packed_rrset_key* nsec)
|
||||
{
|
||||
struct packed_rrset_data* d;
|
||||
|
|
@ -759,8 +759,8 @@ void neg_insert_data(struct val_neg_cache* neg,
|
|||
if( !(d->security == sec_status_secure ||
|
||||
(d->security == sec_status_unchecked && d->rrsig_count > 0)))
|
||||
return;
|
||||
log_nametypeclass(VERB_ALGO, "negcache rr",
|
||||
nsec->rk.dname, ntohs(nsec->rk.type),
|
||||
log_nametypeclass(VERB_ALGO, "negcache rr",
|
||||
nsec->rk.dname, ntohs(nsec->rk.type),
|
||||
ntohs(nsec->rk.rrset_class));
|
||||
|
||||
/* find closest enclosing parent data that (still) exists */
|
||||
|
|
@ -769,7 +769,7 @@ void neg_insert_data(struct val_neg_cache* neg,
|
|||
/* perfect match already exists */
|
||||
log_assert(parent->count > 0);
|
||||
el = parent;
|
||||
} else {
|
||||
} else {
|
||||
struct val_neg_data* p, *np;
|
||||
|
||||
/* create subtree for perfect match */
|
||||
|
|
@ -822,7 +822,7 @@ void neg_insert_data(struct val_neg_cache* neg,
|
|||
if(nsec3_get_params(nsec, 0, &h, &it, &s, &slen) &&
|
||||
it <= neg->nsec3_max_iter &&
|
||||
(h != zone->nsec3_hash || it != zone->nsec3_iter ||
|
||||
slen != zone->nsec3_saltlen ||
|
||||
slen != zone->nsec3_saltlen ||
|
||||
(slen != 0 && zone->nsec3_salt && s
|
||||
&& memcmp(zone->nsec3_salt, s, slen) != 0))) {
|
||||
|
||||
|
|
@ -894,7 +894,7 @@ void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep)
|
|||
rrset_class = ntohs(soa->rk.rrset_class);
|
||||
}
|
||||
else {
|
||||
/* No SOA in positive (wildcard) answer. Use signer from the
|
||||
/* No SOA in positive (wildcard) answer. Use signer from the
|
||||
* validated answer RRsets' signature. */
|
||||
if(!(dname = reply_nsec_signer(rep, &dname_len, &rrset_class)))
|
||||
return;
|
||||
|
|
@ -902,9 +902,9 @@ void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep)
|
|||
|
||||
log_nametypeclass(VERB_ALGO, "negcache insert for zone",
|
||||
dname, LDNS_RR_TYPE_SOA, rrset_class);
|
||||
|
||||
|
||||
/* ask for enough space to store all of it */
|
||||
need = calc_data_need(rep) +
|
||||
need = calc_data_need(rep) +
|
||||
calc_zone_need(dname, dname_len);
|
||||
lock_basic_lock(&neg->lock);
|
||||
neg_make_space(neg, need);
|
||||
|
|
@ -925,7 +925,7 @@ void val_neg_addreply(struct val_neg_cache* neg, struct reply_info* rep)
|
|||
for(i=rep->an_numrrsets; i< rep->an_numrrsets+rep->ns_numrrsets; i++){
|
||||
if(ntohs(rep->rrsets[i]->rk.type) != LDNS_RR_TYPE_NSEC)
|
||||
continue;
|
||||
if(!dname_subdomain_c(rep->rrsets[i]->rk.dname,
|
||||
if(!dname_subdomain_c(rep->rrsets[i]->rk.dname,
|
||||
zone->name)) continue;
|
||||
/* insert NSEC into this zone's tree */
|
||||
neg_insert_data(neg, zone, rep->rrsets[i]);
|
||||
|
|
@ -977,7 +977,7 @@ void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
|
|||
/* no SOA in this message, find RRSIG over NSEC's signer name.
|
||||
* note the NSEC records are maybe not validated yet */
|
||||
signer = reply_nsec_signer(rep, &signer_len, &dclass);
|
||||
if(!signer)
|
||||
if(!signer)
|
||||
return;
|
||||
if(!dname_subdomain_c(signer, zone_name)) {
|
||||
/* the signer is not in the bailiwick, throw it out */
|
||||
|
|
@ -986,7 +986,7 @@ void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
|
|||
|
||||
log_nametypeclass(VERB_ALGO, "negcache insert referral ",
|
||||
signer, LDNS_RR_TYPE_NS, dclass);
|
||||
|
||||
|
||||
/* ask for enough space to store all of it */
|
||||
need = calc_data_need(rep) + calc_zone_need(signer, signer_len);
|
||||
lock_basic_lock(&neg->lock);
|
||||
|
|
@ -995,7 +995,7 @@ void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
|
|||
/* find or create the zone entry */
|
||||
zone = neg_find_zone(neg, signer, signer_len, dclass);
|
||||
if(!zone) {
|
||||
if(!(zone = neg_create_zone(neg, signer, signer_len,
|
||||
if(!(zone = neg_create_zone(neg, signer, signer_len,
|
||||
dclass))) {
|
||||
lock_basic_unlock(&neg->lock);
|
||||
log_err("out of memory adding negative zone");
|
||||
|
|
@ -1009,7 +1009,7 @@ void val_neg_addreferral(struct val_neg_cache* neg, struct reply_info* rep,
|
|||
if(ntohs(rep->rrsets[i]->rk.type) != LDNS_RR_TYPE_NSEC &&
|
||||
ntohs(rep->rrsets[i]->rk.type) != LDNS_RR_TYPE_NSEC3)
|
||||
continue;
|
||||
if(!dname_subdomain_c(rep->rrsets[i]->rk.dname,
|
||||
if(!dname_subdomain_c(rep->rrsets[i]->rk.dname,
|
||||
zone->name)) continue;
|
||||
/* insert NSEC into this zone's tree */
|
||||
neg_insert_data(neg, zone, rep->rrsets[i]);
|
||||
|
|
@ -1058,8 +1058,8 @@ static int nsec3_no_type(struct ub_packed_rrset_key* k, uint16_t t)
|
|||
*/
|
||||
static struct ub_packed_rrset_key*
|
||||
grab_nsec(struct rrset_cache* rrset_cache, uint8_t* qname, size_t qname_len,
|
||||
uint16_t qtype, uint16_t qclass, uint32_t flags,
|
||||
struct regional* region, int checkbit, uint16_t checktype,
|
||||
uint16_t qtype, uint16_t qclass, uint32_t flags,
|
||||
struct regional* region, int checkbit, uint16_t checktype,
|
||||
time_t now)
|
||||
{
|
||||
struct ub_packed_rrset_key* r, *k = rrset_cache_lookup(rrset_cache,
|
||||
|
|
@ -1169,8 +1169,8 @@ neg_find_nsec3_ce(struct val_neg_zone* zone, uint8_t* qname, size_t qname_len,
|
|||
*nclen = 0;
|
||||
while(qlabs > 0) {
|
||||
/* hash */
|
||||
if(!(celen=nsec3_get_hashed(buf, qname, qname_len,
|
||||
zone->nsec3_hash, zone->nsec3_iter, zone->nsec3_salt,
|
||||
if(!(celen=nsec3_get_hashed(buf, qname, qname_len,
|
||||
zone->nsec3_hash, zone->nsec3_iter, zone->nsec3_salt,
|
||||
zone->nsec3_saltlen, hashce, sizeof(hashce))))
|
||||
return NULL;
|
||||
if(!(b32len=nsec3_hash_to_b32(hashce, celen, zone->name,
|
||||
|
|
@ -1210,7 +1210,7 @@ neg_params_ok(struct val_neg_zone* zone, struct ub_packed_rrset_key* rrset)
|
|||
/** get next closer for nsec3 proof */
|
||||
static struct ub_packed_rrset_key*
|
||||
neg_nsec3_getnc(struct val_neg_zone* zone, uint8_t* hashnc, size_t nclen,
|
||||
struct rrset_cache* rrset_cache, struct regional* region,
|
||||
struct rrset_cache* rrset_cache, struct regional* region,
|
||||
time_t now, uint8_t* b32, size_t maxb32)
|
||||
{
|
||||
struct ub_packed_rrset_key* nc_rrset;
|
||||
|
|
@ -1231,7 +1231,7 @@ neg_nsec3_getnc(struct val_neg_zone* zone, uint8_t* hashnc, size_t nclen,
|
|||
if(!data)
|
||||
return NULL;
|
||||
/* got a data element in tree, grab it */
|
||||
nc_rrset = grab_nsec(rrset_cache, data->name, data->len,
|
||||
nc_rrset = grab_nsec(rrset_cache, data->name, data->len,
|
||||
LDNS_RR_TYPE_NSEC3, zone->dclass, 0, region, 0, 0, now);
|
||||
if(!nc_rrset)
|
||||
return NULL;
|
||||
|
|
@ -1256,13 +1256,13 @@ neg_nsec3_proof_ds(struct val_neg_zone* zone, uint8_t* qname, size_t qname_len,
|
|||
|
||||
/* for NSEC3 ; determine the closest encloser for which we
|
||||
* can find an exact match. Remember the hashed lower name,
|
||||
* since that is the one we need a closest match for.
|
||||
* since that is the one we need a closest match for.
|
||||
* If we find a match straight away, then it becomes NODATA.
|
||||
* Otherwise, NXDOMAIN or if OPTOUT, an insecure delegation.
|
||||
* Also check that parameters are the same on closest encloser
|
||||
* and on closest match.
|
||||
*/
|
||||
if(!zone->nsec3_hash)
|
||||
if(!zone->nsec3_hash)
|
||||
return NULL; /* not nsec3 zone */
|
||||
|
||||
if(!(data=neg_find_nsec3_ce(zone, qname, qname_len, qlabs, buf,
|
||||
|
|
@ -1271,8 +1271,8 @@ neg_nsec3_proof_ds(struct val_neg_zone* zone, uint8_t* qname, size_t qname_len,
|
|||
}
|
||||
|
||||
/* grab the ce rrset */
|
||||
ce_rrset = grab_nsec(rrset_cache, data->name, data->len,
|
||||
LDNS_RR_TYPE_NSEC3, zone->dclass, 0, region, 1,
|
||||
ce_rrset = grab_nsec(rrset_cache, data->name, data->len,
|
||||
LDNS_RR_TYPE_NSEC3, zone->dclass, 0, region, 1,
|
||||
LDNS_RR_TYPE_DS, now);
|
||||
if(!ce_rrset)
|
||||
return NULL;
|
||||
|
|
@ -1286,11 +1286,11 @@ neg_nsec3_proof_ds(struct val_neg_zone* zone, uint8_t* qname, size_t qname_len,
|
|||
nsec3_has_type(ce_rrset, 0, LDNS_RR_TYPE_DS) ||
|
||||
!nsec3_has_type(ce_rrset, 0, LDNS_RR_TYPE_NS))
|
||||
return NULL;
|
||||
if(!(msg = dns_msg_create(qname, qname_len,
|
||||
LDNS_RR_TYPE_DS, zone->dclass, region, 1)))
|
||||
if(!(msg = dns_msg_create(qname, qname_len,
|
||||
LDNS_RR_TYPE_DS, zone->dclass, region, 1)))
|
||||
return NULL;
|
||||
/* TTL reduced in grab_nsec */
|
||||
if(!dns_msg_authadd(msg, region, ce_rrset, 0))
|
||||
if(!dns_msg_authadd(msg, region, ce_rrset, 0))
|
||||
return NULL;
|
||||
return msg;
|
||||
}
|
||||
|
|
@ -1302,9 +1302,9 @@ neg_nsec3_proof_ds(struct val_neg_zone* zone, uint8_t* qname, size_t qname_len,
|
|||
|
||||
/* if there is no exact match, it must be in an optout span
|
||||
* (an existing DS implies an NSEC3 must exist) */
|
||||
nc_rrset = neg_nsec3_getnc(zone, hashnc, nclen, rrset_cache,
|
||||
nc_rrset = neg_nsec3_getnc(zone, hashnc, nclen, rrset_cache,
|
||||
region, now, nc_b32, sizeof(nc_b32));
|
||||
if(!nc_rrset)
|
||||
if(!nc_rrset)
|
||||
return NULL;
|
||||
if(!neg_params_ok(zone, nc_rrset))
|
||||
return NULL;
|
||||
|
|
@ -1320,13 +1320,13 @@ neg_nsec3_proof_ds(struct val_neg_zone* zone, uint8_t* qname, size_t qname_len,
|
|||
* nc_rrset is optout.
|
||||
* No need to check wildcard for type DS */
|
||||
/* capacity=3: ce + nc + soa(if needed) */
|
||||
if(!(msg = dns_msg_create(qname, qname_len,
|
||||
LDNS_RR_TYPE_DS, zone->dclass, region, 3)))
|
||||
if(!(msg = dns_msg_create(qname, qname_len,
|
||||
LDNS_RR_TYPE_DS, zone->dclass, region, 3)))
|
||||
return NULL;
|
||||
/* now=0 because TTL was reduced in grab_nsec */
|
||||
if(!dns_msg_authadd(msg, region, ce_rrset, 0))
|
||||
if(!dns_msg_authadd(msg, region, ce_rrset, 0))
|
||||
return NULL;
|
||||
if(!dns_msg_authadd(msg, region, nc_rrset, 0))
|
||||
if(!dns_msg_authadd(msg, region, nc_rrset, 0))
|
||||
return NULL;
|
||||
return msg;
|
||||
}
|
||||
|
|
@ -1356,10 +1356,10 @@ static int add_soa(struct rrset_cache* rrset_cache, time_t now,
|
|||
} else {
|
||||
/* Assumes the signer is the zone SOA to add */
|
||||
nm = reply_nsec_signer(msg->rep, &nmlen, &dclass);
|
||||
if(!nm)
|
||||
if(!nm)
|
||||
return 0;
|
||||
}
|
||||
soa = rrset_cache_lookup(rrset_cache, nm, nmlen, LDNS_RR_TYPE_SOA,
|
||||
soa = rrset_cache_lookup(rrset_cache, nm, nmlen, LDNS_RR_TYPE_SOA,
|
||||
dclass, PACKED_RRSET_SOA_NEG, now, 0);
|
||||
if(!soa)
|
||||
return 0;
|
||||
|
|
@ -1371,9 +1371,9 @@ static int add_soa(struct rrset_cache* rrset_cache, time_t now,
|
|||
return 1;
|
||||
}
|
||||
|
||||
struct dns_msg*
|
||||
val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
|
||||
struct regional* region, struct rrset_cache* rrset_cache,
|
||||
struct dns_msg*
|
||||
val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
|
||||
struct regional* region, struct rrset_cache* rrset_cache,
|
||||
sldns_buffer* buf, time_t now, int addsoa, uint8_t* topname,
|
||||
struct config_file* cfg)
|
||||
{
|
||||
|
|
@ -1410,10 +1410,10 @@ val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
|
|||
* qtype ANY, in the else branch. */
|
||||
if(qinfo->qtype == LDNS_RR_TYPE_ANY)
|
||||
return NULL;
|
||||
if(!(msg = dns_msg_create(qinfo->qname, qinfo->qname_len,
|
||||
qinfo->qtype, qinfo->qclass, region, 2)))
|
||||
if(!(msg = dns_msg_create(qinfo->qname, qinfo->qname_len,
|
||||
qinfo->qtype, qinfo->qclass, region, 2)))
|
||||
return NULL;
|
||||
if(!dns_msg_authadd(msg, region, nsec, 0))
|
||||
if(!dns_msg_authadd(msg, region, nsec, 0))
|
||||
return NULL;
|
||||
if(addsoa && !add_soa(rrset_cache, now, region, msg, NULL))
|
||||
return NULL;
|
||||
|
|
@ -1423,8 +1423,8 @@ val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
|
|||
lock_basic_unlock(&neg->lock);
|
||||
return msg;
|
||||
} else if(nsec && val_nsec_proves_name_error(nsec, qinfo->qname)) {
|
||||
if(!(msg = dns_msg_create(qinfo->qname, qinfo->qname_len,
|
||||
qinfo->qtype, qinfo->qclass, region, 3)))
|
||||
if(!(msg = dns_msg_create(qinfo->qname, qinfo->qname_len,
|
||||
qinfo->qtype, qinfo->qclass, region, 3)))
|
||||
return NULL;
|
||||
if(!(ce = nsec_closest_encloser(qinfo->qname, nsec)))
|
||||
return NULL;
|
||||
|
|
@ -1526,7 +1526,7 @@ val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
|
|||
|
||||
/* lookup closest zone */
|
||||
lock_basic_lock(&neg->lock);
|
||||
zone = neg_closest_zone_parent(neg, zname, zname_len, zname_labs,
|
||||
zone = neg_closest_zone_parent(neg, zname, zname_len, zname_labs,
|
||||
qinfo->qclass);
|
||||
while(zone && !zone->in_use)
|
||||
zone = zone->parent;
|
||||
|
|
@ -1541,7 +1541,7 @@ val_neg_getmsg(struct val_neg_cache* neg, struct query_info* qinfo,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
msg = neg_nsec3_proof_ds(zone, qinfo->qname, qinfo->qname_len,
|
||||
msg = neg_nsec3_proof_ds(zone, qinfo->qname, qinfo->qname_len,
|
||||
zname_labs+1, buf, rrset_cache, region, now, topname);
|
||||
if(msg && addsoa && !add_soa(rrset_cache, now, region, msg, zone)) {
|
||||
lock_basic_unlock(&neg->lock);
|
||||
|
|
|
|||
Loading…
Reference in a new issue