Commit Graph

116 Commits

Author SHA1 Message Date
gshapiro
ca15cb863a Avoid a corrupt timestamp on the console
PR:		51587
Submitted by:	Dmitry Sivachenko <mitya@cavia.pp.ru>
Approved by:	re (rwatson)
MFC after:	3 days
2003-05-17 20:07:54 +00:00
gshapiro
02f3b3510d Avoid code duplication by using libutil's trimdomain() instead of
an incorrect re-implementation.

PR:		52223, 52342
Submitted by:	Dan Nelson <dnelson@allantgroup.com>
Approved by:	re (bmah/rwatson)
MFC after:	2 days
2003-05-17 20:05:18 +00:00
gshapiro
e3834d7ef2 Cleanup hostname matching in syslogd:
1. Hostnames were not treated case insensitively in all cases.

2. The method for stripping hostnames when reading the syslog.conf
   differed from that when finding the hostname of an incoming request.
   This lead to a broken match check.  In my case, it meant I had to
   have '@scooter.smi.example.com.example.com' to have 'logger.example.com'
   properly save messages from 'scooter.smi.sendmail.com'.

3. Add paranoia to cfline() such that it doesn't try to access memory
   outside of the bounds of the f_host string.

4. While I am here, get rid of an outdated comment, argv[{0,1,2}] are now
   checked for NULL after the strdup() calls.

Reviewed by:	dwmalone
MFC after:	1 week
2003-05-04 22:05:40 +00:00
thomas
59150e3451 Hostname specifications must allow commas in the value. They are
used to separate multiple host names.

Noted by:	Dan Nelson <dnelson@allantgroup.com>
Reviewed by:	roberto
2003-02-21 19:02:31 +00:00
thomas
946eac9366 Allow multiple hosts or programs to be named in program
or host specifications, eg:

!foo,bar
*.* /var/log/only_foo_or_bar.log

!-foo,bar
*.* /var/log/all_except_foo_or_bar.log

Reviewed by:		roberto
Not objected to by:	arch@
2003-02-13 00:08:56 +00:00
thomas
3a6aeba622 Factor out the code that determines whether a message must be skipped
as a consequence of a host or program name specification into a common
function, skip_pmessage.

Reviewed by:	roberto
2002-11-07 19:53:29 +00:00
wollman
bd4df2f808 Add used #include <limits.h>. 2002-10-27 17:46:53 +00:00
tjr
304f9ee32e Sync usage() with reality and sort it alphabetically.
PR:		42620
Submitted by:	Jeff Ito
MFC after:	1 month
2002-10-18 11:48:46 +00:00
des
643b06665f Avoid referencing a removed (and freed) queue entry. This partially reverts
revision 1.101 (which did not introduce the bug but made it harder to fix)

PR:		misc/40363
Submitted by:	David Dunham <dwdunham@isilon.com>
MFC after:	2 weeks
2002-10-06 17:43:04 +00:00
dcs
0a327f9db4 Introduce to the !program specification a capability similar to the one
that already exists for hosts: being able to specify a section that applies
to every program *except* the one in question.

The normal syntax for program specification is still valid. For the new
capability, one uses:

!-program

Since there is no way to specify a program beginning with a dash in the old
syntax, as it would be interpreted as the case above, the following
alternative syntax to the original capability is provided:

!+program

This shouldn't introduce incompatibilities with any syslogd configuration
in production because -stable's syslogd does not support a dash anywhere in
the program specification.

MFC after:	2 weeks
2002-09-23 11:59:19 +00:00
dwmalone
1f58f0ce9d Make syslogd -u treat "*" as all levels by explictly setting pri_cmp
for it.

While I'm here, add a the ability to say "!level" in a way which
should be compatible with Linux's syslogd.

PR:		28935
No objections:	audit
MFC after:	2 weeks
2002-09-04 21:11:25 +00:00
cjc
abd6ef6146 Don't give up on a remote log host when we get a EHOSTUNREACH or
EHOSTDOWN. These are often transient errors (when the remote host
reboots, temporary network problems, etc.), and we'd rather err on the
side of caution and keep trying send messages that never arrive than
just give up.

Note that this is not an implementation of the "back-off" methods
given in the PR. Those just seem too complicated. Why not just keep
trying each time? Trying and failing doesn't really consume
significantly more resources than if we were successful for each
message.

PR:		bin/31029
MFC after:	1 week
2002-08-25 06:05:25 +00:00
robert
8d8219c5b9 When parsing the program name from the incoming log message
from a client, accept all printable characters as being part
of the program name, except ':' and '[', because each is a
possible delimiter.
2002-07-25 15:45:41 +00:00
robert
3be089e932 When reading a program name from the syslog configuration file,
do not stop copying it into a buffer when encountering a
non-alphanumerical character.  Only stop at unprintable characters.
This makes syslogd work correctly with executables like `interp.bin',
`httpd_old', etc.

PR:		misc/40941
MFC after:	1 week
2002-07-25 09:56:37 +00:00
ume
9c2c51a1e6 use IPV6_V6ONLY instead of non standard IPV6_BINDV6ONLY.
MFC after:	1 week
2002-07-22 15:22:53 +00:00
des
2a7696e0d2 Remove spaces between (void) and function calls. Use TAILQ_FOREACH
instead of hand-rolled equivalent.  Add curly braces for symmetry
around else.
2002-03-24 06:02:10 +00:00
des
871401d977 Parenthesize return values and pull an orphaned { back into the fold. 2002-03-24 05:52:04 +00:00
des
6d7d908273 __FBSDID, ANSIfy function definitions, staticize functions and globals,
don't initialize globals to 0, some reindentation of declarations, some
comments added or reworded.
2002-03-24 05:48:37 +00:00
des
f3ac6cf424 Un-__P(). 2002-03-24 05:24:04 +00:00
maxim
8b3deee04d Remove unnecessary setjmp.h.
Reviewed by:	ru
Approved by:	ru
Obtained from:	OpenBSD
MFC after:	1 week
2002-02-13 08:49:29 +00:00
maxim
625b77d663 Unlink all log sockets at startup.
PR:		misc/34839
Reviewed by:	ru
Approved by:	ru
Obtained from:	OpenBSD
MFC after:	2 weeks
2002-02-13 08:37:55 +00:00
deischen
0e9e967bc3 Initialze a stack variable with NULL to unbreak buildworld with -Wall.
I don't know about anyone else, but the compiler was always aborting
on this stupid warning, and has been doing so for weeks.
2002-01-09 17:36:53 +00:00
archie
cd1ab61208 Add a new flag '-c' to disable repeated line compression when the output
is a pipe to another program, or, if specified twice, in all cases.

PR:	bin/32420
2002-01-05 07:34:52 +00:00
dd
fc1c953f03 Make the default kernel prefix "kernel:" instead of the boot file,
with the old behavior available via the -o option (it might still be
useful if one has many kernels and cares which messages came from
which).  If the boot file is not used as the prefix, it is still
logged once at startup.

This change is prompted by the fact that the boot file is now much
longer ("/boot/kernel/kernel" vs. "/kernel"), which significanlty
bloats the syslogd output.

Reviewed by:	peter
2001-11-27 20:02:18 +00:00
ps
b88e604b92 If the mask length is zero, there is no need to convert it to a
netmask.

PR:		31947
Submitted by:	Aaron Scarisbrick <aaronsca@hotmail.com>
MFC after:	1 week
2001-11-14 09:20:24 +00:00
des
9db513e93b Check the return values from calls to malloc(), calloc(), strdup() etc.
Submitted by:	Philippe Charnier <charnier@xp11.frmug.org>
MFC after:	2 weeks
2001-09-30 16:09:17 +00:00
des
ad919e2f8f Add a strcasecmp() call I forgot in my hurry to commit the previous fix.
Without this call, the hostname check would in some cases yield false
positives.

Pointed out by:	ru
2001-09-13 09:40:35 +00:00
des
a2a2c4459a The previous commit appeared to just shove the bug under the carpet rather
than really solve it.  This approach (inspired by Ruslan's patch) solves
the real problem by stripping the local domain off the host name in the
config line structure.

Also mark a bunch of code sections that either do not check the return value
of a strdup(), malloc() or calloc() call, or do not properly handle a NULL
return.
2001-09-13 06:48:41 +00:00
des
b9eed5024e Fix logging from remote hosts, which has been broken since (at least) revision
1.64, i.e. July of last year.  Also fix a minor style bug in the same code.

PR:		bin/28634
Pointy hat to:	dwmalone
Pointed out by:	my buggy DSL router's remote logging facility
2001-09-13 05:09:14 +00:00
ru
c4912e8677 Fixed the free(3) panic overlooked due to the -Wno-uninitialized. 2001-09-11 08:18:04 +00:00
dd
3c17c0ac6e - Silence warnings: apply `const' generously, mark some variables
__unused, and change local variables named `sin' (struct
  sockaddr_in) to `sin4'.  (`sin' conflicts with the definition of
  sin(3), which gcc assumes to be defined even if math.h isn't
  included (it's a builtin).  This is probably a bug in gcc.)

- Apply WARNS=1.  WARNS=2 was not used because this program assigns
  string literals to (struct iovec).iov_base for writing, and the only
  clean way to silence -Wwrite-strings in that case would be to
  strdup() and consequently free() those literals, which I considered
  too disruptive.

Reviewed by:	bde (partially)
2001-09-09 14:25:02 +00:00
kris
e5416f84b0 Correct a last minute sizeof() bogon in my previous commit. 2001-09-05 05:20:31 +00:00
dd
396c50b0c1 Introduce a -b option that allows the user to specify which address to
bind to.  This is useful for hosts running jails that need syslog to
maintain an open socket to log to a remote host.

Reviewed by:	sheldonh
2001-09-01 08:42:49 +00:00
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
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
brian
d48c427cd5 Handle snprintf() returning -1.
MFC after:	2 weeks
2001-08-20 13:24:39 +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
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
dwmalone
7383805917 Fix constness warning introduced in syslog.h 1.21. 2001-05-21 22:13:55 +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
brian
b80431a105 MAXHOSTNAMELEN includes the NUL 2001-03-09 21:24:13 +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
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
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
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