The really astute observer that I did one last edit just prior to making the
diff by changing the !defined to defined without changing the logic.
Sorry. I wanted to normalize the diff as mine has some other crud in it.
peter
On 11/22/04 9:14 PM, "Peter Eisch" <[EMAIL PROTECTED]> wrote:
>
> Below is a patch (against CVS) which allows the config to use the user
> argument. This allows spamd to setuid to that user and use the user_prefs
> and other various configuration details of that user. I've been running
> this against SA 3.0.1.
>
> The astute observer will note how I tagged the X-Envelope-From: with the 1.0
> call and not the 1.2. I can't see that it's needed as it was with the newer
> spamd.
>
> peter
>
>
>
> --- spamassassin.orig 2004-11-22 20:54:10.000000000 -0600
> +++ spamassassin 2004-11-22 21:04:16.000000000 -0600
> @@ -58,6 +58,12 @@ not trust such headers and should either
> parameter 'rename') or have them removed (parameter 'drop'). If you know
> what you are doing, you can also leave them intact (parameter 'keep').
>
> +=item user [login]
> +
> +If spamd is running as root you can use the ~/.spamassassin/user_prefs and
> +bayesian info. This will change the spamc protocol to use 1.2 rather than
> +the default 1.0. Tested with SA 3.0.
> +
> =back
>
> With both of the first options the configuration line will look like the
> following
> @@ -129,13 +135,20 @@ sub check_spam {
> SPAMD->autoflush(1);
>
> $transaction->body_resetpos;
> -
> - print SPAMD "SYMBOLS SPAMC/1.0" . CRLF;
> - # or CHECK or REPORT or SYMBOLS
> -
> - print SPAMD "X-Envelope-From: ", $transaction->sender->format, CRLF
> - or warn "Could not print to spamd: $!";
>
> + if (defined $self->{_args}->{user}) {
> + print SPAMD "SYMBOLS SPAMC/1.0" . CRLF;
> + # or CHECK or REPORT or SYMBOLS
> +
> + print SPAMD "X-Envelope-From: ", $transaction->sender->format, CRLF
> + or warn "Could not print to spamd: $!";
> + } else {
> + print SPAMD "SYMBOLS SPAMC/1.2" . CRLF;
> + # or CHECK or REPORT or SYMBOLS
> +
> + print SPAMD "User: ", $self->{_args}->{user}, CRLF, CRLF
> + or warn "Could not print to spamd: $!";
> + }
> print SPAMD join CRLF, split /\n/, $transaction->header->as_string
> or warn "Could not print to spamd: $!";
>
>
>