Bug im Paket univention-ad-connector-exchange?

german
ad-connection
replication
exchange

#1

bin in einer gemischten Umgebung mit UCS im AD-Membermodus auf zwei Probleme gestossen. Zunächst wollte ich UCS als Mailrelay zu einem Exchange Server vorbereiten und habe dazu das Paket univention-ad-connector-exchange installiert. Die Replikation, wie z.B. sekundäre Emailadresse klappte anschließend auch.

Zum 1. Problem:
Neue Verteilerlisten oder Änderungen an bestehenden Gruppen werden nicht repliziert. Der Befehl univention-connector-list-rejected zeigt momentan 10 Einträge bei AD-rejected an, alles Gruppen mit Emailadresse. So dachte ich mir, ok, deinstalliere ich das Paket wieder - leider bleiben die univention-connector-list-rejected Einträge bestehen. Obendrein ist noch etwas passiert…

zum 2. Problem:
Nach Deinstallation des Paketes univention-ad-connector-exchange funktioniert die LDAP Authentifizierung nicht mehr, weder am UCS Master noch am UCS Backup. Das hat sich recht schnell bemerkbar gemacht, als sich kein Anwender mehr an SuiteCRM (UCS APP, Memberserver) und Alfresco (Cool Solution, Memberserver) anmelden konnte.

Da man ohne weitere Probleme das Paket nicht deinstallieren kann, bleibt es erst mal installiert. Aber wie bekommt man die zurückgewiesenen Objekte von univention-connector-list-rejected repliziert?

/var/log/univention/connector.log
19.02.2018 17:07:18,926 LDAP        (PROCESS): sync to ucs: Resync rejected dn: CN=Passau,OU=Distribution,OU=Groups,OU=firma,DC=firma,DC=de
19.02.2018 17:07:18,932 LDAP        (PROCESS): sync to ucs:   [         group] [    modify] cn=passau,ou=distribution,ou=groups,ou=firma,dc=firma,dc=de
19.02.2018 17:07:18,934 LDAP        (ERROR  ): Unknown Exception during sync_to_ucs
19.02.2018 17:07:18,934 LDAP        (ERROR  ): Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/connector/__init__.py", line 1357, in sync_to_ucs
    result = self.modify_in_ucs(property_type, object, module, position)
  File "/usr/lib/pymodules/python2.7/univention/connector/__init__.py", line 1192, in modify_in_ucs
    self.__set_values(property_type, object, ucs_object)
  File "/usr/lib/pymodules/python2.7/univention/connector/__init__.py", line 1127, in __set_values
    set_values(self.property[property_type].attributes[attr_key])
  File "/usr/lib/pymodules/python2.7/univention/connector/__init__.py", line 1081, in set_values
    compare = [ucs_object[ucs_key], value]
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 329, in __getitem__
    elif key not in self.__no_default and self.descriptions[key].editable:
KeyError: 'mailAlternativeAddress'

Das Feld mailAlternativeAddress habe ich bereits genauer angeschaut, kann aber nichts auffälliges, wie Leerzeichen oder Sonderzeichen, finden. Und beim initialien Sync hat es ja funktioniert.

univention-app info
UCS: 4.2-3 errata305
App Center compatibility: 4
Installed: adconnector=11.0 cups=1.7.5 mailserver=11 nagios=3.5 radius=4.0 samba-memberserver=4.6 self-service=2.0 uvmm=6 4.1/horde=5.2.7-3
Upgradable:

Gruß,
Dirk


#2

Hierzu gibt es was zu ergänzen. Das Deinstallieren/Neuinstallieren des Paketes hatte noch einen deftigen Nebeneffekt. Der LDAP Sync Mechanismus von Alfresco war der Meinung, es gibt neue Benutzer und hat diese neu repliziert - mit dem Ergebnis, dass alle Benutzereinstellungen in Alfresco (wie Site Berechtigungen) futsch waren. Ein Restore der Alfresco Datenbank war angesagt.

Die Sache mit den zurückgewiesenen Connector-Einträgen konnte ich lösen, als mir auffiel, dass die Verteilergruppen nur eine Emailadresse haben und somit das Feld mailAlternativeAddress nicht unbedingt gebraucht wird. Mapping deaktiviert mit…
ucr set connector/ad/mapping/group/alternativemail=false

Dann noch den Service univention-ad-connector neugestartet und schon sind die Fehler verschwunden. Für mich ist dieses Thema also erledigt.