AUTHORS: add an authors file in preparation for updating the copyright. The valtz project is no longer the exclusive copyright of Magnus Bodin. Rather than list everyone everywhere, I plan to change it to "the valtz authors," which is more useful when there's a list of the valtz authors.
Show only a usage summary when -h is passed. There was a long "usage" string contained within the program itself that is now contained within the man page. The long usage would be shown with "valtz -h", and a shorter one would be shown with simply "valtz", which is an error by itself. This commit also unifies those two: if you try to run valtz with no arguments, the "valtz -h" output is shown but the exit code will be non-zero.
Drop the "-x" flag. The "-x" flag used to set the exit code non-zero on error, thus making it easier to detect errors in shell scripts. But I can imagine no situation where returning zero unconditionally is preferable; and so, I've removed the flag and enabled the "-x" behavior by default.
Warn about IP addresses in hostname fields. A common error is to specify an IP address as the result of an MX lookup. The RFCs (974, 1035, 2181...) state that the result should be a "domain name," which in this context, means "host name." This commit adds a check on "hostname" fields that rejects a dotted-quad contained therein. In particular, it catches the aforementioned MX record error.
Add support for SRV records. There is a patch for djbdns that adds support for SRV records to both tinydns-data and axfr-get: From: Michael Handler <handler@sub-rosa.com> To: dns@list.cr.yp.to Subject: tinydns-data SRV & axfr-get SRV/PTR patches Date: Thu, 14 Sep 2000 20:37:50 -040 Many distributions carry the patch, but valtz rejects the SRV records because it doesn't recognize the "S" indicator or know how to validate the port, weight, or priority fields. This commit adds support for the new record type, and adds validation routines for the three new fields. All of them are the same: ports, weights, and priorities are all integers between 0 and 65536.
Allow underscore characters in FQDNs and pointers. Modern DNS records can contain underscores for a number of reasons. In particular, DKIM records involve a "_domainkey" part, https://tools.ietf.org/html/rfc6376 that is rejected by the current "fqdn" and "p" validation routines. Moreover, any SRV records will have a service name prefixed with an underscore: https://tools.ietf.org/html/rfc2782 To recognize these tokens as valid, this commit expands the "fqdn" and "p" regular expressions to allow underscores as the first character in each component of an FQDN.