How do you do Cyrus logins with user@fqdn.com???
Igor Brezac
igor at ipass.net
Sun Dec 28 08:13:04 EST 2003
On Sun, 28 Dec 2003, Oliver Jones wrote:
> Hmmm. This seemed to fail to get to the list last time (so I'm posting
> again).
> ---------
>
> I've been beating my head against this for two days now. First with 2.1
> and now with 2.2. I'm desperate for a solution.
>
> I'm trying to setup Cyrus 2.2 to do virtual domain logins authenticating
> off LDAP.
>
> What is happening
> -----------------
>
> Cyrus IMAPd doesn't seem to be passing a full user at example.com login id
> to SASLAUTHD.
>
> When I use cyradm to login as the cyrus user to do some config this is
> what SASLAUTHD sends to my LDAP repository:
>
> conn=28 op=3 BIND dn="UID=CYRUS,OU=PEOPLE,DC=OU-FQDN,DC=TLD" method=128
> conn=28 op=3 RESULT tag=97 err=0 text=
> conn=29 op=2 SRCH base="dc=our-fqdn,dc=tld" scope=2 filter="(uid=cyrus)"
> conn=29 op=2 SEARCH RESULT tag=101 err=0 text=
>
> This is all good. I can login as the cyrus admin user and create
> virtual domain mailboxes and Cyrus correctly creates the mailboxes.
>
> However when I use "imtest -m login -a 'user at example.tld' localhost" (or
> an IMAP client) to try and login as one of our user at example.tld accounts
> it sends this:
>
> conn=26 op=3 BIND dn="UID=CYRUS,OU=PEOPLE,DC=OUR-FQDN,DC=TLD" method=128
> conn=26 op=3 RESULT tag=97 err=0 text=
> conn=27 op=2 SRCH base="dc=our-fqdn,dc=tld" scope=2 filter="(uid=user)"
> conn=27 op=2 SEARCH RESULT tag=101 err=0 text=
>
> Note that it is *not* searching for uid=user at example.tld. Therefore
> does not match my customers LDAP entry (see how we have setup the LDAP
> dir below).
>
> >From the SASLAUTHD docs it suggests that the ldap_filter defaults to
> "uid=%u". %u is supposed to expand to user at domain. But it is not doing
> this.
>
> If I explicitly set SASLAUTHD's ldap_filter to "uid=%u@%d" the lookup
> succeeds however when you don't specify a domain when logging in it
> searches for "uid=user@". This breaks searches for "normal"
> non-virtdomain users like the "cyrus" admin user.
>
Use
ldap_filter: %U@%r
The current version of sasl lib splits a 'fully qualified username' to
userid and realm. I believe this is a wrong behavior because '@' is a
valid userid character and the domain part is really not a realm
identifier in such instances.
Hope this helps.
--
Igor
More information about the Info-cyrus
mailing list