diff options
-rw-r--r-- | main/syslog-ng/APKBUILD | 46 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng-destination.std | 22 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng-filter.std | 34 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng-log.std | 56 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng-options.std | 37 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng-plugins.std | 6 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng-source.std | 12 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng.conf | 120 | ||||
-rwxr-xr-x | main/syslog-ng/syslog-ng.initd | 43 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng.logrotate | 52 | ||||
-rw-r--r-- | main/syslog-ng/syslog-ng.post-upgrade | 4 |
11 files changed, 155 insertions, 277 deletions
diff --git a/main/syslog-ng/APKBUILD b/main/syslog-ng/APKBUILD index ad97d0399f2..7ef7c441bac 100644 --- a/main/syslog-ng/APKBUILD +++ b/main/syslog-ng/APKBUILD @@ -33,14 +33,9 @@ subpackages=" $pkgname-python2:_python2 " source="https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$pkgver/syslog-ng-$pkgver.tar.gz - syslog-ng.logrotate - syslog-ng.initd - syslog-ng-destination.std - syslog-ng-filter.std - syslog-ng-log.std - syslog-ng-options.std - syslog-ng-plugins.std - syslog-ng-source.std + $pkgname.conf + $pkgname.logrotate + $pkgname.initd " builddir="$srcdir/$pkgname-$pkgver" @@ -113,21 +108,21 @@ package() { cd "$builddir" make -j1 DESTDIR="$pkgdir" install - rm -rf "$pkgdir"/etc/syslog-ng - rm -rf "$pkgdir"/run - rm -rf "$pkgdir"/usr/lib/$pkgname/libtest + + cd "$pkgdir" + + rm -rf run usr/lib/$pkgname/libtest + # getent module doesn't build properly as musl doesn't support reentrant # getprotoby[number|name] funcs. The provided compat lib only patches # solaris, which does provide reentrant versions under a different sig - rm -f "$pkgdir"/usr/lib/$pkgname/libtfgetent.so - install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname - install -D -m644 "$srcdir"/syslog-ng-destination.std "$pkgdir"/etc/syslog-ng/syslog-ng-destination.std - install -D -m644 "$srcdir"/syslog-ng-filter.std "$pkgdir"/etc/syslog-ng/syslog-ng-filter.std - install -D -m644 "$srcdir"/syslog-ng-log.std "$pkgdir"/etc/syslog-ng/syslog-ng-log.std - install -D -m644 "$srcdir"/syslog-ng-options.std "$pkgdir"/etc/syslog-ng/syslog-ng-options.std - install -D -m644 "$srcdir"/syslog-ng-plugins.std "$pkgdir"/etc/syslog-ng/syslog-ng-plugins.std - install -D -m644 "$srcdir"/syslog-ng-source.std "$pkgdir"/etc/syslog-ng/syslog-ng-source.std - install -D -m644 "$srcdir"/syslog-ng.logrotate "$pkgdir"/etc/logrotate.d/syslog-ng + rm -f usr/lib/$pkgname/libtfgetent.so + + install -m 644 "$srcdir"/$pkgname.conf etc/$pkgname/$pkgname.conf + install -D -m 755 "$srcdir"/$pkgname.initd etc/init.d/$pkgname + install -D -m 644 "$srcdir"/$pkgname.logrotate etc/logrotate.d/$pkgname + + install -d -m 755 etc/$pkgname/conf.d } scl() { @@ -169,11 +164,6 @@ _submv() { } sha512sums="2e6ea690f8762f3f37885118f023048c4cba59f58002c87fa1c469cb991b2ba707015b3e54c50f17c3d6e6251d798557406925a9159f4fa914331f281dc39e48 syslog-ng-3.18.1.tar.gz -a062d1601f5215f60e2fc40c6ca498d768aa97af3647a9468731123a28fdd67962421b4412bfbe08a1123141b730cb78f102230ab72befec05ba7f398b39e27a syslog-ng.logrotate -84fa9b10268edd8cae2ed1fd4b0d8b7078afab050571e1f05ce45c95f97a650511e8dfe30f5815cf2582446ea9f4a45aafcde3a5ae373716cecb6395bc1dd16b syslog-ng.initd -b51d8b3da9584b6cb5b5c023b5ca1085d8e4c2cfa56f6ed12fe6feb0f33a390b43825aaaf4dd74eb6b7765485fe42f7f21c74380b72de9ed2c7775787ab1e720 syslog-ng-destination.std -e04a70a0b8fc4f40951c9b608b0dede1fa561dd7f58ce8fd8bac70b578b749d15d202973fd9de9fe494656ee138ef5efd32ea6229e6ec0a2f19672dd621acc91 syslog-ng-filter.std -d7864f6666101e0818dd0178a4d1ada2417280de153ff916fe4879348a37b7bfab5936e86629dc52e4edf82fbd601e04d08ed5a2117bcb0470a3d5884add9f55 syslog-ng-log.std -9f4224faf45c73daa54549aebf20e2c45d0bf533a20d2ad97d7258490ce793c8b08cc34cac2a89d185e936515096eb93c793018986c8d21861d88c4b0005d16a syslog-ng-options.std -6da6629cad9a1d8a54139cda968ca6a4b86536b2c14eb9bc8a3d09c7cbc20cf18fadee0046687de30149ea18da65a7f8ba08c07b35fb46eb42e1fc5faecff3e7 syslog-ng-plugins.std -b441689ded539a358bf03fc292721a280ea29e1592b2a10ce011b455643dae3949af239a0f2bf84957096757e55a87e844df10c0be016fb7ac969d53def6afc6 syslog-ng-source.std" +556726815bd032a44623b809e3b9b92920eb115ae1626cdd0b1d7c6772c1464f2364bbe5a39b5d1ceebdca63b270aa10b402f615f820a44f85a7a2bbd5631448 syslog-ng.conf +1825b85fb584c5cecf0ad370e81a7473b5c973ce10adce386d1ba5f68432abe4e2f54c937d7d94edb22dbd9031eff483bd113bc3244ce0d0072cf4bf4ab5c2cc syslog-ng.logrotate +9caac269ed561cfe5b3a0b4e443037e7c9105bf22b2e7830916d1a8baf62682566ee1f8ed96fe62f1755903fb7b8caf406aaa151d49213a7eff62d6d3ce0c87c syslog-ng.initd" diff --git a/main/syslog-ng/syslog-ng-destination.std b/main/syslog-ng/syslog-ng-destination.std deleted file mode 100644 index 93bc3030afd..00000000000 --- a/main/syslog-ng/syslog-ng-destination.std +++ /dev/null @@ -1,22 +0,0 @@ -# --------------------------------------------------------------------------------- -# Default syslog-ng standard log files; Do not edit this file! -# append log file entry with line on a file: syslog-ng-destination.<package> -# --------------------------------------------------------------------------------- - destination df_auth { file("/var/log/auth.log"); }; - destination df_kern { file("/var/log/kern.log"); }; - destination df_mail { file("/var/log/mail.log"); }; - destination df_error { file("/var/log/error.log"); }; -# these files are meant for the mail system log files -# and provide re-usable destinations for {mail,cron,...}.info, -# {mail,cron,...}.notice, etc. - 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"); }; -# some more classical and useful files found in standard syslog configurations - destination df_debug { file("/var/log/debug"); }; - destination df_messages { file("/var/log/messages"); }; -# consoles -# this will send messages to everyone logged in - destination du_all { usertty("*"); }; diff --git a/main/syslog-ng/syslog-ng-filter.std b/main/syslog-ng/syslog-ng-filter.std deleted file mode 100644 index 29251f75986..00000000000 --- a/main/syslog-ng/syslog-ng-filter.std +++ /dev/null @@ -1,34 +0,0 @@ -# --------------------------------------------------------------------------------- -# Default syslog-ng standard filters; Do not edit this file! -# append filter entry with line on a file: syslog-ng-filter.<package> -# --------------------------------------------------------------------------------- -# all messages from the auth and authpriv facilities - filter f_auth { facility(auth,authpriv); }; -# respectively: messages from the cron, daemon, kern, lpr, mail, news, user, -# and uucp facilities - filter f_cron { facility(cron); }; - filter f_daemon { facility(daemon); }; - filter f_kern { facility(kern); }; - filter f_lpr { facility(lpr); }; - filter f_mail { facility(mail); }; - filter f_news { facility(news); }; - filter f_user { facility(user); }; - filter f_uucp { facility(uucp); }; - filter f_ftp { facility(ftp); }; -# some filters to select messages of priority greater or equal to info, warn, -# and err (equivalents of syslogd's *.info, *.warn, and *.err) - 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); }; -# all messages of priority debug not coming from the auth, authpriv, news, and -# mail facilities - filter f_debug { level(debug) and not facility(auth,authpriv,kern,mail); }; -# all messages of info, notice, or warn priority not coming form the auth, authpriv, -# kern and mail facilities - filter f_messages { level(info,notice,warn) and not facility(auth,authpriv,kern,mail,ftp); }; -# messages with priority emerg - filter f_emerg { level(emerg); }; -# mysql syslog write all messages to err level - filter f_err_no_mysqld { level(err..emerg) and not program(mysqld); }; diff --git a/main/syslog-ng/syslog-ng-log.std b/main/syslog-ng/syslog-ng-log.std deleted file mode 100644 index a8cc402b1a1..00000000000 --- a/main/syslog-ng/syslog-ng-log.std +++ /dev/null @@ -1,56 +0,0 @@ -# --------------------------------------------------------------------------------- -# Default syslog-ng logs; Do not edit this file! -# append log with line on a file: syslog-ng-log.<package> -# --------------------------------------------------------------------------------- -# order matters if you use "flags(final);" to mark the end of processing in a -# "log" statement -# these rules provide the same behavior as the commented original syslogd rules - -# auth,authpriv.* /var/log/auth.log -log { - source(s_all); - filter(f_auth); - destination(df_auth); -}; - -# kern.* -/var/log/kern.log -log { - source(s_all); - filter(f_kern); - destination(df_kern); -}; - -# mail.* -/var/log/mail.log -log { - source(s_all); - filter(f_mail); - destination(df_mail); -}; -# *.=debug; -# auth,authpriv.none;\ -# news.none;mail.none -/var/log/debug -log { - source(s_all); - filter(f_debug); - destination(df_debug); -}; -# *.=info;*.=notice;*.=warn;\ -# auth,authpriv.none;\ -# mail,news.none -/var/log/messages -log { - source(s_all); - filter(f_messages); - destination(df_messages); -}; -# error ... emergency /var/log/error.log -log { - source(s_all); - filter(f_err_no_mysqld); - destination(df_error); -}; -# *.emerg * -log { - source(s_all); - filter(f_emerg); - destination(du_all); -}; diff --git a/main/syslog-ng/syslog-ng-options.std b/main/syslog-ng/syslog-ng-options.std deleted file mode 100644 index 6e9fe75e565..00000000000 --- a/main/syslog-ng/syslog-ng-options.std +++ /dev/null @@ -1,37 +0,0 @@ -# --------------------------------------------------------------------------------- -# Default syslog-ng standard options; Do not edit this file! -# Append entry with line on a file: syslog-ng-options.<package> -# --------------------------------------------------------------------------------- -# disable the chained hostname format in logs -# (default is enabled) - chain_hostnames(0); -# the time to wait before a died connection is re-established (default is 60) - time_reopen(10); -# the time to wait before an idle destination file is closed (default is 60) - time_reap(360); -# the number of lines buffered before written to file you might want to -# increase this if your disk isn't catching with all the log messages you get -# or if you want less disk activity (say on a laptop) (default is 0) -#sync(0); -# the number of lines fitting in the output queue - log_fifo_size(2048); -# enable or disable directory creation for destination files - create_dirs(yes); -# default owner, group, and permissions for log files (defaults are 0, 0, 0600) -#owner(root); - group(adm); - perm(0640); -# default owner, group, and permissions for created directories (defaults are 0, 0, 0700) -#dir_owner(root); -#dir_group(root); - dir_perm(0755); -# enable or disable DNS. Usage syslog-ng blocks on DNS queries, so enabling DNS -# may lead to a Denial of Service attack (default is yes) - use_dns(no); -# maximum length of message in bytes. This is only limited by the program -# listening on the /dev/log Unix socket, glibc can handle arbitrary length -# log messages, but -- for example -- syslogd accepts only 1024 bytes -# (default is 2048) -#log_msg_size(2048); -# Disable statistic log messages. - stats_freq(0); diff --git a/main/syslog-ng/syslog-ng-plugins.std b/main/syslog-ng/syslog-ng-plugins.std deleted file mode 100644 index 9e4c952ca8a..00000000000 --- a/main/syslog-ng/syslog-ng-plugins.std +++ /dev/null @@ -1,6 +0,0 @@ -# --------------------------------------------------------------------------------- -# Default syslog-ng plugins; Do not edit this file! -# append source with line on a file: syslog-ng-plugins.<package> -# --------------------------------------------------------------------------------- -# version -@version: 3.13 diff --git a/main/syslog-ng/syslog-ng-source.std b/main/syslog-ng/syslog-ng-source.std deleted file mode 100644 index 33b5d83e686..00000000000 --- a/main/syslog-ng/syslog-ng-source.std +++ /dev/null @@ -1,12 +0,0 @@ -# --------------------------------------------------------------------------------- -# Default syslog-ng sources; Do not edit this file! -# append source with line on a file: syslog-ng-source.<package> -# --------------------------------------------------------------------------------- -source s_all { -# message generated by Syslog-NG - internal(); -# standard Linux log source (this is the default place for the syslog() function to send logs to) - unix-dgram("/dev/log"); -# messages from the kernel - file("/proc/kmsg" program_override("kernel")); -}; diff --git a/main/syslog-ng/syslog-ng.conf b/main/syslog-ng/syslog-ng.conf new file mode 100644 index 00000000000..4ee61e9b5cc --- /dev/null +++ b/main/syslog-ng/syslog-ng.conf @@ -0,0 +1,120 @@ +@version:3.18 +@include "scl.conf" + +# syslog-ng configuration file. +# +# See syslog-ng(8) and syslog-ng.conf(5) for more information. +# +# Note: It also sources additional configuration files (*.conf) +# located in /etc/syslog-ng/conf.d/. + +# +# Options +# +options { + # Create destination directories if missing. + create_dirs(yes); + + # The default action of syslog-ng is to log a MARK line to the file every + # 20 minutes. That's seems high for most people so turn it down to once an + # hour. Set it to zero if you don't want the functionality at all. + mark_freq(3600); + + # The default action of syslog-ng is to log a STATS line to the file every + # 10 minutes. That's pretty ugly after a while. Change it to every 12 hours + # so you get a nice daily update of how many messages syslog-ng missed (0). + stats_freq(43200); + + # Time to wait before a died connection is re-established (default is 60). + time_reopen(5); + + # Disable DNS usage. + # syslog-ng blocks on DNS queries, so enabling DNS may lead to a DoS attack. + use_dns(no); + dns-cache(no); + + # Default owner, group, and permissions for log files. + owner(root); + group(adm); + perm(0640); + + # Default permissions for created directories. + dir_perm(0755); +}; + + +# +# Templates +# + +template t_file { + template("${YEAR}-${MONTH}-${DAY} ${HOUR}:${MIN}:${SEC} ${LEVEL} ${MSGHDR}${MSG}\n"); +}; + + +# +# Sources +# + +source s_sys { + # Standard system log source. + system(); + + # Messages generated by syslog-ng. + internal(); +}; + + +# +# Destinations +# + +destination d_auth { file("/var/log/auth.log" template(t_file)); }; +destination d_boot { file("/var/log/boot.log" template(t_file)); }; +destination d_cron { file("/var/log/cron.log" template(t_file)); }; +destination d_kern { file("/var/log/kern.log" template(t_file)); }; +destination d_mail { file("/var/log/mail.log" template(t_file) flush_lines(10)); }; +destination d_mesg { file("/var/log/messages" template(t_file)); }; + +# Send messages to console of everyone logged in. +destination d_cons_all { usertty("*"); }; + +# Send message to the root's console. +destination d_cons_root { usertty("root"); }; + + +# +# Filters +# + +filter f_auth { facility(auth, authpriv); }; +filter f_boot { facility(local7); }; +filter f_cron { facility(cron); }; +filter f_emerg { level(emerg); }; +filter f_kern { facility(kern); }; +filter f_mail { facility(mail); }; + +filter f_default { + level(info..emerg) + and not (facility(auth) + or facility(authpriv) + or facility(cron) + or facility(kern) + or facility(mail)); +}; + + +# +# Logs +# + +log { source(s_sys); filter(f_auth); destination(d_auth); }; +log { source(s_sys); filter(f_boot); destination(d_boot); }; +log { source(s_sys); filter(f_cron); destination(d_cron); }; +log { source(s_sys); filter(f_emerg); destination(d_cons_root); }; +log { source(s_sys); filter(f_kern); destination(d_kern); }; +log { source(s_sys); filter(f_mail); destination(d_mail); }; +log { source(s_sys); filter(f_default); destination(d_mesg); }; + +# Source additional configuration files (.conf extension only) +@include "/etc/syslog-ng/conf.d/*.conf" diff --git a/main/syslog-ng/syslog-ng.initd b/main/syslog-ng/syslog-ng.initd index 894081fbfa8..38144142f85 100755 --- a/main/syslog-ng/syslog-ng.initd +++ b/main/syslog-ng/syslog-ng.initd @@ -11,10 +11,6 @@ depend() { provide logger } -start_pre() { - update -} - start() { ebegin "Starting syslog-ng" start-stop-daemon --start --quiet --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng -- --process-mode background @@ -37,42 +33,3 @@ reload() { start-stop-daemon --signal HUP --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng eend $? } - -grep_syslog_conf_entries() { - local section="$1" FN filelist - grep -v '^#' /etc/syslog-ng/syslog-ng-${section}.std - filelist=$(find /etc/syslog-ng/ -maxdepth 1 -type f -name "syslog-ng-${section}.*" | grep -Ev ".backup|.std|~") - if [ $? -eq 0 ] - then - for FN in ${filelist} - do - grep -v '^#' $FN - done - fi -} - -update() { - local fname='/etc/syslog-ng/syslog-ng.conf' - local f_tmp="/etc/syslog-ng/syslog-ng.conf.$$" - for ng_std in options source destination filter log - do - [ -f /etc/syslog-ng/syslog-ng-${ng_std}.std ] || exit 1 - done - { - # create options entries - grep_syslog_conf_entries plugins - echo "options {" - grep_syslog_conf_entries options - echo "};" - # create source entries - grep_syslog_conf_entries source - # create destination entries - grep_syslog_conf_entries destination - # create filter entries - grep_syslog_conf_entries filter - # create log entries - grep_syslog_conf_entries log - } > $f_tmp - cp -p $f_tmp $fname - rm -f $f_tmp -} diff --git a/main/syslog-ng/syslog-ng.logrotate b/main/syslog-ng/syslog-ng.logrotate index c3fd0934180..4b9ad18f359 100644 --- a/main/syslog-ng/syslog-ng.logrotate +++ b/main/syslog-ng/syslog-ng.logrotate @@ -1,40 +1,14 @@ -/var/log/auth.log { - rotate 14 - daily - missingok - notifempty - compress - postrotate - /etc/init.d/syslog-ng reload >/dev/null - endscript -} - -/var/log/mail.log /var/log/mail.info /var/log/mail.warn /var/log/mail.err { - rotate 8 - weekly - missingok - notifempty - compress -} - -/var/log/kern.log { - rotate 2 - monthly - missingok - notifempty - compress - postrotate - /etc/init.d/syslog-ng reload >/dev/null - endscript -} - -/var/log/messages /var/log/error.log { - rotate 14 - weekly - missingok - notifempty - compress - postrotate - /etc/init.d/syslog-ng reload >/dev/null - endscript +/var/log/auth.log +/var/log/boot.log +/var/log/cron.log +/var/log/kern.log +/var/log/mail.log +/var/log/messages +{ + notifempty + compress + sharedscripts + postrotate + /etc/init.d/syslog-ng --ifstarted reload >/dev/null + endscript } diff --git a/main/syslog-ng/syslog-ng.post-upgrade b/main/syslog-ng/syslog-ng.post-upgrade index 0609aceda19..c6308c1b7c8 100644 --- a/main/syslog-ng/syslog-ng.post-upgrade +++ b/main/syslog-ng/syslog-ng.post-upgrade @@ -12,5 +12,9 @@ if [ "$(apk version -t "$ver_old" "3.18.1-r2")" = "<" ]; then * If you use one of these, install the relevant package(s), e.g.: * apk add syslog-ng-redis * + * Custom modularized configuration has been replaced with single + * syslog-ng.conf file that loads fragments from /etc/syslog-ng/conf.d + * using syslog-ng's include directive. + * EOF fi |