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

(-)a/ucs-school-umc-installer/umc/python/schoolinstaller/__init__.py (-6 / +12 lines)
 Lines 217-228   def umc(username, password, master, path='', options=None, flavor=None, command= Link Here 
217
217
218
def get_user_dn(username, password, master):
218
def get_user_dn(username, password, master):
219
	"""Get the LDAP DN for the given username."""
219
	"""Get the LDAP DN for the given username."""
220
	result = umc(username, password, master, 'udm/query', {"objectProperty": "username", "objectPropertyValue": username}, 'users/user')
220
	ssh = get_ssh_connection(username, password, master)
221
	result = [ientry.get('$dn$') for ientry in result if ientry.get('username') == username]
221
	stdin, stdout, stderr = ssh.exec_command(' '.join([pipes.quote(x) for x in ['/usr/bin/sudo', '/usr/bin/univention-ldapsearch', '-LLLoldif-wrap=no', filter_format('(&(uid=%s)(objectClass=person))', [username]), 'dn']]))
222
	try:
222
	for line in stdout.splitlines():
223
		return result[0]
223
		match = re.match('^dn: (.*)\s*$', line)
224
	except IndexError:
224
		if match:
225
		pass
225
			return match.group(1)
226
226
227
227
228
def create_ou_local(ou, displayName):
228
def create_ou_local(ou, displayName):
 Lines 579-584   class Instance(Base): Link Here 
579
		except univention.uldap.ldap.LDAPError as err:
579
		except univention.uldap.ldap.LDAPError as err:
580
			MODULE.warn('LDAP connection to %s failed: %s' % (master, err))
580
			MODULE.warn('LDAP connection to %s failed: %s' % (master, err))
581
			return {'success': False, 'error': _('The LDAP connection to the master system %s failed.') % master}
581
			return {'success': False, 'error': _('The LDAP connection to the master system %s failed.') % master}
582
		except socket.gaierror as exc:
583
			MODULE.warn('Could not connect to master system %s: %s' % (master, exc))
584
			return {'success': False, 'error': _('Cannot connect to the master domain controller system %s. Please make sure that the system is reachable. If not this could be due to wrong DNS nameserver settings.') % master}
585
		except paramiko.SSHException as exc:
586
			MODULE.warn('Could not connect to master system %s: %s' % (master, exc))
587
			return {'success': False, 'error': _('Cannot connect to the master domain controller system %s. It seems that the specified domain credentials are not valid.') % master}
582
588
583
		return {'success': True, 'schoolinfo': values}
589
		return {'success': True, 'schoolinfo': values}
584
590

Return to bug 41007