diff options
author | cy <cy@FreeBSD.org> | 2011-01-04 11:28:30 +0800 |
---|---|---|
committer | cy <cy@FreeBSD.org> | 2011-01-04 11:28:30 +0800 |
commit | 9e045efe47738db7983cb0197a8bf00620212141 (patch) | |
tree | b351c552f57cef26926c528975e7cc8a578bfa3a /sysutils | |
parent | 06369a132c0a855df147ed5a7b44e8afd986f8a3 (diff) | |
download | freebsd-ports-gnome-9e045efe47738db7983cb0197a8bf00620212141.tar.gz freebsd-ports-gnome-9e045efe47738db7983cb0197a8bf00620212141.tar.zst freebsd-ports-gnome-9e045efe47738db7983cb0197a8bf00620212141.zip |
Add option to enable locking using user's password.
PR: 153548
Diffstat (limited to 'sysutils')
-rw-r--r-- | sysutils/screen/Makefile | 2 | ||||
-rw-r--r-- | sysutils/screen/files/patch-attacher.c | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/sysutils/screen/Makefile b/sysutils/screen/Makefile index 7ed65e470593..90af8d572ea1 100644 --- a/sysutils/screen/Makefile +++ b/sysutils/screen/Makefile @@ -7,7 +7,7 @@ PORTNAME= screen PORTVERSION= 4.0.3 -PORTREVISION= 9 +PORTREVISION= 10 CATEGORIES= sysutils MASTER_SITES= ftp://ftp.uni-erlangen.de/pub/utilities/screen/ \ http://komquats.com/distfiles/ \ diff --git a/sysutils/screen/files/patch-attacher.c b/sysutils/screen/files/patch-attacher.c new file mode 100644 index 000000000000..0f89189898e3 --- /dev/null +++ b/sysutils/screen/files/patch-attacher.c @@ -0,0 +1,24 @@ +--- attacher.c.orig 2003-09-08 07:24:48.000000000 -0700 ++++ attacher.c 2011-01-02 21:42:39.547897531 -0800 +@@ -662,7 +662,7 @@ + printf("\n"); + + prg = getenv("LOCKPRG"); +- if (prg && strcmp(prg, "builtin") && !access(prg, X_OK)) ++ if (prg && (strcmp(prg, "builtin") || strcmp(prg,"builtin-passwd")) && !access(prg, X_OK)) + { + signal(SIGCHLD, SIG_DFL); + debug1("lockterminal: '%s' seems executable, execl it!\n", prg); +@@ -676,7 +676,11 @@ + setuid(real_uid); /* this should be done already */ + #endif + closeallfiles(0); /* important: /etc/shadow may be open */ +- execl(prg, "SCREEN-LOCK", NULL); ++ if (strcmp(prg,"builtin-passwd")) ++ /* use system passsword for lock */ ++ execl(prg, "SCREEN-LOCK", "-p", "-n", NULL); ++ else ++ execl(prg, "SCREEN-LOCK", NULL); + exit(errno); + } + if (pid == -1) |