[tpop3d-discuss] Mass virtual hosting regex problem

Tech Support techsupport at localaccess.com
Tue, 4 Nov 2003 11:44:40 -0800


According to the information in the man page, I've been trying to use the mass
virtual hosting feature. The regex doesn't seem to be working right, though.

I have the following in my config file (pasted right from the man page with
'pop3' changed to 'mail'):
listen-address: 0.0.0.0/^mail\.(.*)$/
append-domain: yes

And the following in my /etc/hosts:
69.10.x.5     mail.foobar.com

tpop3d -d -v starts with the following:
parse_listeners: listening on address 0.0.0.0:110, regex /^mail\.(.*)$/
get_mysql_server: now using server 192.168.6.2
1 authentication drivers successfully loaded
net_loop: tpop3d version 1.5.2 successfully started

But when I log in via telnet:
Trying 69.10.x.5...
Connected to mail.foobar.com.
Escape character is '^]'.
+OK <032ec39ca7ac7a0daa78cc2d6b34094e@mail.foobar.com>
user test
+OK Tell me your password.
pass test
-ERR Authentication failed.

And tpop3d shows:
auth_mysql_new_user_pass: SQL query: SELECT concat(domain.path, '/',
popbox.mbox_name), popbox.password_hash, domain.unix_user, 'maildir' FROM
popbox, domain WHERE popbox.local_part = 'test' AND popbox.domain_name =
'mail.foobar.com' AND popbox.domain_name = domain.domain_name

As you can see, the domain is being set to the full contents of the hostname,
not the result of the regex. If I change the hosts file to only foobar.com, I
get:
listener_obtain_domain: /^mail\.(.*)$/: foobar.com: no regex match

...so the regex is being done. The domain just isn't set right.

The only way I can get things to work is setting the regex to just /(.*)/ and
putting just the domain (not mail.) in the hosts file. Then it authenticates.
It'll also authenticate, of course, when I specify user@domain when I login.
-- 
Matt
Local Access Tech Support
360.330.5535