Commit Graph

140 Commits

Author SHA1 Message Date
trhodes
50e2e2ab28 Add a HISTORY section.
PR:	75282
2005-02-24 06:03:31 +00:00
ru
d65df7068b Expand *n't contractions. 2005-02-13 22:25:33 +00:00
ru
99fe3b32d1 Fixed xrefs. 2005-01-21 10:35:40 +00:00
ru
9a0f1e9891 Sort sections. 2005-01-18 20:02:45 +00:00
delphij
23d79053ef Because the `permission' field in conf_entry is intended to be used as
parameter 2 in chmod(2), which is a mode_t (and in turn a __uint_16_t),
it's more likely that it should be defined as an unsigned variable.

This commit should make newsyslog WARNS=6 clean, but don't bump the knob
until I have a universe build.

MFC After:	1 month
2005-01-04 02:24:01 +00:00
brooks
ffc66c6214 Mention "-d directory" in usage().
Pointy hat to:	brooks
2004-10-06 04:47:37 +00:00
brooks
06fed119eb Don't prepend the directory specified by -d when the file is a relative
path.  Doing so makes no sense.  I'm not sure allowing relative paths
makes sense either, but I'm not going to break that now.
2004-10-05 22:16:31 +00:00
brooks
df7eb2b57b Add a new -d argument which is used to specify an alternate root for log
files similar to DESTDIR in the BSD make process.  This only affects log
file paths not config file (-f) or archive directory (-a) paths.
2004-10-04 23:35:13 +00:00
sobomax
8421d59499 Nothing says that /var/log can't be not a directory but a symbolic link
to a directory. Therefore, use stat(2) instead of lstat(2) to check if
/var/log exists.

MFC after:	7 days
2004-07-04 17:24:12 +00:00
ru
485e003d41 Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
gad
d2adc20484 Fix the format-string in a call to err(). It was causing a warning if
compiled on 4.x-stable.
2004-06-20 17:26:47 +00:00
gad
e1c53b1034 Fix the check for a "duplicate filename to compress", so that we're checking
the *filename* and not the pid_file(!).   Stupid brain-fault on my part.
This could cause a segfault under -neworder if newsyslog had to rotate
multiple files, and later ones had specifed the 'N' flag.

Bug first reported by:	le
MFC after:	3 days
2004-06-19 03:28:42 +00:00
ru
f0f9daab94 Assorted markup, grammar, and spelling fixes. 2004-06-13 18:03:44 +00:00
gad
72e102cf17 Switch to using the "neworder" for rotating log files, by default. The
main advantage of this is that daemon's are only signalled once per run,
instead of once for each file that is rotated.

MFC after:	2 weeks
2004-06-12 19:53:08 +00:00
gad
a8521e48da Drop the include for <stdint.h>, it was only needed when this was
using __DECONST() for something, and that reference has been removed.

Noticed by:	Helge Oldach
MFC after:	13 days
2004-06-07 21:53:27 +00:00
gad
f1b591b604 Add an "oldorder" option, so that when the default changes to "neworder",
people have a way to drop back to the previous logic.

MFC after:	13 days
2004-06-07 21:18:09 +00:00
gad
266a9e3157 In "neworder" processing, reduce the delay between signals to separate
processes, and balance that by adding a 10-second delay after all the
processes have been signaled.  Also improvement a few messages printed
with `-n' or `-v' processing (mostly signal-related messages).

MFC after:	13 days
2004-06-07 21:09:58 +00:00
gad
739e45ae40 Major re-ordering of the steps that newsyslog will use when processing
files to rotate.  The new order will first rotate all files that need
to be rotated, and then send a single signal to each process which
needs to be signaled, and finally it will compress all the files which
were rotated.

This means daemons will be signaled once per run of newsyslog, instead
of once per file rotated.  Also, files will be compressed in order of
file-size (smallest to largest).  Also, it waits for each file to be
completely compressed before starting the next one (effectively as if
the 'w' flag is specified for all entries in newsyslog.conf).  This
avoids the situation of having 10 gzip's going at the same time (each
with a log.0 and a log.0.gz file active), and it also means that file
attributes can be reliably set on files after they are compressed.

NOTE: This commit does define NEWORDER (which you could get rid of if
you really don't trust this), but it does not flip the "-D neworder"
switch.  So, at the moment none of these changes happen unless you
request them (perhaps by adding '<debug> neworder' in newsyslog.conf).

PR:		bin/25070 inspired some parts of this
Submitted by:	parts from bin/25070 done by Helge Oldach
MFC after:	14 days
2004-06-07 02:10:10 +00:00
gad
0925323ccc A variety of minor changes. Allow users to set a debugging option via
the newsyslog.conf file.  Rename one size-related variable, and move
another one from the stack into conf_entry.  Add a routine to change
file-attributes (chown, chmod, chflags), instead of having several
places doing the same sequence of system-calls.  A few cosmetic/style
changes.

These should not effect any users.  Most of these probably look
pointless, but they are the "insignificant parts" of a much larger
update that I'll be committing soon.  Doing these as a separate update
should make that update easier to read.

MFC after:	14 days
2004-06-07 01:21:30 +00:00
gad
36341a35ff Style-istic fix to a number of #define's that were not followed by a tab...
MFC after:	16 days
2004-06-03 23:44:38 +00:00
gad
73c237191f Add a 'D' flag that can be specified on entries in newsyslog.conf.
If specified, the matching log files will have the NODUMP flag set
on them after they are created.

Submitted by:	Sean Eric Fagan
MFC after:	16 days
2004-06-03 23:41:49 +00:00
gad
b54129e254 Change standard processing to use the newer createlog() routine
that had been written some months ago for other processing.  This
should get rid of a few subtle situations where an existing log
file would not exist (for a short time) while it is being rotated.

MFC after:	16 days
2004-06-03 22:26:16 +00:00
gad
32eb65a366 Improved versions of the is*ch() and tolowerch() macros that I like to use. 2004-06-02 00:14:28 +00:00
gad
00f0a56c2f When rotating some "blah.log" file, make sure that a chmod and
(if requested) a chown is done on the "blah.log.0" file.

PR:		bin/67137
Submitted by:	jeh
MFC after:	10 days
2004-06-02 00:02:12 +00:00
charnier
2356fea255 Do not :-terminate err(3) string, one will be added anyway. 2004-04-04 19:25:39 +00:00
trhodes
752e7b7cb5 Move newsyslog.conf.5 to usr.sbin/newsyslog. There is no real history
other than 'initial revision' thus I did not request a repocopy.

Requested by:   ru, gad
2004-03-12 16:03:26 +00:00
trhodes
ab16b3e5f1 Remove information about the configuration file.
Add an Xref to newsyslog.conf.5 and bzip2.1.
2004-03-11 04:32:16 +00:00
gad
ee6b916fb0 Handle a 'const' parameter without using __DECONST().
MFC after:	14 days
2003-10-04 02:24:47 +00:00
gad
2140ed95b5 Restructure the time processing routines, mainly to fix up the
"will trim at" message printed when the user requests '-v'.  The
previous code would often print the wrong time, such as:
On Sept 22, run:   newsyslog -nv /var/log/wtmp
        And see:   will trim at Mon Sep  1 05:00:00 2003
    correct msg:   will trim at Wed Oct  1 05:00:00 2003

MFC after:	20 days
2003-09-23 00:00:26 +00:00
gad
8a3c31a8d3 Correct the calculation of "a leap year" in parseDWM. The calculation
would only match a leap year every 400 years.  The parseDWM code first
showed up in April 2000, so the first time this bug would cause any
confusion is in Feb 2004.

MFC after:	18 days
2003-09-14 00:56:50 +00:00
gad
d8013418d8 Move the parse8601 and parseDWM routines into a new ptime.c file. The
only code-change is to add a "next_time" parameter to both routines (and
that is not used yet).  A later update will make "next_time" more useful.

MFC after:	20 days
2003-09-12 01:33:37 +00:00
gad
c83964e56c Switch dotrim() to take advantage of the 'struct conf_entry' that
is already passed in, instead of having the caller copy values from
that struct into additional parameters.

MFC after:	22 days
2003-09-09 21:14:05 +00:00
gad
f65ea8810b Reduce the annoying compiler warnings that pop up when compiling with
gcc 3.3.x and -Wshadow.  Just renames 'log' variables to be 'logname'.

MFC after:	22 days
2003-09-09 20:29:26 +00:00
gad
62092527ca Correct the comment about which timezone-change loses an hour...
MFC after:	23 days
2003-09-09 05:26:27 +00:00
gad
790b11602c Add a '-D <something>' command line arg, which can be used to set
debugging options.  Initial option is '-D TN=<time>', which can be
used to see how newsyslog would work if run at the specified time.
(time format is ISO 8601, since that is already supported).

MFC after:	23 days
2003-09-09 05:23:06 +00:00
gad
eb7df96987 Use strtol() instead of strtoul() in parse8601, so we can detect
negative values.  Mainly done to sync this routine with OpenBSD.

Obtained from:	OpenBSD
MFC after:	23 days
2003-09-09 03:04:50 +00:00
gad
d90d60e694 Fix typo in the previous commit. Was checking wrong variable...
MFC after:	23 days
2003-09-09 02:58:23 +00:00
gad
856c3decb4 Change parse8601 and parseDWM so they return an alternate error value
for invalid times, and have the caller print the error message.

MFC after:	23 days
2003-09-09 02:50:25 +00:00
gad
f393d3ca8a Cosmetic change to move parse8601 right next to parseDWM. No code
is changed.  (that will come in later updates).

MFC after:	23 days
2003-09-09 02:21:53 +00:00
gad
7edd4b5ef8 When checking the 'user:group' field in newsyslog.conf, freebsd's source
was mistakenly calling the standard isnumber() function to find out if
the given 'user' or 'group' were all numeric.  This meant that only the
first character of the fields were actually checked, so a username of
(say) '3com' would look like a number, and thus get mapped to uid=3 (bin)
instead of username=3com.

This bug was introduced back in freebsd's v1.1.  That initial import
almost matches netbsd's v1.9, except that an internal isnumber()
routine was removed in favor of the standard library version.  The thing
is, that internal routine was checking the entire string, and not just
the first digit.  In OpenBSD, isnumber() was eventually renamed to
isnumberstr() to make the distinction more obvious, and I'm going to
follow that lead.

I believe this also happens to remove the last references to isnumber()
in the entire freebsd base system.

Obtained from:	OpenBSD, by a long circuitous route
MFC after:	5 days
2003-08-19 03:53:03 +00:00
gad
1e6af07111 Fix an 'bad file descriptor' error which would come up when using
the 'C' flag on an entry that also specifies 'user:group' info.

Submitted by:	Riccardo Torrini <riccardo@torrini.org> in -current
MFC after:	4 days
2003-08-02 23:03:37 +00:00
gad
776a2831ca Fix age_old_log checking so that it will notice log files which were
rotated and then compressed with bzip2 instead of gzip.  Otherwise,
any file which had a time-interval specified for 'when' and also
specified the 'J' flag would be rotated every time newsyslog was run.
(this is a quick-fix, trying to beat the code-freeze for 5.1-release)

PR:		bin/51519
MFC after:	1 week
2003-05-05 23:38:03 +00:00
gad
998d74dbd1 Slightly improve the checking of the 'size' field, so people will get
a warning message if they switch the values for 'size' and 'when'.

MFC after:	1 week
2003-05-05 22:27:37 +00:00
obrien
7797e9f77e Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
gad
db8d01f559 Add a -C (create) option for newsyslog, and a 'C' flag for entries in the
config file.  If the -C option is specified once, then newsyslog will create
any entries which specify the 'C' option.  If -C is given twice, then
newsyslog will create all missing log files.  Some of this code comes
from NetBSD, although this implementation does not exactly match theirs.

Reviewed by:	freebsd-arch
MFC after:	10 days
2003-04-27 23:37:31 +00:00
gad
754f97376f Document support for the new 'U' flag, which was implemented back in March
as revision 1.64 of newsyslog.c.  I plan to MFC these changes next week.

MFC after:	1 week
2003-04-24 20:50:01 +00:00
gad
3f847ef738 Document support for the new -s and -R command-line options, and
the 'N' flag.  These were coded in March as revisions 1.55 and 1.56
of newsyslog.c.  I intend to MFC all the matching changes next week.
This also reorganizes the description of the 'flags' field to give
list of the valid flags, instead of a long paragraph explaining
each of the possible values.

Obtained from:	NetBSD (in spirit at least, for -s and N)
MFC after:	1 week
2003-04-24 01:34:40 +00:00
gad
e5179474a8 Document support for the <default> entry, which was implemented in
revision 1.50 of newsyslog.c , back in February.  I intend to MFC
those changes soon.

MFC after:	4 days
2003-04-23 21:26:12 +00:00
gad
971f68b074 Fix interactions between entries for a specific file vs entries for
a filename pattern, and also wrt filenames given on the command line.
Now if a file is listed as a specific entry, it will not *also* be
processed by an entry specifying a pattern.  And filename-patterns
will now only match existing files (ignoring directories, etc).

MFC after:	3 weeks
2003-03-09 03:19:52 +00:00
gad
5beb8101d4 The processing of files given on the command-line will work a little better
if we return the entire worklist, instead of just the last entry.  A minor
fix to revision 1.57.

MFC after:	15 days
2003-03-09 00:29:40 +00:00