Re: [Dovecot] Another hint from the clue box 8-) imapc/imap proxy user mailbox server location
On 12.3.2012, at 20.57, Terry Carmen wrote: >> If you can use userdb passwd-file and export the data to that file, it'll >> work. http://wiki2.dovecot.org/AuthDatabase/PasswdFile >> >> Example line: >> >> user1::1000:1000::/home/user::userdb_imapc_host=exch1.example.com >> >> Note that you can't then return any userdb fields from passdb ldap lookup. > > That doesn't seem to work because I can't create the passdb file containing > the user's password, since they're only known to the remote IMAP server that > I want imapproxy to connect to. Well, you could allow users to log in with any password and then let it just fail later at imapc login, but that's a bit ugly. You could also use passdb imap {} + userdb passwd-file {} with some extra work. The authentication would be done against the remote imap server, while the userdb_imapc_host would be looked up from the passwd-file. > What would be perfect is if I could do something like this: > > > > http://wiki.dovecot.org/HowTo/ImapProxy#IMAP_and_POP3_session_proxying > Proxy only server .. > All I really need is a way to lookup the user's home IMAP server when given > the username, as above. > > Does imapproxy still support this 1.x feature? This describes a regular dummy proxying setup. Sure you could still do that, but it's not imapc proxying. http://wiki2.dovecot.org/PasswordDatabase/ExtraFields/Proxy
Re: [Dovecot] Another hint from the clue box 8-) imapc/imap proxy user mailbox server location
On 03/04/2012 09:58 AM, Timo Sirainen wrote: On 4.3.2012, at 16.48, Terry Carmen wrote: pass_attrs = ..., \ msExchHomeServerName=userdb_imapc_host=%49.100$.example.com If the prefix differs, but all of the exchange server names have the same length, for example 10, you can also do: pass_attrs = ..., \ msExchHomeServerName=userdb_imapc_host=%-10$.example.com There's no otherwise nice way to parse this string. If by prefix, you mean the "/O=example/OU=INT/cn=Configuration/cn=Servers/" part, then, yes, they're different. OK, so if the prefix or suffix isn't always the same length you can't do the above. I could export the data to a text file as username:homeexchangeserver (or whatever other format is needed). homeservers.txt: user1:exch1.example.com user2:exch1.example.com user3:exch1.example.com user4:exch2.example.com Is it possible to do a lookup in a text file to get this? If you can use userdb passwd-file and export the data to that file, it'll work. http://wiki2.dovecot.org/AuthDatabase/PasswdFile Example line: user1::1000:1000::/home/user::userdb_imapc_host=exch1.example.com Note that you can't then return any userdb fields from passdb ldap lookup. That doesn't seem to work because I can't create the passdb file containing the user's password, since they're only known to the remote IMAP server that I want imapproxy to connect to. What would be perfect is if I could do something like this: http://wiki.dovecot.org/HowTo/ImapProxy#IMAP_and_POP3_session_proxying Proxy only server . . . In this document I assume that Dovecot is installed under /opt/dovecot, by default it is installed under /usr/local when compiling from source. Examples in this document are for MySQL but configs do not differ much with PostgreSQL. SQL table structure Create SQL table like CREATE TABLE proxy ( user varchar(255) NOT NULL, host varchar(16) default NULL, destuser varchar(255) default NULL, PRIMARY KEY (user) ); // All I really need is a way to lookup the user's home IMAP server when given the username, as above. Does imapproxy still support this 1.x feature? Thanks! Terry
Re: [Dovecot] Another hint from the clue box 8-) imapc/imap proxy user mailbox server location
On 4.3.2012, at 16.48, Terry Carmen wrote: >> pass_attrs = ..., \ >> msExchHomeServerName=userdb_imapc_host=%49.100$.example.com >> >> If the prefix differs, but all of the exchange server names have the same >> length, for example 10, you can also do: >> >> pass_attrs = ..., \ >> msExchHomeServerName=userdb_imapc_host=%-10$.example.com >> There's no otherwise nice way to parse this string. > > > If by prefix, you mean the "/O=example/OU=INT/cn=Configuration/cn=Servers/" > part, then, yes, they're different. OK, so if the prefix or suffix isn't always the same length you can't do the above. > I could export the data to a text file as username:homeexchangeserver (or > whatever other format is needed). > > homeservers.txt: > user1:exch1.example.com > user2:exch1.example.com > user3:exch1.example.com > user4:exch2.example.com > > Is it possible to do a lookup in a text file to get this? If you can use userdb passwd-file and export the data to that file, it'll work. http://wiki2.dovecot.org/AuthDatabase/PasswdFile Example line: user1::1000:1000::/home/user::userdb_imapc_host=exch1.example.com Note that you can't then return any userdb fields from passdb ldap lookup.
Re: [Dovecot] Another hint from the clue box 8-) imapc/imap proxy user mailbox server location
- Message from Timo Sirainen - Date: Sun, 4 Mar 2012 14:45:48 +0200 From: Timo Sirainen Subject: Re: [Dovecot] Another hint from the clue box 8-) imapc/imap proxy user mailbox server location To: Terry Carmen Cc: dovecot@dovecot.org On 2.3.2012, at 0.35, Terry Carmen wrote: With the exchange server being returned in the msExchHomeServerName property as: /O=example/OU=INT/cn=Configuration/cn=Servers/cn=exchangeservername I believe this should somehow end up in the userdb section, which currently contains "driver = prefetch", but can't seem to figure out specifically what should be there. .. > The only important part is "cn=exchangeservername", which is the machine name and would need to be prepended to example.com to get the fqdn. Do all of the values have the same prefix? Then I guess you can do: pass_attrs = ..., \ msExchHomeServerName=userdb_imapc_host=%49.100$.example.com If the prefix differs, but all of the exchange server names have the same length, for example 10, you can also do: pass_attrs = ..., \ msExchHomeServerName=userdb_imapc_host=%-10$.example.com There's no otherwise nice way to parse this string. If by prefix, you mean the "/O=example/OU=INT/cn=Configuration/cn=Servers/" part, then, yes, they're different. I could export the data to a text file as username:homeexchangeserver (or whatever other format is needed). homeservers.txt: user1:exch1.example.com user2:exch1.example.com user3:exch1.example.com user4:exch2.example.com Is it possible to do a lookup in a text file to get this? Terry
Re: [Dovecot] Another hint from the clue box 8-) imapc/imap proxy user mailbox server location
On 2.3.2012, at 0.35, Terry Carmen wrote: > With the exchange server being returned in the msExchHomeServerName property > as: > > /O=example/OU=INT/cn=Configuration/cn=Servers/cn=exchangeservername > > I believe this should somehow end up in the userdb section, which currently > contains "driver = prefetch", but can't seem to figure out specifically what > should be there. .. > The only important part is "cn=exchangeservername", which is the machine name > and would need to be prepended to example.com to get the fqdn. Do all of the values have the same prefix? Then I guess you can do: pass_attrs = ..., \ msExchHomeServerName=userdb_imapc_host=%49.100$.example.com If the prefix differs, but all of the exchange server names have the same length, for example 10, you can also do: pass_attrs = ..., \ msExchHomeServerName=userdb_imapc_host=%-10$.example.com There's no otherwise nice way to parse this string.