> On 2014-04-28, mtrainer@??? [1] wrote:
>
>> Hi All, I
am migrating users from a CPanel system and have users that authenticate
using user+domain instead of the usual user@domain format. How do I
support using both the '+" and '@' separators in Exim?
>
> put users in
the database with both forms of
> username or use like
${sg{$username}{@}{+}}
> in place of $username to translate the one
>
form to the other.
>
> (none of the authenticators use $username
> but
they have something equivalent)
>
> -- umop apisdn
Sorry for the slow
reply ...
My users are in ldap. The authentication acl's are below. I
couldn't get the extra (accountStatus=active) bit working yet also. The
translation of + to @ in the username will be easier that adding
multiple userid's in ldap. Not sure how to do that in the acl's below?
It is only a small percentage of users that use the user+domain format
but enough to have to fix the issue.
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if ldapauth { user="${lookup
ldapdn{ LDAPS/LDAPBASE?dn?sub?(mail=$1)}}" pass=${quote:$2}
LDAPS/}{yes}{no}}
#server_condition = ${if ldapauth { user="${lookup
ldapdn{ LDAPS/LDAPBASE?dn?sub?(&(mail=$1)(accountStatus=active))}}"
pass=${quote:$2} LDAPS/
}{yes}{no}}
server_prompts = :
server_set_id =
$1
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${if ldapauth { user="${lookup ldapdn{
LDAPS/LDAPBASE?dn?sub?(mail=$1)}}" pass=${quote:$2} LDAPS/}{yes}{no}}
#server_condition = ${if ldapauth { user="${lookup ldapdn{
LDAPS/LDAPBASE?dn?sub?(&(mail=$1)(accountStatus=active)}}"
pass=${quote:$2} LDAPS/}
{yes}{no}}
server_prompts = Username:: :
Password::
server_set_id = $1
Thanks for your help
Murray
Links:
------
[1]
mailto:mtrainer@cloud-free.com
[2]
mailto:mtrainer@cloud-free.com