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='%u@%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.boersma@reindeer' AND Active='Y'; My username is edwin.boersma@xxxxxxxxxxxxxxxx, 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.boersma@xxxxxxxxxxxxxxxx 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