View | Details | Raw Unified | Return to bug 41006 | Differences between
and this patch

Collapse All | Expand All

(-)/usr/share/pyshared/univention/s4connector/s4/dns.py.orig (+38 lines)
 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 849-854    Link Here 
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

Return to bug 41006