Re: Enabling email based logins on existing system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Steve,

as you can see in the source code, if an authorization ID ends with the default domain, that domain is stripped from the authorization ID.  It is not like you prefer - to add the default domain, if there is no domain.

In your case the users exist in the default domain ⇔ have no domain.  You can create one more domain and then see how on the file system the new folders are located (if UUID folders are not enabled - I do not use it, and you do not use it either, as your Cyrus version is old enough).

As you seem comfortable with modifying the Cyrus IMAP code, I suggest you try to adjust the imap/global.c:canonify_userid() function to strip also sample.domain.com.  But this will not be a sufficient change, if you use CalDAV/CardDAV, which you don's use, as the support of these in your Cyrus IMAP version is not good.  Just look for all places, where  config_defdomain  is used. 

It might or might not work in your case, if you keep loginrealms: imap.samle.domain.com and change defaultdomain: sample.domain.com - I do not remember now the details.  You might not need loginrealms.

Greetings
  Дилян
-----Original Message-----
From: Steve Turner <sdturne@xxxxxxxxxx>
Reply-To: Info <info@xxxxxxxxxxxxxxxxxx>
To: Info <info@xxxxxxxxxxxxxxxxxx>
Subject: Re: Enabling email based logins on existing system
Date: 18/09/24 18:01:39

It would probably help if I spelled "virtdomains" correctly in the imapd.conf file...  I had been using "virtualdomains" instead and not surprisingly that was doing nothing.  But I AM surprised that no error message is produced when an unrecognized option is specified (that would have saved me a lot of trouble).   I guess I can see the logic behind that if options that are applicable to a particular module are specified but the module is not loaded - you wouldn't want errors being produced
simply because an optional module was not loaded.

Anyway, my current configuration requires the following settings to work properly:

virtdomains: userid
defaultdomain: imap.sample.domain.com
loginrealms: imap.sample.domain.com
This is fine, but in the real world our email addresses are of the form "person@xxxxxxxxxxxxxxxxx" and our MX mail exchange systems (which serve the "sample.domain.com" domain) redirect emails to the actual IMAP server which is named "imap.sample.domain.com".   It would be nice if our users could use either domain as their login ID, and loginrealms allows this:
loginrealms: imap.sample.domain.com sample.domain.com
However, virtdomains only works if defaultdomain is specified, and defaultdomain only allows one value.  This seems incorrect.   I would expect defaultdomain to only be used when a local-part (e.g. "person") login is specified, then the concatenation of "person@<defaultdomain>" would be used as the login name (and compared against loginrealms as it is when a user specifies a full email address).  Why allow logins against any domain listed in loginrealms to succeed if the code turns around and
rejects any that aren't the defaultdomain?
Cyrus / Info / seediscussions +participants +delivery options
Permalink


------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/Tae2b59346d586220-M09077ee0dd382ee5d96f0c19
Delivery options: https://cyrus.topicbox.com/groups/info/subscription




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]
  Powered by Linux