mirror of
git://git.9front.org/plan9front/plan9front
synced 2025-01-12 11:10:06 +00:00
[Mirror] Some kind of OS: git://git.9front.org/plan9front/plan9front
45f7b30244
Remove external ndb/dnstcp (tcp53) service and serve tcp clients directly fron ndb/dns process, taking advantage from the cache. This avoids slow startup delay for tcp as dnstcp would need to parse the full network database for each request. Also, for unknown reasons, dnstcp would "refresh" the main server on exit, causling ander database reload for no reason. Remove cruft: - straddeling server configuration (-o flag) I dont think anyone has used this in 9front and the logic is hard to maintain and test. - UDP forwarding (-T flag) Just use snoopy. Or use ipmux and aux/trampoline. - zonerefreshprogram (-z flag) This interface sucks. Anyone on the internet can trigger a refresh and there is no way to authenitcate the sender. - undocumented "dump" and "stats" messages. This should instead be exposed in the file-system interface. For now, one can access the stats with acid(1). Fix bugs: Handling of unknown RR types was wrong. convM2RR() would skip ahead in the message when hitting a unknown RR type, but this gets out of sync with rrloop()'s rr counter causing spurious parse errors. Instead, add a Block into the RR type RR.unknown, where we can stuff the RR data of unknown requests when the rr is not supported: rrsupported() == 0. These "unknown" RR types can be printed, but are discarded in rrattach() as the cache should never contain unknown RR's. Fix ip/snoopy -f 'tcp(dns)', need to skip the 2 byte length field as dns code assumes UDP format. The refactor: Big sweep over dnresolve.c, keeping stuff local on the stack (such as the reply message, fd's) while putting common stuff in the Query (such as the recursion depth). Make logging consistent. Dont have ndb/dnsdebug enable debuguing, spewing crap on the console. |
||
---|---|---|
386 | ||
68000 | ||
68020 | ||
acme | ||
adm/timezone | ||
amd64 | ||
arm | ||
arm64 | ||
lib | ||
mips | ||
power | ||
power64 | ||
rc | ||
sparc | ||
sparc64 | ||
spim | ||
sys |