diff options
author | Amadeusz Sławiński <amade@asmblr.net> | 2014-04-26 18:20:37 +0200 |
---|---|---|
committer | Amadeusz Sławiński <amade@asmblr.net> | 2014-04-26 18:20:37 +0200 |
commit | 15a7b5b667a06492cc6250a49fe8159f77937b3f (patch) | |
tree | 0552964629adbaaf0b77cecbfb74cb986ce74222 /src/attacher.c | |
parent | 12dd363fc5bd1d89bbf53f552c06e80ca0d39432 (diff) | |
download | screen-15a7b5b667a06492cc6250a49fe8159f77937b3f.tar.gz |
Revert "fix-utf8-status-padding-bug"
This reverts commit e9e78d9b2b413337d9f783ad9a514c8accd25ac9.
Diffstat (limited to 'src/attacher.c')
-rw-r--r-- | src/attacher.c | 52 |
1 files changed, 14 insertions, 38 deletions
diff --git a/src/attacher.c b/src/attacher.c index 8847d5d..7159c7f 100644 --- a/src/attacher.c +++ b/src/attacher.c @@ -185,8 +185,8 @@ int how; if (ret == SIG_POWER_BYE) { int ppid; - if (setgid(real_gid) || setuid(real_uid)) - Panic(errno, "setuid/gid"); + setgid(real_gid); + setuid(real_uid); if ((ppid = getppid()) > 1) Kill(ppid, SIGHUP); exit(0); @@ -282,10 +282,7 @@ int how; #ifdef MULTIUSER if (!multiattach) #endif - { - if (setuid(real_uid)) - Panic(errno, "setuid"); - } + setuid(real_uid); #if defined(MULTIUSER) && defined(USE_SETEUID) else { @@ -293,8 +290,7 @@ int how; xseteuid(real_uid); /* multi_uid, allow backend to send signals */ } #endif - if (setgid(real_gid)) - Panic(errno, "setgid"); + setgid(real_gid); eff_uid = real_uid; eff_gid = real_gid; @@ -490,8 +486,7 @@ AttacherFinit SIGDEFARG #ifdef MULTIUSER if (tty_oldmode >= 0) { - if (setuid(own_uid)) - Panic(errno, "setuid"); + setuid(own_uid); chmod(attach_tty, tty_oldmode); } #endif @@ -509,14 +504,11 @@ AttacherFinitBye SIGDEFARG if (multiattach) exit(SIG_POWER_BYE); #endif - if (setgid(real_gid)) - Panic(errno, "setgid"); + setgid(real_gid); #ifdef MULTIUSER - if (setuid(own_uid)) - Panic(errno, "setuid"); + setuid(own_uid); #else - if (setuid(real_uid)) - Panic(errno, "setuid"); + setuid(real_uid); #endif /* we don't want to disturb init (even if we were root), eh? jw */ if ((ppid = getppid()) > 1) @@ -687,14 +679,11 @@ static sigret_t LockHup SIGDEFARG { int ppid = getppid(); - if (setgid(real_gid)) - Panic(errno, "setgid"); + setgid(real_gid); #ifdef MULTIUSER - if (setuid(own_uid)) - Panic(errno, "setuid"); + setuid(own_uid); #else - if (setuid(real_uid)) - Panic(errno, "setuid"); + setuid(real_uid); #endif if (ppid > 1) Kill(ppid, SIGHUP); @@ -721,14 +710,11 @@ LockTerminal() if ((pid = fork()) == 0) { /* Child */ - if (setgid(real_gid)) - Panic(errno, "setgid"); + setgid(real_gid); #ifdef MULTIUSER - if (setuid(own_uid)) - Panic(errno, "setuid"); + setuid(own_uid); #else - if (setuid(real_uid)) /* this should be done already */ - Panic(errno, "setuid"); + setuid(real_uid); /* this should be done already */ #endif closeallfiles(0); /* important: /etc/shadow may be open */ execl(prg, "SCREEN-LOCK", NULL); @@ -861,7 +847,6 @@ screen_builtin_lck() #ifdef USE_PAM pam_handle_t *pamh = 0; int pam_error; - char *tty_name; #endif char *pass = 0, mypass[16 + 1], salt[3]; int using_pam = 1; @@ -947,15 +932,6 @@ screen_builtin_lck() pam_error = pam_start("screen", ppp->pw_name, &PAM_conversation, &pamh); if (pam_error != PAM_SUCCESS) AttacherFinit(SIGARG); /* goodbye */ - - if (strncmp(attach_tty, "/dev/", 5) == 0) - tty_name = attach_tty + 5; - else - tty_name = attach_tty; - pam_error = pam_set_item(pamh, PAM_TTY, tty_name); - if (pam_error != PAM_SUCCESS) - AttacherFinit(SIGARG); /* goodbye */ - pam_error = pam_authenticate(pamh, 0); pam_end(pamh, pam_error); PAM_conversation.appdata_ptr = 0; |