Hello everyone,
I'm trying to make dovecot do user authentication against a SQL database. The passwords (managed by Django) are stored as salted SHA1 encoded in hex. I monkey patched Django's password method so that the password hash is made with <password><salt> (Django does <salt><password>, the patched method was verified to return same value as dovecotpw) and the passwords are stored in the database separately as the salted hash and the salt. When I query the values out of the database, I'm using MySQL's concat function to return the password as {SSHA.hex}<sha1 hash><salt>. Dovecot is not able to verify any passwords right now. I've scoured the wiki and I think my setup is correct...config info is below. Any advice on where to look for debugging or setup of my passwords would be appreciated!
Ben
dovecot-sql.conf:
default_pass_scheme = SSHA.hex
password_query =
SELECT emailmanager_emailaddresses.account AS username,
emailmanager_domain.name AS domain,
CONCAT('{SSHA.hex}',
emailmanager_userprofile.shadigest,
emailmanager_userprofile.salt
) AS password
FROM emailmanager_emailaddresses
JOIN emailmanager_domain ON emailmanager_emailaddresses.id =
emailmanager_domain.id
JOIN emailmanager_userprofile ON
emailmanager_emailaddresses.id = emailmanager_userprofile.id
WHERE emailmanager_emailaddresses.account = '%n'
AND emailmanager_domain.name = '%d'