On Wednesday, October 1, 2003, at 01:10 PM, Jochen Schug wrote:
And that's what it looks like with 5.3.27:
new msg 240629
info msg 240629: bytes 79927 from <*removed*> qp 13841 uid 106
starting delivery 24: msg 240629 to local [EMAIL PROTECTED]
status: local 1/10 remote 0/20
delivery 24: success: user_does_not_exist,_but_will_deliver_to_/home/vpopmail/domains/ *domainname*/postmaster// Error._Domain_postmaster_was_not_found_in_the_assign_file/did_0+0+1/
status: local 0/10 remote 0/20
end msg 240629
I think I may have found the cause. Does the pathname in your .qmail-default file include a trailing "/"? vdelivermail is adding a "/" at the end, and I think it may be doing a double-slash (which messes up code later on that tried to figure out the domain name from the path).
I'm afraid that's not the case. I checked the .qmail-default file, here's its content:
| /home/vpopmail/bin/vdelivermail '' /home/vpopmail/domains/*domainname*/postmaster
The code in domain_over_maildirquota() in maildirquota.c is kind of screwy, and I think that's where the problem is. It's going through the directory name, and deciding that 'postmaster' is the domain name instead of '*domainname*'. I'm not sure why it's mis-counting it now (unless it's the double-/).
That function definitely has problems -- if strstr(domdir, "/Maildir/") fails, then p is NULL and the code that follows (while (*(--p) != '/');) is not good.
Perhaps Brian Kolaci can provide some details on that function. Could we outright replace it with a function that took the domain name as a parameter? vdelivermail should know what domain it's processing mail for by the time it needs to call that function.