On Fri, Apr 04, 2008 at 12:02:46PM +0400, Petr Kohts wrote: > > > Thanks for reporting. It seems to be the same as bug#217836. Can you > > describe the derivation of your patch? It seems to be applied to > > upstream cron code in version 4.1 from ISC. > > > > I'm a bit confused about the state of DST handling; there was a patch > > applied in Debian revision -53, but the patch is large (and combined > > with other changes) so the (intended) effect of the changes aren't > > entirely clear to me. As I recall, that patch also seemed to have > > been applied in the ISC release. > > As I can see here's the openbsd patch included into debian version -53: > http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/cron/cron.c.diff?r1=1.3&r2=1.4&f=h Thanks; my current understanding is that the original patch worked when the time was manually changed by 1-3 hours, but didn't work for real DST changes (the details aren't clear to me).
BTW, I think there's a new bug here: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/cron/misc.c.diff?r1=1.8&r2=1.11&f=h --- misc.c.orig 2008-04-06 00:13:14.000000000 -0400 +++ misc.c 2008-04-06 00:13:10.000000000 -0400 @@ -723,17 +723,17 @@ long get_gmtoff(time_t *clock, struct tm offset = (local->tm_sec - gmt.tm_sec) + ((local->tm_min - gmt.tm_min) * 60) + ((local->tm_hour - gmt.tm_hour) * 3600); /* Timezone may cause year rollover to happen on a different day. */ if (local->tm_year < gmt.tm_year) offset -= 24 * 3600; else if (local->tm_year > gmt.tm_year) - offset -= 24 * 3600; + offset += 24 * 3600; else if (local->tm_yday < gmt.tm_yday) offset -= 24 * 3600; else if (local->tm_yday > gmt.tm_yday) offset += 24 * 3600; return (offset); } #endif /* HAVE_TM_GMTOFF */ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]