summaryrefslogtreecommitdiffstats
path: root/syslogd.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2007-06-26 07:14:09 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2007-06-26 07:14:09 +0000
commit7a3a89fe969e38845e0a14c4fbd96fad8f6db1e4 (patch)
tree315f6ec3e2d05612463ff87b6646083f83c6c7d6 /syslogd.c
parent10df374d97072a1403c2abc966d6c10d72f3b47a (diff)
downloadrsyslog-7a3a89fe969e38845e0a14c4fbd96fad8f6db1e4.tar.gz
rsyslog-7a3a89fe969e38845e0a14c4fbd96fad8f6db1e4.tar.xz
rsyslog-7a3a89fe969e38845e0a14c4fbd96fad8f6db1e4.zip
there was some program text duplicated for whatever reason. It had no
effect, as it were mostly comments. I have fixed that now.
Diffstat (limited to 'syslogd.c')
-rw-r--r--syslogd.c298
1 files changed, 0 insertions, 298 deletions
diff --git a/syslogd.c b/syslogd.c
index 8197adaf..83855ef8 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -147,304 +147,6 @@
#endif
#include <utmp.h>
#include <ctype.h>
-#define _GNU_SOURCE
-/**
- * \brief This is the main file of the rsyslogd daemon.
- *
- * TODO:
- * - check template lines for extra characters and provide
- * a warning, if they exists
- * - include a global option for control character replacemet on receive? (not just NUL)
- *
- * Please note that as of now, a lot of the code in this file stems
- * from the sysklogd project. To learn more over this project, please
- * visit
- *
- * http://www.infodrom.org/projects/sysklogd/
- *
- * I would like to express my thanks to the developers of the sysklogd
- * package - without it, I would have had a much harder start...
- *
- * Please note that I made quite some changes to the orignal package.
- * I expect to do even more changes - up
- * to a full rewrite - to meet my design goals, which among others
- * contain a (at least) dual-thread design with a memory buffer for
- * storing received bursts of data. This is also the reason why I
- * kind of "forked" a completely new branch of the package. My intension
- * is to do many changes and only this initial release will look
- * similar to sysklogd (well, one never knows...).
- *
- * As I have made a lot of modifications, please assume that all bugs
- * in this package are mine and not those of the sysklogd team.
- *
- * As of this writing, there already exist heavy
- * modifications to the orginal sysklogd package. I suggest to no
- * longer rely too much on code knowledge you eventually have with
- * sysklogd - rgerhards 2005-07-05
- * The code is now almost completely different. Be careful!
- * rgerhards, 2006-11-30
- *
- * I have decided to put my code under the GPL. The sysklog package
- * is distributed under the BSD license. As such, this package here
- * currently comes with two licenses. Both are given below. As it is
- * probably hard for you to see what was part of the sysklogd package
- * and what is part of my code, I suggest that you visit the
- * sysklogd site on the URL above if you would like to base your
- * development on a version that is not under the GPL.
- *
- * This Project was intiated and is maintened by
- * Rainer Gerhards <rgerhards@hq.adiscon.com>. See
- * AUTHORS to learn who helped make it become a reality.
- *
- * If you have questions about rsyslogd in general, please email
- * info@adiscon.com. To learn more about rsyslogd, please visit
- * http://www.rsyslog.com.
- *
- * \author Rainer Gerhards <rgerhards@adiscon.com>
- * \date 2003-10-17
- * Some initial modifications on the sysklogd package to support
- * liblogging. These have actually not yet been merged to the
- * source you see currently (but they hopefully will)
- *
- * \date 2004-10-28
- * Restarted the modifications of sysklogd. This time, we
- * focus on a simpler approach first. The initial goal is to
- * provide MySQL database support (so that syslogd can log
- * to the database).
- *
- * rsyslog - An Enhanced syslogd Replacement.
- * Copyright 2003-2005 Rainer Gerhards and Adiscon GmbH.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * A copy of the GPL can be found in the file "COPYING" in this distribution.
- */
-#ifdef __FreeBSD__
-#define BSD
-#endif
-
-/* change the following setting to e.g. 32768 if you would like to
- * support large message sizes for IHE (32k is the current maximum
- * needed for IHE). I was initially tempted to increase it to 32k,
- * but there is a large memory footprint with the current
- * implementation in rsyslog. This will change as the processing
- * changes, but I have re-set it to 1k, because the vast majority
- * of messages is below that and the memory savings is huge, at
- * least compared to the overall memory footprint.
- *
- * If you intend to receive Windows Event Log data (e.g. via
- * EventReporter - www.eventreporter.com), you might want to
- * increase this number to an even higher value, as event
- * log messages can be very lengthy.
- * rgerhards, 2005-07-05
- *
- * during my recent testing, it showed that 4k seems to be
- * the typical maximum for UDP based syslog. This is a IP stack
- * restriction. Not always ... but very often. If you go beyond
- * that value, be sure to test that rsyslogd actually does what
- * you think it should do ;) Also, it is a good idea to check the
- * doc set for anything on IHE - it most probably has information on
- * message sizes.
- * rgerhards, 2005-08-05
- *
- * I have increased the default message size to 2048 to be in sync
- * with recent IETF syslog standardization efforts.
- * rgerhards, 2006-11-30
- *
- * I have removed syslogdPanic(). That function was supposed to be used
- * for logging in low-memory conditons. Ever since it was introduced, it
- * was a wrapper for dprintf(). A more intelligent choice was hard to
- * find. After all, if we are short on memory, doing anything fance will
- * again cause memory problems. I have now modified the code so that
- * those elements for which we do not get memory are simply discarded.
- * That might be a single property like the TAG, but it might also be
- * a complete message. The overall goal of this code change is to keep
- * rsyslogd up and running, while we sacrifice some messages to reach
- * that goal. It also keeps the code cleaner. A real out of memory
- * condition is highly unlikely. If it happens, there will probably be
- * much more trouble on the system in question. Anyhow - rsyslogd will
- * most probably be able to survive it and carry on with processing
- * once the situation has been resolved.
- */
-#define MAXLINE 2048 /* maximum line length */
-#define DEFUPRI (LOG_USER|LOG_NOTICE)
-#define DEFSPRI (LOG_KERN|LOG_CRIT)
-#define TIMERINTVL 30 /* interval for checking flush, mark */
-
-#define CONT_LINE 1 /* Allow continuation lines */
-
-#ifdef MTRACE
-#include <mcheck.h>
-#endif
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#ifdef SYSV
-#include <sys/types.h>
-#endif
-#include <utmp.h>
-#include <ctype.h>
-#define _GNU_SOURCE
-/**
- * \brief This is the main file of the rsyslogd daemon.
- *
- * TODO:
- * - check template lines for extra characters and provide
- * a warning, if they exists
- * - include a global option for control character replacemet on receive? (not just NUL)
- *
- * Please note that as of now, a lot of the code in this file stems
- * from the sysklogd project. To learn more over this project, please
- * visit
- *
- * http://www.infodrom.org/projects/sysklogd/
- *
- * I would like to express my thanks to the developers of the sysklogd
- * package - without it, I would have had a much harder start...
- *
- * Please note that I made quite some changes to the orignal package.
- * I expect to do even more changes - up
- * to a full rewrite - to meet my design goals, which among others
- * contain a (at least) dual-thread design with a memory buffer for
- * storing received bursts of data. This is also the reason why I
- * kind of "forked" a completely new branch of the package. My intension
- * is to do many changes and only this initial release will look
- * similar to sysklogd (well, one never knows...).
- *
- * As I have made a lot of modifications, please assume that all bugs
- * in this package are mine and not those of the sysklogd team.
- *
- * As of this writing, there already exist heavy
- * modifications to the orginal sysklogd package. I suggest to no
- * longer rely too much on code knowledge you eventually have with
- * sysklogd - rgerhards 2005-07-05
- * The code is now almost completely different. Be careful!
- * rgerhards, 2006-11-30
- *
- * I have decided to put my code under the GPL. The sysklog package
- * is distributed under the BSD license. As such, this package here
- * currently comes with two licenses. Both are given below. As it is
- * probably hard for you to see what was part of the sysklogd package
- * and what is part of my code, I suggest that you visit the
- * sysklogd site on the URL above if you would like to base your
- * development on a version that is not under the GPL.
- *
- * This Project was intiated and is maintened by
- * Rainer Gerhards <rgerhards@hq.adiscon.com>. See
- * AUTHORS to learn who helped make it become a reality.
- *
- * If you have questions about rsyslogd in general, please email
- * info@adiscon.com. To learn more about rsyslogd, please visit
- * http://www.rsyslog.com.
- *
- * \author Rainer Gerhards <rgerhards@adiscon.com>
- * \date 2003-10-17
- * Some initial modifications on the sysklogd package to support
- * liblogging. These have actually not yet been merged to the
- * source you see currently (but they hopefully will)
- *
- * \date 2004-10-28
- * Restarted the modifications of sysklogd. This time, we
- * focus on a simpler approach first. The initial goal is to
- * provide MySQL database support (so that syslogd can log
- * to the database).
- *
- * rsyslog - An Enhanced syslogd Replacement.
- * Copyright 2003-2005 Rainer Gerhards and Adiscon GmbH.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * A copy of the GPL can be found in the file "COPYING" in this distribution.
- */
-#ifdef __FreeBSD__
-#define BSD
-#endif
-
-/* change the following setting to e.g. 32768 if you would like to
- * support large message sizes for IHE (32k is the current maximum
- * needed for IHE). I was initially tempted to increase it to 32k,
- * but there is a large memory footprint with the current
- * implementation in rsyslog. This will change as the processing
- * changes, but I have re-set it to 1k, because the vast majority
- * of messages is below that and the memory savings is huge, at
- * least compared to the overall memory footprint.
- *
- * If you intend to receive Windows Event Log data (e.g. via
- * EventReporter - www.eventreporter.com), you might want to
- * increase this number to an even higher value, as event
- * log messages can be very lengthy.
- * rgerhards, 2005-07-05
- *
- * during my recent testing, it showed that 4k seems to be
- * the typical maximum for UDP based syslog. This is a IP stack
- * restriction. Not always ... but very often. If you go beyond
- * that value, be sure to test that rsyslogd actually does what
- * you think it should do ;) Also, it is a good idea to check the
- * doc set for anything on IHE - it most probably has information on
- * message sizes.
- * rgerhards, 2005-08-05
- *
- * I have increased the default message size to 2048 to be in sync
- * with recent IETF syslog standardization efforts.
- * rgerhards, 2006-11-30
- *
- * I have removed syslogdPanic(). That function was supposed to be used
- * for logging in low-memory conditons. Ever since it was introduced, it
- * was a wrapper for dprintf(). A more intelligent choice was hard to
- * find. After all, if we are short on memory, doing anything fance will
- * again cause memory problems. I have now modified the code so that
- * those elements for which we do not get memory are simply discarded.
- * That might be a single property like the TAG, but it might also be
- * a complete message. The overall goal of this code change is to keep
- * rsyslogd up and running, while we sacrifice some messages to reach
- * that goal. It also keeps the code cleaner. A real out of memory
- * condition is highly unlikely. If it happens, there will probably be
- * much more trouble on the system in question. Anyhow - rsyslogd will
- * most probably be able to survive it and carry on with processing
- * once the situation has been resolved.
- */
-#define MAXLINE 2048 /* maximum line length */
-#define DEFUPRI (LOG_USER|LOG_NOTICE)
-#define DEFSPRI (LOG_KERN|LOG_CRIT)
-#define TIMERINTVL 30 /* interval for checking flush, mark */
-
-#define CONT_LINE 1 /* Allow continuation lines */
-
-#ifdef MTRACE
-#include <mcheck.h>
-#endif
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#ifdef SYSV
-#include <sys/types.h>
-#endif
-#include <utmp.h>
-#include <ctype.h>
#define GNU_SOURCE
#include <string.h>
#include <setjmp.h>