Tony Finch | 21 Jul 11:13 2015
Picon

[PATCH] log_selector +outgoing_interface

Add a separate outgoing_interface log selector, for consistency with
+incoming_interface +incoming_port +outgoing_port, and move the interface
field on => lines after the remote host for consistency with <= lines.

I have also expanded the log selector variables to three words since the
second word was very nearly full.

---
 doc/doc-docbook/spec.xfpt | 25 +++++++++++++++++--------
 doc/doc-txt/ChangeLog     |  3 +++
 src/src/deliver.c         | 11 +++++++----
 src/src/exim.c            |  8 ++++----
 src/src/functions.h       |  4 ++--
 src/src/globals.c         |  8 ++++++--
 src/src/globals.h         |  1 +
 src/src/log.c             | 32 ++++++++++++++++++++++----------
 src/src/macros.h          |  9 +++++++--
 9 files changed, 69 insertions(+), 32 deletions(-)

diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 3e36520..deaca14 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
 <at>  <at>  -35447,11 +35447,12  <at>  <at>  selection marked by asterisks:
 &`*etrn                       `&  ETRN commands
 &`*host_lookup_failed         `&  as it says
 &` ident_timeout              `&  timeout for ident connection
-.new
-&` incoming_interface         `&  local interface on <= and => lines
-.wen
(Continue reading)

Tony Finch | 21 Jul 11:09 2015
Picon

race condition / crash in 4.86-RC4

I tried to roll out 4.86 yesterday and encountered a fairly nasty bug.

There appears to be some kind of bug in the locking that sometimes makes
Exim stumble when a queue runner encounters another process working on a
message. I have seen this before, though it seemed to be benign enough
that I haven't tried to fix it yet.

With my updated build, Exim occasionally crashed. This seems to occur
after delivery has completed (the message got where it was going and there
was an entry in the message's -J journal file) but it failed before
getting the delivery status to the parent process. So the log (example
below) says == because of the crash and the => is missing because of a
mismatch between journalling and loggin the delivery.

I shall investigate further.

2015-07-21 00:25:01 +0100 1ZHKQf-0004fX-YV <= (redacted) H=(redacted) I=[131.111.8.139]:25
P=esmtps X=TLSv1:AES256-SHA:256 CV=no S=1132 id=E1ZHKQf-0005K3-Cs <at> (redacted)
2015-07-21 00:25:01 +0100 1ZHKQf-0004fX-YV Spool file is locked (another process is handling this message)
2015-07-21 00:25:01 +0100 1ZHKQf-0004fX-YV == (redacted) R=hermes_lmtp T=hermes_lmtp defer (-1):
smtp transport process returned non-zero status 0x000b: terminated by signal 11
2015-07-21 00:25:01 +0100 1ZHKQf-0004fX-YV Frozen
2015-07-21 00:25:09 +0100 1ZHKQf-0004fX-YV Message is frozen
2015-07-21 00:33:55 +0100 1ZHKQf-0004fX-YV Unfrozen by forced delivery
2015-07-21 00:33:55 +0100 1ZHKQf-0004fX-YV Completed

Tony.
--

-- 
<fanf <at> exim.org>   <dot <at> dotat.at>   http://dotat.at/   ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
(Continue reading)

admin | 20 Jul 11:16 2015

[Bug 1662] New: hostlist end lookup after ipv6 addresss

https://bugs.exim.org/show_bug.cgi?id=1662

            Bug ID: 1662
           Summary: hostlist end lookup after ipv6 addresss
           Product: Exim
           Version: 4.85
          Hardware: x86-64
                OS: FreeBSD
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Lookups
          Assignee: nigel <at> exim.org
          Reporter: umka <at> localka.net
                CC: exim-dev <at> exim.org

for example 

hostlist relay_from_hosts = 127.0.0.1 : [2001:67c:XXXX::]/48 : 178.136.BB.AA/32
: 89.209.XX.YY : 91.219.XX.RR/AA 

for 178.136.BB.AA/32 - relay access denied

for 

hostlist relay_from_hosts = 127.0.0.1 : 178.136.BB.AA/32 : 89.209.XX.YY :
91.219.XX.RR/AA 

without ipv6 block

(Continue reading)

admin | 16 Jul 02:13 2015

[Bug 1661] New: infinite loop in expand.c, tree structure loops back on itself.

https://bugs.exim.org/show_bug.cgi?id=1661

            Bug ID: 1661
           Summary: infinite loop in expand.c,  tree structure loops back
                    on itself.
           Product: Exim
           Version: 4.85
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: String expansion
          Assignee: nigel <at> exim.org
          Reporter: jasen <at> treshna.com
                CC: exim-dev <at> exim.org

symptom: exim process hangs 

during expansion it hit an infinite loop 

(gdb) print *p
$3 = {left = 0x2249492d6f433130, right = 0x7fc03354f100, data = {ptr =
0x70726f6370746d73, val = 1886678387}, balance = 0 '\000', name = "e"}
(gdb) print p
$5 = (tree_node *) 0x7fc03354f100

note: p == p->right

I thinkk "msg:completed" is a home-grown delivery event patched into deliver.c,
(Continue reading)

Phil Pennock | 13 Jul 01:25 2015

4.86-rc4 issues / notes

In 4.86-RC4 setting the DISABLE_PRDR compile-time option results in
inability to compile.  There are also a number of complaints from my
compiler which might be of interest.  At this point in the RC process,
given that I'm not driving things, I'm keeping myself to _just_ fixing
the two compilation errors.

First the patch which I'm going to commit:
----------------------------8< cut here >8------------------------------
--- acl.c.old   2015-07-12 19:06:24.683723864 -0400
+++ acl.c       2015-07-12 19:15:16.613686692 -0400
 <at>  <at>  -3372,7 +3372,11  <at>  <at>  for (; cb != NULL; cb = cb->next)
        break;

        case CONTROL_CUTTHROUGH_DELIVERY:
+#ifndef DISABLE_PRDR
        if (prdr_requested)
+#else
+       if (0)
+#endif
          /* Too hard to think about for now.  We might in future cutthrough
          the case where both sides handle prdr and this-node prdr acl
          is "accept" */
--- smtp_in.c.old       2015-07-12 19:17:46.360676653 -0400
+++ smtp_in.c   2015-07-12 19:19:38.245668910 -0400
 <at>  <at>  -1515,7 +1515,9  <at>  <at>  sender_verified_list = NULL;        /* N
 memset(sender_address_cache, 0, sizeof(sender_address_cache));
 memset(sender_domain_cache, 0, sizeof(sender_domain_cache));

+#ifndef DISABLE_PRDR
 prdr_requested = FALSE;
(Continue reading)

admin | 11 Jul 23:10 2015

[Bug 1659] New: 4.86_RC4 segfaults after RCPT

https://bugs.exim.org/show_bug.cgi?id=1659

            Bug ID: 1659
           Summary: 4.86_RC4 segfaults after RCPT
           Product: Exim
           Version: 4.85+ HEAD
          Hardware: x86-64
                OS: OpenBSD
            Status: NEW
          Severity: bug
          Priority: medium
         Component: General execution
          Assignee: nigel <at> exim.org
          Reporter: km <at> krot.org
                CC: exim-dev <at> exim.org

When setting up 4.86_RC4, I noticed that no incoming mail is processed, despite
the fact that Exim is running. It turns out, Exim segfaults after RCPT TO.

Running 'exim -bh 127.0.0.1':

>>> host in dsn_advertise_hosts? no (option unset)
>>> host in pipelining_advertise_hosts? yes (matched "*")
>>> host in tls_advertise_hosts? yes (matched "*")
250-mail.krot.org Hello localhost [127.0.0.1]
250-SIZE 31415926
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
(Continue reading)

admin | 4 Jul 18:10 2015

[Bug 1657] New: Multiple typos in specification [patch]

https://bugs.exim.org/show_bug.cgi?id=1657

            Bug ID: 1657
           Summary: Multiple typos in specification [patch]
           Product: Exim
           Version: 4.85+ HEAD
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Documentation
          Assignee: nigel <at> exim.org
          Reporter: eximusers <at> bebt.de
                CC: exim-dev <at> exim.org

Created attachment 825
  --> https://bugs.exim.org/attachment.cgi?id=825&action=edit
typo fix

Hello,

find a attached a trivial patch against GIT master to fix a couple of typos in
the specification.

cu Andreas

--

-- 
You are receiving this mail because:
You are on the CC list for the bug.
(Continue reading)

admin | 4 Jul 08:52 2015

[Bug 1656] New: Increase minimum size of DH

https://bugs.exim.org/show_bug.cgi?id=1656

            Bug ID: 1656
           Summary: Increase minimum size of DH
           Product: Exim
           Version: 4.85+ HEAD
          Hardware: All
                OS: All
            Status: NEW
          Severity: security
          Priority: medium
         Component: TLS
          Assignee: pdp <at> exim.org
          Reporter: loganaden <at> gmail.com
                CC: exim-dev <at> exim.org

Created attachment 823
  --> https://bugs.exim.org/attachment.cgi?id=823&action=edit
gnutls_dh_2048

Following the logjam attack against TLS:

weakdh.org recommends using a 2048 DH by default as a minimum.

https://weakdh.org/sysadmin.html

OpenSMTPD has made a comment for testing, and then switched to 2048 by default.

(- switched to 2048-bits DH params by default)

(Continue reading)

admin | 2 Jul 08:58 2015

[Bug 1655] New: local_scan ABI broke in 4.86, needs version bump

https://bugs.exim.org/show_bug.cgi?id=1655

            Bug ID: 1655
           Summary: local_scan ABI broke in 4.86, needs version bump
           Product: Exim
           Version: 4.85+ HEAD
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Content Scanning
          Assignee: tom <at> duncanthrax.net
          Reporter: eximusers <at> bebt.de
                CC: exim-dev <at> exim.org

Created attachment 822
  --> https://bugs.exim.org/attachment.cgi?id=822&action=edit
Bump ABI numbers.

Hello,

from 4.85 to 4.86 (already in rc1) the size of the recipient_item structure
changed, which causes segfaults in dynamically loaded local_scan functions.

Please bump LOCAL_SCAN_ABI_VERSION_MAJOR and reset LOCAL_SCAN_ABI_VERSION_MINOR
accordingly. Trivial patch attached.

thanks, cu Andreas

(Continue reading)

Jeremy Harris | 28 Jun 15:10 2015

Exim 4.86 RC4 uploaded

The ftp site:

  ftp://ftp.exim.org/pub/exim/exim4/test/

now has RC4 of Exim 4.86 available.  Built and
signed by Phil Pennock.  There are minor changes
and fixes since RC3; thanks to people who tested and
reported on RC3.

We are now only accepting stopper bugs and docmumentation
updates for the 4.86 release.  If no stoppers are
found this will be the final RC before release.

Please report issues here in exim-dev, or in
the exim-user mailinglist, or by raising bugs
on http://bugs.exim/org

-- 
Cheers,
 Jeremy

--

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at
http://www.exim.org/ ##
admin | 24 Jun 00:14 2015

[Bug 330] Check the syntax of Message-ID: header lines

https://bugs.exim.org/show_bug.cgi?id=330

--- Comment #3 from Jeremy Harris <jgh146exb <at> wizmail.org> ---
Reading the standards, there are 39 production rules involved in the
syntax specification for the Message-ID header line.

I do not call that a small amount of work.  Maybe I'm missing some shortcut.

=====

1  message-id      =   "Message-ID:" msg-id CRLF                2 3

2  msg-id          =   [CFWS] "<" id-left " <at> " id-right ">" [CFWS]    5 6 7
3  CRLF               =   %x0D %x0A

5  CFWS            =   (1*([FWS] comment) [FWS]) / FWS            8 9
6  id-left         =   dot-atom-text / obs-id-left            19 20
7  id-right        =   dot-atom-text / no-fold-literal / obs-id-right (19) 21
22

8  FWS             =   ([*WSP CRLF] 1*WSP) /  obs-FWS            10 11
                                          ; Folding white space
9  comment         =   "(" *([FWS] ccontent) [FWS] ")"            12
10 WSP             =   SP / HTAB
                                ; white space
11 obs-FWS         =   1*WSP *(CRLF 1*WSP)

12 ccontent        =   ctext / quoted-pair / comment            13 14
13 ctext           =   %d33-39 /          ; Printable US-ASCII
            %d42-91 /          ;  characters not including
(Continue reading)


Gmane