equal
deleted
inserted
replaced
55 parser.add_option('--forward-zone', action='store_true', |
55 parser.add_option('--forward-zone', action='store_true', |
56 help="Generate forward zone") |
56 help="Generate forward zone") |
57 |
57 |
58 parser.add_option('--forward-txt', action='store_true', |
58 parser.add_option('--forward-txt', action='store_true', |
59 help="Generate TXT records for forward zone") |
59 help="Generate TXT records for forward zone") |
60 |
|
61 parser.add_option('--forward-mx', metavar='MX', |
|
62 help="Generate MX records for forward zone") |
|
63 |
60 |
64 # reverse stage |
61 # reverse stage |
65 parser.add_option('--reverse-domain', metavar='DOMAIN', |
62 parser.add_option('--reverse-domain', metavar='DOMAIN', |
66 help="Domain to use for hosts in reverse zone") |
63 help="Domain to use for hosts in reverse zone") |
67 |
64 |
171 serial, soa.refresh, soa.retry, soa.expire, soa.nxttl |
168 serial, soa.refresh, soa.retry, soa.expire, soa.nxttl |
172 ) |
169 ) |
173 else : |
170 else : |
174 yield line, rr |
171 yield line, rr |
175 |
172 |
176 def process_zone_forwards (zone, txt=False, mx=False) : |
173 def process_zone_forwards (zone, txt=False) : |
177 """ |
174 """ |
178 Process zone data -> forward zone data. |
175 Process zone data -> forward zone data. |
179 """ |
176 """ |
180 |
177 |
181 for line, r in zone : |
178 for line, r in zone : |
186 # comment? |
183 # comment? |
187 comment = r.line.comment |
184 comment = r.line.comment |
188 |
185 |
189 if comment : |
186 if comment : |
190 yield line, ZoneRecord.TXT(None, comment, ttl=r.ttl) |
187 yield line, ZoneRecord.TXT(None, comment, ttl=r.ttl) |
191 |
|
192 |
188 |
193 # XXX: RP, do we need it? |
|
194 |
|
195 if mx : |
|
196 # XXX: is this even a good idea? |
|
197 yield line, ZoneRecord.MX(None, 10, mx, ttl=r.ttl) |
|
198 |
|
199 def process_zone_reverse (zone, origin, domain) : |
189 def process_zone_reverse (zone, origin, domain) : |
200 """ |
190 """ |
201 Process zone data -> reverse zone data. |
191 Process zone data -> reverse zone data. |
202 """ |
192 """ |
203 |
193 |
281 zone = list(process_zone_serial(zone, serial=options.serial)) |
271 zone = list(process_zone_serial(zone, serial=options.serial)) |
282 |
272 |
283 if options.forward_zone : |
273 if options.forward_zone : |
284 log.info("Generate forward zone...") |
274 log.info("Generate forward zone...") |
285 |
275 |
286 zone = list(process_zone_forwards(zone, txt=options.forward_txt, mx=options.forward_mx)) |
276 zone = list(process_zone_forwards(zone, txt=options.forward_txt)) |
287 |
277 |
288 if options.reverse_zone : |
278 if options.reverse_zone : |
289 if ':' in options.reverse_zone : |
279 if ':' in options.reverse_zone : |
290 # IPv6 |
280 # IPv6 |
291 origin = reverse_ipv6(options.reverse_zone) |
281 origin = reverse_ipv6(options.reverse_zone) |