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/>----------------------------------------------------

Reply via email to