mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
Use err(3).
This commit is contained in:
parent
66c352c19f
commit
c1a2e93e94
3 changed files with 59 additions and 56 deletions
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94
|
||||
.\" $Id$
|
||||
.\" $Id: inetd.8,v 1.13 1997/02/22 16:05:51 peter Exp $
|
||||
.\"
|
||||
.Dd February 7, 1996
|
||||
.Dt INETD 8
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
.Op Ar configuration file
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm inetd
|
||||
.Nm
|
||||
program
|
||||
should be run at boot time by
|
||||
.Pa /etc/rc
|
||||
|
|
@ -63,22 +63,21 @@ The server program is invoked with the service socket
|
|||
as its standard input, output and error descriptors.
|
||||
After the program is
|
||||
finished,
|
||||
.Nm inetd
|
||||
.Nm
|
||||
continues to listen on the socket (except in some cases which
|
||||
will be described below). Essentially,
|
||||
.Nm inetd
|
||||
.Nm
|
||||
allows running one daemon to invoke several others,
|
||||
reducing load on the system.
|
||||
.Pp
|
||||
The options available for
|
||||
.Nm inetd:
|
||||
.Bl -tag -compact -width Rratexxx
|
||||
The following options are available:
|
||||
.Bl -tag -width indent
|
||||
.It Fl d
|
||||
Turns on debugging.
|
||||
Turn on debugging.
|
||||
.It Fl l
|
||||
Turns on logging.
|
||||
Turn on logging.
|
||||
.It Fl R Ar rate
|
||||
Specifies the maximum number of times a service can be invoked
|
||||
Specify the maximum number of times a service can be invoked
|
||||
in one minute; the default is 256.
|
||||
.It Fl a
|
||||
Specify a specific IP address to bind to.
|
||||
|
|
@ -87,7 +86,7 @@ Specify an alternate file in which to store the process ID.
|
|||
.El
|
||||
.Pp
|
||||
Upon execution,
|
||||
.Nm inetd
|
||||
.Nm
|
||||
reads its configuration information from a configuration
|
||||
file which, by default, is
|
||||
.Pa /etc/inetd.conf .
|
||||
|
|
@ -121,7 +120,7 @@ server program arguments
|
|||
.Ed
|
||||
.Pp
|
||||
There are two types of services that
|
||||
.Nm inetd
|
||||
.Nm
|
||||
can start: standard and TCPMUX.
|
||||
A standard service has a well-known port assigned to it;
|
||||
it may be a service that implements an official Internet standard or is a
|
||||
|
|
@ -131,7 +130,7 @@ As described in
|
|||
TCPMUX services are nonstandard services that do not have a
|
||||
well-known port assigned to them.
|
||||
They are invoked from
|
||||
.Nm inetd
|
||||
.Nm
|
||||
when a program connects to the
|
||||
.Dq tcpmux
|
||||
well-known port and specifies
|
||||
|
|
@ -207,9 +206,11 @@ TCPMUX services must use
|
|||
.Pp
|
||||
The
|
||||
.Em wait/nowait
|
||||
entry specifies whether the server that is invoked by inetd will take over
|
||||
entry specifies whether the server that is invoked by
|
||||
.Nm
|
||||
will take over
|
||||
the socket associated with the service access point, and thus whether
|
||||
.Nm inetd
|
||||
.Nm
|
||||
should wait for the server to exit before listening for new service
|
||||
requests.
|
||||
Datagram servers must use
|
||||
|
|
@ -220,7 +221,7 @@ These servers must read at least one datagram from the socket
|
|||
before exiting.
|
||||
If a datagram server connects
|
||||
to its peer, freeing the socket so
|
||||
.Nm inetd
|
||||
.Nm
|
||||
can received further messages on the socket, it is said to be
|
||||
a
|
||||
.Dq multi-threaded
|
||||
|
|
@ -229,7 +230,7 @@ it should read one datagram from the socket and create a new socket
|
|||
connected to the peer.
|
||||
It should fork, and the parent should then exit
|
||||
to allow
|
||||
.Nm inetd
|
||||
.Nm
|
||||
to check for new service requests to spawn new servers.
|
||||
Datagram servers which process all incoming datagrams
|
||||
on a socket and eventually time out are said to be
|
||||
|
|
@ -280,9 +281,9 @@ The
|
|||
.Em server-program
|
||||
entry should contain the pathname of the program which is to be
|
||||
executed by
|
||||
.Nm inetd
|
||||
.Nm
|
||||
when a request is found on its socket. If
|
||||
.Nm inetd
|
||||
.Nm
|
||||
provides this service internally, this entry should
|
||||
be
|
||||
.Dq internal .
|
||||
|
|
@ -297,7 +298,7 @@ word
|
|||
should take the place of this entry.
|
||||
.Pp
|
||||
The
|
||||
.Nm inetd
|
||||
.Nm
|
||||
program
|
||||
provides several
|
||||
.Dq trivial
|
||||
|
|
@ -324,14 +325,14 @@ document.
|
|||
When given the
|
||||
.Fl l
|
||||
option
|
||||
.Nm Inetd
|
||||
.Nm
|
||||
will log an entry to syslog each time an
|
||||
.Xr accept 2
|
||||
is made, which notes the
|
||||
service selected and the IP-number of the remote requestor.
|
||||
.Pp
|
||||
The
|
||||
.Nm inetd
|
||||
.Nm
|
||||
program
|
||||
rereads its configuration file when it receives a hangup signal,
|
||||
.Dv SIGHUP .
|
||||
|
|
@ -356,7 +357,7 @@ the selected protocol begins; otherwise the connection is closed.''
|
|||
The program is passed the TCP connection as file descriptors 0 and 1.
|
||||
.Pp
|
||||
If the TCPMUX service name begins with a ``+'',
|
||||
.Nm inetd
|
||||
.Nm
|
||||
returns the positive reply for the program.
|
||||
This allows you to invoke programs that use stdin/stdout
|
||||
without putting any special server code in them.
|
||||
|
|
@ -364,7 +365,7 @@ without putting any special server code in them.
|
|||
The special service name
|
||||
.Dq help
|
||||
causes
|
||||
.Nm inetd
|
||||
.Nm
|
||||
to list TCPMUX services in
|
||||
.Pa inetd.conf .
|
||||
.Sh "FILES"
|
||||
|
|
@ -391,7 +392,7 @@ rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd
|
|||
.Ed
|
||||
.Sh "ERROR MESSAGES"
|
||||
The
|
||||
.Nm inetd
|
||||
.Nm
|
||||
server
|
||||
logs error messages using
|
||||
.Xr syslog 3 .
|
||||
|
|
@ -444,7 +445,7 @@ exists in the
|
|||
.Xr passwd 5
|
||||
database. The first message
|
||||
occurs when
|
||||
.Nm inetd
|
||||
.Nm
|
||||
(re)reads the configuration file. The second message occurs when the
|
||||
service is invoked.
|
||||
.Pp
|
||||
|
|
|
|||
|
|
@ -32,15 +32,17 @@
|
|||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] __attribute__ ((unused)) =
|
||||
static const char copyright[] =
|
||||
"@(#) Copyright (c) 1983, 1991, 1993, 1994\n\
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
/* from: @(#)inetd.c 8.4 (Berkeley) 4/13/94"; */
|
||||
static char inetd_c_rcsid[] __attribute__ ((unused)) =
|
||||
"$Id: inetd.c,v 1.24 1997/05/10 18:59:11 davidn Exp $";
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)from: inetd.c 8.4 (Berkeley) 4/13/94";
|
||||
#endif
|
||||
static const char rcsid[] =
|
||||
"$Id$";
|
||||
#endif /* not lint */
|
||||
|
||||
/*
|
||||
|
|
@ -115,6 +117,7 @@ static char inetd_c_rcsid[] __attribute__ ((unused)) =
|
|||
#include <rpc/pmap_clnt.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <err.h>
|
||||
#include <fcntl.h>
|
||||
#include <netdb.h>
|
||||
#include <pwd.h>
|
||||
|
|
@ -397,13 +400,12 @@ main(argc, argv, envp)
|
|||
if (sep->se_fd != -1 && FD_ISSET(sep->se_fd, &readable)) {
|
||||
n--;
|
||||
if (debug)
|
||||
fprintf(stderr, "someone wants %s\n",
|
||||
sep->se_service);
|
||||
warnx("someone wants %s", sep->se_service);
|
||||
if (sep->se_accept && sep->se_socktype == SOCK_STREAM) {
|
||||
ctrl = accept(sep->se_fd, (struct sockaddr *)0,
|
||||
(int *)0);
|
||||
if (debug)
|
||||
fprintf(stderr, "accept, ctrl %d\n", ctrl);
|
||||
warnx("accept, ctrl %d", ctrl);
|
||||
if (ctrl < 0) {
|
||||
if (errno != EINTR)
|
||||
syslog(LOG_WARNING,
|
||||
|
|
@ -485,8 +487,7 @@ main(argc, argv, envp)
|
|||
if (pid == 0) {
|
||||
if (dofork) {
|
||||
if (debug)
|
||||
fprintf(stderr, "+ Closing from %d\n",
|
||||
maxsock);
|
||||
warnx("+ closing from %d", maxsock);
|
||||
for (tmpint = maxsock; tmpint > 2; tmpint--)
|
||||
if (tmpint != ctrl)
|
||||
(void) close(tmpint);
|
||||
|
|
@ -496,8 +497,8 @@ main(argc, argv, envp)
|
|||
/* NOTREACHED */
|
||||
} else {
|
||||
if (debug)
|
||||
fprintf(stderr, "%d execl %s\n",
|
||||
getpid(), sep->se_server);
|
||||
warnx("%d execl %s",
|
||||
getpid(), sep->se_server);
|
||||
dup2(ctrl, 0);
|
||||
close(ctrl);
|
||||
dup2(0, 1);
|
||||
|
|
@ -609,8 +610,7 @@ reapchild(signo)
|
|||
if (pid <= 0)
|
||||
break;
|
||||
if (debug)
|
||||
fprintf(stderr, "%d reaped, status %#x\n",
|
||||
pid, status);
|
||||
warnx("%d reaped, status %#x", pid, status);
|
||||
for (sep = servtab; sep; sep = sep->se_next) {
|
||||
for (k = 0; k < sep->se_numchild; k++)
|
||||
if (sep->se_pids[k] == pid)
|
||||
|
|
@ -811,9 +811,8 @@ setup(sep)
|
|||
|
||||
if ((sep->se_fd = socket(AF_INET, sep->se_socktype, 0)) < 0) {
|
||||
if (debug)
|
||||
fprintf(stderr, "socket failed on %s/%s: %s\n",
|
||||
sep->se_service, sep->se_proto,
|
||||
strerror(errno));
|
||||
warn("socket failed on %s/%s",
|
||||
sep->se_service, sep->se_proto);
|
||||
syslog(LOG_ERR, "%s/%s: socket: %m",
|
||||
sep->se_service, sep->se_proto);
|
||||
return;
|
||||
|
|
@ -833,9 +832,8 @@ setsockopt(fd, SOL_SOCKET, opt, (char *)&on, sizeof (on))
|
|||
if (bind(sep->se_fd, (struct sockaddr *)&sep->se_ctrladdr,
|
||||
sizeof (sep->se_ctrladdr)) < 0) {
|
||||
if (debug)
|
||||
fprintf(stderr, "bind failed on %s/%s: %s\n",
|
||||
sep->se_service, sep->se_proto,
|
||||
strerror(errno));
|
||||
warn("bind failed on %s/%s",
|
||||
sep->se_service, sep->se_proto);
|
||||
syslog(LOG_ERR, "%s/%s: bind: %m",
|
||||
sep->se_service, sep->se_proto);
|
||||
(void) close(sep->se_fd);
|
||||
|
|
@ -872,7 +870,7 @@ setsockopt(fd, SOL_SOCKET, opt, (char *)&on, sizeof (on))
|
|||
listen(sep->se_fd, 64);
|
||||
enable(sep);
|
||||
if (debug) {
|
||||
fprintf(stderr, "registered %s on %d\n",
|
||||
warnx("registered %s on %d",
|
||||
sep->se_server, sep->se_fd);
|
||||
}
|
||||
}
|
||||
|
|
@ -919,7 +917,7 @@ void
|
|||
enable(struct servtab *sep)
|
||||
{
|
||||
if (debug)
|
||||
fprintf(stderr,
|
||||
warnx(
|
||||
"enabling %s, fd %d", sep->se_service, sep->se_fd);
|
||||
#ifdef SANITY_CHECK
|
||||
if (sep->se_fd < 0) {
|
||||
|
|
@ -948,7 +946,7 @@ void
|
|||
disable(struct servtab *sep)
|
||||
{
|
||||
if (debug)
|
||||
fprintf(stderr,
|
||||
warnx(
|
||||
"disabling %s, fd %d", sep->se_service, sep->se_fd);
|
||||
#ifdef SANITY_CHECK
|
||||
if (sep->se_fd < 0) {
|
||||
|
|
@ -1516,7 +1514,7 @@ machtime()
|
|||
|
||||
if (gettimeofday(&tv, (struct timezone *)0) < 0) {
|
||||
if (debug)
|
||||
fprintf(stderr, "Unable to get time of day\n");
|
||||
warnx("unable to get time of day");
|
||||
return (0L);
|
||||
}
|
||||
#define OFFSET ((u_long)25567 * 24*60*60)
|
||||
|
|
@ -1666,7 +1664,7 @@ tcpmux(s)
|
|||
service[len] = '\0';
|
||||
|
||||
if (debug)
|
||||
fprintf(stderr, "tcpmux: someone wants %s\n", service);
|
||||
warnx("tcpmux: someone wants %s", service);
|
||||
|
||||
/*
|
||||
* Help is a required command, and lists available services,
|
||||
|
|
|
|||
|
|
@ -32,13 +32,17 @@
|
|||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] =
|
||||
static const char copyright[] =
|
||||
"@(#) Copyright (c) 1986, 1991, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)iostat.c 8.2 (Berkeley) 1/26/94";
|
||||
#endif
|
||||
static const char rcsid[] =
|
||||
"$Id$";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
|
@ -131,7 +135,7 @@ char **dr_name;
|
|||
void cpustats __P((void));
|
||||
void dkstats __P((void));
|
||||
void phdr __P((int));
|
||||
void usage __P((void));
|
||||
static void usage __P((void));
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
|
|
@ -150,7 +154,7 @@ main(argc, argv)
|
|||
switch(ch) {
|
||||
case 'c':
|
||||
if ((reps = atoi(optarg)) <= 0)
|
||||
errx(1, "repetition count <= 0.");
|
||||
errx(1, "repetition count <= 0");
|
||||
break;
|
||||
case 'M':
|
||||
memf = optarg;
|
||||
|
|
@ -160,7 +164,7 @@ main(argc, argv)
|
|||
break;
|
||||
case 'w':
|
||||
if ((interval = atoi(optarg)) <= 0)
|
||||
errx(1, "interval <= 0.");
|
||||
errx(1, "interval <= 0");
|
||||
break;
|
||||
case '?':
|
||||
default:
|
||||
|
|
@ -185,7 +189,7 @@ main(argc, argv)
|
|||
errx(1, "dk_ndrive not found in namelist");
|
||||
(void)nlread(X_DK_NDRIVE, dk_ndrive);
|
||||
if (dk_ndrive < 0)
|
||||
errx(1, "invalid dk_ndrive %d\n", dk_ndrive);
|
||||
errx(1, "invalid dk_ndrive %d", dk_ndrive);
|
||||
|
||||
cur.dk_time = calloc(dk_ndrive, sizeof(long));
|
||||
cur.dk_wds = calloc(dk_ndrive, sizeof(long));
|
||||
|
|
@ -386,7 +390,7 @@ cpustats()
|
|||
100. * cur.cp_time[state] / (time ? time : 1));
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
usage()
|
||||
{
|
||||
(void)fprintf(stderr,
|
||||
|
|
|
|||
Loading…
Reference in a new issue