bostic@OKEEFFE.BERKELEY.EDU (Keith Bostic) (04/23/87)
Index: etc/inetd/inetd.c 4.3BSD FIX
Description:
New servers added to inetd.conf won't exec.
Fix:
*** inetd.c.4.3 Thu Apr 23 08:10:06 1987
--- /usr/src/etc/inetd.c Tue Aug 19 09:27:38 1986
***************
*** 11,17 ****
#endif not lint
#ifndef lint
! static char sccsid[] = "@(#)inetd.c 5.6 (Berkeley) 4/29/86";
#endif not lint
/*
--- 11,17 ----
#endif not lint
#ifndef lint
! static char sccsid[] = "@(#)inetd.c 5.7 (Berkeley) 8/19/86";
#endif not lint
/*
***************
*** 394,401 ****
SWAP(sep->se_argv[i], cp->se_argv[i]);
sigsetmask(omask);
freeconfig(cp);
! } else
sep = enter(cp);
sep->se_checked = 1;
sp = getservbyname(sep->se_service, sep->se_proto);
if (sp == 0) {
--- 394,406 ----
SWAP(sep->se_argv[i], cp->se_argv[i]);
sigsetmask(omask);
freeconfig(cp);
! if (debug)
! print_service("REDO", sep);
! } else {
sep = enter(cp);
+ if (debug)
+ print_service("ADD ", sep);
+ }
sep->se_checked = 1;
sp = getservbyname(sep->se_service, sep->se_proto);
if (sp == 0) {
***************
*** 429,434 ****
--- 434,441 ----
nsock--;
(void) close(sep->se_fd);
}
+ if (debug)
+ print_service("FREE", sep);
freeconfig(sep);
free((char *)sep);
}
***************
*** 575,581 ****
}
sep->se_bi = bi;
sep->se_wait = bi->bi_wait;
! }
argc = 0;
for (arg = skip(&cp); cp; arg = skip(&cp))
if (argc < MAXARGV)
--- 582,589 ----
}
sep->se_bi = bi;
sep->se_wait = bi->bi_wait;
! } else
! sep->se_bi = NULL;
argc = 0;
for (arg = skip(&cp); cp; arg = skip(&cp))
if (argc < MAXARGV)
***************
*** 917,920 ****
--- 925,942 ----
return;
sprintf(buffer, "%s\r", ctime(&clock));
(void) sendto(s, buffer, strlen(buffer), 0, &sa, sizeof(sa));
+ }
+
+ /*
+ * print_service:
+ * Dump relevant information to stderr
+ */
+ print_service(action, sep)
+ char *action;
+ struct servtab *sep;
+ {
+ fprintf(stderr,
+ "%s: %s proto=%s, wait=%d, user=%s builtin=%x server=%s\n",
+ action, sep->se_service, sep->se_proto,
+ sep->se_wait, sep->se_user, sep->se_bi, sep->se_server);
}