aserv − Simple authoritative DNS server |
aserv zone-file |
A very basic authoritative DNS server, with few options. aserv parses the zone-file given on the command line (which uses a sub-set of the BIND zone file format), and awaits incoming UDP DNS messages. If possible, it answers them, with a result or a glue response pointing to a sub-zone. |
0 |
Normal exit. |
|||
1 |
A command line usage error. |
|||
2 |
Error involving the protocol engine. |
|||
3 |
Error parsing the zone-file. |
The zone-file is based on the BIND zone file format, but only partially implemented. The file consists of a list of records and directives, where each record is one line (or multiple lines enclosed in parenthesis). Currently, the only directive implemented is the $ORIGINdomain directive, giving the default origin of subsequent records. Each record line starts with either a domain name or a space, in which case the record refers to the most recent domain name. The record line continues with optional class and time-to-live values, in either order. If not present, the class and ttl values default to the most recent class or ttl. The only class currently supported is IN, the Internet class. The records begin with a type description and continue with type-dependent values: |
A ip-address |
Associate ip-address with the record’s name. |
CNAME domain-name |
Associate domain-name as an alias for the record’s name. |
NS domain-name |
Indicate that domain-name is a name server for the (sub-domain) zone rooted at the record’s name. |
SOA mname rname serial refresh retry expire minimum |
Root information for the zone being served by aserv. mname is the master server for the zone. rname is an email address responsible for the zone. serial is the serial number for the current zone information, used for zone transfers. refresh, retry, expire are parameters for slave servers. Since aserv does not implement zone transfers, this information is not currently useful. minimum is the minimum ttl value for records in the zone. aserv currently does not enforce this value on responses it generates. |
PTR domain-name |
Associates domain-name with the record’s name; similar to CNAME. |
aserv is implemented using the Austin Protocol Compiler and is mostly intended as a test and example for it. It is not intended to be used in a production environment. |
Many record types are not implemented. The database is poor. The zone file is assumed to contain only records from a single zone. aserv probably does not implement the specified protocol very well. |
— |
Tommy M. McGuire (mcguire@cs.utexas.edu) wrote this. |
RFC 1034 and 1035, various BIND documentation. For more information, see the Austin Protocol Compiler home page. http://www.cs.utexas.edu/users/mcguire/software/apc/ |