- add patch to skip spam checks on SMTP authenticated users by setting

WITH_ADDAUTH_PATCH environment variable at build time
- thanks to Steve Watt <steve_AT_watt.com> for providing the patch
- bump PORTREVISION

PR:		ports/105571
Submitted by:	Thomas Abthorpe<thomas@goodking.ca> (maintainer)
This commit is contained in:
Martin Wilke 2006-11-15 19:40:10 +00:00
parent 2a98dbd4ba
commit 25e11ddfb5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=177334

View file

@ -0,0 +1,77 @@
diff -u orig/spamass-milter.1.in spamass-milter.1.in
--- orig/spamass-milter.1.in Thu Mar 18 10:37:08 2004
+++ spamass-milter.1.in Wed Oct 18 18:06:23 2006
@@ -199,6 +199,9 @@
Requires the
.Fl u
flag.
+.It Fl a
+Causes spamass-milter to pass through unchecked any messages from connections
+established using SMTP authentication. This is useful for sites with remote users.
.It Fl - Ar spamc flags ...
Pass all remaining options to spamc.
This allows you to connect to a remote spamd with
diff -u orig/spamass-milter.cpp spamass-milter.cpp
--- orig/spamass-milter.cpp Thu Mar 23 13:41:36 2006
+++ spamass-milter.cpp Wed Oct 18 21:13:25 2006
@@ -170,6 +170,7 @@
bool flag_full_email = false; /* pass full email address to spamc */
bool flag_expand = false; /* alias/virtusertable expansion */
bool warnedmacro = false; /* have we logged that we couldn't fetch a macro? */
+bool auth = false; /* don't scan authenticated users */
#if defined(__FreeBSD__) /* popen bug - see PR bin/50770 */
static pthread_mutex_t popen_mutex = PTHREAD_MUTEX_INITIALIZER;
@@ -181,7 +182,7 @@
main(int argc, char* argv[])
{
int c, err = 0;
- const char *args = "fd:mMp:P:r:u:D:i:b:B:e:x";
+ const char *args = "fd:mMp:P:r:u:D:i:b:B:e:xa";
char *sock = NULL;
bool dofork = false;
char *pidfilename = NULL;
@@ -196,6 +197,9 @@
/* Process command line options */
while ((c = getopt(argc, argv, args)) != -1) {
switch (c) {
+ case 'a':
+ auth = true;
+ break;
case 'f':
dofork = true;
break;
@@ -281,7 +285,7 @@
cout << "SpamAssassin Sendmail Milter Plugin" << endl;
cout << "Usage: spamass-milter -p socket [-b|-B bucket] [-d xx[,yy...]] [-D host]" << endl;
cout << " [-e defaultdomain] [-f] [-i networks] [-m] [-M]" << endl;
- cout << " [-P pidfile] [-r nn] [-u defaultuser] [-x]" << endl;
+ cout << " [-P pidfile] [-r nn] [-u defaultuser] [-x] [-a]" << endl;
cout << " [-- spamc args ]" << endl;
cout << " -p socket: path to create socket" << endl;
cout << " -b bucket: redirect spam to this mail address. The orignal" << endl;
@@ -302,6 +306,7 @@
cout << " -u defaultuser: pass the recipient's username to spamc.\n"
" Uses 'defaultuser' if there are multiple recipients." << endl;
cout << " -x: pass email address through alias and virtusertable expansion." << endl;
+ cout << " -a: don't scan messages over an authenticated connection." << endl;
cout << " -- spamc args: pass the remaining flags to spamc." << endl;
exit(EX_USAGE);
@@ -782,6 +787,15 @@
return SMFIS_TEMPFAIL;
}
/* debug(D_ALWAYS, "ZZZ got private context %p", sctx); */
+
+ if (auth) {
+ const char *auth_type = smfi_getsymval(ctx, "{auth_type}");
+
+ if (auth_type) {
+ debug(D_MISC, "auth_type=%s", auth_type);
+ return SMFIS_ACCEPT;
+ }
+ }
debug(D_FUNC, "mlfi_envfrom: enter");
try {