Hello,
Here's an update of mail/dspam to maintenance release 3.4. It includes two patches from CVS to avoid segfaults on errors in the
configuration file, and to fix --summary.

 Other changes from 3.4:
DOC: Documented user preferences in README
MAINT: Added dspam_train tool, replacing most functions of dspam_corpus
MAINT: Code cleanup and performance improvements
MAINT: Significant improvements in accuracy, specifically reduced false pos.
MAINT: Removed experimental neural collaboration functions
MAINT: Added ClassAlias configuration directive to dspam.conf
MAINT: Added undo option for retraining via WebUI
MAINT: Added storeFragments support to WebUI
MAINT: Added mass-retraining support to WebUI
BUGFIX: DSPAM segfaults when invalid UID specified using UIDInSignature
BUGFIX: No output when using --classify with --client
BUGFIX: dspam_corpus overrides default dspam.conf settings
BUGFIX: Multi-driver builds fail when preferences-extension is not supported

 I'm using that version for 1 month with no issue so far.

 Best regards,
-Frank.
Index: Makefile
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/Makefile,v
retrieving revision 1.9
diff -u -r1.9 Makefile
--- Makefile    15 Feb 2006 05:58:19 -0000      1.9
+++ Makefile    10 Mar 2006 11:37:28 -0000
@@ -2,9 +2,8 @@
 
 COMMENT=       "anti-spam filter"
 
-VERSION=       3.6.3
+VERSION=       3.6.4
 DISTNAME=      dspam-${VERSION}
-PKGNAME=       ${DISTNAME}p0
 SHARED_LIBS=           dspam   7.0
 MODGNU_SHARED_LIBS=    dspam   ''
 LIBdspam_ALIAS=                realdspam
Index: distinfo
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/distinfo,v
retrieving revision 1.7
diff -u -r1.7 distinfo
--- distinfo    22 Jan 2006 04:10:42 -0000      1.7
+++ distinfo    10 Mar 2006 11:37:28 -0000
@@ -1,4 +1,4 @@
-SIZE (dspam-3.6.3.tar.gz) = 740097
-MD5 (dspam-3.6.3.tar.gz) = db1aedb9677e6bf5c7a47a72d4f130e5
-SHA1 (dspam-3.6.3.tar.gz) = 37d0a0b1caddd085483712286505aa4016dde008
-RMD160 (dspam-3.6.3.tar.gz) = e70719cb9524b9aa7c786b4e6fddeed6516a9f2a
+MD5 (dspam-3.6.4.tar.gz) = e9fdb00a23a99e05c9e4c22aa8aa3655
+RMD160 (dspam-3.6.4.tar.gz) = fcd431205e3fd737cfdfb90b695ba7c84bbb27d5
+SHA1 (dspam-3.6.4.tar.gz) = bc11d8c1584175de9cdeed7ed20e11c2a49bf53a
+SIZE (dspam-3.6.4.tar.gz) = 743664
Index: patches/patch-src_agent_shared_c
===================================================================
RCS file: patches/patch-src_agent_shared_c
diff -N patches/patch-src_agent_shared_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_agent_shared_c    10 Mar 2006 11:37:28 -0000
@@ -0,0 +1,38 @@
+$OpenBSD$
+--- src/agent_shared.c.orig    Sun Feb  5 23:22:07 2006
++++ src/agent_shared.c Fri Mar 10 10:18:41 2006
+@@ -1,4 +1,4 @@
+-/* $Id: agent_shared.c,v 1.66 2006/02/02 21:36:19 jonz Exp $ */
++/* $Id: agent_shared.c,v 1.67 2006/02/22 13:53:11 jonz Exp $ */
+ 
+ /*
+  DSPAM
+@@ -495,7 +495,7 @@ int process_features(AGENT_CTX *ATX, con
+   char *ptr, *dup, *ptrptr;
+   int ret = 0;
+ 
+-  if (in[0]==0)
++  if (!in || in[0]==0)
+     return 0;
+ 
+   dup = strdup(in);
+@@ -549,6 +549,9 @@ int process_features(AGENT_CTX *ATX, con
+ 
+ int process_mode(AGENT_CTX *ATX, const char *mode) {
+ 
++  if (!mode)
++    return EINVAL;
++
+   if (!strcmp(mode, "toe"))
+     ATX->training_mode = DST_TOE;
+   else if (!strcmp(mode, "teft"))
+@@ -843,6 +846,9 @@ bail:
+ int process_parseto(AGENT_CTX *ATX, const char *buf) {
+   char *y = NULL;
+   char *x;
++
++  if (!buf) 
++    return EINVAL;
+ 
+   x = strstr(buf, "<spam-");
+   if (!x)
Index: patches/patch-src_base64_c
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/patches/patch-src_base64_c,v
retrieving revision 1.1
diff -u -r1.1 patch-src_base64_c
--- patches/patch-src_base64_c  26 Oct 2005 06:18:38 -0000      1.1
+++ patches/patch-src_base64_c  10 Mar 2006 11:37:28 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-src_base64_c,v 1.1 2005/10/26 06:18:38 jakob Exp $
---- src/base64.c.orig  Sat Sep 24 19:49:48 2005
-+++ src/base64.c       Mon Oct 17 14:48:42 2005
-@@ -199,7 +199,7 @@ base64encode (const char *buf)
+--- src/base64.c.orig  Sun Jan 22 02:59:14 2006
++++ src/base64.c       Fri Mar 10 10:09:17 2006
+@@ -201,7 +201,7 @@ base64encode (const char *buf)
    }
  
    if (out[strlen (out) - 1] != '\n')
Index: patches/patch-src_client_c
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/patches/patch-src_client_c,v
retrieving revision 1.1
diff -u -r1.1 patch-src_client_c
--- patches/patch-src_client_c  26 Oct 2005 06:18:38 -0000      1.1
+++ patches/patch-src_client_c  10 Mar 2006 11:37:28 -0000
@@ -1,21 +1,35 @@
 $OpenBSD: patch-src_client_c,v 1.1 2005/10/26 06:18:38 jakob Exp $
---- src/client.c.orig  Sat Sep 24 19:49:48 2005
-+++ src/client.c       Mon Oct 17 14:48:42 2005
-@@ -108,7 +108,7 @@ int client_process(AGENT_CTX *ATX, buffe
+--- src/client.c.orig  Fri Mar 10 10:12:29 2006
++++ src/client.c       Fri Mar 10 10:20:06 2006
+@@ -1,4 +1,4 @@
+-/* $Id: client.c,v 1.59 2006/01/31 15:52:11 jonz Exp $ */
++/* $Id: client.c,v 1.60 2006/02/15 17:57:24 jonz Exp $ */
  
-   /* RCPT TO - Send recipient information */
+ /*
+  DSPAM
+@@ -161,10 +161,15 @@ int client_process(AGENT_CTX *ATX, buffe
  
--  strcpy(buf, "RCPT TO: ");
-+  strlcpy(buf, "RCPT TO: ", sizeof (buf));
-   node_nt = c_nt_first(ATX->users, &c_nt);
-   while(node_nt != NULL) {
-     const char *ptr = (const char *) node_nt->ptr;
-@@ -308,7 +308,7 @@ int client_connect(AGENT_CTX *ATX, int f
-   if (domain) {
-     sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
-     saun.sun_family = AF_UNIX;
--    strcpy(saun.sun_path, host);
-+    strlcpy(saun.sun_path, host, sizeof (saun.sun_path));
-     addr_len = sizeof(saun.sun_family) + strlen(saun.sun_path) + 1;
+   /* Server response */
  
-     LOGDEBUG(INFO_CLIENT_CONNECTING, host, 0);
+-  if (ATX->flags & DAF_STDOUT || ATX->operating_mode == DSM_CLASSIFY) {
++  if (ATX->flags & DAF_STDOUT || ATX->flags & DAF_SUMMARY ||
++      ATX->operating_mode == DSM_CLASSIFY) 
++   {
+     char *line = NULL;
+     int head = !(ATX->flags & DAF_STDOUT);
+ 
++    if (ATX->flags & DAF_SUMMARY)
++      head = 1;
++
+     line = client_getline(&TTX, 300);
+ 
+     while(line != NULL && strcmp(line, ".")) {
+@@ -183,6 +188,8 @@ int client_process(AGENT_CTX *ATX, buffe
+         }
+       } else {
+         printf("%s\n", line);
++        if (ATX->flags & DAF_SUMMARY)
++          break;
+       } 
+       free(line);
+       line = client_getline(&TTX, 300);
Index: patches/patch-src_dspam_c
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/patches/patch-src_dspam_c,v
retrieving revision 1.3
diff -u -r1.3 patch-src_dspam_c
--- patches/patch-src_dspam_c   22 Jan 2006 04:10:43 -0000      1.3
+++ patches/patch-src_dspam_c   10 Mar 2006 11:37:28 -0000
@@ -1,6 +1,6 @@
 $OpenBSD: patch-src_dspam_c,v 1.3 2006/01/22 04:10:43 brad Exp $
---- src/dspam.c.orig   Wed Jan 18 11:48:53 2006
-+++ src/dspam.c        Sat Jan 21 22:54:41 2006
+--- src/dspam.c.orig   Tue Jan 31 21:25:46 2006
++++ src/dspam.c        Fri Mar 10 10:09:17 2006
 @@ -382,7 +382,7 @@ process_message (
        CTX->confidence = 1.0;
        STATUS("A virus was detected in the message contents");
@@ -28,7 +28,7 @@
          internally_canned = 1;
        }
      }
-@@ -762,10 +762,10 @@ process_message (
+@@ -743,10 +743,10 @@ process_message (
  
      switch (CTX->result) {
        case DSR_ISSPAM:
@@ -41,7 +41,7 @@
          break;
      }
  
-@@ -1030,7 +1030,7 @@ int tag_message(AGENT_CTX *ATX, ds_messa
+@@ -1011,7 +1011,7 @@ int tag_message(AGENT_CTX *ATX, ds_messa
    int tagged = 0;
    char spam_subject[16];
  
@@ -50,7 +50,7 @@
    if (_ds_pref_val(ATX->PTX, "spamSubject")[0] != '\n' &&
        _ds_pref_val(ATX->PTX, "spamSubject")[0] != 0)
    {
-@@ -1595,7 +1595,7 @@ int process_users(AGENT_CTX *ATX, buffer
+@@ -1585,7 +1585,7 @@ int process_users(AGENT_CTX *ATX, buffer
      if (parse_message == NULL) {
        LOG(LOG_CRIT, ERR_MEM_ALLOC);
        presult->exitcode = ERC_PROCESS;
Index: patches/patch-src_mysql_drv_c
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/patches/patch-src_mysql_drv_c,v
retrieving revision 1.1
diff -u -r1.1 patch-src_mysql_drv_c
--- patches/patch-src_mysql_drv_c       26 Oct 2005 06:18:39 -0000      1.1
+++ patches/patch-src_mysql_drv_c       10 Mar 2006 11:37:28 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-src_mysql_drv_c,v 1.1 2005/10/26 06:18:39 jakob Exp $
---- src/mysql_drv.c.orig       Sat Oct  1 17:33:44 2005
-+++ src/mysql_drv.c    Mon Oct 17 14:48:42 2005
-@@ -1350,7 +1350,7 @@ _ds_get_nextuser (DSPAM_CTX * CTX)
+--- src/mysql_drv.c.orig       Thu Feb  2 18:15:36 2006
++++ src/mysql_drv.c    Fri Mar 10 10:09:18 2006
+@@ -1353,7 +1353,7 @@ _ds_get_nextuser (DSPAM_CTX * CTX)
        virtual_username, 
        virtual_table);
  #else
Index: patches/patch-src_pgsql_drv_c
===================================================================
RCS file: /cvs/openbsd/ports/mail/dspam/patches/patch-src_pgsql_drv_c,v
retrieving revision 1.1
diff -u -r1.1 patch-src_pgsql_drv_c
--- patches/patch-src_pgsql_drv_c       26 Oct 2005 06:18:39 -0000      1.1
+++ patches/patch-src_pgsql_drv_c       10 Mar 2006 11:37:28 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-src_pgsql_drv_c,v 1.1 2005/10/26 06:18:39 jakob Exp $
---- src/pgsql_drv.c.orig       Mon Oct 10 15:52:21 2005
-+++ src/pgsql_drv.c    Mon Oct 17 14:48:42 2005
-@@ -1390,7 +1390,7 @@ _ds_get_nextuser (DSPAM_CTX * CTX)
+--- src/pgsql_drv.c.orig       Thu Feb  2 18:15:36 2006
++++ src/pgsql_drv.c    Fri Mar 10 10:09:18 2006
+@@ -1392,7 +1392,7 @@ _ds_get_nextuser (DSPAM_CTX * CTX)
          virtual_username,
          virtual_table);
  #else

Reply via email to