Updating from 1.0 to 1.2

MaraDNS 1.2 has a number of advantages over 1.0, including Y2038 compliance, full support for DNS over TCP, and a new zone file format. While including a number of new features, MaraDNS 1.2 is almost completely compatible with all MaraDNS 1.0 data files. An update from 1.0 to 1.2 will, with very few exceptions, not need any data files to be changed. All MaraDNS 1.0 zone files will work with MaraDNS 1.2, and almost all 1.0 mararc configuration files will work with MaraDNS 1.2.

To update a MaraDNS install from 1.0 to 1.2, download the MaraDNS 1.2 tarball, and type in the following command:

	./configure ; make
This is followed by:
	make install
No configuration files will be overwritten by the installation of the new MaraDNS 1.2 binaries (making backups of all data files, naturally, is always a good idea).
The only time a 1.0 mararc file will not work is when there is a misspelled mararc variable in the mararc file. For example, let us suppose we have a mararc file that looks like this:
bind_address = "127.0.0.1"
chroot_dir = "/etc/maradns"
maradns_uid = 99
maxprocs = 96
default_rrany_set = 3
verbose_levul = 1
This will run fine in MaraDNS 1.0. However, when we try to run this file in MaraDNS 1.2, we will get this error message:
FATAL ERROR: Unknown mararc variable verbose_levul
Please look for the uncommented string "verbose_levul"
in your mararc file and remove this line.

The line this error is on looks like this:
verbose_levul = 1
This misspelled mararc variable needs to either be completely removed from the mararc file, or disabled by commenting out. The following mararc snippet will work identially in MaraDNS 1.0 as the above snippet, and will parse in MaraDNS 1.2 without a fatal error:
bind_address = "127.0.0.1"
chroot_dir = "/etc/maradns"
maradns_uid = 99
maxprocs = 96
default_rrany_set = 3
# Comment out the misspelled mararc variable
#verbose_levul = 1

Since MaraDNS 1.2 is usually started with the new duende daemonizing program, timestamps are, by default, no longer shown (since otherwise the system logs would have a redundant timestamp in them). If the older behavior of showing a UNIX time stamp is desired, add the following to a MaraDNS 1.2 mararc file:
timestamp_type = 0