stanonik@NPRDC.ARPA.UUCP (02/18/87)
Description: Adding a new service to inetd.conf and then HUPing inetd doesn't work. Connections can be made to the port, but the connection is closed when anything is sent to the port. Repeat-By: Put a copy of telnet on another port by adding the new service, say xtelnet on port 623, to /etc/services, and make the appropriate /etc/inetd.conf entry. HUP inetd. Now telnet localhost 623. The connection is made, but hitting any key closes the connection. The login herald is never seen, and what's more, checking the access date on the service reveals it wasn't execed. Fix: The problem seems to be that inetd doesn't clear the se_bi field when parsing inetd.conf, so se_bi is left flagging "internal" after the initial pass through inetd.conf. Anything service added afterward is also flagged internal. Clear the se_bi field if the service isn't internal. --- inetd.c Mon Feb 16 01:08:29 1987 *************** *** 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) --- 575,582 ---- } sep->se_bi = bi; sep->se_wait = bi->bi_wait; ! } else ! sep->se_bi = 0; argc = 0; for (arg = skip(&cp); cp; arg = skip(&cp)) if (argc < MAXARGV)