Mehrere Dovecot-Attribute aus einem LDAP-Attribut extrahieren
Michael Schulz
mail at michaonline.de
Di Jul 12 16:21:16 CEST 2016
Halle Liste,
nachdem ich hier schon einige Zeit mitlese, habe ich mal eine merkwürdige Frage. Im Dovecot-Buch steht die Zuweisung von LDAP-Attributen zu Dovecot-Attributen user_attrs bzw. pass_attrs in dovecot-ldap.conf.ext ja gut beschrieben. Das funktioniert soweit auch.
Was aber, wenn zwei Dovecot-Attribute zusammen in einem LDAP-Attribut vorliegen?
Ziel ist es, einen alten Perdition-Proxy (aus Gründen) abzulösen und Dovecot zunächst im Proxy-Maybe-Modus an einen IMAP-Server im Backend anzubinden, und dann nach und nach alle User vom alten Backend auf Dovecot zu migrieren. Blöder Weise steht Backend-Username + Backend-Servername in einem Attribut im LDAP, z.B. in der Form:
mailRouting: <username>@<server>
Jetzt würde ich gern <username> in "user" stecken und <server> in "host", aber ich befürchte, genau das geht nicht, oder? (Bis jetzt ist mir jedenfalls noch kein derartiges Config-Beispiel unter gekommen...)
Mit Perdition ging das über
map_library /usr/lib/libperditiondb_ldap.so.0
map_library_opt "ldap://<ldap-server>/<base-dn>?mailrouting?sub?(uid=%s)"
server_ok_line
username_from_database
Perdition connected sich dann an <server> und loggt sich dort mit <username> ein.
Und ja, den Usernamen bekomm ich auch z.B. über uid normalisiert, aber die Werte in mailRouting sind halt eindeutig und der Weg, um den Target-Backend-Server zu ermitteln.
Viele Grüße
Micha
Mehr Informationen über die Mailingliste Dovecot