So, doing a bit of actual debugging here... (This is hampered by the fact that all the C I know, I learned from reading perl and guessing; my apologies in advance.)
My problem with being unable to authenticate users in the null domain appears to reside somewhere in vauth.c, around line 369: if ( domain == NULL || domain[0] == 0 ) { snprintf(vpasswd_dir, MAX_BUFF, "%s/users", VPOPMAILDIR); } else { snprintf(vpasswd_dir, MAX_BUFF, "%s", Dir); } I prepended a bit of debug code: openlog(LOG_NAME,LOG_PID,LOG_MAIL); syslog(LOG_NOTICE,"domain: %s \r", domain); syslog(LOG_NOTICE,"vpopmaildir: %s \r", VPOPMAILDIR); closelog(); ...and came up with some very interesting results (formatted here for legibility): Oct 10 18:27:56 bigtime vpopmail[26697]: [ID 644755 mail.notice] domain: <D3><E4> ^M Oct 10 18:27:56 bigtime vpopmail[26697]: [ID 210808 mail.notice] vpopmaildir: /project/vpopmail ^M Oct 10 18:27:56 bigtime vchkpw[26697]: [ID 117675 mail.notice] vchkpw: system user not found velcro:127.0.0.1 ...well, sure enough, "0xD3 0xE4" isn't NULL or 0, so that's why it's not setting vpasswd_dir to VPOPMAILDIR/users. But where the heck is that string coming from? Any insights from the list would be appreciated. -n ------------------------------------------------------------<[EMAIL PROTECTED]> It is inhumane, in my opinion, to force people who have a genuine medical need for coffee to wait in line behind people who apparently view it as some kind of recreational activity. (--Dave Barry) <http://blank.org/memory/>----------------------------------------------------