Re: [qmailadmin] qmailadmin spamassassin on/off functionality

2004-03-31 Thread rybka52
Hi !

after patch i saw :

user.c: In function `addusernow':
user.c:498: `NO_SPAMASSASSIN' undeclared (first use in this function)
user.c:498: (Each undeclared identifier is reported only once
user.c:498: for each function it appears in.)
user.c: In function `modusergo':
user.c:862: `NO_SPAMASSASSIN' undeclared (first use in this function)
*** Error code 1

Stop in /home/src/qmail/qmailadmin-1.2.1.
*** Error code 1

vpopmail 5.4.0
qmailadmin 1.2.0/1.2.1

./configure --enable-modify-quota --enable-modify-spam

help someone ?

WL


 So far it's just on/off switch, but it's a start :)
 
 Enjoy.
 
 This is also going to be posted to the qmailadmin sourceforge project
 within the hour.
 
 The patch was made against qmailadmin 1.2.0 but I don't forsee any
 difficulty with making against any other version.
 
 Beware, if you're using the old method of --enable-spam-command this
 patch removes that functionality (the spam command stuff for ./configure
 is still there, but none of the functionality is)
 
 Any pre-existing spam command'ed accounts should work fine, this is
 simply a patch to go along with the spamc calling in vdelivermail that
 Ken posted a few weeks ago.
 
 -Jeremy




Re: [qmailadmin] qmailadmin spamassassin on/off functionality

2004-03-31 Thread Ken Jones
On Wednesday 31 March 2004 05:29 am, rybka52 wrote:
 Hi !

 after patch i saw :

 user.c: In function `addusernow':
 user.c:498: `NO_SPAMASSASSIN' undeclared (first use in this function)
 user.c:498: (Each undeclared identifier is reported only once
 user.c:498: for each function it appears in.)
 user.c: In function `modusergo':
 user.c:862: `NO_SPAMASSASSIN' undeclared (first use in this function)
 *** Error code 1

 Stop in /home/src/qmail/qmailadmin-1.2.1.
 *** Error code 1

 vpopmail 5.4.0
 qmailadmin 1.2.0/1.2.1

You'll need the CVS version of vpopmail from sourceforge.
It has the new spamassassin code in it.

Ken Jones


[qmailadmin] qmailadmin spamassassin on/off functionality

2004-03-18 Thread Jeremy Kitchen
So far it's just on/off switch, but it's a start :)

Enjoy.

This is also going to be posted to the qmailadmin sourceforge project
within the hour.

The patch was made against qmailadmin 1.2.0 but I don't forsee any
difficulty with making against any other version.

Beware, if you're using the old method of --enable-spam-command this
patch removes that functionality (the spam command stuff for ./configure
is still there, but none of the functionality is)

Any pre-existing spam command'ed accounts should work fine, this is
simply a patch to go along with the spamc calling in vdelivermail that
Ken posted a few weeks ago.

-Jeremy

-- 
Jeremy Kitchen
Systems Administrator
[EMAIL PROTECTED]
Kitchen @ #qmail on EFNet - Join the party!
.
Inter7 Internet Technologies, Inc.
www.inter7.com
866.528.3530 toll free
847.492.0470 int'l
847.492.0632 fax
GNUPG key ID: 93BDD6CE
diff -urN qmailadmin-1.2.0-orig/template.c qmailadmin-1.2.0-spam/template.c
--- qmailadmin-1.2.0-orig/template.c	2004-01-25 18:41:07.0 -0600
+++ qmailadmin-1.2.0-spam/template.c	2004-03-18 13:19:21.0 -0600
@@ -729,6 +729,13 @@
 return;
   }
 
+  if ( newchar=='9') {
+vpw = vauth_getpw(ActionUser, Domain);
+if (vpw-pw_gid ^ NO_SPAMASSASSIN) {
+	printf(checked );
+}
+  }
+
   if (fs1 == NULL) {
 if (newchar=='0'){
   printf(checked );
@@ -774,33 +781,6 @@
 }
   }
 
-  i = 0;
-  do {
-if (newchar == '3'  (NTmpBuf[0] == '/' ||
-   strstr(NTmpBuf, SPAM_COMMAND)!=NULL) ) {
-  printf(checked );
-  return;
-}
-if ( newchar == '2' ) {
-  if (NTmpBuf[0]=='/') continue;
-  if (NTmpBuf[0]=='|') continue;
-  if ( i0 ) printf(, );
-  if (NTmpBuf[0]=='') {
-printf(%s, strtok(NTmpBuf[1], \n));
-  } else {
-printf(%s, NTmpBuf[0]);
-  } 
-  ++i;
-}
-/* Jeff Hedlund ([EMAIL PROTECTED]) 28 May 2003 */
-/* i9: checked if spam filtering on */
-if ( newchar == '9'  strstr(NTmpBuf, SPAM_COMMAND)!=NULL ) {
-   printf(checked );
-   return;
-}
-  } while(fgets(NTmpBuf,sizeof(NTmpBuf),fs1) != NULL );
-   
-  
   return;
 } else {
 
diff -urN qmailadmin-1.2.0-orig/user.c qmailadmin-1.2.0-spam/user.c
--- qmailadmin-1.2.0-orig/user.c	2004-01-26 12:16:40.0 -0600
+++ qmailadmin-1.2.0-spam/user.c	2004-03-18 13:19:31.0 -0600
@@ -493,11 +493,10 @@
 
 #ifdef MODIFY_SPAM
 GetValue(TmpCGI, spamvalue, spamcheck=, sizeof(spamvalue));
-if(strcmp(spamvalue, on) == 0) {
-   snprintf(NewBuf, sizeof(NewBuf), %s/.qmail, mypw-pw_dir);
-   fs = fopen(NewBuf, w+);
-   fprintf(fs, %s\n, SPAM_COMMAND);
-   fclose(fs);
+if(strcmp(spamvalue, off) == 0) {
+mypw = vauth_getpw(ActionUser, Domain);
+mypw-pw_gid |= NO_SPAMASSASSIN;
+vauth_setpw(mypw, Domain);
 }
 #endif
 
@@ -805,6 +804,7 @@
   }
 #endif
 
+
   GetValue(TmpCGI,Gecos, gecos=, sizeof(Gecos));
   if ( strlen( Gecos ) != 0 ) {
 vpw = vauth_getpw(ActionUser, Domain); 
@@ -857,7 +857,15 @@
 
   /* get value of the spam filter box */
   GetValue(TmpCGI,box, spamcheck=, sizeof(box));
-  if ( strcmp(box,on) == 0 ) spam_check = 1;
+  if ( strcmp(box,on) == 0 ) {
+vpw = vauth_getpw(ActionUser, Domain);
+vpw-pw_gid = ~NO_SPAMASSASSIN;
+vauth_setpw(vpw, Domain);
+  } else {
+vpw = vauth_getpw(ActionUser, Domain);
+vpw-pw_gid |= NO_SPAMASSASSIN;
+vauth_setpw(vpw, Domain);
+  }
 
   /* get the value of the cforward radio button */
   GetValue(TmpCGI,box, cforward=, sizeof(box));
@@ -870,13 +878,6 @@
 snprintf(NewBuf,sizeof(NewBuf),%s/.qmail, vpw-pw_dir);
 unlink(NewBuf);
 
-/* if the mail is to be checked for spam, rewrite the file with command */
-if( spam_check == 1 ) {
-   fs = fopen(NewBuf, w+);
-   fprintf(fs, %s\n, SPAM_COMMAND);
-   fclose(fs);
-}
-
 /* delete any vacation directory */
 snprintf(NewBuf,sizeof(NewBuf),%s/vacation, vpw-pw_dir);
 vdelfiles(NewBuf);
@@ -924,12 +925,7 @@
 /* if they want to save a copy */
 GetValue(TmpCGI,box, fsaved=, sizeof(box));
 if ( strcmp(box,on) == 0 ) {
-  if( spam_check == 1 ) {
-/* if spam check is enabled, that will save the message*/
-fprintf(fs, %s\n, SPAM_COMMAND);
-  } else {
-fprintf(fs,%s/Maildir/\n, vpw-pw_dir);
-  }
+  fprintf(fs,%s/Maildir/\n, vpw-pw_dir);
 } 
 fclose(fs);
 
@@ -958,11 +954,7 @@
 fprintf(fs, | %s/autorespond 86400 3 %s/vacation/message %s/vacation\n,
   AUTORESPOND_PATH, vpw-pw_dir, vpw-pw_dir );
 
-/* save a copy for the user (if checking for spam, it will keep a copy)*/
-if(spam_check==1)
-   fprintf(fs, %s\n, SPAM_COMMAND);
-else
-  fprintf(fs,%s/Maildir/\n, vpw-pw_dir);
+ fprintf(fs,%s/Maildir/\n, vpw-pw_dir);
 fclose(fs);
 
 /* set up the