samba-tool: dns: Add MXRecord type to add/update mx records
authorAmitay Isaacs <amitay@gmail.com>
Tue, 14 Feb 2012 02:00:35 +0000 (13:00 +1100)
committerAmitay Isaacs <amitay@gmail.com>
Tue, 21 Feb 2012 07:24:30 +0000 (18:24 +1100)
source4/scripting/python/samba/netcmd/dns.py

index 6d07db4d8591129c8be528a7fc212a44a3240599..9607cd92fda4cf0a5a104b5bb12bea2bc43f5b0e 100644 (file)
@@ -421,6 +421,20 @@ class NSRecord(dnsserver.DNS_RPC_RECORD):
         ns.len = len(dns_server)
         self.data = ns
 
+class MXRecord(dnsserver.DNS_RPC_RECORD):
+    def __init__(self, mail_server, preference, serial=1, ttl=900,
+                 rank=dnsp.DNS_RANK_ZONE, node_flag=0):
+        super(MXRecord, self).__init__()
+        self.wType = dnsp.DNS_TYPE_MX
+        self.dwFlags = rank | node_flag
+        self.dwSerial = serial
+        self.dwTtlSeconds = ttl
+        mx = dnsserver.DNS_RPC_RECORD_NAME_PREFERENCE()
+        mx.wPreference = preference
+        mx.nameExchange.str = mail_server
+        mx.nameExchange.len = len(mail_server)
+        self.data = mx
+
 class SOARecord(dnsserver.DNS_RPC_RECORD):
     def __init__(self, mname, rname, serial=1, refresh=900, retry=600,
                  expire=86400, minimum=3600, ttl=3600, rank=dnsp.DNS_RANK_ZONE,