Wietse Venema:
> Viktor Dukhovni:
> > On Fri, Oct 29, 2021 at 09:00:20AM +0200, Beno?t Panizzon wrote:
> > 
> > > It turned out, one file in the 'active' queue, was causing qmgr to
> > > crash:
> > > 
> > > postfix/qmgr[86256]: fatal: unix-domain name too long:
> > > private/fwZ+GX2pP7y/mKTz0/vD8xX7o/.../BqIQ4kqVv3lAEe6idjSSxkUp5oAj3U/FGKWgCN
> > 
> > It sure looks like you have a problem transport table or content filter
> > setting.  Connections from the queue manager are mostly to the
> > unix-domain sockets of named transports, "private/smtp",
> > "private/local", ...
> 
> This is not a remote DOS. It is a queue file corruption problem.

I added some a little more detail to the text below.

There is one place where the queue manager will get a 'transport'
name from a queue file, and that is when it reads a record with a
content filter value.

The OP has shared the queue file off list. The file is corrupted,
and the cause for that corruption is yet to be determined. 

The queue file contains a record with type 'L', length 2048, and
value 'fwZ+GX2pP7y/mKTz0/vD8xX7o....'.  And that is the name of the
private socket that the qmgr attempted to connect to.

At offset 123152 (0360420 octal) in od(1) output:

0360420    L 200 020   f   w   Z   +   G   X   2   p   P   7   y   /   m
          114 200 020 146 167 132 053 107 130 062 160 120 067 171 057 155
0360440    K   T   z   0   /   v   D   8   x   X   7   o   /   8   O   T
          113 124 172 060 057 166 104 070 170 130 067 157 057 070 117 124

Unfortunately a type 'L' record can have two meanings.

- When it appears in the message content (the part that delivery
  agents read), it is a fragment of a line longer than $line_length_limit
  (2048 by default).

- When it appears in the message envelope (the part that qmgr reads),
  it specifies a content filter.

Hypothesis: this 'L' record was originally written as part of mesage
content, but due to queue file corruption, the qmgr read the record
as part of the message envelope. And is why qmgr tried to connect
to 'private/fwZ+GX2pP7y/mKTz0/vD8xX7o.....', i.e. a private socket
with a name that was originally part of the message content.

        Wietse

Reply via email to