Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jul 2009 07:26:10 GMT
From:      Artis Caune <Artis.Caune@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/137257: [patch] mail/exim: fix dbm->seq loop
Message-ID:  <200907300726.n6U7QAQ7052777@www.freebsd.org>
Resent-Message-ID: <200907300730.n6U7U8Y2077489@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         137257
>Category:       ports
>Synopsis:       [patch] mail/exim: fix dbm->seq loop
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 30 07:30:08 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Artis Caune
>Release:        current
>Organization:
>Environment:
FreeBSD 8.0-BETA2 #0 r195825: Wed Jul 22 23:15:57 EEST 2009 root@builder:/usr/obj/usr/src/sys/FREEBSD
>Description:
exim is using flag 0 instead of R_NEXT in dbm->seq() function call. After r190491 it's not working anymore and is looping.

see: http://lists.exim.org/lurker/message/20090729.134711.ef8c803e.en.html

>How-To-Repeat:
- update to current > r190491
- install exim
- send some messages, so retry or misc-* db are created and are not empty
- wait for periodic exim_tidydb
or
- run exim_tidydb /var/spool/exim retry

process is killed, because out of swap space

>Fix:
put attached patch in /usr/ports/mail/exim/files and rebuild exim

Patch attached with submission follows:

--- src/dbstuff.h.orig	2007-08-29 14:02:22.000000000 +0000
+++ src/dbstuff.h	2009-07-30 07:11:20.033795649 +0000
@@ -331,7 +331,7 @@
 
 /* EXIM_DBSCAN - returns TRUE if data is returned, FALSE at end */
 #define EXIM_DBSCAN(db, key, data, first, cursor)      \
-       ((db)->seq(db, &key, &data, (first? R_FIRST : 0)) == 0)
+       ((db)->seq(db, &key, &data, (first? R_FIRST : R_NEXT)) == 0)
 
 /* EXIM_DBDELETE_CURSOR - terminate scanning operation (null). Make it
 refer to cursor, to keep picky compilers happy. */


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907300726.n6U7QAQ7052777>