dave@uwvax.UUCP (Dave Cohrs) (01/01/86)
Index: /usr/src/uucp/acucntrl.c 4.3BSD Description: acncntrl updates the wrong entry in /etc/utmp if the /etc/ttys files contains lines with comments or blank lines. It turns out the these lines shouldn't be counted when figuring which entry in the utmp file gets updated. Repeat-By: put some lines in your /etc/ttys file before the dialup line you want to use for dialing in/out. Now, disable the line. If you look at /etc/utmp, the wrong entry got updated. Fix: The fix is simple. In the opnttys() routine, only update the utmploc if the line does not begin with a newline or a '#'. I just looked at the distributed version (I have a newer version) also -- it has the same problem, but the update to utmploc is in a different place. *** acucntrl.c.old Mon Nov 4 18:46:01 1985 --- acucntrl.c Tue Dec 31 22:13:13 1985 *************** *** 423,429 **** --- 423,430 ---- if(strncmp(device, linebuf, ndevice) == 0) return; ttyslnbeg += strlen(linebuf); !< utmploc += sizeof(utmp); if (fputs(linebuf, nttysfile) == NULL) { fprintf(stderr, "On %s write: %s\n", Etcttys, sys_errlist[errno]); --------------- if(strncmp(device, linebuf, ndevice) == 0) return; ttyslnbeg += strlen(linebuf); !> if(*linebuf != '\n' && *linebuf != '#') !> utmploc += sizeof(utmp); if (fputs(linebuf, nttysfile) == NULL) { fprintf(stderr, "On %s write: %s\n", Etcttys, sys_errlist[errno]); -- Dave Cohrs (608) 262-1204 ...!{harvard,ihnp4,seismo,topaz}!uwvax!dave dave@romano.wisc.edu