/*!
\defgroup server Server control module.
\defgroup threading Threading API.
\defgroup network Socket API.
\defgroup query_processing DNS query processing.
\defgroup utils Utilities, constants and macros.
\defgroup debugging Server debugging API.
\defgroup logging Server logging API.
\defgroup statistics Statistics module (optional).
\defgroup dnslib dnslib - Generic DNS library.
\defgroup hashing Hash table and functions.
\defgroup common_lib Common library.
\defgroup alloc Memory allocation.
\defgroup tests Unit tests.
\defgroup zoneparser Zone compiler utility
\defgroup ctl Control utility
\mainpage Knot API documentation.
Knot is an open-source, high-performace, purely authoritative DNS server.
Requirements
- liburcu (at least 0.4.5): http://lttng.org/urcu
- automake
- autoconf
- libtool
Installation
Knot uses autotools to generate makefiles.
\todo Add some more info about usage and requirements.
\code
$ autoreconf -i
$ ./configure
$ make
\endcode
Starting the server
When compiled, the following executables are created (in the src/ directory):
- \em knotd - The server
- \em knotc - Control utility
- \em knot-zcompile - Zone compiler
- \em unittests - Unit tests for the server and dnslib
- \em unittests-zcompile - Unit tests for the zone compiler
1. Add path to knotd and knot-zcompile executables to PATH
2. Prepare a configuration file. You may copy and edit the one provided with
the server (\em samples/knot.conf.sample).
2. Compile zone
\code
$ src/knotc -c path-to-config-file compile
\endcode
3. Run the server
\code
$ src/knotc -c path-to-config-file start
\endcode
Server modules
- \ref server
- \ref threading
- \ref network
- \ref query_processing
- \ref utils
- \ref debugging
- \ref logging
- \ref statistics
DNS library
- \ref dnslib
- \ref hashing
Common library
- \ref common_lib
- \ref alloc
Other modules
- \ref tests
- \ref zoneparser
- \ref ctl
*/