[syslog-ng] Trouble with timezone()
Balazs Scheidler
bazsi at balabit.hu
Fri Dec 8 09:40:54 CET 2006
On Fri, 2006-12-08 at 08:58 +1300, anthony lineham wrote:
> I saw it in the html documentation that came with 2.0rc3, in Table 3.6.
> Common options for destination drivers.
> Here is the text:
> timezone() timezone offset in seconds unspecified Convert
> timestamps to a different timezone as specified by this option. If this
> option is not specified then the original timezone information in the
> message is used.
>
> Is the name of the option also incorrect? I noticed you referred to
> "time_zone" rather than "timezone". Both are present in the
> documentation that I have.
This is a docbug, a global option named timezone() does not exist
(anymore). You either need to use source_time_zone(), dest_time_zone()
settings.
If I remember correctly, there was a timezone related fix after 2.0.0
was released, so you should be using the latest snapshot. I really ought
to do a release soon.
The 12 hours limitation in timezone offsets also seem to be a bug, the
patch below fixes it. Tomorrow's snapshot should include both the patch
below, and the updated docs.
--- orig/src/cfg.c
+++ mod/src/cfg.c
@@ -52,13 +52,12 @@ cfg_timezone_value(gchar *tz, glong *tim
hours = (*tz - '0') * 10 + *(tz+1) - '0';
mins = (*(tz+3) - '0') * 10 + *(tz+4) - '0';
- if (hours <= 12 && mins <= 60)
+ if ((hours < 24 && mins <= 60) || (hours == 24 && mins == 0))
{
*timezone = sign * (hours * 3600 + mins * 60);
- return TRUE;
}
}
- msg_error("Bogus timezone spec, must be in the format [+-]HH:MM",
+ msg_error("Bogus timezone spec, must be in the format [+-]HH:MM, offset must be less than 24:00",
evt_tag_str("value", tz),
NULL);
return FALSE;
--
Bazsi
More information about the syslog-ng
mailing list