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