
TCP fallback attention. git-svn-id: https://unbound.nlnetlabs.nl/svn/trunk@326 be551aaa-1e26-0410-a405-d3ace91eadb9
25 lines
1.6 KiB
Plaintext
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.
|