Commit Graph

56 Commits

Author SHA1 Message Date
Garance A Drosehn
9fb022b6d6 Add a command-line option of '-R somename', which indicates that newsyslog
should rotate all files given on the command, even if they don't seem to
need to be rotated.  This would be used by some other command that decides
the given log file(s) should be rotated, but wants the "how" of that rotation
to be determined by entries to newsyslog.  Wes expects to change syslogd to
take advantage of this.  Man page will be updated after we're sure this is
all working the way we want it to.

Reviewed by:	no objections on freebsd-arch
MFC after:	3 weeks
MFC addendum:	(or after the code-freeze of 4.x is lifted)
2003-03-02 23:23:11 +00:00
Garance A Drosehn
f2c3715aa7 Add a command-line option of '-s', which indicates that newsyslog should
not send a signal to any processes.  Also add a config-file flag of 'N' or
'n', which indicates that the given logfile has no process which needs a
signal when it is rotated.  Both of these are based on changes NetBSD
has made, although the implementation is somewhat different.

PR:		bin/36553  (2nd half)
Reviewed by:	no objections on freebsd-arch
Obtained from:	NetBSD (in spirit, at least)
MFC after:	3 weeks
2003-03-02 22:05:17 +00:00
Garance A Drosehn
5ac30d6d34 Fix an error which caused 'free(): error: chunk is already free'
if an entry in the config file included flag 'G'.

MFC after:	3 weeks
2003-02-26 03:20:38 +00:00
Garance A Drosehn
39d0141328 Check the value given for number-of-logs to keep in config-file entries,
and error-out if the value is negative (avoiding an infinite loop).

PR:		bin/30654 (part of it)
MFC after:	3 weeks
2003-02-24 02:28:46 +00:00
Garance A Drosehn
27f1bc0c71 1) Fix so -a honors the -n ("do nothing") option. Before, if the directory
given for -a did not exist, then newsyslog would always try to create
   it, even if -n was specified.
2) When -a processing *does* create the directory, have it check the result
   from mkdir(), and immediately error-out if that failed.

PR:		bin/46974
MFC after:	3 weeks
2003-02-24 02:09:02 +00:00
Garance A Drosehn
debfc5e11d Minor style fix. Add parenthesis around 'return' values.
Reviewed by:	md5
MFC after:	3 weeks
2003-02-24 01:05:05 +00:00
Garance A Drosehn
93943fff46 Add the idea of a "default rotate action", which will be used if a file is
specified at runtime, but that filename is not listed in the newsyslog.conf
file.  This default-action can be changed by having a line in newsyslog.conf
with the filename of "<default>".  Before this change, the program would
quietly ignore the given file.  An update to the man page will be written
after I finish some other updates to newsyslog.c.

Reviewed by:	no objections from freebsd-arch
MFC after:	3 weeks
2003-02-24 00:51:41 +00:00
Tom Rhodes
35c45e664a Make newsyslog(8) print the correct date when the logs are turned over.
PR:		46395
Submitted by:	maxim
MFC:		eventually
2002-12-21 22:27:26 +00:00
Maxim Sobolev
bffa911730 Add a new W' flag, that when used in conjunction with the Z' flag or the
`J' flag means that newsyslog should wait for previously started compression
jobs to complete before starting a new one for this entry.  When it is used
along with the `G' flag, in the case when several logfiles match the pattern
and should be compressed, the newsyslog will compress logs one by one,
ensuring that only one compression job is running at a time.

This prevents newsyslog(8) from overloading system by starting several
compression jobs on big files simultaneously.

Sponsored by:	Porta Software Ltd
MFC after:	2 weeks
2002-12-15 19:28:02 +00:00
Maxim Sobolev
f2562be03e - Allow comments to be placed at the end of configuration line.
Sponsored by:   Porta Software Ltd
Approved by:    re
MFC after:      2 weeks
2002-12-11 01:19:56 +00:00
Maxim Sobolev
2e01a2be1e Add a new newsyslog.conf flag - 'G', which if set tells newsyslog(8) that
the specified filename of the log to be rotated is in fact shell glob
pattern. In this case, all files matching this pattern will be rotated
using the same options. Useful in the case when there is no pre-defined
name for the logfiles (e.g. xtradius, samba etc).

Sponsored by:	PortaOne Software Ltd
MFC after:	2 weeks
2002-11-14 08:43:07 +00:00
Maxim Konovalov
a9a25f59fa Fix getopt(3) optstring: remove a flag we does not handle.
PR:		bin/44066
Submitted by:	Stefan Farfeleder <e0026813@stud3.tuwien.ac.at>
MFC after:	1 week
2002-10-16 14:20:20 +00:00
Maxim Konovalov
21ee796112 Remove the last EOF spaces I missed in rev. 1.43.
MFC after:	1 week
2002-07-01 13:18:52 +00:00
Maxim Konovalov
cc37581539 style(9): sort includes, remove EOL spaces.
MFC after:	1 week
2002-05-03 21:03:37 +00:00
Maxim Konovalov
021e53b8df wait(2) for compress_log() processes to complete before exit.
Spotted by:	Grigoriy Strokin <grg@isabase.philol.msu.ru>
Reviewed by:	-current
MFC after:	1 month
2002-05-03 20:53:37 +00:00
Sheldon Hearn
669d663174 Close a very small window during which new (empty) instances of rotated log
files are owned by the caller of newsyslog (usually root:wheel) even if
alternative ownerships were specified in newsyslog.conf.

Note that this is part of a wider problem which is fully addressed in
OpenBSD.  Anyone with the time and inclination to incorporate the full
fix for the wider problem will receive no complaints from me and should
feel free to walk all over this delta.

PR:		bin/36738
MFC after:	1 week
2002-04-10 10:38:44 +00:00
Crist J. Clark
aeeb2b2bbb Produce a different error message for mktime(3) failure than for bad
newsyslog.conf syntax.

PR:		bin/36641
2002-04-02 12:03:16 +00:00
Peter Pentchev
115f46ff8f Fix -F with logfiles rotated on time only.
Approved by:	silence on -audit
MFC after:	1 month
2002-02-05 09:33:07 +00:00
David E. O'Brien
a4482d5ce1 Fix the type of the NULL arg to execl(). 2001-11-14 17:00:58 +00:00
David E. O'Brien
904cc0c45c jhb says a 10 line change containing casts is more invasive than a 28 line
change.
2001-07-31 16:25:55 +00:00
David E. O'Brien
f1d4135bd9 Use the POSIX syntax for chown.
Submmited by:	garrett
2001-07-30 23:26:19 +00:00
Garrett Wollman
ef404327b0 Simplify (and hopefully clarify) some date-parsing arithmetic. 2001-07-30 18:27:21 +00:00
David E. O'Brien
4c9237c908 style(9) 2001-07-30 16:27:16 +00:00
David E. O'Brien
9674b13dcb WARNS-2'ify.
(this included removing the funny "if (unsigned_var < 0)" test)
2001-07-30 15:41:20 +00:00
David E. O'Brien
e12f0d2fac Add the ability to Bzip2 your logs.
PR:		27901
Submitted by:	Anders Nordby <anders@fix.no> (stylistic changes by me)
2001-07-30 15:17:17 +00:00
Brian Somers
7bc6d0158f Fix the type of the NULL arg to execl()
Idea from: Theo de Raadt <deraadt@openbsd.org>
2001-07-09 09:24:06 +00:00
Chris D. Faulhaber
3c0cec43e7 - Correct MAXPATHLEN/MAXHOSTNAMELEN usage
- Check return values of malloc() and strdup()
- Replace strcpy()/strcat()/sprintf() usage with strlcpy()/snprintf

Reviewed by:	-audit
2001-01-20 17:36:08 +00:00
Josef Karthauser
6b9a6e1f20 When warning that a log file can't be compressed, tell the reader which
log file it was.
2000-08-15 09:34:41 +00:00
Dag-Erling Smørgrav
78ae26252e Allow user to specify which logs to rotate 2000-05-11 10:17:54 +00:00
Hellmuth Michaelis
70fa0440ad - implement logfile archivation to a separate, user
configurable directory
- implement alternate and more flexible way to specify
  logfile rotation time in addition to the ISO 8601
  restricted format
- cleanup the source which was a mix of several styles
  of persons who maintained it so far, ran through
  knfom script got from bde.

Reviewed by: (in part) sheldonh and garyj
2000-04-04 08:50:01 +00:00
Hellmuth Michaelis
c7c83aedf5 Run newsyslog source through knfom script obtained from Bruce Evans.
Joerg Wunsch suggested to do this to make the functional changes in
the next commit to newsyslog (which were run through the same script)
better visible.
2000-04-04 08:38:30 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
David E. O'Brien
ae2c5cf197 Go back to allowing ``.'' as a username.group separator for backward
compatibility.  : is still the documented non-ambiguous approach.  The
algorithm used will correctly parse david.obrien.staff as strrchar() is
used, and in my mind more people would use a ``.'' in the username than
the group name.

Convinced by argument and patch by: sheldonh (with slight changes by me)
1999-07-28 04:26:10 +00:00
David E. O'Brien
63b5983b9e Syntax for user/group is changed from "user.group" to "user:group" to be
consistant with chown(8).
1999-06-28 03:15:02 +00:00
Garrett Wollman
8fba304b43 A slight bit of code and doco cleanup, but mostly:
Add the much-needed and long-desired ability to force the log rotation
to take place on a specific day or time, and document same.  This works
by extending the syntax of the `when' field to allow a restricted
ISO 8601 time specification, and performing the log rotation if newsyslog
is run during the same hour as is specified.
1999-01-22 19:38:39 +00:00
Peter Wemm
ab65c1d9b0 The largest PID is now 99999
Reported by: Ben Stuyts <ben@stuyts.nl>
1998-12-23 12:03:33 +00:00
Andrey A. Chernov
dc55fe4c05 Add optional config file field: signal number to send (defaulted to HUP)
F.e. apache restarts less agressively  on USR1 then on HUP
1998-06-09 18:24:04 +00:00
Tim Vanderhoek
b2805b78b6 1) kill -HUP syslog, even if compressing supposedly "binary" files
PR:	docs/6385

2) -n (noaction) does not imply -r (run as non-root), since as of
   Rev. 1.12 (ache), -r changes actual behaviour.

3) missing \n from if(noaction) messages.
1998-05-10 21:13:29 +00:00
Tim Vanderhoek
28a9b05b87 Arg! Someone fixed the synopsis in -stable's newsyslog.8, but not
in -current.  However, they fixed both the ordering and the missing -F
flag.  Merge from 22 and fix ordering here, too.
1998-05-10 19:04:06 +00:00
Tim Vanderhoek
b813e9a54a Fix the usage here, too (-F option).
Typo fix in comment ("Force the tim now matter what" s/tim/trim/)
1998-05-10 18:47:50 +00:00
Paul Traina
07d95a3e31 Add "-F" (force) flag to newsyslog.
Submitted by:	Terry Lambert <terry@freebsd.org>
1998-03-14 22:28:25 +00:00
Andrey A. Chernov
19df0544a0 Sleep 10secs after kill -HUP instead of 3secs, some daemons like Apache
may have log time to re-configure
1997-11-30 18:58:18 +00:00
Philippe Charnier
b8981f4416 Cosmetic in err() strings. 1997-10-06 07:46:08 +00:00
Brian Somers
ea3b35174b Allow a '-' flag as a placeholder so that path_to_pid_file
can be specified without the flags field.
Fix bogus "trail" left in parse routine where the code jumps
past the end of the line and wanders into oblivion.
1997-05-06 23:11:06 +00:00
Andrey A. Chernov
805bd6d982 Do not kill -HUP syslog if running in user mode (-r), it allows
private user logs rotation without error diagnostics
1997-05-05 15:00:15 +00:00
Andrey A. Chernov
3d807d3be6 1) Add yet one optional field: pid file to send SIGHUP to if log rotated
(good thing for apache f.e.) This change is backward compatible with old
newsyslog.conf files.

2) Do not compress log if SIGHUP sending failed for some reason
(f.e. pid file deleted). Newcoming messages will be lost
otherwise.

3) Misc cleanup while I am here.
1997-05-04 01:53:53 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
2252262f79 Doh! Actually read the patch I applied and see what it was *trying* to do,
then make it do that.
Error-of-my-ways-pointed-out-by: Bob Willcox <bob@luke.pmr.com>
1996-09-09 15:32:26 +00:00