View | Details | Raw Unified | Return to bug 30342
Collapse All | Expand All

(-)univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py (-1 / +1 lines)
 Lines 172-178    Link Here 
172
mapping=univention.admin.mapping.mapping()
172
mapping=univention.admin.mapping.mapping()
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionLDAPACLFilename', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionLDAPACLFilename', None, univention.admin.mapping.ListToString)
175
mapping.register('data', 'univentionLDAPACLData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
175
mapping.register('data', 'univentionLDAPACLData', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionLDAPACLActive', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionLDAPACLActive', None, univention.admin.mapping.ListToString)
177
mapping.register('appidentifier', 'univentionAppIdentifier')
177
mapping.register('appidentifier', 'univentionAppIdentifier')
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
(-)univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py (-1 / +1 lines)
 Lines 172-178    Link Here 
172
mapping=univention.admin.mapping.mapping()
172
mapping=univention.admin.mapping.mapping()
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionUDMModuleFilename', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionUDMModuleFilename', None, univention.admin.mapping.ListToString)
175
mapping.register('data', 'univentionUDMModuleData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
175
mapping.register('data', 'univentionUDMModuleData', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionUDMModuleActive', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionUDMModuleActive', None, univention.admin.mapping.ListToString)
177
mapping.register('appidentifier', 'univentionAppIdentifier')
177
mapping.register('appidentifier', 'univentionAppIdentifier')
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
(-)univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py (-1 / +1 lines)
 Lines 148-154    Link Here 
148
mapping=univention.admin.mapping.mapping()
148
mapping=univention.admin.mapping.mapping()
149
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
149
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
150
mapping.register('filename', 'univentionLDAPSchemaFilename', None, univention.admin.mapping.ListToString)
150
mapping.register('filename', 'univentionLDAPSchemaFilename', None, univention.admin.mapping.ListToString)
151
mapping.register('data', 'univentionLDAPSchemaData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
151
mapping.register('data', 'univentionLDAPSchemaData', None, univention.admin.mapping.ListToString)
152
mapping.register('active', 'univentionLDAPSchemaActive', None, univention.admin.mapping.ListToString)
152
mapping.register('active', 'univentionLDAPSchemaActive', None, univention.admin.mapping.ListToString)
153
mapping.register('appidentifier', 'univentionAppIdentifier')
153
mapping.register('appidentifier', 'univentionAppIdentifier')
154
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
154
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
(-)univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py (-1 / +1 lines)
 Lines 172-178    Link Here 
172
mapping=univention.admin.mapping.mapping()
172
mapping=univention.admin.mapping.mapping()
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionUDMHookFilename', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionUDMHookFilename', None, univention.admin.mapping.ListToString)
175
mapping.register('data', 'univentionUDMHookData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
175
mapping.register('data', 'univentionUDMHookData', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionUDMHookActive', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionUDMHookActive', None, univention.admin.mapping.ListToString)
177
mapping.register('appidentifier', 'univentionAppIdentifier')
177
mapping.register('appidentifier', 'univentionAppIdentifier')
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
(-)univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py (-1 / +1 lines)
 Lines 172-178    Link Here 
172
mapping=univention.admin.mapping.mapping()
172
mapping=univention.admin.mapping.mapping()
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
173
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionUDMSyntaxFilename', None, univention.admin.mapping.ListToString)
174
mapping.register('filename', 'univentionUDMSyntaxFilename', None, univention.admin.mapping.ListToString)
175
mapping.register('data', 'univentionUDMSyntaxData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
175
mapping.register('data', 'univentionUDMSyntaxData', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionUDMSyntaxActive', None, univention.admin.mapping.ListToString)
176
mapping.register('active', 'univentionUDMSyntaxActive', None, univention.admin.mapping.ListToString)
177
mapping.register('appidentifier', 'univentionAppIdentifier')
177
mapping.register('appidentifier', 'univentionAppIdentifier')
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
178
mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString)
(-)univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py (-2 / +2 lines)
 Lines 1255-1262    Link Here 
1255
		lst.append( entry.split('=', 1) )
1255
		lst.append( entry.split('=', 1) )
1256
	return lst
1256
	return lst
1257
1257
1258
mapping.register('userCertificate', 'userCertificate;binary', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
1258
mapping.register('userCertificate', 'userCertificate;binary', None, univention.admin.mapping.ListToString)
1259
mapping.register('jpegPhoto', 'jpegPhoto', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
1259
mapping.register('jpegPhoto', 'jpegPhoto', None, univention.admin.mapping.ListToString)
1260
mapping.register('umcProperty', 'univentionUMCProperty', mapKeyAndValue, unmapKeyAndValue)
1260
mapping.register('umcProperty', 'univentionUMCProperty', mapKeyAndValue, unmapKeyAndValue)
1261
1261
1262
class object( univention.admin.handlers.simpleLdap, mungeddial.Support ):
1262
class object( univention.admin.handlers.simpleLdap, mungeddial.Support ):
(-)univention-directory-manager-modules/modules/univention/admin/syntax.py (-20 / +25 lines)
 Lines 42-47    Link Here 
42
import copy
42
import copy
43
import sys, os
43
import sys, os
44
import shlex
44
import shlex
45
import imghdr
45
46
46
translation=univention.admin.localization.translation('univention/admin')
47
translation=univention.admin.localization.translation('univention/admin')
47
_=translation.translate
48
_=translation.translate
 Lines 378-415    Link Here 
378
		else:
379
		else:
379
			return value
380
			return value
380
381
381
class GzipBase64Upload( Upload ):
382
class Base64Upload( Upload ):
382
	@classmethod
383
	@classmethod
383
	def parse( self, value ):
384
	def tostring( self, value ):
384
		try:
385
		try:
385
			gziped_data = base64.decodestring( value )
386
			return base64.b64encode( value )
386
			try:
387
				data = zlib.decompress(gziped_data, 16+zlib.MAX_WBITS)
388
			except:
389
				raise univention.admin.uexceptions.valueError( _( 'Value must be gzip compressed and Base64 encoded: %s' ) % str( value ) )
390
		except:
387
		except:
391
			raise univention.admin.uexceptions.valueError( _( 'Not a valid Base64 string: %s' ) % str( value ) )
388
			raise univention.admin.uexceptions.valueError( _( 'Error encoding value to Base64: %s' ) % str( value ) )
392
		else:
393
			return value
394
389
395
class Base64Upload( Upload ):
396
	@classmethod
390
	@classmethod
397
	def parse( self, value ):
391
	def parse( self, text ):
398
		try:
392
		try:
399
			base64.decodestring( value )
393
			return base64.b64decode( text )
400
		except:
394
		except:
401
			raise univention.admin.uexceptions.valueError( _( 'Not a valid Base64 string: %s' ) % str( value ) )
395
			raise univention.admin.uexceptions.valueError( _( 'Not a valid Base64 string: %s' ) % str( text ) )
396
397
class GzipBase64Upload( Base64Upload ):
398
	@classmethod
399
	def parse( self, text ):
400
		value = super(GzipBase64Upload, self).parse(text)
401
		try:
402
			zlib.decompress(value, 16+zlib.MAX_WBITS)
403
		except:
404
			raise univention.admin.uexceptions.valueError( _( 'Value must be gzip compressed and Base64 encoded: %s' ) % str( text ) )
402
		else:
405
		else:
403
			return value
406
			return value
404
407
405
class jpegPhoto( Upload ):
408
class jpegPhoto( Base64Upload ):
406
	@classmethod
409
	@classmethod
407
	def tostring(self, text):
410
	def parse( self, text ):
408
		if text and text[0]:
411
		value = super(jpegPhoto, self).parse(text)
409
			encoded=base64.encodestring(text[0])
412
		try:
410
			return encoded
413
			assert imghdr.what(None, value) == 'jpeg'
414
		except Exception, e:
415
			raise univention.admin.uexceptions.valueError( _( 'Value must be jpeg format and Base64 encoded: %s' ) % str( text ) )
411
		else:
416
		else:
412
			return ''
417
			return value
413
418
414
class integer(simple):
419
class integer(simple):
415
	"""
420
	"""
(-)univention-directory-manager-modules/modules/univention/admin/mapping.py (-18 lines)
 Lines 32-38    Link Here 
32
32
33
import univention.debug
33
import univention.debug
34
import types
34
import types
35
import base64
36
35
37
def DaysToSeconds(days):
36
def DaysToSeconds(days):
38
	return str(int(days)*24*60*60)
37
	return str(int(days)*24*60*60)
 Lines 106-128    Link Here 
106
		value *= 60
105
		value *= 60
107
	return unicode( value )
106
	return unicode( value )
108
107
109
def unmapBase64( value ):
110
	try:
111
		return base64.b64encode( value[ 0 ] )
112
	except Exception, e:
113
		univention.debug.debug(univention.debug.ADMIN, univention.debug.ERROR, 'ERROR in unmapBase64: %s' % e)
114
	return ""
115
116
def mapBase64( value ):
117
	if value == '*':
118
		# special case for filter pattern '*'
119
		return value
120
	try:
121
		return base64.b64decode( value )
122
	except Exception, e:
123
		univention.debug.debug(univention.debug.ADMIN, univention.debug.ERROR, 'ERROR in mapBase64: %s' % e)
124
	return ""
125
126
class mapping:
108
class mapping:
127
	def __init__(self):
109
	def __init__(self):
128
		self._map={}
110
		self._map={}
(-)univention-management-console-module-appcenter/udm/handlers/appcenter/app.py (-2 / +2 lines)
 Lines 345-352    Link Here 
345
mapping.register('website', 'univentionAppWebsite', None, univention.admin.mapping.ListToString)
345
mapping.register('website', 'univentionAppWebsite', None, univention.admin.mapping.ListToString)
346
mapping.register('websiteVendor', 'univentionAppWebsiteVendor', None, univention.admin.mapping.ListToString)
346
mapping.register('websiteVendor', 'univentionAppWebsiteVendor', None, univention.admin.mapping.ListToString)
347
mapping.register('websiteMaintainer', 'univentionAppWebsiteMaintainer', None, univention.admin.mapping.ListToString)
347
mapping.register('websiteMaintainer', 'univentionAppWebsiteMaintainer', None, univention.admin.mapping.ListToString)
348
mapping.register('screenshot', 'univentionAppScreenshot', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
348
mapping.register('screenshot', 'univentionAppScreenshot', None, univention.admin.mapping.ListToString)
349
mapping.register('icon', 'univentionAppIcon', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64)
349
mapping.register('icon', 'univentionAppIcon', None, univention.admin.mapping.ListToString)
350
mapping.register('category', 'univentionAppCategory')
350
mapping.register('category', 'univentionAppCategory')
351
mapping.register('webInterface', 'univentionAppWebInterface')
351
mapping.register('webInterface', 'univentionAppWebInterface')
352
mapping.register('webInterfaceName', 'univentionAppWebInterfaceName', None, univention.admin.mapping.ListToString)
352
mapping.register('webInterfaceName', 'univentionAppWebInterfaceName', None, univention.admin.mapping.ListToString)

Return to bug 30342