Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Oct 2000 03:15:54 +0200 (CEST)
From:      mbendiks@eunet.no
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/21806: [patches] Request: Make default lock(1) no timeout
Message-ID:  <200010070115.DAA04388@suiram.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         21806
>Category:       bin
>Synopsis:       lock(1) currently defaults to 15 minute timeout
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 06 21:40:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Marius Bendiksen
>Release:        FreeBSD 4.1-RELEASE i386
>Organization:
n/a
>Environment:

	not relevant.

>Description:

	Since O'Brien introduced the ability to do no-timeout, we have still
	been stuck with the default of 15 minutes. I would propose to change
	it to no timeout; however, this probably conflicts with POLA, hence,
	I leave people with the patches and a decision for them to make.

>How-To-Repeat:

	> lock -p
	lock: /dev/ttyv2 on suiram.no.no. timeout in 15 minutes
	time now is Sat Oct  7 03:13:47 CEST 2000
	Key: 

>Fix:

	Following unified diff (4 line context) in /usr/src/usr.bin


--- lock.c.orig	Wed Sep 27 01:27:08 2000
+++ lock.c	Wed Sep 27 01:36:08 2000
@@ -51,10 +51,9 @@
 /*
  * Lock a terminal up until the given key is entered, until the root
  * password is entered, or the given interval times out.
  *
- * Timeout interval is by default TIMEOUT, it can be changed with
- * an argument of the form -time where time is in minutes
+ * Timeout interval is by default disabled.
  */
 
 #include <sys/param.h>
 #include <sys/stat.h>
@@ -70,10 +69,8 @@
 #include <syslog.h>
 #include <unistd.h>
 #include <varargs.h>
 
-#define	TIMEOUT	15
-
 void quit(), bye(), hi();
 static void usage __P((void));
 
 struct timeval	timeout;
@@ -99,15 +96,16 @@
 	char *crypt(), *ttyname();
 
 	openlog("lock", LOG_ODELAY, LOG_AUTH);
 
-	sectimeout = TIMEOUT;
+	sectimeout = 0;
 	mypw = NULL;
 	usemine = 0;
-       no_timeout = 0;
+       no_timeout = 1;
        while ((ch = getopt(argc, argv, "npt:")) != -1)
 		switch((char)ch) {
 		case 't':
+			no_timeout = 0;
 			if ((sectimeout = atoi(optarg)) <= 0)
 				errx(1, "illegal timeout value");
 			break;
 		case 'p':
@@ -116,8 +114,9 @@
 				errx(1, "unknown uid %d", getuid());
 			mypw = strdup(pw->pw_passwd);
 			break;
                case 'n':
+                       /*obsolete*/
                        no_timeout = 1;
                        break;
 		case '?':
 		default:

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010070115.DAA04388>