Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jan 2020 14:40:05 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356601 - head/usr.sbin/inetd
Message-ID:  <202001101440.00AEe5f5015559@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Fri Jan 10 14:40:04 2020
New Revision: 356601
URL: https://svnweb.freebsd.org/changeset/base/356601

Log:
  inetd: free WITHOUT_INET6_SUPPORT build of warnings
  
  If inetd is compiled without inet6 support, we need to error out on
  rpc+inet6 services rather than attempting to call into rpc bits with an
  uninitialized netid.
  
  v4bind is only used with INET6 support, so move it under the proper #ifdefs
  with v6bind.
  
  Reported by:	Pavel Timofeev <timp87 gmail com>
  MFC after:	3 days

Modified:
  head/usr.sbin/inetd/inetd.c

Modified: head/usr.sbin/inetd/inetd.c
==============================================================================
--- head/usr.sbin/inetd/inetd.c	Fri Jan 10 14:09:59 2020	(r356600)
+++ head/usr.sbin/inetd/inetd.c	Fri Jan 10 14:40:04 2020	(r356601)
@@ -1360,6 +1360,15 @@ setsockopt(fd, SOL_SOCKET, opt, (char *)&on, sizeof (o
 				sock.sin_port = sep->se_ctrladdr6.sin6_port;
 			}
 		}
+#else
+		else {
+			syslog(LOG_ERR,
+			    "%s/%s: inetd compiled without inet6 support\n",
+			    sep->se_service, sep->se_proto);
+			(void) close(sep->se_fd);
+			sep->se_fd = -1;
+			return;
+		}
 #endif
                 if (debug)
                         print_service("REG ", sep);
@@ -1611,8 +1620,8 @@ getconfigent(void)
 #ifdef IPSEC
 	char *policy;
 #endif
-	int v4bind;
 #ifdef INET6
+	int v4bind;
 	int v6bind;
 #endif
 	int i;
@@ -1622,8 +1631,8 @@ getconfigent(void)
 	policy = NULL;
 #endif
 more:
-	v4bind = 0;
 #ifdef INET6
+	v4bind = 0;
 	v6bind = 0;
 #endif
 	while ((cp = nextline(fconfig)) != NULL) {
@@ -1787,7 +1796,9 @@ more:
 #endif
 			if (sep->se_proto[strlen(sep->se_proto) - 1] == '4') {
 				sep->se_proto[strlen(sep->se_proto) - 1] = '\0';
+#ifdef INET6
 				v4bind = 1;
+#endif
 				continue;
 			}
 			/* illegal version num */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001101440.00AEe5f5015559>