Jukka Salmi --> dkim-milter-discuss (2007-08-11 18:26:08 +0200): > Your fix seems not to work; checking `signlen' after > dkim_sig_getcanonlen() returns in dkim-filter/dkim-filter.c:mlfi_eom() > I see it's always 4294967295 aka (2^32)-1, but since off_t is a signed > 64 bit int (at least here on NetBSD) this is _not_ (off_t)-1, thus > tmp_lengths is still always TRUE. > > IIUC that's because the `length' parameter passed to dkim_add_canon() > is zero or an off_t (unsigned) for all callers, but the function > declares it as a size_t (signed!). This should probably be an off_t > as well, or at least a ssize_t, shouldn't it?
The solution seems not to be as easy as changing that size_t to an off_t: when doing this, dkimf_stats_record() is called correctly (with tmp_lengths == FALSE for messages without a l= tag) as expected, but correctly signed messages suddenly fail verification because of DKIM_SIGBH_MISMATCH. Hmm, I don't see why ATM... Any hints? Regards, Jukka -- bashian roulette: $ ((RANDOM%6)) || rm -rf ~ ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ dkim-milter-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dkim-milter-discuss
