From 9d82cf01b52f1b36b3ab73915fcf42d0e8d4c9b9 Mon Sep 17 00:00:00 2001 From: dwmalone Date: Mon, 22 Jan 2001 23:19:30 +0000 Subject: 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. --- usr.sbin/inetd/inetd.c | 36 +++++++++++++++++------------------- usr.sbin/inetd/inetd.h | 2 +- 2 files changed, 18 insertions(+), 20 deletions(-) (limited to 'usr.sbin/inetd') diff --git a/usr.sbin/inetd/inetd.c b/usr.sbin/inetd/inetd.c index d43da3d..8bf5415 100644 --- a/usr.sbin/inetd/inetd.c +++ b/usr.sbin/inetd/inetd.c @@ -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; /* diff --git a/usr.sbin/inetd/inetd.h b/usr.sbin/inetd/inetd.h index f8caf25..c0c9e64 100644 --- a/usr.sbin/inetd/inetd.h +++ b/usr.sbin/inetd/inetd.h @@ -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 */ -- cgit v1.1