Commit Graph

116 Commits

Author SHA1 Message Date
kris
a81dfc2770 Fix some unsafe signal handlers, and be careful not to overflow on fd_set.
Fix some string buffer operations.

Based on:	OpenBSD
Reviewed by:	audit
MFC after:	2 weeks
2001-09-01 07:57:35 +00:00
cjc
eda113cf15 Fix some small errors and markup nits.
Approved by:	ru
MFC after:	2 days
2001-08-28 19:10:51 +00:00
cjc
e19dd0c593 Gives syslogd(8) the ability to refresh its idea of the hostname of
the system on which it is running. The hostname is reloaded when
'HUPped' and a log message generated to note a change (before anyone
points it out, this is not an added security feature).

PR:		bin/24444
Reviewed by:	freebsd-audit
Approved by:	ru
MFC after:	2 weeks
2001-08-27 21:37:15 +00:00
dd
18890a31b4 Don't make it sound like -A is turning on the default behavior. 2001-08-27 11:04:09 +00:00
brian
d48c427cd5 Handle snprintf() returning -1.
MFC after:	2 weeks
2001-08-20 13:24:39 +00:00
ru
f858dca3dc mdoc(7) police: join split punctuation to macro calls. 2001-08-10 17:35:21 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
obrien
be022bb715 Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
ume
02712d67ba - `-a' option for IPv6 was not working correctly.
- Lose any stray host bits that a user may have entered when providing
  a network number and netmask to the `-a' option for IPv6.  This is
  corresponding to 1.79 that is for IPv4 only.

MFC after:	1 week
2001-07-19 22:04:09 +00:00
mike
f5302392d3 Document the fact that syslogd(8) requires logs files to be created
before it will start logging to them.

PR:		27088
Approved by:	des
MFC after:	10 days
2001-07-18 13:31:08 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
dd
eaa6ee03b8 mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
cjc
fd2fcd17ee Lose any stray host bits that a user may have entered when providing
a network number and netmask to the '-a' option.

Approved by:	ru
MFC after:	1 week
2001-07-02 15:26:47 +00:00
ru
a173e537d1 Note that -a is ignored if -s is also specified. 2001-06-06 12:48:22 +00:00
dwmalone
7383805917 Fix constness warning introduced in syslog.h 1.21. 2001-05-21 22:13:55 +00:00
ru
95f6793be4 mdoc(7) police: uppercase abbreviations in revision 1.34. 2001-05-16 09:43:48 +00:00
dwmalone
5cdcaadd37 Add the ability to specify alternate PID file for syslogd.
PR:		25784
Submitted by:	Jon Villarreal <jonv@ivmg.net>
Reviewed by:	iedowse
2001-05-10 15:48:33 +00:00
ru
ab86af99f4 mdoc(7) police: removed hard sentence break. 2001-04-04 11:33:01 +00:00
cwt
a7847b5606 Document LOG_CONSOLE. 2001-03-27 19:55:53 +00:00
ru
afd506414e - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
brian
b80431a105 MAXHOSTNAMELEN includes the NUL 2001-03-09 21:24:13 +00:00
ru
9f97905571 Prepare for mdocNG. 2001-02-26 09:05:48 +00:00
dwmalone
72311a2dd2 This seems to stop syslog console messages looping. The problem
is that LOG_FAC doesn't do quite what you think it does.

PR:		24704
2001-02-04 15:16:08 +00:00
ru
66cd8f698e mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:44:04 +00:00
ru
4bb5f49662 Prepare for mdoc(7)NG. 2000-12-27 15:30:30 +00:00
ru
478cddba1f mdoc(7) police: document IPv6 options in the SYNOPSIS. 2000-12-18 08:42:58 +00:00
ume
6b337143f0 IPv6 support for syslogd.
Reviewed by:	freebsd-current
Obtained from:	NetBSD
2000-12-16 18:25:48 +00:00
phk
bf5f996644 Add the "LOG_CONSOLE" facility and tell syslogd to not log it on
console devices.
2000-11-25 21:00:58 +00:00
ru
71e2293ad4 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
dwmalone
40ef4e0113 Syslogd normally converts messages of facility kern to facility
user unless they come directly from the kernel. Document this and
add a flag to syslogd which prevents this conversion.

Sort getopt args while I'm at it.

PR:		21788
Submitted by:	Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
2000-10-17 10:19:42 +00:00
dwmalone
78d7baf251 Fix spelling of comparison. 2000-10-17 10:14:51 +00:00
alfred
a4ea0721fb Add forgotten -n option to SYNOPSIS section
Submitted by: Reinier Bezuidenhout <rbezuide@oskar.nanoteq.co.za>
2000-09-23 22:38:56 +00:00
imp
2720b700ad Fix unexploitable off by one error as mentioned on Bugtraq. 2000-09-19 21:22:20 +00:00
ps
41b31bd1e0 Update the usage string to reflect -n as an option. 2000-08-07 01:09:25 +00:00
ps
045b3ce333 Actually make syslogd understand the new -n option by putting it
in getopt.

Submitted by:	Clive Lin <clive@CirX.ORG>
2000-08-07 01:00:01 +00:00
dwmalone
09a589b8f1 Sort cases in getopt switch statement.
Remove extra parens from my host selection commit.
Add white space after if, while, for and switch.
Get rid of braces around a single statement if.

There should be no functional changes in this commit.

Reviewed by:	sheldonh
2000-08-03 15:19:27 +00:00
dwmalone
91c8cf2367 Replace two calls to strlen+calloc+strcpy with strdup.
Reviewed by:	sheldonh
2000-08-03 15:12:06 +00:00
ps
b0760261f3 Change option -r to -n inline with conventions we use elsewhere.
I guess it serves me right for using a patch directly from Jan
Koum.  :)

Requested by:	many
2000-07-29 04:02:34 +00:00
ps
fd6c9310b6 Add option 'r' to syslogd which will disable dns queries for every
request.  This is useful when you have a large site pointed at a
single syslog server.

Submitted by:	Jan Koum <jkb@yahoo-inc.com>
2000-07-29 01:37:37 +00:00
dwmalone
c0626c7786 Allow syslogd to select messages based on the originating host in
a similar way to the way it can select messages from a given program.

Lines beginning with "+hostname" or "#+hostname" select messaes
from that hostname and lines beginning with "-hostname" or "#-hostname"
match messages not from that hostname.

There are some significant style issues left in the original program
selection code and the man page. This should be cleared up in some
later commits.

Reviewed by:	sheldonh
Based on an original patch by:    Bernd Walter <ticso@cicely8.cicely.de>
Man page stylist:	sheldonh
2000-07-24 14:10:17 +00:00
kris
c8fe54863b Prevent a non-exploitable remote buffer overflow.
Reported by:	twitch <twitch@vicar.org>
Submitted by:	Guido van Rooij <guido@gvr.org>
Reviewed by:	security-officer
2000-06-08 03:54:45 +00:00
jake
961b97d434 Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
jake
d93fbc9916 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
ache
2e1592d902 Enable 8bit chars excepting high controls 2000-04-18 01:12:27 +00:00
sheldonh
b2240fc1c0 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
joerg
7d18be033d Fix a nit in my previous commit: make SIGHUP and SIGCHLD restartable
as they ought to be.  The description of SA_RESTART was a little
unobvious to me in the man page, so i missed it.  Thanks to Bruce for
spotting this.

Submitted by:	bde
2000-02-29 08:02:29 +00:00
joerg
e52757e9dd Fix a serious bug in syslogd regarding the handling of pipes. The bug
would cause syslogd to eventually kill innocent processes in the
system over time (note: not `could' but `would').  Many thanks to my
colleague Mirko for digging into the kernel structures and providing
me with the debugging framework to find out about the nature of this
bug (and to isolate that syslogd was the culprit) in a rather large
set of distributed machines at client sites where this happened
occasionally.

Whenever a child process was no longer responsive, or when syslogd
receives a SIGHUP so it closes all its logging file descriptors, for
any descriptor that refers to a pipe syslogd enters the data about the
old logging child process into a `dead queue', where it is being
removed from (and the status of the dead kitten being fetched) upon
receipt of a SIGCHLD.  However, there's a high probability that the
SIGCHLD already arrives before the child's data are actually entered
into the dead queue inside the SIGHUP handler, so the SIGCHLD handler
has nothing to fetch and remove and simply continues.  Whenever this
happens, the process'es data remain on the dead queue forever, and
since domark() tried to get rid of totally unresponsive children by
first sending a SIGTERM and later a SIGKILL, it was only a matter of
time until the system had recycled enough PIDs so an innocent process
got shot to death.

Fix the race by masking SIGHUP and SIGCHLD from both handlers mutually.

Add additional bandaids ``just in case'', i. e. don't enter a process
into the dead queue if we can't signal it (this should only happen in
case it is already dead by that time so we can fetch the status
immediately instead of deferring this to the SIGCHLD handler); for the
kill(2) inside domark(), check for an error status (/* Can't happen */
:) and remove it from the dead queue in this case (which if it would
have been there in the first place would have reduced the problem to a
statistically minimal likelihood so i certainly would never have
noticed the bug at all :).

Mirko also reviewed the fix in priciple (mutual blocking of both
signals inside the handlers), but not the actual code.

Reviewed by:	Mirko Kaffka <mirko@interface-business.de>
Approved by:	jkh
2000-02-28 17:49:43 +00:00
peter
6dd3ee93f0 s|/dev/log|/var/run/log| 2000-02-14 13:26:57 +00:00
charnier
eb44a9737f Add section number to .Xr. Use .Pa for filenames.
fprintf -> warnx.
2000-01-23 20:22:23 +00:00