[tpop3d-discuss] Another MySQL question
Allan Joergensen
allan at nowhere.dk
Sat, 6 Sep 2003 23:07:36 +0200
Hi,
I'm trying to make tpop3d work with my MySQL virtual mail database (I've
used auth-perl in a pretty large setup and is currently running
courier-pop3d on my box but I'm trying to make tpop3d work with
auth-mysql for the fun of it)
Anyway,
I have
auth-mysql-pass-query: SELECT CONCAT(home, '/Maildir/'), \
CONCAT('{crypt_md5}', crypt), uid, \
'maildir' FROM passwd WHERE id = \
'$(user)' AND en = 1
(I've tried with "CONCAT(home, '/Maildir/')" as well as "home", no
difference):
Sep 6 22:40:40 hades tpop3d[24504]: parse_listeners: listening on address 0.0.0.0:1100
Sep 6 22:40:40 hades tpop3d[24504]: get_mysql_server: now using server localhost
Sep 6 22:40:40 hades tpop3d[24504]: 1 authentication drivers successfully loaded
Sep 6 22:40:40 hades tpop3d[24504]: net_loop: tpop3d version 1.5.1 successfully started
Sep 6 22:40:46 hades tpop3d[24504]: connection_sendresponse: client [6]127.0.0.1/nowhere.dk: sent `+OK
<cf3abd4adf995ee56ec4340a8b292daf@nowhere.dk>'
Sep 6 22:40:46 hades tpop3d[24504]: listeners_post_select: client [6]127.0.0.1/nowhere.dk: connected to local address 127.0.0.1:1100
Sep 6 22:40:51 hades tpop3d[24504]: connection_parsecommand: client [6]127.0.0.1/nowhere.dk: received `user allan@mailtest.nowhere.dk'
Sep 6 22:40:51 hades tpop3d[24504]: connection_sendresponse: client [6]127.0.0.1/nowhere.dk: sent `+OK Tell meyour password.'
Sep 6 22:40:53 hades tpop3d[24504]: connection_parsecommand: client [6]127.0.0.1/nowhere.dk: received `pass [...]'
Sep 6 22:40:53 hades tpop3d[24504]: auth_mysql_new_user_pass: SQL query: SELECT CONCAT(home, '/Maildir/'), CONCAT('{crypt_md5}', crypt), uid, 'maildir' FROM passwd WHERE id = 'allan@mailtest.nowhere.dk' AND en = 1
Sep 6 22:40:53 hades tpop3d[24504]: auth_mysql_new_user_pass: getpwuid(5029): Success
Sep 6 22:40:53 hades tpop3d[24504]: connection_sendresponse: client [6]127.0.0.1/nowhere.dk: sent `-ERR Lies! Try again!'
Sep 6 22:40:53 hades tpop3d[24504]: connection_do: client `[6]127.0.0.1/nowhere.dk': username `allan@mailtest.nowhere.dk': 1 authentication failures
Sep 6 22:41:19 hades tpop3d[24504]: connection_parsecommand: client [6]127.0.0.1/nowhere.dk: received `quit'
Sep 6 22:41:19 hades tpop3d[24504]: connection_sendresponse: client [6]127.0.0.1/nowhere.dk: sent `+OK Fine. Be that way.'
Sep 6 22:41:19 hades tpop3d[24504]: connections_post_select: client [6]127.0.0.1/nowhere.dk: disconnected; 51/126 bytes read/written
However, if I make the query by hand:
mysql> SELECT CONCAT(home, '/Maildir/'), CONCAT('{crypt_md5}', crypt), uid, 'maildir' FROM passwd WHERE id = 'allan@mailtest.nowhere.dk' AND en = 1;
+-----------------------------------------------------+-----------------------------------------------+------+---------+
| CONCAT(home, '/Maildir/') | CONCAT('{crypt_md5}', crypt) | uid | maildir |
+-----------------------------------------------------+-----------------------------------------------+------+---------+
| /home/vmail/mail/mailtest.nowhere.dk/allan/Maildir/ | {crypt_md5}$1$rkRqw/S.$RtCcKT9NZ3aGT3d7osupL/ | 5029 | maildir |
+-----------------------------------------------------+-----------------------------------------------+------+---------+
The documentation says: "These should specify queries which return the mailbox file location,
password hash, Unix user and mailbox type, in that order".
So all in all, I don't understand why it doesn't work.
tia,
--
Allan Joergensen
"Your mother ate my dog!" "Not all of it."