aboutsummaryrefslogtreecommitdiff
path: root/app/admin/syslog-ng
diff options
context:
space:
mode:
authorrhatto <rhatto@18ef50b8-d735-4ccd-97c1-689132df3dd9>2008-09-03 03:48:23 +0000
committerrhatto <rhatto@18ef50b8-d735-4ccd-97c1-689132df3dd9>2008-09-03 03:48:23 +0000
commitf067192c38e4af6208b1f35a76f0c952266869f8 (patch)
treed9c6bd428c3bb07de33ec0679d9b25d26d7fd202 /app/admin/syslog-ng
parent36765ff8fda0ca2f697346e2df6992cd418a1638 (diff)
downloadmkbuilds-f067192c38e4af6208b1f35a76f0c952266869f8.tar.gz
mkbuilds-f067192c38e4af6208b1f35a76f0c952266869f8.tar.bz2
merging with changes made since 21th May
git-svn-id: svn+slack://slack.fluxo.info/var/svn/mkbuilds@233 18ef50b8-d735-4ccd-97c1-689132df3dd9
Diffstat (limited to 'app/admin/syslog-ng')
-rw-r--r--app/admin/syslog-ng/logrotate.d/syslog-ng6
-rw-r--r--app/admin/syslog-ng/rc.syslog-ng.new37
-rw-r--r--app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff277
-rw-r--r--app/admin/syslog-ng/syslog-ng.conf.new270
-rw-r--r--app/admin/syslog-ng/syslog-ng.mkbuild117
5 files changed, 707 insertions, 0 deletions
diff --git a/app/admin/syslog-ng/logrotate.d/syslog-ng b/app/admin/syslog-ng/logrotate.d/syslog-ng
new file mode 100644
index 0000000..b6a7e1d
--- /dev/null
+++ b/app/admin/syslog-ng/logrotate.d/syslog-ng
@@ -0,0 +1,6 @@
+/var/log/cron /var/log/debug /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler /var/log/syslog {
+ sharedscripts
+ postrotate
+ /bin/kill -HUP `cat /var/run/syslog-ng.pid`2>/dev/null || true
+ endscript
+}
diff --git a/app/admin/syslog-ng/rc.syslog-ng.new b/app/admin/syslog-ng/rc.syslog-ng.new
new file mode 100644
index 0000000..513154f
--- /dev/null
+++ b/app/admin/syslog-ng/rc.syslog-ng.new
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Start/stop/restart the system logging daemons.
+#
+# Written for Slackware Linux by Patrick J. Volkerding <volkerdi@slackware.com>.
+# Modyfied for syslog-ng by Kanedaaa <kaneda@bohater.net>
+
+syslogng_start() {
+ if [ -x /usr/sbin/syslog-ng ]; then
+ echo -n "Starting syslog-ng daemon: "
+ echo " /usr/sbin/syslog-ng"
+ /usr/sbin/syslog-ng
+ fi
+}
+
+syslogng_stop() {
+ killall syslog-ng 2> /dev/null
+}
+
+syslogng_restart() {
+ syslogng_stop
+ sleep 1
+ syslogng_start
+}
+
+case "$1" in
+'start')
+ syslogng_start
+ ;;
+'stop')
+ syslogng_stop
+ ;;
+'restart')
+ syslogng_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff b/app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff
new file mode 100644
index 0000000..5b0a230
--- /dev/null
+++ b/app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff
@@ -0,0 +1,277 @@
+diff -Naur syslog-ng-2.0.5.orig/doc/Makefile.am syslog-ng-2.0.5/doc/Makefile.am
+--- syslog-ng-2.0.5.orig/doc/Makefile.am 2007-04-19 21:37:16.000000000 +0200
++++ syslog-ng-2.0.5/doc/Makefile.am 2007-11-03 00:28:59.000000000 +0100
+@@ -6,6 +6,7 @@
+ reference/syslog-ng.xml \
+ reference/syslog-ng.txt \
+ reference/syslog-ng.xsl \
++ reference/README.syslog-ng-anon \
+ examples/syslog-ng.conf.sample \
+ examples/syslog-ng.conf.solaris
+
+diff -Naur syslog-ng-2.0.5.orig/doc/Makefile.in syslog-ng-2.0.5/doc/Makefile.in
+--- syslog-ng-2.0.5.orig/doc/Makefile.in 2007-07-22 15:40:04.000000000 +0200
++++ syslog-ng-2.0.5/doc/Makefile.in 2007-11-03 00:28:59.000000000 +0100
+@@ -135,6 +135,7 @@
+ reference/syslog-ng.xml \
+ reference/syslog-ng.txt \
+ reference/syslog-ng.xsl \
++ reference/README/syslog-ng-anon \
+ examples/syslog-ng.conf.sample \
+ examples/syslog-ng.conf.solaris
+
+diff -Naur syslog-ng-2.0.5.orig/doc/reference/README.syslog-ng-anon syslog-ng-2.0.5/doc/reference/README.syslog-ng-anon
+--- syslog-ng-2.0.5.orig/doc/reference/README.syslog-ng-anon 1970-01-01 01:00:00.000000000 +0100
++++ syslog-ng-2.0.5/doc/reference/README.syslog-ng-anon 2007-11-03 00:42:04.000000000 +0100
+@@ -0,0 +1,88 @@
++syslog-ng-anon
++
++ This patch adds the capability to syslog-ng that allows you to strip
++ out any given regexp or all IP addresses from log messages before
++ they are written to disk. The goal is to give the system administrator
++ the means to implement site logging policies, by allowing them easy
++ control over exactly what data they retain in their logfiles,
++ regardless of what a particular daemon might think is best.
++
++Background:
++
++ Data retention has become a hot legal topic for ISPs and other Online
++ Service Providers (OSPs). There are many instances where it is preferable
++ to keep less information on users than is collected by default on many
++ systems. In the United States it is not currently required to retain
++ data on users of a server, but you may be required to provide all data
++ on a user which you have retained. OSPs can protect themselves from legal
++ hassles and added work by choosing what data they wish to retain.
++
++ From "Best Practices for Online Service Providers"
++ (http://www.eff.org/osp):
++
++ As an intermediary, the OSP [Online Service Provider] finds itself in
++ a position to collect and store detailed information about its users
++ and their online activities that may be of great interest to third
++ parties. The USA PATRIOT Act also provides the government with
++ expanded powers to request this information. As a result, OSP owners
++ must deal with requests from law enforcement and lawyers to hand over
++ private user information and logs. Yet, compliance with these demands
++ takes away from an OSP's goal of providing users with reliable,
++ secure network services. In this paper, EFF offers some suggestions,
++ both legal and technical, for best practices that balance the needs
++ of OSPs and their users' privacy and civil liberties.
++
++ Rather than scrubbing the information you don't want in logs, this patch
++ ensures that the information is never written to disk. Also, for those
++ daemons which log through syslog facilities, this patch provides a
++ convenient single configuration to limit what you wish to log.
++
++ Here are some related links:
++
++ Best Practices for Online Service Providers
++ http://www.eff.org/osp
++ http://www.eff.org/osp/20040819_OSPBestPractices.pdf
++
++ EPIC International Data Retention Page
++ http://www.epic.org/privacy/intl/data_retention.html
++
++ Working Paper on Usage Log Data Management (from Computer, Freedom, and
++ Privacy conference) http://cryptome.org/usage-logs.htm
++
++
++Installing syslog-ng-anon
++
++ Applying the patch
++
++ This patch has been tested against the following versions of syslog-ng:
++ . Debian package syslog-ng_2.0.5-2
++
++ To use this patch, obtain the source for syslog-ng
++ (apt-get source syslog-ng) and the
++ syslog-ng-anon patch (http://dev.riseup.net/patches/syslog-ng/).
++ Apply the patch the patch:
++
++ % cd syslog-ng-2.0.5
++ % patch -p1 < ../syslog-ng-anon.diff
++
++ Then compile and install syslog-ng:
++
++ % dpkg-buildpackage -rfakeroot -b
++ % dpkg -i ../syslog-ng_2.0.5-2_i386.deb
++
++ How to use it
++
++ This patch adds the filter "strip". For example:
++
++ filter f_strip {strip(<regexp>);};
++
++ This will strip out all matches of the regular expression on logs to
++ which the filter is applied and replaces all matches with the fixed length
++ four dashes ("----").
++
++ In place of a regular expression, you can put "ips", which will replace all
++ internet addresses with 0.0.0.0. For example:
++
++ filter f_strip {strip(ips);};
++
++ You can alter what the replacement strings are by using replace:
+diff -Naur syslog-ng-2.0.5.orig/src/cfg-grammar.y syslog-ng-2.0.5/src/cfg-grammar.y
+--- syslog-ng-2.0.5.orig/src/cfg-grammar.y 2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/cfg-grammar.y 2007-11-03 00:28:59.000000000 +0100
+@@ -107,7 +107,7 @@
+ %token KW_USE_TIME_RECVD
+
+ /* filter items*/
+-%token KW_FACILITY KW_LEVEL KW_HOST KW_MATCH KW_NETMASK
++%token KW_FACILITY KW_LEVEL KW_HOST KW_MATCH KW_NETMASK KW_STRIP KW_REPLACE
+
+ /* yes/no switches */
+ %token KW_YES KW_NO
+@@ -802,6 +802,8 @@
+ | KW_PROGRAM '(' string ')' { $$ = filter_prog_new($3); free($3); }
+ | KW_HOST '(' string ')' { $$ = filter_host_new($3); free($3); }
+ | KW_MATCH '(' string ')' { $$ = filter_match_new($3); free($3); }
++ | KW_STRIP '(' string ')' { $$ = filter_strip_new($3); free($3); }
++ | KW_REPLACE '(' string string ')' { $$ = filter_replace_new($3, $4); free($3); free($4); }
+ | KW_FILTER '(' string ')' { $$ = filter_call_new($3, configuration); free($3); }
+ | KW_NETMASK '(' string ')' { $$ = filter_netmask_new($3); free($3); }
+ ;
+@@ -907,4 +909,4 @@
+ last_reader_options = NULL;
+ last_writer_options = NULL;
+ last_template = NULL;
+-}
+\ No newline at end of file
++}
+diff -Naur syslog-ng-2.0.5.orig/src/cfg-lex.l syslog-ng-2.0.5/src/cfg-lex.l
+--- syslog-ng-2.0.5.orig/src/cfg-lex.l 2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/cfg-lex.l 2007-11-03 00:28:59.000000000 +0100
+@@ -165,6 +165,8 @@
+ { "host", KW_HOST },
+ { "match", KW_MATCH },
+ { "netmask", KW_NETMASK },
++ { "strip", KW_STRIP },
++ { "replace", KW_REPLACE },
+
+ /* on/off switches */
+ { "yes", KW_YES },
+diff -Naur syslog-ng-2.0.5.orig/src/filter.c syslog-ng-2.0.5/src/filter.c
+--- syslog-ng-2.0.5.orig/src/filter.c 2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/filter.c 2007-11-03 00:30:22.000000000 +0100
+@@ -226,6 +226,7 @@
+ typedef struct _FilterRE
+ {
+ FilterExprNode super;
++ GString *replace;
+ regex_t regex;
+ } FilterRE;
+
+@@ -310,6 +311,9 @@
+ filter_re_free(FilterExprNode *s)
+ {
+ FilterRE *self = (FilterRE *) s;
++
++ if (self->replace != NULL)
++ g_string_free(self->replace, TRUE);
+
+ regfree(&self->regex);
+ g_free(s);
+@@ -494,3 +498,89 @@
+ self->super.eval = filter_netmask_eval;
+ return &self->super;
+ }
++
++FilterExprNode *
++filter_strip_new(const gchar *re)
++{
++ if (g_ascii_strcasecmp(re, "ips") == 0)
++ return filter_replace_new(re, "0.0.0.0");
++ return filter_replace_new(re, "----");
++}
++
++#define FMIN(a, b) (a) < (b) ? (a) : (b)
++#define NEW_MSG_SIZE 2048
++
++static gboolean
++filter_replace_eval(FilterExprNode *s, LogMessage *log)
++{
++ FilterRE *self = (FilterRE *) s;
++ gchar *buffer = log->msg.str;
++ gint snippet_size;
++ regmatch_t pmatch;
++ gchar new_msg[NEW_MSG_SIZE];
++ gchar *new_msg_max = new_msg + NEW_MSG_SIZE;
++ gchar *new_msg_ptr = new_msg;
++ gint replace_length = self->replace->len;
++ gint error;
++
++ error = regexec(&self->regex, buffer, 1, &pmatch, 0);
++ if (error)
++ return TRUE;
++ while (!error)
++ {
++ /* copy string snippet which preceeds matched text */
++ snippet_size = FMIN(pmatch.rm_so, new_msg_max - new_msg_ptr);
++ memcpy(new_msg_ptr, buffer, snippet_size);
++ new_msg_ptr += snippet_size;
++
++ /* copy replacement */
++ snippet_size = FMIN(replace_length, new_msg_max - new_msg_ptr);
++ memcpy(new_msg_ptr, self->replace->str, snippet_size);
++ new_msg_ptr += snippet_size;
++
++ /* search for next match */
++ buffer += pmatch.rm_eo;
++ error = regexec(&self->regex, buffer, 1, &pmatch, REG_NOTBOL);
++ }
++
++ /* copy the rest of the old message */
++ snippet_size = log->msg.len - (buffer - log->msg.str) + 1;
++ snippet_size = FMIN(snippet_size, new_msg_max - new_msg_ptr);
++ memcpy(new_msg_ptr, buffer, snippet_size);
++ new_msg[NEW_MSG_SIZE-1] = '\0';
++
++ g_string_erase(&(log->msg), 0, -1);
++ g_string_append(&(log->msg), new_msg);
++
++ return TRUE;
++}
++
++FilterExprNode *
++filter_replace_new(const gchar *re, const gchar *replacement)
++{
++ FilterRE *self = g_new0(FilterRE, 1);
++ gint regerr;
++
++ if (!g_ascii_strcasecmp(re, "ips"))
++ re = "(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])([\\.\\-](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}";
++
++ regerr = regcomp(&self->regex, re, REG_ICASE | REG_EXTENDED);
++ if (regerr)
++ {
++ gchar errorbuf[256];
++ regerror(regerr, &self->regex, errorbuf, sizeof(errorbuf));
++ msg_error("Error compiling regular expression:",
++ evt_tag_str("re", re),
++ evt_tag_str("error", errorbuf),
++ NULL);
++ g_free(self);
++ return NULL;
++ }
++
++ self->replace = g_string_new(replacement);
++ self->super.eval = filter_replace_eval;
++ self->super.free_fn = filter_re_free;
++
++ return &self->super;
++}
++
+diff -Naur syslog-ng-2.0.5.orig/src/filter.h syslog-ng-2.0.5/src/filter.h
+--- syslog-ng-2.0.5.orig/src/filter.h 2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/filter.h 2007-11-03 00:28:59.000000000 +0100
+@@ -54,6 +54,8 @@
+ FilterExprNode *filter_match_new(gchar *re);
+ FilterExprNode *filter_call_new(gchar *rule, struct _GlobalConfig *cfg);
+ FilterExprNode *filter_netmask_new(gchar *cidr);
++FilterExprNode *filter_strip_new(const gchar *re);
++FilterExprNode *filter_replace_new(const gchar *re, const gchar *replacement);
+
+ typedef struct _LogFilterRule
+ {
diff --git a/app/admin/syslog-ng/syslog-ng.conf.new b/app/admin/syslog-ng/syslog-ng.conf.new
new file mode 100644
index 0000000..706a35a
--- /dev/null
+++ b/app/admin/syslog-ng/syslog-ng.conf.new
@@ -0,0 +1,270 @@
+#
+# Configuration file for syslog-ng under Debian.
+# First customized for riseup.net and then to sarava.org.
+#
+# see http://www.campin.net/syslog-ng/expanded-syslog-ng.conf
+# for examples.
+#
+# levels: emerg alert crit err warning notice info debug
+#
+
+############################################################
+## global options
+
+options {
+ chain_hostnames(0);
+ time_reopen(10);
+ time_reap(360);
+ sync(0);
+ log_fifo_size(2048);
+ create_dirs(yes);
+ owner(root);
+ group(wheel);
+ perm(0640);
+ dir_perm(0755);
+ use_dns(no);
+};
+
+############################################################
+## universal source
+
+source s_all {
+ internal();
+ unix-stream("/dev/log");
+ file("/proc/kmsg" log_prefix("kernel: "));
+};
+
+############################################################
+## generic destinations
+
+destination df_facility_dot_info { file("/var/log/$FACILITY.info"); };
+destination df_facility_dot_notice { file("/var/log/$FACILITY.notice"); };
+destination df_facility_dot_warn { file("/var/log/$FACILITY.warn"); };
+destination df_facility_dot_err { file("/var/log/$FACILITY.err"); };
+destination df_facility_dot_crit { file("/var/log/$FACILITY.crit"); };
+
+############################################################
+## generic filters
+
+filter f_strip { strip(ips); };
+filter f_at_least_info { level(info..emerg); };
+filter f_at_least_notice { level(notice..emerg); };
+filter f_at_least_warn { level(warn..emerg); };
+filter f_at_least_err { level(err..emerg); };
+filter f_at_least_crit { level(crit..emerg); };
+
+############################################################
+## secure
+
+filter f_auth { facility(auth, authpriv); };
+destination df_auth { file("/var/log/secure"); };
+log {
+ source(s_all);
+ filter(f_auth);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(df_auth);
+};
+
+############################################################
+## daemon log
+#
+#filter f_daemon { facility(daemon); };
+#destination df_daemon { file("/var/log/daemon.log"); };
+#log {
+# source(s_all);
+# filter(f_daemon);
+# destination(df_daemon);
+#};
+
+############################################################
+## kern log
+#
+#filter f_kern { facility(kern); };
+#destination df_kern { file("/var/log/kernel"); };
+#log {
+# source(s_all);
+# filter(f_kern);
+# destination(df_kern);
+#};
+
+############################################################
+## user log
+
+#filter f_user { facility(user); };
+#destination df_user { file("/var/log/user.log"); };
+#log {
+# source(s_all);
+# filter(f_user);
+# destination(df_user);
+#};
+
+############################################################
+## sympa log
+
+filter f_sympa { program("^(sympa|bounced|archived|task_manager)"); };
+destination d_sympa { file("/var/log/sympa"); };
+log {
+ source(s_all);
+ filter(f_sympa);
+ destination(d_sympa);
+ flags(final);
+};
+
+############################################################
+## wwsympa log
+
+filter f_wwsympa { program("^wwsympa"); };
+destination d_wwsympa { file("/var/log/sympa"); };
+log {
+ source(s_all);
+ filter(f_wwsympa);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(d_wwsympa);
+ flags(final);
+};
+
+############################################################
+## ldap log
+#
+#filter f_ldap { program("slapd"); };
+#destination d_ldap { file("/var/log/ldap"); };
+#log {
+# source(s_all);
+# filter(f_ldap);
+# destination(d_ldap);
+# flags(final);
+#};
+
+############################################################
+## mail log
+
+filter f_postfix {
+ program("^postfix/") or
+ program("courier|imap|pop|dovecot") or
+ program("^maildrop") or
+ facility(mail);
+};
+destination d_postfix { file("/var/log/maillog"); };
+log {
+ source(s_all);
+ filter(f_postfix);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(d_postfix);
+ flags(final);
+};
+
+############################################################
+## messages log
+
+filter f_messages {
+ facility(auth,authpriv,daemon,mail,user,kern,cron,news) or
+ level(info);
+};
+destination df_messages { file("/var/log/messages"); };
+log {
+ source(s_all);
+ filter(f_messages);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(df_messages);
+};
+
+############################################################
+## system log
+
+filter f_system {
+ facility(auth,authpriv,daemon,mail,user,kern,cron,news) or
+ level(warn,err,crit,alert,emerg);
+};
+destination df_system { file("/var/log/syslog"); };
+log {
+ source(s_all);
+ filter(f_system);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(df_system);
+};
+
+############################################################
+## cron log
+
+filter f_cron { facility(cron); };
+destination df_cron { file("/var/log/cron"); };
+log {
+ source(s_all);
+ filter(f_cron);
+ destination(df_cron);
+};
+
+############################################################
+## spooler log
+
+filter f_spooler { facility(uucp) and (facility(news) and level(crit)); };
+destination df_spooler { file("/var/log/spooler"); };
+log {
+ source(s_all);
+ filter(f_spooler);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(df_spooler);
+};
+
+############################################################
+## debug log
+
+filter f_debug { level(debug); };
+destination df_debug { file("/var/log/debug"); };
+log {
+ source(s_all);
+ filter(f_debug);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(df_debug);
+};
+
+############################################################
+## errors log
+#
+#filter f_errors {
+# level(warn,err,crit,alert,emerg)
+# and not facility(auth,authpriv,daemon,mail,user,kern);
+#};
+#destination df_errors { file("/var/log/errors"); };
+#log {
+# source(s_all);
+# filter(f_errors);
+# destination(df_errors);
+#};
+
+############################################################
+## emergencies
+
+filter f_emerg { level(emerg); };
+destination du_all { usertty("*"); };
+log {
+ source(s_all);
+ filter(f_emerg);
+ # comment the following line if you don't want to strip IPs
+ filter(f_strip);
+ destination(du_all);
+};
+
+############################################################
+## console messages
+
+#filter f_xconsole {
+# facility(daemon,mail)
+# or level(debug,info,notice,warn)
+# or (facility(news)
+# and level(crit,err,notice));
+#};
+#destination dp_xconsole { pipe("/dev/xconsole"); };
+#log {
+# source(s_all);
+# filter(f_xconsole);
+# destination(dp_xconsole);
+#};
+
diff --git a/app/admin/syslog-ng/syslog-ng.mkbuild b/app/admin/syslog-ng/syslog-ng.mkbuild
new file mode 100644
index 0000000..4f5b140
--- /dev/null
+++ b/app/admin/syslog-ng/syslog-ng.mkbuild
@@ -0,0 +1,117 @@
+#
+# This mkbuild 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 any later version.
+#
+# This mkbuild 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
+#
+
+#--------------------
+# Personal variables
+#--------------------
+# Author name
+[[SLACKBUILD AUTHOR]]="Silvio Rhatto"
+
+# Initials author name
+[[SLACKBUILD AUTHOR INITIALS]]="rha"
+
+#------------------------
+# Construction Variables
+#------------------------
+#
+# Complete URL address or URL base address ( without $SRC_NAME-$VERSION... )
+[[DOWNLOAD FOLDER URL]]="http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/syslog-ng-2.0.6.tar.gz"
+
+#
+# Dependency list input
+# Enter string: "dependency_1 [condiction_1] [versio_1]: dependency_2 [condiction_2] [versio_2]"
+[[SLACK REQUIRED]]="eventlog"
+
+#
+# Documentation files. Null ("") to auto-set commom doc-files:
+[[DOCUMENTATION FILES]]="AUTHORS COPYING ChangeLog NEWS README VERSION"
+
+#
+# ./configure options
+[[OTHER CONFIGURE ARGS]]="--sysconfdir=/etc --enable-dynamic-linking"
+
+#
+# Install script
+[[REST OF DOINST.SH]]="config etc/rc.d/rc.syslog-ng.new ; config etc/syslog-ng.conf.new"
+
+#---------------------
+# Others changes
+#---------------------
+#[[SIGNING KEY]]=""
+#[[SIGNING KEY URL]]=""
+#[[SIGNING KEY ID]]=""
+[[CONFIG FILES]]="syslog-ng.conf.new logrotate.d/syslog-ng"
+[[PATCH FILES]]="syslog-ng-anon-2.0.6.diff"
+[[NUMBER OF PREFIX SLASHES TO STRIP]]="1"
+
+# SlackBuild model
+[[SLACKBUILD MODEL]]="generic.mkSlackBuild"
+
+# SlackBuild PATH in Slack.Sarava tree
+[[SLACKBUILD PATH]]="app/admin/syslog-ng"
+
+#---------------------
+# SlackBuild Sections
+#---------------------
+# Default sections:
+# head, set_variables, slkflags, start_structure, untar_source,
+# make_package, install_package, build_package
+# Warning: don't remove '#>>' and "#<<" tags.
+#>> Start SlackBuild Sections:
+ on: head
+ on: slackbuildrc
+ on: set_variables
+ on: slkflags
+ on: error_codes
+ on: start_structure
+off: create_build_user_and_group
+ on: download_source
+off: svn_source
+off: md5sum_download_and_check_0
+off: md5sum_download_and_check_1
+off: gpg_signature_check
+ on: untar_source
+ on: patch_source
+ on: configure
+ on: make_package
+ on: install_package
+ on: strip_binaries
+off: compress_manpages
+off: compress_info_files
+ on: copy_init_scripts
+ on: copy_config_files
+ on: install_documentation
+ on: slackdesc
+off: move_config_files
+ on: postinstall_script
+ on: build_package
+ on: clean_builds
+#<< End SlackBuild Sections
+
+#------------------
+# Sections changes
+#------------------
+#>slackdesc
+syslog-ng: syslog-ng
+syslog-ng:
+syslog-ng: syslog-ng is a syslogd replacement supporting IPv6 and capable of
+syslog-ng: transferring log messages reliably using TCP and filtering the
+syslog-ng: content of messages using regular expressions. It has several
+syslog-ng: macros that allow users to dynamically create target directories
+syslog-ng: and files or reformat messages.
+syslog-ng:
+syslog-ng:
+syslog-ng:
+syslog-ng:
+#<slackdesc