[syslog-ng] syslog-ng 1.9.6 released

Roberto Nibali ratz at drugphish.ch
Sun Oct 16 11:37:48 CEST 2005


G'day,

> I've released yet another version in the syslog-ng development series
> targeted at the stable 2.0, dubbed 1.9.6.

Nice. Comments regarding the release are below (coffee level == low)

First off: I test syslog-ng as follows:

CFLAGS="-ggdb" ./configure \
                 --program-suffix=-1.9.6 \
                 --sbindir=/sbin \
                 --sysconfdir=/etc/syslog-ng \
                 --enable-dynamic-linking
make
su
make install-exec
/sbin/syslog-ng-1.9.6 -d -d -v -F -f /etc/syslog-ng/syslog-ng.conf

The last command would normally spill tons of internal debug messages. 
For some strange reasons this is not the case anymore. What do I miss?

And it still crashes when sending HUP:

#0  IA__g_string_truncate (string=0x804da47, len=Variable "len" is not 
available.
) at gstring.c:421
421       string->len = MIN (len, string->len);
(gdb) bt
#0  IA__g_string_truncate (string=0x804da47, len=Variable "len" is not 
available.
) at gstring.c:421
#1  0x40084eb1 in IA__g_string_assign (string=Variable "string" is not 
available.
) at gstring.c:408
#2  0x08054570 in log_source_group_queue (s=0x8072b18, msg=0x806f8a0,
     path_flags=0) at sgroup.c:110
#3  0x0804daee in log_pipe_queue (s=0x8072b18, msg=0x806f8a0, path_flags=0)
     at logpipe.h:72
#4  0x0804dab0 in log_pipe_forward_msg (self=0x80727b0, msg=0x806f8a0,
     path_flags=0) at logpipe.c:66
#5  0x08058dc0 in log_pipe_queue (s=0x80727b0, msg=0x806f8a0, path_flags=0)
     at logpipe.h:72
#6  0x08058d17 in log_source_queue (s=0x8072720, msg=0x806f8a0, 
path_flags=0)
     at logsource.c:49
#7  0x08058938 in log_pipe_queue (s=0x8072720, msg=0x806f8a0, path_flags=0)
     at logpipe.h:72
#8  0x080586b0 in afinter_source_dispatch_msg (pipe=0x8072720, 
msg=0x806f8a0)
     at afinter.c:71
#9  0x0805868b in afinter_source_dispatch (source=0x8062778,
     callback=0x805869a <afinter_source_dispatch_msg>, user_data=0x8072720)
     at afinter.c:51
#10 0x4006b44e in IA__g_main_context_dispatch (context=0x80627c8)
     at gmain.c:1934
#11 0x4006d73b in g_main_context_iterate (context=Variable "context" is 
not available.
) at gmain.c:2565
#12 0x4006d825 in IA__g_main_context_iteration (context=Variable 
"context" is not available.
) at gmain.c:2624
#13 0x0804b03e in main_loop_run (cfg=0x8072590) at main.c:142
#14 0x0804b60e in main (argc=7, argv=0xbffff324) at main.c:387

> 1.9.6
>         Sat, 15 Oct 2005 18:07:07 +0200
> 
>         * Added new options to control buffer flushing (flush_lines and
>           flush_timeout, see the documentation for more details)

I didn't quite understand what exactly the flush_* options do, except 
obsoleting sync_freq (and maybe sync??).

   <entry>flush_lines()</entry>
   <entry>number</entry>
   <entry>
     This number controls how many lines if flushed to a
     destination at a time. Setting this number high, increases
     the time a given log message gets to a destination as it
     has to wait other lines to be written. The latency can be
     limited by the use of the flush_timeout option.
   <entry>

 From what I can guess this means you get to specify the amount of lines 
syslog-ng buffers per destination before sending it off? Or since its 
worded "flush", does it mean this is the amount of lines you lose if the 
destination is not available after flush_timeout() amount of time? 
What's the semantic of setting to 0? Do you have a per-destination timer 
or is there a global timer behind this?

   <entry>flush_timeout()</entry>
   <entry>number</entry>
   <entry>
      This option controls how much syslog-ng waits for lines to
      be flushed.
   </entry>

Could this be re-worded to something along the lines of:

"This option controls how long syslog-ng waits before the lines 
accumulated in the destination buffer (as specified by flush_lines()) 
are flushed."

If this is what it means. If indeed you meant that this specifies the 
amount of time syslog-ng will wait for the lines to be flushed (which 
would be odd in my opinion) than we should still re-word it slightly to 
explain why we have the need to specify an interval wherein which 
syslog-ng must be finished flushing the remaining lines in a buffer.

>         * Fixes in local timezone detection, it should properly detect DSTs
>           on Linux, Solaris and probably BSDs.

Testing this could be a wonderful janitor's job ;). And a rewarding one 
on top of it, since proper DST functionality can be crucial regarding 
system traces. If I were still hacking systems I would surely do it 
during DSTs, as chances are high that stuff like cron and syslog-ng do 
not work :).

>         * Fixed facility/priority filtering.

Wow, saw the Changelog entry and checked the diff ;).

>         * Fixed owner/group/permission setting on target files/directories.
>         * Copied the contrib directory as found in 1.6.x to this tree.
>         * TZ macro is now an alias of TZOFFSET, as I could not find a
>           portable way to determine the string representation of any given
>           timezone offset.
>         * Added some more unit tests.

Thanks for your excellent work,
Roberto Nibali, ratz
-- 
echo 
'[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc


More information about the syslog-ng mailing list