|
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 |
|
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)) |
|
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 |
|
849 |
dnsRecords=[] |
885 |
dnsRecords=[] |
850 |
|
886 |
|
851 |
__pack_aRecord(object, dnsRecords) |
887 |
__pack_aRecord(object, dnsRecords) |
|
|
888 |
__pack_mxRecord(object, dnsRecords) |
889 |
__pack_txtRecord(object, dnsRecords) |
852 |
|
890 |
|
853 |
dnsNodeDn=s4_dns_node_base_create(s4connector, object, dnsRecords) |
891 |
dnsNodeDn=s4_dns_node_base_create(s4connector, object, dnsRecords) |
854 |
|
892 |
|