If rsh doesn't enter a LOGIN entry in the utmp file, login gets confused and adds a new entry at the end (even if an entry for the tty already exists). This causes the utmp file to keep growing as long as the system is up. A utmp file over 1MB makes "who", "w", and other such programs slow to a crawl on an active server. I will send a patch for rsh that makes it create an entry once I get a bug ID.
See patch in attached email.
This patch has been added to the OpenBSD rsh sources in Raw Hide. This is an intermediate solution until a PAM module is written that will manage utmp entries. Thanks for the patch.
And, finally, a better fix (to find utmp entry based on tty slot) has been put into login.c that makes it unnecessary to create the utmp entry before exec'ing login. Thanks for pointing this out. Fix is in util-linux-2.9o-6.