dccproc-1.0.53 inserting "p=/home/username/.dcc/whiteclnt.dccw ..."

Chris Shenton chris@Shenton.Org
Wed Apr 17 01:01:33 UTC 2002


[self-followup after cruising the source a bit, might help debugging]

This is getting emitted in in dcclib/lock_open.c:

    /* get set-UID privilege if the file is in the DCC home directory */
    u_char					/* 0=bad idea, 1=have privilege */
    dcc_get_priv_home(const char *nm)
    {
            const char *p;

            if (dcc_real_uid == dcc_effective_uid)
                    return 0;

            p = DCC_NM2PATH(nm);
            if (strncmp(p, DCC_HOMEDIR, sizeof(DCC_HOMEDIR)-1)
                || strchr(p+sizeof(DCC_HOMEDIR), '/')) {
                    printf("p=%s p+=%s\n", p, p+sizeof(DCC_HOMEDIR));
                    return 0;
            }

            dcc_get_priv();
            return 1;
    }

but I'm not sure what it's checking for.  

I see it created in my homedir a new whiteclnt.dccw, but it was owned
by root, causing a subsequent attempt to complain in the logs about
permission denied. Not sure why yet, could be stupidity on my part as
I get this tested. Or it could be cuz that's the name of the dcc user
I have defaulted to for now in the dcc config file; setuid
executable...

To avoid "/" in my abs pathname triggering the "p=..." output, I
copied my personal "whiteclnt" to the system location
/var/dcc/whiteclnt, and tried again:

  chris@thanatos(276> cat /tmp/email2 |dccproc -Q -w whiteclnt

It appears to create the new "whiteclnt.dccw" but the logs show
an unusual complaint:

  Apr 16 20:56:45 thanatos dccproc[89438]: size of whitelist /var/dcc/whiteclnt.dccw, 53608, is impossible


I don't really wanna run with no whiteclnt, whether in system dir or
my home dir, cuz I don't want to flood the database with mail from
localhost.

Suggestions?

Thanks!




More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.