Lines 192-198
def encode_s4_object(s4_object):
|
Link Here
|
---|
|
192 |
else: |
192 |
else: |
193 |
try: |
193 |
try: |
194 |
s4_object[key] = encode_attriblist(s4_object[key]) |
194 |
s4_object[key] = encode_attriblist(s4_object[key]) |
195 |
except (ldap.SERVER_DOWN, SystemExit): |
195 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
196 |
raise |
196 |
raise |
197 |
except: # FIXME: which exception is to be caught? |
197 |
except: # FIXME: which exception is to be caught? |
198 |
ud.debug(ud.LDAP, ud.WARN, "encode_s4_object: encode attrib %s failed, ignored!" % key) |
198 |
ud.debug(ud.LDAP, ud.WARN, "encode_s4_object: encode attrib %s failed, ignored!" % key) |
Lines 1123-1129
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
1123 |
except: # FIXME: which exception is to be caught? |
1123 |
except: # FIXME: which exception is to be caught? |
1124 |
ud.debug(ud.LDAP, ud.INFO, "get_object: got object: <print failed>") |
1124 |
ud.debug(ud.LDAP, ud.INFO, "get_object: got object: <print failed>") |
1125 |
return dn |
1125 |
return dn |
1126 |
except (ldap.SERVER_DOWN, SystemExit): |
1126 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
1127 |
if i == 0: |
1127 |
if i == 0: |
1128 |
self.open_s4() |
1128 |
self.open_s4() |
1129 |
continue |
1129 |
continue |
Lines 1191-1197
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
1191 |
except: # FIXME: which exception is to be caught? |
1191 |
except: # FIXME: which exception is to be caught? |
1192 |
ud.debug(ud.LDAP, ud.INFO, "get_object: got object: <print failed>") |
1192 |
ud.debug(ud.LDAP, ud.INFO, "get_object: got object: <print failed>") |
1193 |
return encode_s4_object(s4_object) |
1193 |
return encode_s4_object(s4_object) |
1194 |
except (ldap.SERVER_DOWN, SystemExit): |
1194 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
1195 |
if i == 0: |
1195 |
if i == 0: |
1196 |
self.open_s4() |
1196 |
self.open_s4() |
1197 |
continue |
1197 |
continue |
Lines 1320-1326
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
1320 |
else: |
1320 |
else: |
1321 |
# Every object has got a uSNCreated |
1321 |
# Every object has got a uSNCreated |
1322 |
returnObjects = search_s4_changes_by_attribute('uSNCreated', lastUSN + 1) |
1322 |
returnObjects = search_s4_changes_by_attribute('uSNCreated', lastUSN + 1) |
1323 |
except (ldap.SERVER_DOWN, SystemExit): |
1323 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
1324 |
raise |
1324 |
raise |
1325 |
except ldap.SIZELIMIT_EXCEEDED: |
1325 |
except ldap.SIZELIMIT_EXCEEDED: |
1326 |
# The LDAP control page results was not sucessful. Without this control |
1326 |
# The LDAP control page results was not sucessful. Without this control |
Lines 1735-1741
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
1735 |
s4_members_from_ucs.add(s4_dn.lower()) |
1735 |
s4_members_from_ucs.add(s4_dn.lower()) |
1736 |
self.group_member_mapping_cache_ucs[member_dn.lower()] = s4_dn |
1736 |
self.group_member_mapping_cache_ucs[member_dn.lower()] = s4_dn |
1737 |
self.__group_cache_ucs_append_member(object_ucs_dn, member_dn) |
1737 |
self.__group_cache_ucs_append_member(object_ucs_dn, member_dn) |
1738 |
except (ldap.SERVER_DOWN, SystemExit): |
1738 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
1739 |
raise |
1739 |
raise |
1740 |
except: # FIXME: which exception is to be caught? |
1740 |
except: # FIXME: which exception is to be caught? |
1741 |
ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: failed to get S4 dn for UCS group member %s, assume object doesn't exist" % member_dn) |
1741 |
ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: failed to get S4 dn for UCS group member %s, assume object doesn't exist" % member_dn) |
Lines 1759-1765
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
1759 |
## Keep the member in Samba/AD if it's also present in OpenLDAP but ignored in synchronization? |
1759 |
## Keep the member in Samba/AD if it's also present in OpenLDAP but ignored in synchronization? |
1760 |
s4_members_from_ucs.add(member_dn.lower()) |
1760 |
s4_members_from_ucs.add(member_dn.lower()) |
1761 |
ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: Object ignored in S4 [%s], key = [%s]" % (ucs_dn, mo_key)) |
1761 |
ud.debug(ud.LDAP, ud.INFO, "group_members_sync_from_ucs: Object ignored in S4 [%s], key = [%s]" % (ucs_dn, mo_key)) |
1762 |
except (ldap.SERVER_DOWN, SystemExit): |
1762 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
1763 |
raise |
1763 |
raise |
1764 |
except: # FIXME: which exception is to be caught? |
1764 |
except: # FIXME: which exception is to be caught? |
1765 |
self._debug_traceback(ud.INFO, "group_members_sync_from_ucs: failed to get UCS dn for S4 group member %s" % member_dn) |
1765 |
self._debug_traceback(ud.INFO, "group_members_sync_from_ucs: failed to get UCS dn for S4 group member %s" % member_dn) |
Lines 1826-1832
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
1826 |
ud.debug(ud.LDAP, ud.ALL, "group_members_sync_from_ucs: modlist: %s" % modlist_members) |
1826 |
ud.debug(ud.LDAP, ud.ALL, "group_members_sync_from_ucs: modlist: %s" % modlist_members) |
1827 |
try: |
1827 |
try: |
1828 |
self.lo_s4.lo.modify_s(compatible_modstring(object['dn']), [(ldap.MOD_REPLACE, 'member', modlist_members)]) |
1828 |
self.lo_s4.lo.modify_s(compatible_modstring(object['dn']), [(ldap.MOD_REPLACE, 'member', modlist_members)]) |
1829 |
except (ldap.SERVER_DOWN, SystemExit): |
1829 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
1830 |
raise |
1830 |
raise |
1831 |
except: # FIXME: which exception is to be caught? |
1831 |
except: # FIXME: which exception is to be caught? |
1832 |
ud.debug(ud.LDAP, ud.WARN, "group_members_sync_from_ucs: failed to sync members: (%s,%s)" % (object['dn'], [(ldap.MOD_REPLACE, 'member', modlist_members)])) |
1832 |
ud.debug(ud.LDAP, ud.WARN, "group_members_sync_from_ucs: failed to sync members: (%s,%s)" % (object['dn'], [(ldap.MOD_REPLACE, 'member', modlist_members)])) |
Lines 2013-2019
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2013 |
self.__group_cache_con_append_member(s4_object_dn, member_dn) |
2013 |
self.__group_cache_con_append_member(s4_object_dn, member_dn) |
2014 |
else: |
2014 |
else: |
2015 |
ud.debug(ud.LDAP, ud.INFO, "Failed to find %s via self.lo.get" % ucs_dn) |
2015 |
ud.debug(ud.LDAP, ud.INFO, "Failed to find %s via self.lo.get" % ucs_dn) |
2016 |
except (ldap.SERVER_DOWN, SystemExit): |
2016 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2017 |
raise |
2017 |
raise |
2018 |
except: # FIXME: which exception is to be caught? |
2018 |
except: # FIXME: which exception is to be caught? |
2019 |
ud.debug(ud.LDAP, ud.INFO, "group_members_sync_to_ucs: failed to get UCS dn for S4 group member %s, assume object doesn't exist" % member_dn) |
2019 |
ud.debug(ud.LDAP, ud.INFO, "group_members_sync_to_ucs: failed to get UCS dn for S4 group member %s, assume object doesn't exist" % member_dn) |
Lines 2047-2053
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2047 |
ucs_members_from_s4[k].append(member_dn_lower) |
2047 |
ucs_members_from_s4[k].append(member_dn_lower) |
2048 |
break |
2048 |
break |
2049 |
|
2049 |
|
2050 |
except (ldap.SERVER_DOWN, SystemExit): |
2050 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2051 |
raise |
2051 |
raise |
2052 |
except: # FIXME: which exception is to be caught? |
2052 |
except: # FIXME: which exception is to be caught? |
2053 |
self._debug_traceback(ud.INFO, "group_members_sync_to_ucs: failed to get S4 dn for UCS group member %s" % member_dn) |
2053 |
self._debug_traceback(ud.INFO, "group_members_sync_to_ucs: failed to get S4 dn for UCS group member %s" % member_dn) |
Lines 2254-2260
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2254 |
sync_successfull = self.sync_to_ucs(property_key, mapped_object, dn, object) |
2254 |
sync_successfull = self.sync_to_ucs(property_key, mapped_object, dn, object) |
2255 |
else: |
2255 |
else: |
2256 |
sync_successfull = True |
2256 |
sync_successfull = True |
2257 |
except (ldap.SERVER_DOWN, SystemExit): |
2257 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2258 |
raise |
2258 |
raise |
2259 |
except: # FIXME: which exception is to be caught? |
2259 |
except: # FIXME: which exception is to be caught? |
2260 |
self._debug_traceback(ud.ERROR, "sync of rejected object failed \n\t%s" % (object['dn'])) |
2260 |
self._debug_traceback(ud.ERROR, "sync of rejected object failed \n\t%s" % (object['dn'])) |
Lines 2264-2270
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2264 |
self._remove_rejected(id) |
2264 |
self._remove_rejected(id) |
2265 |
self.__update_lastUSN(object) |
2265 |
self.__update_lastUSN(object) |
2266 |
self._set_DN_for_GUID(elements[0][1]['objectGUID'][0], elements[0][0]) |
2266 |
self._set_DN_for_GUID(elements[0][1]['objectGUID'][0], elements[0][0]) |
2267 |
except (ldap.SERVER_DOWN, SystemExit): |
2267 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2268 |
raise |
2268 |
raise |
2269 |
except Exception, msg: |
2269 |
except Exception, msg: |
2270 |
self._debug_traceback(ud.ERROR, "unexpected Error during s4.resync_rejected") |
2270 |
self._debug_traceback(ud.ERROR, "unexpected Error during s4.resync_rejected") |
Lines 2282-2288
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2282 |
changes = [] |
2282 |
changes = [] |
2283 |
try: |
2283 |
try: |
2284 |
changes = self.__search_s4_changes(show_deleted=show_deleted) |
2284 |
changes = self.__search_s4_changes(show_deleted=show_deleted) |
2285 |
except (ldap.SERVER_DOWN, SystemExit): |
2285 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2286 |
raise |
2286 |
raise |
2287 |
except: # FIXME: which exception is to be caught? |
2287 |
except: # FIXME: which exception is to be caught? |
2288 |
self._debug_traceback(ud.WARN, "Exception during search_s4_changes") |
2288 |
self._debug_traceback(ud.WARN, "Exception during search_s4_changes") |
Lines 2299-2305
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2299 |
# Check if the connection to UCS ldap exists. Otherwise re-create the session. |
2299 |
# Check if the connection to UCS ldap exists. Otherwise re-create the session. |
2300 |
try: |
2300 |
try: |
2301 |
self.search_ucs(scope=ldap.SCOPE_BASE) |
2301 |
self.search_ucs(scope=ldap.SCOPE_BASE) |
2302 |
except ldap.SERVER_DOWN: |
2302 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT): |
2303 |
ud.debug(ud.LDAP, ud.INFO, "UCS LDAP connection was closed, re-open the connection.") |
2303 |
ud.debug(ud.LDAP, ud.INFO, "UCS LDAP connection was closed, re-open the connection.") |
2304 |
self.open_ucs() |
2304 |
self.open_ucs() |
2305 |
|
2305 |
|
Lines 2346-2352
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2346 |
sync_successfull = self.sync_to_ucs(property_key, mapped_object, object['dn'], object) |
2346 |
sync_successfull = self.sync_to_ucs(property_key, mapped_object, object['dn'], object) |
2347 |
else: |
2347 |
else: |
2348 |
sync_successfull = True |
2348 |
sync_successfull = True |
2349 |
except ldap.SERVER_DOWN: |
2349 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT): |
2350 |
ud.debug(ud.LDAP, ud.ERROR, "Got server downn during sync, re-open ucs and s4 the connection") |
2350 |
ud.debug(ud.LDAP, ud.ERROR, "Got server downn during sync, re-open ucs and s4 the connection") |
2351 |
time.sleep(1) |
2351 |
time.sleep(1) |
2352 |
self.open_ucs() |
2352 |
self.open_ucs() |
Lines 2378-2384
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2378 |
try: |
2378 |
try: |
2379 |
GUID = old_element[1]['objectGUID'][0] |
2379 |
GUID = old_element[1]['objectGUID'][0] |
2380 |
self._set_DN_for_GUID(GUID, old_element[0]) |
2380 |
self._set_DN_for_GUID(GUID, old_element[0]) |
2381 |
except (ldap.SERVER_DOWN, SystemExit): |
2381 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2382 |
raise |
2382 |
raise |
2383 |
except: # FIXME: which exception is to be caught? |
2383 |
except: # FIXME: which exception is to be caught? |
2384 |
self._debug_traceback(ud.WARN, "Exception during set_DN_for_GUID") |
2384 |
self._debug_traceback(ud.WARN, "Exception during set_DN_for_GUID") |
Lines 2446-2452
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2446 |
# the old object was moved in UCS, but does this object exist in S4? |
2446 |
# the old object was moved in UCS, but does this object exist in S4? |
2447 |
try: |
2447 |
try: |
2448 |
old_object = self.lo_s4.lo.search_ext_s(compatible_modstring(old_dn), ldap.SCOPE_BASE, 'objectClass=*', timeout=-1, sizelimit=0) |
2448 |
old_object = self.lo_s4.lo.search_ext_s(compatible_modstring(old_dn), ldap.SCOPE_BASE, 'objectClass=*', timeout=-1, sizelimit=0) |
2449 |
except (ldap.SERVER_DOWN, SystemExit): |
2449 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2450 |
raise |
2450 |
raise |
2451 |
except: |
2451 |
except: |
2452 |
old_object = None |
2452 |
old_object = None |
Lines 2812-2818
class s4(univention.s4connector.ucs):
|
Link Here
|
---|
|
2812 |
if not self.sync_from_ucs(key, subobject_s4, back_mapped_subobject['dn']): |
2812 |
if not self.sync_from_ucs(key, subobject_s4, back_mapped_subobject['dn']): |
2813 |
try: |
2813 |
try: |
2814 |
ud.debug(ud.LDAP, ud.WARN, "delete of subobject failed: %s" % result[0]) |
2814 |
ud.debug(ud.LDAP, ud.WARN, "delete of subobject failed: %s" % result[0]) |
2815 |
except (ldap.SERVER_DOWN, SystemExit): |
2815 |
except (ldap.SERVER_DOWN, ldap.TIMEOUT, SystemExit): |
2816 |
raise |
2816 |
raise |
2817 |
except: # FIXME: which exception is to be caught? |
2817 |
except: # FIXME: which exception is to be caught? |
2818 |
ud.debug(ud.LDAP, ud.WARN, "delete of subobject failed") |
2818 |
ud.debug(ud.LDAP, ud.WARN, "delete of subobject failed") |