[mod.protocols.tcp-ip] adding a service to inetd.conf doesn't work

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)