|
Lines 86-91
Link Here
|
| 86 |
self.data.wPriority=priority |
86 |
self.data.wPriority=priority |
| 87 |
self.data.nameTarget=name |
87 |
self.data.nameTarget=name |
| 88 |
|
88 |
|
|
|
89 |
class TXTRecord(dnsp.DnssrvRpcRecord): |
| 90 |
def __init__(self, slist, priority=0, serial=1, ttl=3600): |
| 91 |
super(TXTRecord, self).__init__() |
| 92 |
self.wType=dnsp.DNS_TYPE_TXT |
| 93 |
self.dwSerial=serial |
| 94 |
self.dwTtlSeconds=ttl |
| 95 |
stringlist = dnsp.string_list() |
| 96 |
stringlist.count = len(slist) |
| 97 |
stringlist.str = slist |
| 98 |
self.data = stringlist |
| 99 |
|
| 89 |
import univention.admin.handlers |
100 |
import univention.admin.handlers |
| 90 |
import univention.admin.handlers.dns.forward_zone |
101 |
import univention.admin.handlers.dns.forward_zone |
| 91 |
import univention.admin.handlers.dns.alias |
102 |
import univention.admin.handlers.dns.alias |
|
Lines 571-576
Link Here
|
| 571 |
mx.append( [str(ndrRecord.data.wPriority), __append_dot(ndrRecord.data.nameTarget)] ) |
582 |
mx.append( [str(ndrRecord.data.wPriority), __append_dot(ndrRecord.data.nameTarget)] ) |
| 572 |
return mx |
583 |
return mx |
| 573 |
|
584 |
|
|
|
585 |
def __pack_txtRecord(object, dnsRecords): |
| 586 |
slist=[] |
| 587 |
for txtRecord in object['attributes'].get('tXTRecord', []): |
| 588 |
if txtRecord: |
| 589 |
ud.debug(ud.LDAP, ud.INFO, '__pack_txtRecord: %s' % txtRecord) |
| 590 |
txtRecord=univention.s4connector.s4.compatible_modstring(txtRecord) |
| 591 |
slist.append(txtRecord) |
| 592 |
if slist: |
| 593 |
txt_record = TXTRecord(slist) |
| 594 |
ndr_txt_record = ndr_pack(txt_record) |
| 595 |
dnsRecords.append(ndr_txt_record) |
| 596 |
ud.debug(ud.LDAP, ud.INFO, '__pack_txtRecord: %s' % ndr_txt_record) |
| 597 |
|
| 598 |
def __unpack_txtRecord(object): |
| 599 |
txt=[] |
| 600 |
dnsRecords=object['attributes'].get('dnsRecord', []) |
| 601 |
for dnsRecord in dnsRecords: |
| 602 |
dnsRecord=dnsRecord.encode('latin1') |
| 603 |
ndrRecord=ndr_unpack(dnsp.DnssrvRpcRecord, dnsRecord) |
| 604 |
if ndrRecord.wType == dnsp.DNS_TYPE_TXT: |
| 605 |
txt.append( [str(ndrRecord.data.wPriority), __append_dot(ndrRecord.data.nameTarget)] ) |
| 606 |
return txt |
| 607 |
|
| 574 |
def __pack_cName(object, dnsRecords): |
608 |
def __pack_cName(object, dnsRecords): |
| 575 |
for c in object['attributes'].get('cNAMERecord', []): |
609 |
for c in object['attributes'].get('cNAMERecord', []): |
| 576 |
c=univention.s4connector.s4.compatible_modstring(__remove_dot(c)) |
610 |
c=univention.s4connector.s4.compatible_modstring(__remove_dot(c)) |
|
Lines 717-722
Link Here
|
| 717 |
|
751 |
|
| 718 |
__pack_mxRecord(object, dnsRecords) |
752 |
__pack_mxRecord(object, dnsRecords) |
| 719 |
|
753 |
|
|
|
754 |
__pack_txtRecord(object, dnsRecords) |
| 755 |
|
| 720 |
s4connector.lo_s4.modify(soa_dn, [('dnsRecord', old_dnsRecords, dnsRecords)]) |
756 |
s4connector.lo_s4.modify(soa_dn, [('dnsRecord', old_dnsRecords, dnsRecords)]) |
| 721 |
|
757 |
|
| 722 |
return True |
758 |
return True |
|
Lines 870-875
Link Here
|
| 870 |
else: |
906 |
else: |
| 871 |
__pack_aRecord(object, dnsRecords) |
907 |
__pack_aRecord(object, dnsRecords) |
| 872 |
|
908 |
|
|
|
909 |
__pack_mxRecord(object, dnsRecords) |
| 910 |
__pack_txtRecord(object, dnsRecords) |
| 911 |
|
| 873 |
dnsNodeDn=s4_dns_node_base_create(s4connector, object, dnsRecords) |
912 |
dnsNodeDn=s4_dns_node_base_create(s4connector, object, dnsRecords) |
| 874 |
|
913 |
|
| 875 |
return True |
914 |
return True |