Packet Api Rewrite
Here's the general overview of the state of things:
- Packet API
- Streamlined, compression reworked, checks in one place, ...
- Query processing
- Basically everything from the old name-server.c was remade so it stacks
ns_proc_*API, which is an API for a state machine that just accepts wireformat and does all the conversions between parsed packets and backwards.
ns_proc_query.his the implementation of query processing and implements the
- It serves as a generic
query -> responsemachine using solvers.
- It also covers transaction security and stuff, so the solvers don't need to worry about this.
internet.h, chaos.h, axfr.h, ixfr.h, update.h, notify.h
- Solver implementations for various queries
- IN answers / DNSSEC proofs are now RFC compliant in several cases
- Transfers now also show message and byte counts
- Since all the bitpushing is done by the upper layers, they just do answer solving
- UDP & TCP handlers
- Simplified, using memory context for query processing
- TCP threads are now coherent, no through-the-pipe "fair" queueing
- XFR handler is simplified as well (all threads coherent)
- Basic unit tests for packet, query processing and stuff
- I don't know what else, just ask.
- UPDATE forwarding is disabled until #189 (closed) is finished, as to not create more duplicated code and this is already complex enough.