BIND 10 #423: simple master file loader

BIND 10 Development do-not-reply at isc.org
Wed Dec 8 14:38:26 UTC 2010


#423: simple master file loader
----------------------------+-----------------------------------------------
  Reporter:  jinmei         |            Owner:  jinmei               
      Type:  task           |           Status:  new                  
  Priority:  major          |        Milestone:  y2 12 month milestone
 Component:  DNSPacket API  |         Keywords:                       
 Sensitive:  0              |   Estimatedhours:  0                    
     Hours:  0              |         Billable:  1                    
Totalhours:  0              |         Internal:  0                    
----------------------------+-----------------------------------------------
 This is a task for the A team sprint, but is a relatively generic feature
 that can be used for other purposes.

 It parses a "normalized" zone file, where "normalized" mean:

  - no directives ($xxx, @, etc)
  - TTLs are numbers
  - no multiline RR
  - no omission (owner name for RRs of the same owner name, TTL, RR Class)
  - no relative owner names
  - RRs of a single RRset are not interleaved with RRs of a different
 RRset. That is, the following sequence shouldn't happen:
   - example.com. 3600 IN A 192.0.2.1
   - example.com. 3600 IN AAAA 2001:db8::1
   - example.com. 3600 IN A 192.0.2.2
  - no mixed ordering of RR parameters; only accept the form of <owner
 name> <TTL> <RR class> <RR type> <Rdata (single line)>

 note: BIND 9's named-compilezone (from text to text) can convert an
 arbitrary zone file in the "normalized" form:

 {{{
  % named-compilezone -f text -F text -o example.com.norm example.com
 example.com.zone
 }}}

 This can be a simple free function (not a class), which takes a path to
 the zone file, the origin name, and RR class, and a callback functor. It
 calls the functor for every RRset built from the zone file. Some level of
 validation against origin/RR class should better be performed, but if it
 takes time it can be skipped at this time. In either case it should be
 documented.

-- 
Ticket URL: <http://bind10.isc.org/ticket/423>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list