* Add + as a valid email character for rule RP as many emails are of the form email@example.com. This regex should probably be expanded even further. * Begin to address error in parsing class/ttl entries. Per RFC-1035, section 5.1. Format these entries may take any of the below forms: foo 900 IN A 127.0.0.1 foo IN 900 A 127.0.0.1 foo IN A 127.0.0.1 foo 900 A 127.0.0.1 foo A 127.0.0.1 Note, this patch only corrects parsing for CNAME and SRV. It should be applied to all RRs and I have not done so. You may want to change the approach before applying it in the general case.
…emspec issues under Ruby 1.9 otherwise.
* Primarily relies on DNS::Zone / DNS::Host output classes.
* Add class method .load as a complement to .parse. * .load outputs the new DNS::Zone class, which is a simplified, more structured format of the parser output. * DNS::Zone and DNS::Host also provide the new post-processed handling of $origin and $ttl, by converting values according to the variables in order as they appear in the zone file. This means that $origin and $ttl can now appear at any place in the zone file and will only affect later records.
* Add support for AAAA, NAPTR, PTR, SRV, SPF, and TXT records * Allow class type "IN" to be specified with any record * Allow records to specify a ttl * Allow empty host names (inherit from previous record) * Must have at least one space or tab at the beginning of the line * Improve general parsing * Handle spaces at end of lines without comments * Change .to_s to be more intentionally formatted * Allow $origin and $ttl in the middle of the zone * Remove processing of origin & ttl during initial parsing * Instead, just insert a placeholder of @ for origin * Will be post-processed later * Add zone time modifiers [s]econd, [m]inute, [hour] * Remove modifiers [m]onth and [year]