Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Feb 2023 17:00:33 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 9ab40bc40d4a - main - 310.accounting: Verify process accounting is active before log rotation.
Message-ID:  <202302281700.31SH0XgV079185@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=9ab40bc40d4a07e1a9f3622a7779312ca2466b55

commit 9ab40bc40d4a07e1a9f3622a7779312ca2466b55
Author:     John Grafton <john.grafton@runbox.com>
AuthorDate: 2023-02-28 16:49:40 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-02-28 16:59:34 +0000

    310.accounting: Verify process accounting is active before log rotation.
    
    This corrects a bug in which the daily periodic script '310.accounting'
    attempts to rotate logs via /etc/rc.d/accounting by calling
    onerotate_logs function. The rotate logs function turns accounting back
    on regardless of what acccounting_enable is set to in /etc/rc.conf. This
    is due to checkyesno always returning YES since rotate logs is called
    with the 'one' prefix.
    
    In effect, accounting will always be turned back on once a day even if
    it is disabled and stopped by hand. The fix was simple, just check if
    accounting is before rotating logs and if it is, don't attempt the
    rotate.
    
    PR: 267464
    Reviewed by: imp, hps (lgtm, not approval), Mina Galić
    Pull Request: https://github.com/freebsd/freebsd-src/pull/648
    Differential Revision: https://reviews.freebsd.org/D37434
---
 usr.sbin/periodic/etc/daily/310.accounting | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/usr.sbin/periodic/etc/daily/310.accounting b/usr.sbin/periodic/etc/daily/310.accounting
index b0dd786447eb..8eeed16f0516 100755
--- a/usr.sbin/periodic/etc/daily/310.accounting
+++ b/usr.sbin/periodic/etc/daily/310.accounting
@@ -18,6 +18,11 @@ case "$daily_accounting_enable" in
 	    echo '$daily_accounting_enable is set but /var/account/acct' \
 		"doesn't exist"
 	    rc=2
+	elif [ $(sysctl -n kern.acct_configured) -eq 0 ]
+	then
+	    echo '$daily_accounting_enable is set but' \
+	    'process accounting is not active'
+	    rc=2
 	elif [ -z "$daily_accounting_save" ]
 	then
 	    echo '$daily_accounting_enable is set but ' \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302281700.31SH0XgV079185>