On Monday 27 March 2006 13:56, Graeme Fowler wrote:
> On Mon, 2006-03-27 at 12:57 -0500, daniel wrote:
> <snip>
>
> > So it looks like these lines in my config are doing it:
> >
> > accept authenticated = *
> > control = submission
>
> What are the details of your authenticator section? I'd suggest it's the
> "server_set_id = <something>" which is the source of your problem - it's
> probable that it's setting the quotes, or you (or your clients) are
> sending their usernames in quotes, or you have them quoted in a database
> somewhere.
Here's what I have in my authenticators section:
begin authenticators
lookup_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{MYSQL_AUTH_PLAIN}{1}fail}
server_set_id = $2
lookup_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{MYSQL_AUTH_LOGIN}{yes}fail}
server_set_id = $1
The MSQL_* macros look like this:
MYSQL_AUTH_PLAIN = SELECT 1 \
FROM users u \
INNER JOIN domains d
ON u.domain = d.id \
WHERE CONCAT(u.local_part, '@', d.domain) = '${quote_mysql:$2}' \
AND password = '${quote_mysql:$3}'
MYSQL_AUTH_LOGIN = SELECT 1 \
FROM users u \
INNER JOIN domains d \
ON u.domain = d.id \
WHERE CONCAT(u.local_part, '@', d.domain) = '${quote_mysql:$1}' \
AND password = '${quote_mysql:$2}'
The database itself has no quotes in it and running the queries themselves
return both return "1" upon success. Is there a way to get Exim to somehow
"echo out" the value of $server_set_id somehow?
--
My friends, watch out for the little fellow with an idea
- Tommy Douglas