Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 May 2013 21:20:01 GMT
From:      Mark Johnston <markj@freebsd.org>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/179122: [patch] Fix bug with newsyslog -t
Message-ID:  <201305302120.r4ULK1Kg059479@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/179122; it has been noted by GNATS.

From: Mark Johnston <markj@freebsd.org>
To: Oliver Fromme <olli@secnetix.de>
Cc: bug-followup@freebsd.org
Subject: Re: bin/179122: [patch] Fix bug with newsyslog -t
Date: Thu, 30 May 2013 17:16:35 -0400

 On Thu, May 30, 2013 at 10:34:00PM +0200, Oliver Fromme wrote:
 > 
 > >Number:         179122
 > >Category:       bin
 > >Synopsis:       [patch] Fix bug with newsyslog -t
 > >Confidential:   no
 > >Severity:       non-critical
 > >Priority:       medium
 > >Responsible:    freebsd-bugs
 > >State:          open
 > >Quarter:        
 > >Keywords:       
 > >Date-Required:
 > >Class:          sw-bug
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Thu May 30 20:40:01 UTC 2013
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Oliver Fromme
 > >Release:        FreeBSD 9.1-STABLE-20130529 amd64
 > >Organization:
 > secnetix GmbH & Co. KG
 > >Environment:
 > 
 > The problem was found on stable/9 as of 2013-05-29,
 > but it probably also exists on head and stable/8.
 > 
 > >Description:
 > 
 > The latest commits to newsyslog.c seem to have introduced
 > a problem with the -t option:  The wrong file name is used
 > with the fstatat() call when checking for the mtime.
 > This becomes especially apparent when thr -a option is
 > also used, because the file does not exist in the archive
 > directory, so newsyslog prints error messages.  See below.
 > 
 > >How-To-Repeat:
 > 
 > Change the newsyslog entry in /etc/crontab to use both
 > -t and -a, for example:
 > 
 > 0    *    *    *    *    root    newsyslog -a OLD -t DEFAULT
 > 
 > Soon you will get output like the following mailed to you
 > by cron:
 > 
 > newsyslog: Cannot stat '/var/log/OLD/maillog': No such file or directory
 > newsyslog: Cannot stat '/var/log/OLD/messages': No such file or directory
 
 Hi Oliver,
 
 Thanks for reporting this. I've done some testing and the patch looks
 correct. Have you configured the log file in question to be rotated once
 every hour? If not, then newsyslog -t wouldn't have been working
 properly before either.
 
 Thanks,
 -Mark
 
 > 
 > >Fix:
 > 
 > --- usr.sbin/newsyslog/newsyslog.c.orig	2013-05-11 03:01:44.000000000 +0200
 > +++ usr.sbin/newsyslog/newsyslog.c	2013-05-30 15:55:19.000000000 +0200
 > @@ -2313,7 +2313,7 @@
 >  		if (validate_old_timelog(dp, logfname, &tm) == 0)
 >  			continue;
 >  
 > -		if (fstatat(dir_fd, logfname, &sb, 0) == -1) {
 > +		if (fstatat(dir_fd, dp->d_name, &sb, 0) == -1) {
 >  			warn("Cannot stat '%s'", file);
 >  			continue;
 >  		}



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