Martin Mare?:
> Hello!
> 
> Sometimes, I run into postcat failing with error message
> 
>       invalid size record: ...
> 
> on genuine queue files saved with "dont_remove = 1". I think that
> the failures correlate with e-mails rejected by smtpd milter.

don't_remove is not a production feature; among other things
it will prevent Postfix from deleting incomplete files.

> postcat produces this error during processing a size record:
> 
>       if (sscanf(STR(buffer), "%ld %ld", &data_size, &data_offset) != 2
>           || data_offset <= 0 || data_size <= 0)
>           msg_fatal("invalid size record: %.100s", STR(buffer));
> 
> The problematic queue files have both data_size and data_offset equal
> to zero. When I change both "<= 0" to "< 0", queue file contents are
> printed correctly.
> 
> Are these queue files malformed, or is postcat overzealous with its
> consistency checks?

Inspecting incomplete files is NOT SUPPORTED. As far as I am concerned
postcan may go into a loop Xdepending on how incomplete the file is.

        Wietse

Reply via email to