View | Details | Raw Unified | Return to bug 48362 | Differences between
and this patch

Collapse All | Expand All

(-)a/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py (-5 / +9 lines)
 Lines 353-364   def samaccountname_dn_mapping(s4connector, given_object, dn_mapping_stored, ucso Link Here 
353
						newdn = unicode(result[0][0], 'utf8')
353
						newdn = unicode(result[0][0], 'utf8')
354
					else:
354
					else:
355
						s4_rdn = ldap.dn.str2dn(result[0][0])[0]
355
						s4_rdn = ldap.dn.str2dn(result[0][0])[0]
356
						new_s4_dn = unicode(ldap.dn.dn2str([s4_rdn] + exploded_dn[1:]), 'utf8')
356
						tmp_dn_string = unicode(ldap.dn.dn2str([s4_rdn] + exploded_dn[1:]), 'utf8')
357
						pos = new_s4_dn.lower().rfind(s4connector.lo_s4.base.lower())
357
						pos = tmp_dn_string.lower().rfind(s4connector.lo.base.lower())
358
						newdn = new_s4_dn[:pos] + s4connector.lo.base
358
						newdn = tmp_dn_string[:pos] + s4connector.lo_s4.base
359
				else:
359
				else:
360
					newdn_rdn = [('cn', fst_rdn_value_utf8, ldap.AVA_STRING)]
360
					newdn_rdn = [('cn', fst_rdn_value_utf8, ldap.AVA_STRING)]
361
					newdn = unicode(ldap.dn.dn2str([newdn_rdn] + exploded_dn[1:]), 'utf8')  # new object, don't need to change
361
					tmp_dn_string = unicode(ldap.dn.dn2str([newdn_rdn] + exploded_dn[1:]), 'utf8')  # new object, don't need to change
362
					pos = tmp_dn_string.lower().rfind(s4connector.lo.base.lower())
363
					newdn = tmp_dn_string[:pos] + s4connector.lo_s4.base
362
				ud.debug(ud.LDAP, ud.INFO, "samaccount_dn_mapping: newdn: %s" % newdn)
364
				ud.debug(ud.LDAP, ud.INFO, "samaccount_dn_mapping: newdn: %s" % newdn)
363
			else:
365
			else:
364
				# get the object to read the sAMAccountName in S4 and use it as name
366
				# get the object to read the sAMAccountName in S4 and use it as name
 Lines 408-414   def samaccountname_dn_mapping(s4connector, given_object, dn_mapping_stored, ucso Link Here 
408
					else:
410
					else:
409
						newdn_rdn = [(ucsattrib, unicode_to_utf8(samaccountname), ldap.AVA_STRING)]
411
						newdn_rdn = [(ucsattrib, unicode_to_utf8(samaccountname), ldap.AVA_STRING)]
410
412
411
					newdn = unicode(ldap.dn.dn2str([newdn_rdn] + exploded_dn[1:]), 'utf8')  # guess the old dn
413
					tmp_dn_string = unicode(ldap.dn.dn2str([newdn_rdn] + exploded_dn[1:]), 'utf8')  # guess the old dn
414
					pos = tmp_dn_string.lower().rfind(s4connector.lo_s4.base.lower())
415
					newdn = tmp_dn_string[:pos] + s4connector.lo.base
412
			try:
416
			try:
413
				ud.debug(ud.LDAP, ud.INFO, "samaccount_dn_mapping: newdn for key %s:" % dn_key)
417
				ud.debug(ud.LDAP, ud.INFO, "samaccount_dn_mapping: newdn for key %s:" % dn_key)
414
				ud.debug(ud.LDAP, ud.INFO, "samaccount_dn_mapping: olddn: %s" % dn)
418
				ud.debug(ud.LDAP, ud.INFO, "samaccount_dn_mapping: olddn: %s" % dn)

Return to bug 48362