Commit Graph

74 Commits

Author SHA1 Message Date
wiz
14dbdf5518 Negative exit code cleanup: Replace exit(-x) with exit(x).
As seen on tech-userlevel.
2001-04-06 11:13:45 +00:00
cgd
25bdbb661e convert to use getprogname() 2001-02-19 23:22:40 +00:00
lukem
0645f2f67b use explicit name rather than __progname in openlog 2001-01-11 01:34:28 +00:00
itojun
51156effd6 be more paranoid about UDP-based echo services validation. namely,
reject the following sources:
	0.0.0.0/8 127.0.0.0/8 240.0.0.0/4 255.0.0.0/8
	ff00::/8 ::/128
	::ffff:0.0.0.0/96 and ::0.0.0.0/96 obeys IPv4 rule.
hint from deraadt.
2000-08-01 18:42:08 +00:00
mycroft
70c4e41552 Remove bogus typeof hack, and just use the type directly. 2000-07-23 22:54:51 +00:00
itojun
b44d184dec permit square-bracket notation (as in RFC2732) for the first element
in inetd.conf.  otherwise, we'll have (minor) problem putting IPv6 address in.
sync with kame.

[::1]:ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -ll
2000-07-08 01:55:24 +00:00
itojun
7bf16d3ecc explicitly check if the address family is supported, by using socket(2). 2000-07-07 14:56:45 +00:00
itojun
358c3cf8dc more change on getaddrinfo error handling.
XXX enami, I admit it is not a good thing to check the error code from
getaddrinfo.  it is sometimes mandatory, however.  gai_strerror message
can be too generic in some cases.  we can't really extend getaddrinfo,
as it was not invented by kame (see RFC2553)
2000-07-05 12:43:06 +00:00
itojun
798ee6865c add faithd(8) support. with "faith/tcp6" protocol specification,
it will open a socket with setsockopt(IPV6_FAITH).
2000-07-04 13:25:39 +00:00
itojun
9282955dca emit more friendly message on nonexistent service name.
From: enami
2000-07-04 09:33:55 +00:00
itojun
0f20cdad3f check for mux service by ISMUX(), not by != NORM_TYPE
(the assumption can bite us if we extend se_type to have more cases).
2000-07-03 23:40:59 +00:00
itojun
ee1989a0d1 remove duplicated ipsec setup code. we always call setup() on
socket reinitialization (like SIGHUP).
sync with kame.
2000-07-03 23:37:17 +00:00
fvdl
2db4d2fdfe Modify to support RPC over IPv6. 2000-06-02 23:17:55 +00:00
itojun
2e33d275dc use LOG_WARNING for syslog output for address family mismatch.
suggested by: thorpej
2000-05-13 06:42:13 +00:00
itojun
31eb929ec0 correct extremely unfriendly error message when the kernel does not
support the address family (like including "tcp6" in inetd.conf, on
non-IPv6 kernel).

was:
inetd[185]: ftp/tcp6: *: hostname nor servname provided, or not known
now:
inetd[315]: ftp/tcp6: *: the address family is not supported by the kernel
2000-05-13 02:56:47 +00:00
itojun
8fb9de8e46 fix IPsec policy parser. #@ should affect multiple lines as documented. 2000-03-06 19:52:13 +00:00
itojun
4b061adfdb sync with latest libipsec.
since outgoing and incoming policy is separated, inetd can take multiple
policy specification, separated by ";".
2000-01-31 14:28:17 +00:00
itojun
55ffb1ce63 make error check against getnameinfo(). 2000-01-27 19:52:43 +00:00
itojun
a31f62a92c call sigsetmask() on ipsec initialization failure. 2000-01-13 15:53:00 +00:00
ad
d3f47cfba9 A colon is the preferred way to split a user and group name pair; make this
possible and depreciate the use of dot.
1999-10-06 21:54:10 +00:00
itojun
f7c22e9eaa fix internal servers (like echo) so that they can accept AF_INET6 connections.
add AF_INET6 support for port_good_dg().
1999-09-15 09:59:41 +00:00
sommerfeld
fdadab8fc8 Fix PR7739: correct -DRPC rot in inetd.c 1999-08-02 01:12:21 +00:00
itojun
e1b53de44e query service name properly on libwrap warnings.
NetBSD PR: 8101
1999-07-28 10:58:31 +00:00
ghudson
113b4934fe se_wait stores pids; make it a pid_t. 1999-07-19 15:49:39 +00:00
itojun
93de5675b3 be more friendly with non-IPsec kernel (hide warnings). 1999-07-04 00:31:57 +00:00
itojun
a77871b871 dual-stack inetd. you can write "tcp6" or "tcp4" into "protocol" field.
(the style is the rough consensus among v6 implementers so it will be
the standard style)

TODO: test rpc and tcpmux on IPv6.
TODO: test identd over IPv6.
1999-07-02 04:48:19 +00:00
thorpej
78688ba793 Use pidfile(3). 1999-06-06 01:50:23 +00:00
hwr
f6aa0f509c Prevent sending udp data to the obvious bad ports that are used for
DoS attacks (e.g. looping packets between two echo ports).
This should "fix" PR bin/2455.
Could please anyone with an appropriate "hacker tools" check this?
1999-04-11 15:40:58 +00:00
mycroft
e37d13ec69 Revert previous. 1999-01-20 09:24:06 +00:00
mycroft
24285e691d Make all listening sockets non-blocking. 1999-01-20 04:42:17 +00:00
lukem
786b86d71b use AF_LOCAL instead of AF_UNIX 1998-07-18 05:04:35 +00:00
tron
ec7c8ec161 From "buqtraq": avoid file descriptor leak if service is looping. 1998-07-16 08:55:43 +00:00
thorpej
723fb3cccc Add support for specifying the send and receive socket buffer sizes. This
is especially useful for TCP servers which must specify the receive
socket buffer size before the connection is made so that the connection's
window scale factor can be properly advertised.

Example /etc/inetd.conf configuration line:

shell stream tcp,rcvbuf=1m nowait root /usr/libexec/rshd rshd

That line will cause the rshd to advertise a 1 megabyte window, which could
improve the performance of an rcp in some situations.
1998-05-01 01:57:26 +00:00
mycroft
b4d89784ef Reset the SIGPIPE handler to SIG_DFL after forking. 1998-03-21 06:25:37 +00:00
christos
9fab7a4ffa PR/4837: Jeff Thieleke: inetd does not compile without libwrap. 1998-01-20 16:44:22 +00:00
mycroft
a88cef6970 Ignore SIGPIPE, which may be caused by non-forking internal TCP services if
the remote side closes the connection before we answer.
1997-12-04 06:39:02 +00:00
lukem
a352e573d5 fix use of unix domain socketname length, and signal error if this
is exceeded. from enami tsugutomo <enami@ba2.so-net.or.jp> [bin/3369]
1997-10-17 13:53:30 +00:00
mycroft
c5aacdd3b3 Don't sleep if we get EINTR from select(2) (e.g. because we got
a SIGCHLD when something died).  From PR 4056, by David Holland.
1997-10-08 07:15:59 +00:00
mrg
2d06dcebcd WARNS?=1 1997-10-05 16:40:24 +00:00
mrg
7d7091ccdd merge lite2 [actually, just update ucb sccs id's] 1997-10-05 16:16:10 +00:00
mycroft
52aae8dc8a Don't do libwrap checking for UDP services; they must do it internally on
every packet to be correct.
1997-04-20 22:04:59 +00:00
mycroft
14656f0069 Don't attempt to use libwrap for `stream wait' services, where
we only have the listening socket.
1997-03-19 00:05:05 +00:00
mycroft
95c740d58b Oops; for waiting stream services, we don't do an accept(); we
pass down the fd of the listening socket.
1997-03-18 04:47:22 +00:00
mycroft
6ebf01d197 Output a + line for the tcpmux `help' service, and list itself. 1997-03-14 03:18:25 +00:00
mycroft
b860cb428b Move all of the libwrap checking and subprocess startup into a separate
function.  Arrange for tcpmux() to be called like other builtins, and have it
call the aforementioned function recursively.  This allows tcpmux to be
wrapped, and always runs it after forking, so we don't freeze everything
else.
Also, use FD_CLOEXEC to close file descriptors, rather than iterating through
them ourself.
1997-03-13 20:15:04 +00:00
mycroft
a68a078f3e Fix typo. 1997-03-13 18:39:50 +00:00
mycroft
51fa5e9be7 Make the previous dependent on LIBWRAP_INTERNAL, which is not defined by
default.
1997-03-13 18:36:35 +00:00
mycroft
249eced8da If we forked for an internal service, make sure we always exit afterward. 1997-03-13 18:19:35 +00:00
mycroft
df6ec691b5 If we're using libwrap. always fork. This only affects the time and daytime
services anyway.
1997-03-13 18:08:19 +00:00
mycroft
cf5f8c252d Slight rearrangement to forking code. Also, always close the new descriptor
after a fork failure, even for a waiting service.
1997-03-13 18:06:15 +00:00