Hi,

To be able to have user names like <user>@<our.domain> and
<sameuser>@<another.domain>, I have changed our IMAP config to use
virtual domains. To be able to access the existing mailboxes, I added
the "defaultdomain" option to imapd.conf. The user names were then
renamed from <user> to <user>@<our.domain>, so I would think we could
login.
But we couldn't. We use a sql lookup for authentication and so does
Postfix to find the local users. Now, here I have found a problem.

What happens? At authentication, the (default) domain name appears to
get replaced with the *server's hostname* and the authentication fails.
If I change the user name to <user>@<server name>, it works. But then
Postfix requires the email address to be present in the virtual users
table, pointing to the local user name again. And this is only the case
for the default domain, not for foreign domains.

The server's local name should not be used here, as it is totally
arbitrary. It would make it impossible to e.g. migrate cyrus and Postfix
to another server.

(I hope you still follow)

Here's the imapd.conf:
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
sievedir: /var/lib/sieve
admins: cyrus root

allowanonymouslogin: no
autocreate_users: anyone
autocreatequota: 1000000
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
allowplaintext: yes
lmtp_overquota_perm_failure: no
lmtp_downcase_rcpt: yes
createonpost: yes
unixhierarchysep: yes
virtdomains: yes
defaultdomain: secureoffice.net

sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql
sasl_sql_engine: mysql
sasl_mech_list: login
sasl_sql_hostnames: localhost
sasl_sql_user: mail
sasl_sql_passwd: Love32Home15Should50Travel
sasl_sql_database: maildb
sasl_sql_verbose: yes
sasl_sql_select: SELECT clear AS password FROM users WHERE id='%...@%r'
AND Active='Y'

And this is from the logfile:
Feb 18 16:26:07 reindeer imap[14741]: sql plugin create statement from
userPassword edwin.boersma reindeer
Feb 18 16:26:07 reindeer imap[14741]: sql plugin doing query SELECT
clear AS password FROM users WHERE id='edwin.boer...@reindeer' AND
Active='Y';

My username is edwin.boer...@secureoffice.net, and the server's local
name is reindeer. Is there something wrong in my config, or is this
works-as-designed?

-- 
Kind regards,

Edwin Boersma
Lead Developer Web Applications

SecureOffice Europe AB
Ideon Science Park B2 floor 2
Scheelevägen 17
22363 Lund
Sweden

W: http://www.secureoffice.net
T: +46 462868773
M: +46 709726431

begin:vcard
fn:Edwin Boersma
n:Boersma;Edwin
email;internet:edwin.boer...@secureoffice.net
x-mozilla-html:TRUE
version:2.1
end:vcard

----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to