Esempio n. 1
0
 def _ldap_modlist(self):
     ml = univention.admin.handlers.simpleLdap._ldap_modlist(self)
     if self.hasChanged([
             'nameserver', 'contact', 'serial', 'refresh', 'retry',
             'expire', 'ttl'
     ]):
         if self['contact'] and not self['contact'].endswith('.'):
             self['contact'] += '.'
         for i in range(0, len(self['nameserver'])):
             if len(self['nameserver'][i]) > 0 \
              and ':' not in self['nameserver'][i] \
              and '.' in self['nameserver'][i] \
              and not self['nameserver'][i].endswith('.'):
                 self['nameserver'][i] += '.'
         refresh = univention.admin.mapping.mapUNIX_TimeInterval(
             self['refresh'])
         retry = univention.admin.mapping.mapUNIX_TimeInterval(
             self['retry'])
         expire = univention.admin.mapping.mapUNIX_TimeInterval(
             self['expire'])
         ttl = univention.admin.mapping.mapUNIX_TimeInterval(self['ttl'])
         soa = b'%s %s %s %s %s %s %s' % (
             self['nameserver'][0].encode('UTF-8'),
             escapeSOAemail(self['contact']).encode('UTF-8'),
             self['serial'].encode('UTF-8'), refresh, retry, expire, ttl)
         ml.append(('sOARecord', self.oldattr.get('sOARecord', []), soa))
     return ml
Esempio n. 2
0
    def _ldap_modlist(self):
        ml = univention.admin.handlers.simpleLdap._ldap_modlist(self)
        if self.hasChanged([
                'nameserver', 'contact', 'serial', 'refresh', 'retry',
                'expire', 'ttl'
        ]):
            if self['contact'] and not self['contact'].endswith('.'):
                self['contact'] += '.'
            for i in range(0, len(self['nameserver'])):
                if len(self['nameserver'][i]) > 0 \
                 and ':' not in self['nameserver'][i] \
                 and '.' in self['nameserver'][i] \
                 and not self['nameserver'][i].endswith('.'):
                    self['nameserver'][i] += '.'
            refresh = univention.admin.mapping.mapUNIX_TimeInterval(
                self['refresh'])
            retry = univention.admin.mapping.mapUNIX_TimeInterval(
                self['retry'])
            expire = univention.admin.mapping.mapUNIX_TimeInterval(
                self['expire'])
            ttl = univention.admin.mapping.mapUNIX_TimeInterval(self['ttl'])
            soa = b'%s %s %s %s %s %s %s' % (
                self['nameserver'][0].encode('ASCII'),
                escapeSOAemail(self['contact']).encode('ASCII'),
                self['serial'].encode('ASCII'), refresh, retry, expire, ttl)
            ml.append(('sOARecord', self.oldattr.get('sOARecord', []), [soa]))

        oldAddresses = self.oldinfo.get('a')
        newAddresses = self.info.get('a')
        oldARecord = []
        newARecord = []
        oldAaaaRecord = []
        newAaaaRecord = []
        if oldAddresses != newAddresses:
            if oldAddresses:
                for address in oldAddresses:
                    if ':' in address:  # IPv6
                        oldAaaaRecord.append(address.encode('ASCII'))
                    else:
                        oldARecord.append(address.encode('ASCII'))
            if newAddresses:
                for address in newAddresses:
                    if ':' in address:  # IPv6
                        newAaaaRecord.append(
                            ipaddress.IPv6Address(
                                u'%s' % (address, )).exploded.encode('ASCII'))
                    else:
                        newARecord.append(address.encode('ASCII'))
            ml.append((
                'aRecord',
                oldARecord,
                newARecord,
            ))
            ml.append((
                'aAAARecord',
                oldAaaaRecord,
                newAaaaRecord,
            ))
        return ml
Esempio n. 3
0
	def _ldap_modlist(self):
		ml=univention.admin.handlers.simpleLdap._ldap_modlist(self)
		if self.hasChanged(['nameserver', 'contact', 'serial', 'refresh', 'retry', 'expire', 'ttl']):
			if self['contact'] and not self['contact'].endswith('.'):
				self['contact'] += '.'
			if len(self['nameserver'][0]) > 0 \
				and ':' not in self['nameserver'][0] \
				and '.' in self['nameserver'][0] \
				and not self['nameserver'][0].endswith('.'):
				self['nameserver'][0] += '.'
			refresh = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'refresh' ] )
			retry = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'retry' ] )
			expire = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'expire' ] )
			ttl = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'ttl' ] )
			soa = '%s %s %s %s %s %s %s' % (self['nameserver'][0], escapeSOAemail(self['contact']), self['serial'], refresh, retry, expire, ttl)
			ml.append(('sOARecord', self.oldattr.get('sOARecord', []), soa))
		return ml
Esempio n. 4
0
	def _ldap_modlist(self):
		ml=univention.admin.handlers.simpleLdap._ldap_modlist(self)
		if self.hasChanged(['nameserver', 'contact', 'serial', 'refresh', 'retry', 'expire', 'ttl']):
			if self['contact'] and not self['contact'].endswith('.'):
				self['contact'] += '.'
			if len (self['nameserver'][0]) > 0 \
				and ':' not in self['nameserver'][0] \
				and '.' in self['nameserver'][0] \
				and not self['nameserver'][0].endswith('.'):
				self['nameserver'][0] += '.'
			refresh = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'refresh' ] )
			retry = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'retry' ] )
			expire = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'expire' ] )
			ttl = univention.admin.mapping.mapUNIX_TimeInterval( self[ 'ttl' ] )
			soa='%s %s %s %s %s %s %s' % (self['nameserver'][0], escapeSOAemail(self['contact']), self['serial'], refresh, retry, expire, ttl )
			ml.append(('sOARecord', self.oldattr.get('sOARecord', []), [soa]))

		oldAddresses = self.oldinfo.get('a')
		newAddresses = self.info.get('a')
		oldARecord = []
		newARecord = []
		oldAaaaRecord = []
		newAaaaRecord = []
		if oldAddresses != newAddresses:
			if oldAddresses:
			    for address in oldAddresses:
					if ':' in address: # IPv6
						oldAaaaRecord.append(address)
					else:
						oldARecord.append(address)
			if newAddresses:
			    for address in newAddresses:
					if ':' in address: # IPv6
						newAaaaRecord.append(ipaddr.IPv6Address(address).exploded)
					else:
						newARecord.append(address)
			ml.append(('aRecord',    oldARecord,    newARecord, ))
			ml.append(('aAAARecord', oldAaaaRecord, newAaaaRecord, ))
		return ml