[milters] Archive

Lists Index Date Thread Search

Article: 1860
From: Andreas Piper
Date: 2008-05-13 04:27:15 -0400
Subject: milter-null: X-Null-Tag differs between 32bit- and 64bit-systems

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support
--------------------------------------------------------

Hello,

there is a problem running milter-null on multiple servers with mixed 32bit- 
an 64bit-architectures:

I am using 32bit-servers for sending my mails. Some of my receiving servers 
are 64bit-architecture, and on these the X-Null-Tag-value differs from the 
value calculated by the 32bit-systems (using identical input-parameters), 
leading to false positives.

Some digging in the sources showed, that the reason for this behaviour is the 
differing size of time_t ("4" for 32bit, "8"for 64bit), wich is used
as 
length-parameter in md5_append (milter-null.c lines 402 and 500) in the 
creation of the X-Null-Tag-value.

Setting the length-parameter in md5_append to "4" solves the immediate 
problem:

change milter-null.c lines 402 and 500 resp.
md5_append(&md5, (md5_byte_t *) &data->sent, sizeof (data->sent));
to
md5_append(&md5, (md5_byte_t *) &data->sent, 4);

*but* with this change I now observe in the log some error messages of type

May 11 23:35:54 vhrz151 sm-mta[25345]: m4BLZpIg025345: Milter (milter-null): 
write(D) returned -1, expected 123: Broken pipe
May 11 23:35:54 vhrz151 sm-mta[25345]: m4BLZpIg025345: Milter (milter-null): 
to error state

which did not occur before.

Do you have an idea how to solve this problem?

Thanks a lot for any suggestions,
Andreas
-- 
________________________________________________________________________
Dr. Andreas Piper, Hochschulrechenzentrum der Philipps-Univ. Marburg
          Hans-Meerwein-Strasse, 35032 Marburg, Germany
Phone: +49 6421 28-23521  Fax: -26994  E-Mail: piper@HRZ.Uni-Marburg.DE

Lists Index Date Thread Search