Please, find the patch below. The first change is spam, sorry. The rest is what it takes to make it work on my system. I have no tested it and it works beautifully. If anyone is using domain stuff successfully, then please help make this patch work. I have patched my dspam.c (in dspam) in accordance with some suggestions I found so I don't have to deal with that as my system creates 3 different versions of each user, so I have just avoided the domain issues for now (since they are all versions of the same host, i.e. host name, localhost and user without anything... silly). Trever --- dspam.c-old 2007-05-08 03:36:49.000000000 -0600 +++ dspam.c 2007-05-08 03:33:52.000000000 -0600 @@ -72,7 +72,7 @@ #define MAXSIGLEN 100 #ifndef DSPAM -#define DSPAM "/usr/bin/dspam" +#define DSPAM "/usr/local/bin/dspam" #endif /* DSPAM */ static int @@ -83,6 +83,7 @@ char class_arg[16+2]; char sign_arg[MAXSIGLEN+2]; int pipes[2]; + char *user = getenv("USER"); s = snprintf(sign_arg, 101, "--signature=%s", signature); if ( s > MAXSIGLEN || s <= 0) return -1; @@ -152,9 +153,9 @@ close(fd); #ifdef DEBUG - syslog(LOG_INFO, DSPAM " --source=error --stdout %s %s", class_arg, sign_arg); + syslog(LOG_INFO, DSPAM " --user %s --source=error --stdout %s % s", user, class_arg, sign_arg); #endif - execl (DSPAM, DSPAM, "--source=error", "--stdout", class_arg, sign_arg, NULL); + execl (DSPAM, DSPAM, "--user", user, "--source=error", "--stdout", class_arg, sign_arg, NULL); exit(127); /* fall through if dspam can't be found */ return -1; /* never executed */ } -- "Be not defeated twice, once by circumstances and once by oneself." -- Lowell L. Bennion