From: utzoo!decvax!harpo!eagle!mhuxt!mhuxj!mhuxa!houxm!hogpc!houti!ariel!vax135!cornell!uw-beaver!jim Newsgroups: net.bugs.uucp Title: Login delay increases chances of getting connected Article-I.D.: uw-beave.520 Posted: Fri Apr 22 07:45:49 1983 Received: Sun Apr 24 07:02:23 1983 This is not really a bug in uucp, but in 4.1bsd getty. It is a long story, so you may want to skip to the end of this message if you aren't interested in grungy details. The folks at Berkeley apparently have all their terminals ports wired up to ignore DCD and assume that the terminal is always ready. This means that if you unplug a Berkeley terminal, the system still thinks there is a terminal connected to the line, and it will send a "login:" prompt down the disconnected line. The problem with this is that an unconnected line of sufficient length will "ring", and the login prompt will echo back to the computer. The computer will see the prompt and echo it right back down the unconnected line. You end up with a steady stream of characters in and out the port, and a steady stream of dying and restarted gettys, which puts a big load on the system. Berkeley's "solution" to this problem was not to connect up DCD, but rather to put a 1 second delay into getty after displaying the prompt and before turning on echoing. It flushes any characters received during the delay. Not only is this confusing to the users, it is also confusing to uucp, which tries to send the login name right after it sees the login prompt. The login name gets dropped by the one second delay. I have countered this by putting my own one second delay into uucp after getting the login prompt. When I did this, my percentage of failed logins dropped from 30% to 5% (actual figures, taken from LOGFILE -- at the time, all our neighbors were 4.1bsd sites). The standard uucp does not support delays, unfortunately, but there are a lot of modified conn.c's floating around that do. Our L.sys line now look like this: blah blah login: \duucp word: uucp In our case, the "\d" provides the one second delay. Alternatively, you could modify conn.c to always put in a delay before it sends anything.