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

(-)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-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-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)
(-)univention-directory-manager-modules/modules/univention/admin/syntax.py (-14 / +16 lines)
 Lines 378-404    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

Return to bug 32564