FreeBSD Bugzilla – Attachment 222842 Details for
Bug 253868
Various periodic(8) fixes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to address issues described.
0001-1-etc-periodic-has-special-cases-for-zcat-and-bzcat-.patch (text/plain), 4.78 KB, created by
Ceri Davies
on 2021-02-26 10:28:12 UTC
(
hide
)
Description:
Patch to address issues described.
Filename:
MIME Type:
Creator:
Ceri Davies
Created:
2021-02-26 10:28:12 UTC
Size:
4.78 KB
patch
obsolete
>From fa2f97e4b0dd66bd86bc356760e1c7ebc9f65be0 Mon Sep 17 00:00:00 2001 >From: ceri <ceri@submonkey.net> >Date: Thu, 25 Feb 2021 16:51:27 +0000 >Subject: [PATCH 1/2] > >1) /etc/periodic has special cases for zcat and bzcat, > but not for zstd and xz which newsyslog also supports. > >2) newsyslog.conf manpage does not have a xref for zstd(1). > >3) usr.sbin/periodic/etc/monthly/200.accounting does not use temporary > files appropriately. > >4) periodic.conf(5) refers to "daily accounting" and > "monthly accounting" withouth being clear that "daily" > means process accounting and "monthly" is login accounting. > >--- > share/man/man5/periodic.conf.5 | 2 +- > usr.sbin/newsyslog/newsyslog.conf.5 | 1 + > .../etc/daily/460.status-mail-rejects | 6 ++++ > usr.sbin/periodic/etc/monthly/200.accounting | 30 ++++++++++++++----- > usr.sbin/periodic/etc/security/800.loginfail | 2 ++ > usr.sbin/periodic/etc/security/900.tcpwrap | 2 ++ > 6 files changed, 34 insertions(+), 9 deletions(-) > >diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 >index 46174da2772..ef80578e537 100644 >--- a/share/man/man5/periodic.conf.5 >+++ b/share/man/man5/periodic.conf.5 >@@ -365,7 +365,7 @@ daily. > .Pq Vt bool > Set to > .Dq Li YES >-if you want to rotate your daily accounting files. >+if you want to rotate your daily process accounting files. > No rotations are necessary unless > .Va accounting_enable > is enabled in >diff --git a/usr.sbin/newsyslog/newsyslog.conf.5 b/usr.sbin/newsyslog/newsyslog.conf.5 >index d6b1191aa8b..20ca3017c89 100644 >--- a/usr.sbin/newsyslog/newsyslog.conf.5 >+++ b/usr.sbin/newsyslog/newsyslog.conf.5 >@@ -403,6 +403,7 @@ entry: > .Xr bzip2 1 , > .Xr gzip 1 , > .Xr xz 1 , >+.Xr zstd 1 , > .Xr syslog 3 , > .Xr chown 8 , > .Xr newsyslog 8 , >diff --git a/usr.sbin/periodic/etc/daily/460.status-mail-rejects b/usr.sbin/periodic/etc/daily/460.status-mail-rejects >index ce633640b6a..6161a5525cc 100755 >--- a/usr.sbin/periodic/etc/daily/460.status-mail-rejects >+++ b/usr.sbin/periodic/etc/daily/460.status-mail-rejects >@@ -52,6 +52,12 @@ case "$daily_status_mail_rejects_enable" in > elif [ -f /var/log/maillog.$n.bz2 ] > then > bzcat -fc /var/log/maillog.$n.bz2 >+ elif [ -f /var/log/maillog.$n.xz ] >+ then >+ xzcat -f /var/log/maillog.$n.xz >+ elif [ -f /var/log/maillog.$n.zst ] >+ then >+ zstdcat -fc /var/log/maillog.$n.zst > fi > n=$(($n - 1)) > done >diff --git a/usr.sbin/periodic/etc/monthly/200.accounting b/usr.sbin/periodic/etc/monthly/200.accounting >index 46f153de535..9d50ba18277 100755 >--- a/usr.sbin/periodic/etc/monthly/200.accounting >+++ b/usr.sbin/periodic/etc/monthly/200.accounting >@@ -18,16 +18,30 @@ case "$monthly_accounting_enable" in > W=/var/log/utx.log > rc=0 > remove=NO >+ filetoread=$W.0 > if [ ! -f $W.0 ] > then >- if [ -f $W.0.gz ] >+ if [ -f $W.0.gz ] || [ -f $W.0.bz2 ] || [ -f $W.0.xz ] || [ -f $W.0.zst ] > then >+ TMP=`mktemp -t accounting` > remove=YES >- zcat $W.0.gz > $W.0 || rc=1 >- elif [ -f $W.0.bz2 ] >- then >- remove=YES >- bzcat $W.0.bz2 > $W.0 || rc=1 >+ filetoread=$TMP >+ if [ -f $W.0.gz ] >+ then >+ zcat $W.0.gz > $TMP || rc=1 >+ elif [ -f $W.0.bz2 ] >+ then >+ bzcat $W.0.bz2 > $TMP || rc=1 >+ elif [ -f $W.0.xz ] >+ then >+ xzcat $W.0.xz > $TMP || rc=1 >+ elif [ -f $W.0.zst ] >+ then >+ zstdcat $W.0.zst > $TMP || rc=1 >+ else >+ # shouldn't get here, unless something disappeared under us. >+ rc=2 >+ fi > else > echo '$monthly_accounting_enable is set but' \ > "$W.0 doesn't exist" >@@ -39,10 +53,10 @@ case "$monthly_accounting_enable" in > echo "" > echo "Doing login accounting:" > >- rc=$(ac -p -w $W.0 | sort -nr -k 2 | tee /dev/stderr | wc -l) >+ rc=$(ac -p -w $filetoread | sort -nr -k 2 | tee /dev/stderr | wc -l) > [ $rc -gt 0 ] && rc=1 > fi >- [ $remove = YES ] && rm -f $W.0;; >+ [ $remove = YES ] && rm -f $TMP;; > > *) rc=0;; > esac >diff --git a/usr.sbin/periodic/etc/security/800.loginfail b/usr.sbin/periodic/etc/security/800.loginfail >index 4c78f441639..ef169482001 100755 >--- a/usr.sbin/periodic/etc/security/800.loginfail >+++ b/usr.sbin/periodic/etc/security/800.loginfail >@@ -53,6 +53,8 @@ catmsgs() { > case $f in > *.gz) zcat -f $f;; > *.bz2) bzcat -f $f;; >+ *.xz) xzcat -f $f;; >+ *.zst) zstdcat -f $f;; > esac > done > [ -f ${LOG}/auth.log ] && cat $LOG/auth.log >diff --git a/usr.sbin/periodic/etc/security/900.tcpwrap b/usr.sbin/periodic/etc/security/900.tcpwrap >index 10b02e9e2bb..b6c44126bc1 100755 >--- a/usr.sbin/periodic/etc/security/900.tcpwrap >+++ b/usr.sbin/periodic/etc/security/900.tcpwrap >@@ -53,6 +53,8 @@ catmsgs() { > case $f in > *.gz) zcat -f $f;; > *.bz2) bzcat -f $f;; >+ *.xz) xzcat -f $f;; >+ *.zst) zstdcat -f $f;; > esac > done > [ -f ${LOG}/messages ] && cat $LOG/messages >-- >2.30.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 253868
: 222842