From c3f7a41924ba1c6a9cd4dbd34a2d4624be471934 Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Thu, 12 Jan 2017 12:17:35 +0100 Subject: [PATCH] Add support for named/BIND SRV records --- src/hostinfo/named.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/hostinfo/named.py b/src/hostinfo/named.py index 0d0a641..a83ef2e 100755 --- a/src/hostinfo/named.py +++ b/src/hostinfo/named.py @@ -194,6 +194,33 @@ def generate_forward(tree, hosts): for txt in [ t for t in tree._subnet_._txt_ if t.domain[1] == domain]: result += (' IN TXT "%s"' % (txt.value[0])) pass + for srv in [ s for s in tree._subnet_._srv_ if s.domain[1] == domain]: + s = {} + if not srv.name[0]: + raise util.HostinfoException('SRV has no name %s' % srv, + where=srv) + if not srv.priority[0]: + raise util.HostinfoException('SRV has no priority %s' % srv, + where=srv) + if not srv.weight[0]: + raise util.HostinfoException('SRV has no weight %s' % srv, + where=srv) + if not srv.port[0]: + raise util.HostinfoException('SRV has no port %s' % srv, + where=srv) + if not srv.host[0]: + raise util.HostinfoException('SRV has no host %s' % srv, + where=srv) + s['name'] = srv.name[0] + s['priority'] = srv.priority[0] + s['weight'] = srv.weight[0] + s['port'] = srv.port[0] + s['host'] = srv.host[0] + s['ttl'] = srv.ttl[0] or '' + result += ( + '%(name)s %(ttl)s IN SRV %(priority)s %(weight)s %(port)s %(host)s' + % s) + pass result.append_lines(""" |; |localhost IN A 127.0.0.1 -- GitLab