[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."