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

(-)a/management/univention-directory-manager-modules/modules/univention/admin/uexceptions.py (-4 lines)
 Lines 263-272   class licenseWrongBaseDn(base): Link Here 
263
	message = _('The license is invalid for the current base DN.')
263
	message = _('The license is invalid for the current base DN.')
264
264
265
265
266
class licenseGPLversion(base):
267
	message = _('The license check is disabled. You are using the GPL version without any support or maintenance by Univention.')
268
269
270
class licenseCoreEdition(base):
266
class licenseCoreEdition(base):
271
	message = 'UCS Core Edition.'
267
	message = 'UCS Core Edition.'
272
268
(-)a/management/univention-directory-manager-modules/modules/univention/admin/uldap.py (-11 / +2 lines)
 Lines 37-48    Link Here 
37
import univention.uldap
37
import univention.uldap
38
from univention.admin import localization
38
from univention.admin import localization
39
import univention.config_registry
39
import univention.config_registry
40
40
import univention.admin.license
41
try:
42
	import univention.admin.license
43
	GPLversion = False
44
except:
45
	GPLversion = True
46
41
47
translation = localization.translation('univention/admin')
42
translation = localization.translation('univention/admin')
48
_ = translation.translate
43
_ = translation.translate
 Lines 327-336   def bind(self, binddn, bindpw): Link Here 
327
			raise univention.admin.uexceptions.authFail(_("Authentication failed"))
322
			raise univention.admin.uexceptions.authFail(_("Authentication failed"))
328
323
329
		if self.require_license:
324
		if self.require_license:
330
			if GPLversion:
331
				self.require_license = 0
332
				raise univention.admin.uexceptions.licenseGPLversion
333
334
			res = univention.admin.license.init_select(self.lo, 'admin')
325
			res = univention.admin.license.init_select(self.lo, 'admin')
335
326
336
			self.licensetypes = univention.admin.license._license.types
327
			self.licensetypes = univention.admin.license._license.types
 Lines 374-380   def requireLicense(self, require=1): Link Here 
374
		self.require_license = require
365
		self.require_license = require
375
366
376
	def _validateLicense(self):
367
	def _validateLicense(self):
377
		if self.require_license and not GPLversion:
368
		if self.require_license:
378
			univention.admin.license.select('admin')
369
			univention.admin.license.select('admin')
379
370
380
	def get_schema(self):
371
	def get_schema(self):
(-)a/management/univention-management-console-module-adtakeover/umc/python/adtakeover/takeover.py (-12 / +4 lines)
 Lines 530-544   class UCS_License_detection(): Link Here 
530
	def __init__(self, ucr):
530
	def __init__(self, ucr):
531
		self.ucr = ucr
531
		self.ucr = ucr
532
532
533
		self.GPLversion = False
533
		import univention.admin.license
534
		try:
534
		self.License = univention.admin.license.License
535
			import univention.admin.license
535
		self._license = univention.admin.license._license
536
			self.License = univention.admin.license.License
536
		self.ignored_users_list = self._license.sysAccountNames
537
			self._license = univention.admin.license._license
538
			self.ignored_users_list = self._license.sysAccountNames
539
		except ImportError:  # GPLversion
540
			self.GPLversion = True
541
			self.ignored_users_list = []
542
537
543
	def determine_license(self, lo, dn):
538
	def determine_license(self, lo, dn):
544
		def mylen(xs):
539
		def mylen(xs):
 Lines 579-587   def mylen(xs): Link Here 
579
574
580
	def check_license(self, domain_info):
575
	def check_license(self, domain_info):
581
576
582
		if self.GPLversion:
583
			return True
584
585
		binddn = self.ucr['ldap/hostdn']
577
		binddn = self.ucr['ldap/hostdn']
586
		with open('/etc/machine.secret', 'r') as pwfile:
578
		with open('/etc/machine.secret', 'r') as pwfile:
587
			bindpw = pwfile.readline().strip()
579
			bindpw = pwfile.readline().strip()
(-)a/management/univention-management-console-module-udm/umc/python/udm/tools.py (-7 / +1 lines)
 Lines 115-121   def check_license(ldap_connection, ignore_core_edition=False): Link Here 
115
	try:
115
	try:
116
		try:
116
		try:
117
			_check_license(ldap_connection)
117
			_check_license(ldap_connection)
118
		except (udm_errors.freeForPersonalUse, udm_errors.licenseGPLversion):
118
		except udm_errors.freeForPersonalUse:
119
			if ignore_core_edition:
119
			if ignore_core_edition:
120
				return
120
				return
121
	except udm_errors.licenseNotFound:
121
	except udm_errors.licenseNotFound:
 Lines 150-164   def check_license(ldap_connection, ignore_core_edition=False): Link Here 
150
		raise LicenseError(_('Your license does not allow modifications. During this session add and modify are disabled.'))
150
		raise LicenseError(_('Your license does not allow modifications. During this session add and modify are disabled.'))
151
	except udm_errors.freeForPersonalUse:
151
	except udm_errors.freeForPersonalUse:
152
		raise LicenseError(_('You are currently using the "Free for personal use" edition of Univention Corporate Server.'))
152
		raise LicenseError(_('You are currently using the "Free for personal use" edition of Univention Corporate Server.'))
153
	except udm_errors.licenseGPLversion:
154
		raise LicenseError(_('Your license status could not be validated. Thus, you are not eligible to support and maintenance. If you have bought a license, please contact Univention or your Univention partner.'))
155
153
156
154
157
def _check_license(ldap_connection):
155
def _check_license(ldap_connection):
158
	try:
159
		import univention.admin.license
160
	except ImportError:
161
		raise udm_errors.licenseGPLversion
162
	mapping = {
156
	mapping = {
163
		1: udm_errors.licenseClients,
157
		1: udm_errors.licenseClients,
164
		2: udm_errors.licenseAccounts,
158
		2: udm_errors.licenseAccounts,
(-)a/management/univention-management-console-module-udm/umc/python/udm/udm_ldap.py (-7 / +2 lines)
 Lines 51-56    Link Here 
51
import univention.admin.objects as udm_objects
51
import univention.admin.objects as udm_objects
52
import univention.admin.syntax as udm_syntax
52
import univention.admin.syntax as udm_syntax
53
import univention.admin.uexceptions as udm_errors
53
import univention.admin.uexceptions as udm_errors
54
import univention.admin.mapping as udm_mapping
54
55
55
from .syntax import widget, default_value
56
from .syntax import widget, default_value
56
57
 Lines 58-69    Link Here 
58
from ldap.filter import filter_format
59
from ldap.filter import filter_format
59
from functools import reduce
60
from functools import reduce
60
61
61
try:
62
	import univention.admin.license
63
	GPLversion = False
64
except:
65
	GPLversion = True
66
67
62
68
_ = Translation('univention-management-console-module-udm').translate
63
_ = Translation('univention-management-console-module-udm').translate
69
64
 Lines 1231-1237   def map_choices(obj_list): Link Here 
1231
						search_options['simple_attrs'] = ldap_attr
1226
						search_options['simple_attrs'] = ldap_attr
1232
						result = module.search(**search_options)
1227
						result = module.search(**search_options)
1233
						for dn, ldap_map in result:
1228
						for dn, ldap_map in result:
1234
							info = univention.admin.mapping.mapDict(mapping, ldap_map)
1229
							info = udm_mapping.mapDict(mapping, ldap_map)
1235
							key, label = extract_key_label(syn, dn, info)
1230
							key, label = extract_key_label(syn, dn, info)
1236
							if key is None:
1231
							if key is None:
1237
								continue
1232
								continue

Return to bug 43299