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
signature.asc
Description: This is a digitally signed message part
