forked from eric/syslog-ng-3.3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.0
478 lines (323 loc) · 17.3 KB
/
ChangeLog.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
2005-01-16 Balazs Scheidler <[email protected]>
* configure.in: take CFLAGS environment variable into consideration
when running configure, link eventlog and glib statically
* src/fdread.c, src/fdwrite.c: handle EINTR by repeating the read
system call
* src/logreader, src/logwriter.c: handle EAGAIN correctly
2005-01-15 Balazs Scheidler <[email protected]>
* src/afsocket.c (afsocket_sd_accept): added g_fd_set_nonblock for
new sockets
2005-01-09 Balazs Scheidler <[email protected]>
* src/logsource.c: new file, separated flow control related
functions from logreader
* src/logreader.c: LogReader is derived from LogSource
* src/afinter.c: substituted the pipe used for internal messages
with a GQueue
2005-01-05 Balazs Scheidler <[email protected]>
* configure.in: added checks for -ldoor, -lsocket, -lnsl and getopt.h
* other files: fixed a couple of Solaris specific warnings
2004-12-31 Balazs Scheidler <[email protected]>
* src/macros.c: added PRI and MSGONLY macros
* src/templates.c: added support for braces around macros for
$example: "{MSG}"
2004-12-29 Balazs Scheidler <[email protected]>
* src/afprog.c (afprogram_dd_init): call setsid before launching child,
(afprogram_dd_deinit): deinit & unref self->writer here instead of
in afprogram_dd_free,
* src/center.c (log_center_queue): do not supply self as user_data pointer to
the ack_block callback as that would require adding a reference to self
* src/dgroup.c (log_dest_group_queue): do not supply self as user_data pointer to
the ack_block callback as that would require adding a reference to self
* src/logreader.c: instead of using self->window_size use self->options->window_size
so that the window is shared between all LogReaders using the same
options,
(log_reader_handle_line): add reference to self before supplying it as an argument to
the ack_block callback function,
(log_reader_msg_ack): unref the supplied logreader argument
2004-12-27 Balazs Scheidler <[email protected]>
* src/afsocket.c (afsocket_sd_deinit): break circular reference
between self->reader and self,
(afsocket_sd_notify): do not destroy/unref sender in NC_CLOSE, as
afsocket_sd_close_connection already does that,
(afsocket_sd_init, afsocket_sd_deinit): removed static,
(afsocket_sd_free_instance): renamed from afsocket_sd_free, removed
static, created a new afsocket_sd_free function at the same time
which is set as the free_fn of AFSocketSourceDriver
* src/afunix.c: implemented user/group/perm settings
* src/cfg-grammar.y: added support for log-prefix
* src/cfg.c: changed default timestamp format to BSD for compatibility
* src/filter.c: fixed AND and OR operator evaluation, the operands
were not correctly saved at initialization time, thus NULL was
referenced at evaluation time
* src/logreader.c: added log_prefix support for all log readers
* src/logwriter.c: use log_msg_drop instead of a simple log_msg_unref
* src/main.c: fixed SIGCHLD handling, loop while waitpid returns > 0,
added tzset() call
2004-12-27 Balazs Scheidler <[email protected]>
* src/affile.c (affile_sd_deinit): make sure to break circular
reference between self->reader and self, fixes possible memory leak,
(affile_sd_free): call log_drv_free_instance
* src/afinter.c (afinter_sd_deinit): break circular reference
between self->reader and self
* src/afprog.c (afprog_sd_free): added log_drv_free_instance
* src/afsocket.c (afsocket_sd_deinit): break circular reference
between self->reader and self,
(afsocket_sd_free): added log_drv_free_instance,
(afsocket_dd_free): -"-
* src/afuser.c (afuser_dd_queue): free queued message,
(afuser_dd_free): added log_drv_free_instance
* src/cfg-grammar.y: unref log driver after appending to avoid
memory leaks
* src/cfg.c (cfg_reload_config): fixed possible memory leak when
cfg_init fails (free persist),
(persist_config_free): added missing free for hashtable
* src/dgroup.c (log_dest_group_queue): make sure each driver gets
its own reference to msg as each will free it on its own, also
added an explicit unref at the end of the function
(log_dest_group_new): added missing call to log_pipe_init_instance
* src/gsockaddr.c: removed all low-level g_message invocation,
errors should be reported by the caller
* src/logpipe.c: added assertions to _ref and _unref
* src/main.c (main_loop_run): added a missing g_main_loop_unref to
avoid memory leaks,
(main): call msg_syslog_started at the end of initialization to force
messages into the system log
* src/messages.c (msg_syslog_started): new function to indicate
that initialization is finished, messages will be written to
stderr instead of the internal() source if syslog is not yet
started to let the administrator see important
failure messages,
(msg_deinit): free the event log context, only close the error pipe
if it was really opened
2004-08-20 Balazs Scheidler <[email protected]>
* src/messages.c: adapted to the latest changes in the eventlog,
now it actually compiles again and shows some signs of operation
2003-01-22 Balazs Scheidler <[email protected]>
* src/logwriter.c: support per-destination time stamp formatting
options (keep_timestamp, tz_convert, ts_format)
* src/logreader.c: support LR_STRICT flag (specifies LP_STRICT
when parsing messages), new per-source option time_zone which
specifies the sender's timezone
* src/macros.c: support time_zone when formatting a message
* src/templates.c: support time_zone specification for templates
* src/logmsg.c: added timezone handling, the possibility to parse
RFC3339 timestamps in incoming messages
* src/cfg.c, src/cfg-grammar.y: added timestamp & timezone
specific options
* src/afsocket.c: strict RFC3164 mode does not allow RFC3339
timestamps, kept alive file descriptors are stored in persist
offseted by +1, so NULL value is not possible
* src/afinet.c: UDP uses strict RFC3164 timestamps
* src/affile.c: added warning about template_escape() if the
template used is not specified inline
2002-12-31 Balazs Scheidler <[email protected]>
* src/afsocket.c (afsocket_sd_set_keep_alive,
afsocket_sd_set_listener_keep_alive): new functions to set the
appropriate flags in self,
(afsocket_sd_kill_connection): new function, kills and unrefs the
given AFSocketSourceConnection object,
(afsocket_sd_init, afsocket_sd_deinit): support persistent
connections
* src/cfg-grammar.y: the inline template definition stores the
inline-ness in a gboolean attribute
* src/cfg.c: implemented file/directory uid/gid/perm functions,
(persist_config_add, persist_config_fetch): new functions
* src/filter.c: store the marked matches in global variables, so
macro expansion can reference it
* src/macros.c: support variables $1 - $9
* src/misc.c: moved resolve_user & family functions here
* src/main.c: use resolve_* functions from misc.c
* src/afinet.c (afinet_sd_new): set flags to AFSOCKET_KEEP_ALIVE |
AFSOCKET_LISTENER_KEEP_ALIVE
* src/affile.c (affile_set_template_escape): modify the inline
template object instead of a flag in self
2002-11-15 Balazs Scheidler <[email protected]>
* src/templates.c: make LogTemplate refcounted
* src/logwriter.c (log_writer_format_log): support for
file_template & proto_template
* src/logreader.c: instead of relying on ourselves to let output
buffers flush, we use glib source priority mechanism (the exact
change was to return TRUE when a complete line is available in
prepare),
fixed MARK processing
* src/cfg.c: file_template & proto_template support
* src/cfg-lex.l: added two new options, file_template and
proto_template, they specify the ID of a template which will be
used by default for file/protocol outputs
* src/gsockaddr.c: changed return values from G_IO_ERROR_* to
G_IO_STATUS_* (glib 2 style)
* src/afsocket.c: changed to match gsockaddr.c changes, fixed a
bug that cause message loss between reconnections
(self->log_writer was reinitialized before each reconnect)
2002-09-16 Balazs Scheidler <[email protected]>
* src/afprog.c (afprogram_dd_exit): new function, called when a
child exited, calls deinit & init to restart the program
(afprogram_dd_init): call child_manager_register(), so the
program() destination supports restarting the program
* src/afsocket.c: pass LR_PKTTERM flag for AFSOCKET_DGRAM sockets
* src/cfg-grammar.y: new token KW_FOLLOW_FREQ, it is a reader
option and specifies that the file should be followed using the
given frequence (a'la tail -f )
* src/cfg-lex.l: renamed keyword 'mark' to 'mark_freq'
* src/cfg.c: initialize follow_freq to -1
* src/children.c, src/children.h: new files which implement
process children handling, it makes it possible to register
callbacks for SIGCHLD
* src/logmsg.c: added 'log parsing flags', prefixed LP_*, which
modifies the way log messages are parsed, removed some specialized
log_msg_new_*() functions,
(log_msg_new_mark): new function, generates a MARK message
* src/logreader.c: added follow file option, added packet
terminated log processing (for SOCK_DGRAM sources),
self->source_id was changed to a GSource *, and renamed to
self->source, changed initialization and deinitialization code
accordingly
* src/main.c: initialize children.c, and call the necessary entry
point upon SIGCHLD
2002-08-03 Balazs Scheidler <[email protected]>
* src/logreader.c, src/logreader.h: runtime variable log message size support
* src/cfg.c, src/cfg.h: template storage support
* src/cfg-grammar.y: add support for template keywords,
add support for log_msg_size
* src/templates.c, src/templates.h: new files for defineable templates
2002-07-28 Balazs Scheidler <[email protected]>
* src/syslog-ng.h: added LOG_PRIORITY_* defines
* src/messages.c: initialize msg_pipe to {-1,-1} to let the
internal() driver know that internal message pipe has not been
initialized
* src/logwriter.h (LogWriterOptions): moved fifo_size to here,
added declaration for log_writer_options_* functions
* src/logwriter.c (log_writer_watch_new): set priority to
LOG_PRIORITY_WRITER
(log_writer_queue): use log_fifo_size from options, added some
more detail to message reporting queue full
(log_writer_new): removed initialization of log_fifo_size, it is
used from writer_options instead
(log_writer_options_defaults): new function
(log_writer_options_init): new function
* src/logreader.h (LogReaderOptions): added fetch_limit
(LogReader): added prev_addr field (to hold the sockaddr of the previous buffer,
added declaration for log_reader_options_defaults, log_reader_options_init
* src/logreader.c (log_reader_watch_new): set source priority to
LOG_PRIORITY_READER
(log_reader_iterate_buf): implemented fetch_limit option, fixed
sockaddr handling when something remains in the buffer
(log_reader_options_defaults, log_reader_options_init): new functions
* src/logmsg.c (log_msg_ack_block_end): fixed memory leak, instead
of simply removing the list entry, delete it
* src/cfg.h (GlobalConfig): added fields log_iw_size and log_fetch_limit
* src/cfg.c (cfg_new): set default options for log_iw_size and log_fetch_limit
* src/cfg-lex.l: added keywords for log_iw_size and log_fetch_limit
* src/cfg-grammar.y: cleaned up token section, added options
log_iw_size, log_fetch_limit, fixed log_fifo_size
* src/center.c (log_center_queue): pass a reference of msg
further, otherwise msg was freed too early
* src/afsocket.c (g_listen_source_new): set priority to
LOG_PRIORITY_LISTEN
(g_connect_source_new): set priority to LOG_PRIORITY_CONNECT
(afsocket_sd_init): call log_reader_options_init
(afsocket_sd_init_instance): call log_reader_options_defaults
instead of setting reader options directly
(afsocket_dd_init): call log_writer_options_init
(afsocket_dd_init_instance): call log_writer_options_defaults
* src/afprog.c (afprogram_dd_init): call log_writer_options_init
(afprogram_dd_new): call log_writer_options_defaults
* src/afinter.c (afinter_sd_init): call log_reader_options_init,
handle the case when internal messages are written to stderr
instead of the log
(afinter_sd_new): call log_reader_options_defaults
* src/affile.c (affile_sd_init): call log_reader_options_init
(affile_dd_new): call log_reader_options_defaults
(affile_dw_deinit): fixed memory leak, unref self->writer when deinitialized
(affile_dd_init): call log_writer_options_init
(affile_dd_queue): handle the case when the dw cannot be initialized
(affile_dd_new): call log_writer_options_defaults
2002-07-27 Balazs Scheidler <[email protected]>
* src/main.c (sig_segv_handler): new function, handles SIGSEGV signals
* src/macros.c (result_append): instead of using g_string_sprintfa
to append an escaped char, append it using g_string_append_c
(supposed to be faster)
* src/logmsg.c (log_msg_ref, log_msg_unref): added assert() calls
to check whether ref_cnt has reached zero
* src/afsocket.c (afsocket_sc_free): bugfix, set
self->owner->connections to the value returned by g_list_remove(),
this one caused major headache to find
* src/affile.c (affile_dd_queue): free filename if dw is already
allocated
2002-06-30 Balazs Scheidler <[email protected]>
* src/main.c: support for memtrace added
* src/logwriter.c, src/logwriter.h: use fd_write objects instead of simple fds
* src/logreader.c, src/logreader.h: use fd_read objects instead of simple fds
* src/logmsg.c (log_msg_ack_block_end): fixed memory leak, free
the allocated memory block
* src/fdread.c, src/fdread.h:: new files which implement file
descriptor reading
* src/fdwrite.c, src/fdwrite.h:: new files which implement file
descriptor writing
* src/cfg-grammar.y: pass AFSOCKET_LOCAL flag to unix domain socket sources
* src/afsocket.c: removed finalize function from g_connect &
g_listen sources, pass fd_read to log_reader, and fd_write to
log_writer instead of plain fds
* src/affile.c, src/afinter.c, src/afprog.c: pass fd_read object
to log_reader_new, and fd_write to log_writer instead of plain fds
* src/memtrace.c, src/memtrace.h: ported from Zorp
* src/Makefile.am: added memtrace.c & memtrace.h
* configure.in: added --enable-mem-trace switch
2002-06-15 Balazs Scheidler <[email protected]>
* afsocket.c: ported to glib-2.0
* logreader.c: ported to glib-2.0
* logwriter.c: LogWriterOptions split from the main structure,
ported to glib-2.0
* affile.h: moved AFFileSourceDriver and AFFileDestDriver here, so
the parser can use reader_options/writer_options fields directly
* cfg-grammar.y: make log_reader and log_writer options separate
rules, so it is easier to add common rules for all
source/destination driver
* configure.in: use glib-2.0 and pkgconfig
2002-06-08 Balazs Scheidler <[email protected]>
* src/messages.c: debug messages are never written to syslog as
internal message as it would drain the system (for example every
incoming log message is reported as a debug message, they are
always written to stderr instead
* src/cfg-grammar.y, src/cfg-lex.l: added support for flow
controlled message paths
* src/center.h: LC_FLOW_CONTROL new flag
* src/center.c: sources are also stored in a g_ptr_array in
addition to the hash table to make it easier to perform iterative
tasks (g_hash_table_foreach requires a function pointer), and
source references are also resolved at init time.
* src/logreader.c, src/center.c, src/dgroup.c, src/logwriter.c, src/afuser.c:
implemented flow control
* src/logpipe.h: added path_flags argument to queue() as it
specifies whether the sender wants ack or not (used by flow control),
* src/logreader.h: separated log reader specific options to
another structure (LogReaderOptions), to make it easier to specify
reader options from the configuration
2002-05-13 Balazs Scheidler <[email protected]>
* src/messages.h, src/messages.c: added support for verbose_flag
and debug_flag, and implemented internal message handling
* src/logreader.c: added new flag LR_NOCLOSE to avoid closing the
fd if the logreader is destroyed, added LR_INTERNAL for processing
internal messages, and LR_NOPARSE to avoid parsing incoming
message
* src/afinter.c: implemented internal messages driver
2002-05-09 Balazs Scheidler <[email protected]>
* src/afprog.c: added the ability to respawn the child program
once it exited
* src/messages.h: added msg_debug macro
* src/main.c: added processing most of the command line options, added
the ability to go into background, chroot, setuid, setgid etc.
* src/afunix.c: implemented afunix sources and destinations
* src/logpipe.h: added NC_WRITE_ERROR, renamed NC_CLOSE_ERROR to
NC_READ_ERROR, changed referrences appropriately,
(log_pipe_append): new function
* src/afinet.c: implemented hostname and service lookup, implemented
reconnection after a timeout, implemented EOF detection when the channel is idle
* src/logwriter.c, src/logreader.c: added new argument named
control where notify messages are sent, log readers have no
explicit 'next' argument anymore, pipes are constructed using
log_pipe_append instead
* src/affile.c: implemented destination file reaping
2002-04-04 Balazs Scheidler <[email protected]>
* affile, afpipe and afinet fixes
* do not leak memory on -HUP