On a CST system (/etc/localtime -> ../usr/share/zoneinfo/US/ Central), the tzname[] vector returns "EST" instead of "CST." This problem is visible wehn sendmail-8.9.2 taps the tzname[] external for its Date: and Received: header lines. I have not yet perused pine source code to see what it does, but the behavior seems similar. Within sendmail, the files conf.h and arpadate.c define and reference "extern char *tzname[]." I have not yet found what and how sets this array. Yet, the problem seems to be withinthe LInuz setup rather than within sendmail. Thanks, igor
Here's a little program (from Gregory Shapiro of Sendmail Inc.) that demonstrates the problem: #include <stdio.h> #include <time.h> main(int argc, char **argv) { time_t t = time(NULL); struct tm *lt; extern char *tzname[]; lt = localtime(&t); printf("TZ_TM_ZONE: %s\n", lt->tm_zone); printf("TZ_TZNAME: %s\n", tzname[lt->tm_isdst]); if (lt->tm_isdst > 0) printf("Fixed TZ_TZNAME: %s\n", tzname[1]); else if (lt->tm_isdst == 0) printf("Fixed TZ_TZNAME: %s\n", tzname[0]); else printf("Fixed TZ_TZNAME: Timezone not available\n"); }
This problem also shows up in a RHL 5.2 CST/CDT machine using qmail as the MTA and pine 4.04/4.05/4.10 as the MUA. Could this be due to the glibc "enhancements?"
What version of glibc are you using? (try "rpm -q glibc")What version of glibc are you using? (try "rpm -q glibc")
*** This bug has been marked as a duplicate of 2112 ***