Configuration
*************

The mydns.conf file has a simple, familiar format.  It consists of lines that may contain variables and values, in the format

     variable = value

Blank lines are allowed.  The # character begins comments, which are ignored.

The --dump-config option of the mydns program will output all possible variables in mydns.conf format.  (see Creating mydns.conf.)

Boolean values can be yes, no, 1, 0, on, or off.

Database configuration
======================

db-host
     (string)  The hostname where your database server is located.  May be overridden by the -h (--host) command-line option.

db-user
     (string)  The username to provide to the database server during authentication.  May be overridden by the -u (--user) command-line option.

db-password
     (string)  The password to provide to the database server during authentication.  May be overridden by the -p (--password) command-line option.

database
     (string)  The name of the database containing DNS data.

Name daemon configuration
=========================

user
     (string)  Run with the permissions of this user.

group
     (string)  Run with the permissions of this group.

listen
     (string)  Listen and accept requests on this address only.  If this is *, the server will accept connections on all addresses.  This must be an IP address in numbers-and-dots format, or *.  Multiple addresses may be specified, as a comma-delimited list of addresses or on separate listen lines.  To specify a port other than port 53, append :port to the address.

no-listen
     (string)  Do not listen on this address.  This must be an IP address in numbers-and-dots format, or *.  Multiple addresses may be specified, as a comma-delimited list of addresses or on separate no-listen lines.  To specify a port other than port 53, append :port to the address.  This option may be used to easily tell MyDNS not to listen on the address 127.0.0.1, on which you are running a recursive name server.

Cache configuration
===================

zone-cache-size
     (integer)  The number of items stored in the DNS server's internal zone data cache. Set this to 0 to disable the zone data cache entirely.  (see Caching.)

zone-cache-expire
     (integer)  Number of seconds after which cached items expire.  If this is 0, the zone data cache is not used.  The TTL value for any RR may override this value if it is a shorter amount of time.  (see Caching.)

reply-cache-size
     (integer)  The number of items stored in the DNS server's internal reply cache. Set this to 0 to disable the reply cache entirely.  (see Caching.)

reply-cache-expire
     (integer)  Number of seconds after which cached replies expire.  If this is 0, the reply cache is not used. (see Caching.)

Miscellaneous configuration options.
====================================

log
     (string) The name daemon should log via the syslog facility specified, which may be LOG_DAEMON or any of LOG_LOCAL0 through LOG_LOCAL7.  If the argument is stderr or stdout, program output will go to that stream only.  If the argument is a filename, program output will go to that file.

pidfile
     (string)  The mydns program will write its PID to this file on startup.

timeout
     (integer)  Number of seconds after which queries should time out.

multicpu
     (integer)  Number of processors in your system.

allow-axfr
     (boolean)  Should DNS-based zone transfers be enabled?

allow-tcp
     (boolean)  Should TCP queries be allowed?  Use of this option is usually not recommended.  However, TCP queries should be enabled if you think your server will be serving out answers larger than 512 bytes.

allow-update
     (boolean)  Should RFC 2136 DNS UPDATE queries be allowed?  (see DNS UPDATE.)

ignore-minimum
     (boolean)  Should MyDNS ignore the minimum TTL specified in the SOA record for each zone?

soa-table
     (string)  Name of the table containing SOA records.

rr-table
     (string)  Name of the table containing resource record data.

soa-where
     (string)  An additional SQL WHERE clause to use when retrieving records from the soa table (see soa table).

rr-where
     (string)  An additional SQL WHERE clause to use when retrieving records from the rr table (see rr table).

recursive
     (string)  Forward recursive requests to a DNS server at this address and return its response to the client.