[syslog-ng]Re: [PATCH] make log_msg_size tunable
Balazs Scheidler
bazsi@balabit.hu
Wed, 17 Apr 2002 14:04:55 +0200
--8t9RHnE3ZwKMSgU+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Wed, Apr 17, 2002 at 01:55:57PM +0200, Balazs Scheidler wrote:
> Hi,
>
> The attached patch makes the maximum length of a log message tunable as a
> global option. Testers welcome.
>
> Usage:
>
> options { log_msg_size(8192); };
ops... forgot to include the patch.
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
--8t9RHnE3ZwKMSgU+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="syslog-ng-1.5.16-logmsg.diff"
Index: ChangeLog
===================================================================
RCS file: /var/cvs/syslog-ng/ChangeLog,v
retrieving revision 1.50
diff -u -r1.50 ChangeLog
--- ChangeLog 2002/04/12 07:42:16 1.50
+++ ChangeLog 2002/04/17 11:54:02
@@ -1,3 +1,13 @@
+2002-04-17 Balazs Scheidler <bazsi@balabit.balabit>
+
+ * af*.c: changed invocation of make_log_reader to pass new required arguments
+
+ * sources.c: changed make_log_reader() to accept log_msg_size argument
+
+ * cfg-grammar.y: added log_msg_size
+
+ * cfg-lex.l: added log_msg_size
+
2002-04-12 Balazs Scheidler <bazsi@balabit.balabit>
* src/afinet.c: tcp wrapper fix (added two variable
Index: src/affile.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/affile.c,v
retrieving revision 1.49
diff -u -r1.49 affile.c
--- src/affile.c 2002/04/12 07:42:16 1.49
+++ src/affile.c 2002/04/17 11:54:02
@@ -161,7 +161,7 @@
if (do_open_file(self->name, flags, -1, -1, -1, -1, -1, -1, 0, &fd)) {
lseek(fd, 0, SEEK_END);
self->src = io_read(make_io_fd(cfg->backend, fd, ol_string_use(self->name)),
- make_log_reader_ext(0, self->prefix, c),
+ make_log_reader(0, self->prefix, cfg->log_msg_size, c),
NULL);
self->res = REMEMBER_RESOURCE(cfg->resources, &self->src->super.super);
return ST_OK | ST_GOON;
Index: src/afinet.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/afinet.c,v
retrieving revision 1.16
diff -u -r1.16 afinet.c
--- src/afinet.c 2002/04/12 07:42:16 1.16
+++ src/afinet.c 2002/04/17 11:54:02
@@ -89,13 +89,13 @@
notice("AF_INET client connected from %S, port %i\n",
inet->ip, inet->port);
io_read(self->client,
- make_log_reader(0, c),
+ make_log_reader(0, NULL, cfg->log_msg_size, c),
make_afsocket_source_close_callback(self));
}
else {
/* SOCK_DGRAM */
io_read(self->client,
- make_log_reader(1, c),
+ make_log_reader(1, NULL, cfg->log_msg_size, c),
make_afsocket_source_close_callback(self));
}
Index: src/afstreams.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/afstreams.c,v
retrieving revision 1.12
diff -u -r1.12 afstreams.c
--- src/afstreams.c 2001/07/08 17:04:21 1.12
+++ src/afstreams.c 2002/04/17 11:54:02
@@ -145,7 +145,7 @@
length = eol - bol;
if (length) {
- li = make_log_info(length, bol);
+ li = make_log_info(length, bol, NULL);
li->pri = pri;
HANDLE_LOG(self->pipe, li);
}
Index: src/afunix.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/afunix.c,v
retrieving revision 1.20
diff -u -r1.20 afunix.c
--- src/afunix.c 2002/02/28 13:05:37 1.20
+++ src/afunix.c 2002/04/17 11:54:02
@@ -51,7 +51,7 @@
CAST(afsocket_source_connection, self, c);
io_read(self->client,
- make_log_reader(0, c),
+ make_log_reader(0, NULL, cfg->log_msg_size, c),
make_afsocket_source_close_callback(self));
return ST_OK | ST_GOON;
Index: src/cfg-grammar.y
===================================================================
RCS file: /var/cvs/syslog-ng/src/cfg-grammar.y,v
retrieving revision 1.51
diff -u -r1.51 cfg-grammar.y
--- src/cfg-grammar.y 2002/03/19 09:26:16 1.51
+++ src/cfg-grammar.y 2002/04/17 11:54:02
@@ -66,7 +66,7 @@
/* option items */
%token KW_FLAGS KW_CATCHALL KW_FALLBACK KW_FINAL
%token KW_FSYNC KW_MARK_FREQ KW_SYNC_FREQ KW_STATS_FREQ KW_CHAIN_HOSTNAMES KW_KEEP_HOSTNAME
-%token KW_LOG_FIFO_SIZE
+%token KW_LOG_FIFO_SIZE KW_LOG_MSG_SIZE
%token KW_TIME_REOPEN KW_TIME_REAP KW_USE_TIME_RECVD
%token KW_USE_DNS KW_USE_FQDN KW_GC_BUSY_THRESHOLD
%token KW_GC_IDLE_THRESHOLD KW_CREATE_DIRS
@@ -580,6 +580,7 @@
| KW_DNS_CACHE_EXPIRE '(' NUMBER ')' { configuration->dns_cache_expire = $3; }
| KW_DNS_CACHE_EXPIRE_FAILED '(' NUMBER ')'
{ configuration->dns_cache_expire_failed = $3; }
+ | KW_LOG_MSG_SIZE '(' NUMBER ')' { configuration->log_msg_size = $3; }
;
filter_stmt
Index: src/cfg-lex.l
===================================================================
RCS file: /var/cvs/syslog-ng/src/cfg-lex.l,v
retrieving revision 1.22
diff -u -r1.22 cfg-lex.l
--- src/cfg-lex.l 2002/03/19 09:26:16 1.22
+++ src/cfg-lex.l 2002/04/17 11:54:02
@@ -98,6 +98,7 @@
{ "dns_cache_expire", KW_DNS_CACHE_EXPIRE },
{ "dns_cache_expire_failed", KW_DNS_CACHE_EXPIRE_FAILED },
{ "log_prefix", KW_LOG_PREFIX },
+ { "log_msg_size", KW_LOG_MSG_SIZE },
/* source or destination items */
{ "file", KW_FILE },
Index: src/cfgfile.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/cfgfile.c,v
retrieving revision 1.38
diff -u -r1.38 cfgfile.c
--- src/cfgfile.c 2002/03/19 09:26:16 1.38
+++ src/cfgfile.c 2002/04/17 11:54:02
@@ -319,6 +319,7 @@
self->dns_cache_size = 1007;
self->dns_cache_expire = 3600;
self->dns_cache_expire_failed = 60;
+ self->log_msg_size = 2048;
if ((cfg = fopen(name, "r")) != NULL) {
lex_init(cfg);
res = yyparse();
Index: src/cfgfile.h
===================================================================
RCS file: /var/cvs/syslog-ng/src/cfgfile.h,v
retrieving revision 1.22
diff -u -r1.22 cfgfile.h
--- src/cfgfile.h 2001/08/26 15:06:25 1.22
+++ src/cfgfile.h 2002/04/17 11:54:02
@@ -70,6 +70,8 @@
(cache simple "struct nscache *")
(gc_busy_threshold simple UINT32)
(gc_idle_threshold simple UINT32)
+ ;
+ (log_msg_size simple UINT32)
; internal messages should come from this source
(internal object log_handler)
(sources object log_source_group)
Index: src/sources.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/sources.c,v
retrieving revision 1.32
diff -u -r1.32 sources.c
--- src/sources.c 2002/04/03 08:37:02 1.32
+++ src/sources.c 2002/04/17 11:54:02
@@ -50,7 +50,7 @@
(dgram simple UINT32)
(prefix pointer UINT8)
(pos simple UINT32)
- (buffer array UINT8 MAX_LOG_LINE)
+ (buffer space UINT8)
(next object log_handler)))
*/
@@ -136,9 +136,10 @@
}
struct read_handler *
-make_log_reader_ext(UINT32 dgram,
- UINT8 *prefix,
- struct log_handler *next)
+make_log_reader(UINT32 dgram,
+ UINT8 *prefix,
+ UINT32 max_log_line,
+ struct log_handler *next)
{
NEW(log_reader, self);
@@ -146,15 +147,9 @@
self->dgram = dgram;
self->next = next;
self->prefix = prefix;
+ self->buffer = ol_space_alloc(max_log_line);
return &self->super;
-}
-
-struct read_handler *
-make_log_reader(UINT32 dgram,
- struct log_handler *next)
-{
- return make_log_reader_ext(dgram, NULL, next);
}
/* source_group */
Index: src/sources.h
===================================================================
RCS file: /var/cvs/syslog-ng/src/sources.h,v
retrieving revision 1.13
diff -u -r1.13 sources.h
--- src/sources.h 2002/03/19 09:26:16 1.13
+++ src/sources.h 2002/04/17 11:54:02
@@ -60,11 +60,11 @@
(name string)))
*/
-struct read_handler *make_log_reader(UINT32 dgram, struct log_handler *next);
struct read_handler *
-make_log_reader_ext(UINT32 dgram,
- UINT8 *prefix,
- struct log_handler *next);
+make_log_reader(UINT32 dgram,
+ UINT8 *prefix,
+ UINT32 max_log_line,
+ struct log_handler *next);
struct log_source_group *make_source_group(const char *name, struct log_source_driver *drvs);
--8t9RHnE3ZwKMSgU+--