unbound/doc/TODO
wouter c6b4fbb41c Serviced queries in outside network service get full EDNS, UDP retry and
TCP fallback attention.


git-svn-id: https://unbound.nlnetlabs.nl/svn/trunk@326 be551aaa-1e26-0410-a405-d3ace91eadb9
2007-05-21 15:10:55 +00:00

25 lines
1.6 KiB
Plaintext

TODO items.
o use real entropy to make random (ID, port) numbers more random.
o in production mode, do not free memory on exit. In debug mode, test leaks.
o profile memory allocation, and if performance issues, use special memory
allocator. For example, with caches per thread.
o #define BIT_... different on bigendian and smallendian systems so that
the htons on flags is not needed to send a message from the cache.
o possible optimization with delayed malloc of msgreply after parse
(reuse parse structures and ptrs to packet in meantime).
o possible optimization, so that precious id number resource is not depleted
by parsing of messages. Delay malloc, as above, or try to reverse release
special id numbers, and if you release the next_id number for the thread
it reuses that id number.
o use rbtree to compress domain names in messages, sorted AXFRs of 16Kb
and so on. For current packets, even worstcase, list, is ok. Only if we
start to send out compressed AXFRs then it becomes a problem.
We can cap AXFR packets on 256 or 1024 domain names, for example.
o speed up pkt domain name decompression loop detection using counter perhaps.
o detect OS/400 pthreads implementation that allows upgrading to writelock
on pthreads rwlocks and use it to examine-rd before storing-wr rrset cache.
o understand synthesized DNAMEs, so those TTL=0 packets are cached properly.
o understand NSEC/NSEC3, aggressive negative caching, so that updates to
NSEC/NSEC3 will result in proper negative responses.
o fallback without EDNS if result is NOTIMPL, now only on FORMERR like in java.