Various cleanups of inetd: Avoid shadowing variables, use socklen_t

instead of ints, don't cast to char *, clear up some remote name
handling code which had become a little odd.

Should result in no functional changes.
This commit is contained in:
David Malone 2001-01-22 23:19:30 +00:00
parent 6ef18ba88d
commit 1c3b5f2290
2 changed files with 18 additions and 20 deletions

View File

@ -275,7 +275,6 @@ main(argc, argv, envp)
struct request_info req;
int denied;
char *service = NULL;
char *pnm;
union {
struct sockaddr peer_un;
struct sockaddr_in peer_un4;
@ -491,12 +490,12 @@ main(argc, argv, envp)
}
/* handle any queued signal flags */
if (FD_ISSET(signalpipe[0], &readable)) {
int n;
if (ioctl(signalpipe[0], FIONREAD, &n) != 0) {
int nsig;
if (ioctl(signalpipe[0], FIONREAD, &nsig) != 0) {
syslog(LOG_ERR, "ioctl: %m");
exit(EX_OSERR);
}
while (--n >= 0) {
while (--nsig >= 0) {
char c;
if (read(signalpipe[0], &c, 1) != 1) {
syslog(LOG_ERR, "read: %m");
@ -527,7 +526,7 @@ main(argc, argv, envp)
if (ioctl(sep->se_fd, FIONBIO, &i) < 0)
syslog(LOG_ERR, "ioctl (FIONBIO, 1): %m");
ctrl = accept(sep->se_fd, (struct sockaddr *)0,
(int *)0);
(socklen_t *)0);
if (debug)
warnx("accept, ctrl %d", ctrl);
if (ctrl < 0) {
@ -552,23 +551,22 @@ main(argc, argv, envp)
} else
ctrl = sep->se_fd;
if (log && !ISWRAP(sep)) {
char pname[INET6_ADDRSTRLEN];
pnm = "unknown";
i = sizeof peermax;
char pname[INET6_ADDRSTRLEN] = "unknown";
socklen_t sl;
sl = sizeof peermax;
if (getpeername(ctrl, (struct sockaddr *)
&peermax, &i)) {
i = sizeof peermax;
&peermax, &sl)) {
sl = sizeof peermax;
if (recvfrom(ctrl, buf, sizeof(buf),
MSG_PEEK,
(struct sockaddr *)&peermax,
&i) >= 0) {
&sl) >= 0) {
getnameinfo((struct sockaddr *)&peermax,
peer.sa_len,
pname, sizeof(pname),
NULL, 0,
NI_NUMERICHOST|
NI_WITHSCOPEID);
pnm = pname;
}
} else {
getnameinfo((struct sockaddr *)&peermax,
@ -577,9 +575,8 @@ main(argc, argv, envp)
NULL, 0,
NI_NUMERICHOST|
NI_WITHSCOPEID);
pnm = pname;
}
syslog(LOG_INFO,"%s from %s", sep->se_service, pnm);
syslog(LOG_INFO,"%s from %s", sep->se_service, pname);
}
(void) sigblock(SIGBLOCK);
pid = 0;
@ -1062,7 +1059,7 @@ void config()
if (sep->se_rpc && sep->se_rpc_prog > 0)
unregisterrpc(sep);
freeconfig(sep);
free((char *)sep);
free(sep);
}
(void) sigsetmask(omask);
}
@ -1185,7 +1182,8 @@ setsockopt(fd, SOL_SOCKET, opt, (char *)&on, sizeof (on))
return;
}
if (sep->se_rpc) {
int i, len = sep->se_ctrladdr_size;
int i;
socklen_t len = sep->se_ctrladdr_size;
if (sep->se_family != AF_INET) {
syslog(LOG_ERR,
@ -1491,7 +1489,7 @@ more:
* clear the static buffer, since some fields (se_ctrladdr,
* for example) don't get initialized here.
*/
memset((caddr_t)sep, 0, sizeof *sep);
memset(sep, 0, sizeof *sep);
arg = skip(&cp);
if (cp == NULL) {
/* got an empty line containing just blanks/tabs. */
@ -1894,7 +1892,7 @@ inetd_setproctitle(a, s)
char *a;
int s;
{
int size;
socklen_t size;
struct sockaddr_storage ss;
char buf[80], pbuf[INET6_ADDRSTRLEN];
@ -2015,7 +2013,7 @@ cpmip(sep, ctrl)
int ctrl;
{
struct sockaddr_storage rss;
int rssLen = sizeof(rss);
socklen_t rssLen = sizeof(rss);
int r = 0;
/*

View File

@ -84,7 +84,7 @@ struct servtab {
#define se_ctrladdr se_un.se_un_ctrladdr
#define se_ctrladdr4 se_un.se_un_ctrladdr4
#define se_ctrladdr6 se_un.se_un_ctrladdr6
int se_ctrladdr_size;
socklen_t se_ctrladdr_size;
u_char se_type; /* type: normal, mux, or mux+ */
u_char se_checked; /* looked at during merge */
u_char se_accept; /* i.e., wait/nowait mode */