When ssmtp is compiled against uclibc, it will create funny date headers: Date: Tue, %_d Aug 2006 06:03:21 +0000 UV Note the %_d. This is because ssmtp uses a gnu extention in strftime. (see man strftime under "GLIBC NOTES", _ (underscore)) I did a quick check what they do in Freebsd (since they dont use gnu libc) and as I suspected, there was a patch: --- arpadate.c.orig Sun Dec 8 18:30:13 2002 +++ arpadate.c Mon Apr 7 01:17:58 2003 @@ -79,7 +79,7 @@ time_t now; /* RFC822 format string borrowed from GNU shellutils date.c */ - const char *format = "%a, %_d %b %Y %H:%M:%S %z"; + const char *format = "%a, %e %b %Y %H:%M:%S %z"; now = time(NULL); The solution should be to use the portable %e instead of GNU specific %_d.
Created attachment 95350 [details, diff] files/ssmtp-2.61-bug145456.patch patch created against ssmtp-2.61-r2 and tested on uclibc. Works like a charm ;)
Created attachment 95351 [details] ebuild that uses patch For your convienece.
Could this patch please be applied? It does not hurt GNU systems and it solves a real problem on non-GNU systems. (like uclibc freebsd)
Whats the status here? This patch is really trivial. Could someone just commit and get done with it? (or at least close with a WONTFIX so know I'll have to maintain it my local overlay)
This one has been fixed upstream in 2.62 which just hit CVS. Please test and re-open if this bug still occurs.