Group :: Terminals
RPM: xterm
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: xterm-alt-utempter.patch
Download
Download
--- xterm-202/main.c.orig 2005-05-03 04:38:24 +0400
+++ xterm-202/main.c 2005-06-08 15:35:24 +0400
@@ -1635,6 +1635,8 @@ posix_signal(int signo, sigfunc func)
#endif
#endif /* HAVE_POSIX_SAVED_IDS */
+extern int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
+
int
main(int argc, char *argv[]ENVP_ARG)
{
@@ -1668,6 +1670,9 @@ main(int argc, char *argv[]ENVP_ARG)
TRACE_IDS;
#endif
+ /* Drop effective group ID (but save it for utempter) */
+ setresgid(-1, getgid(), getegid());
+
/* extra length in case longer tty name like /dev/ttyq255 */
ttydev = TypeMallocN(char, sizeof(TTYDEV) + 80);
#ifdef USE_PTY_DEVICE
@@ -3365,8 +3370,7 @@ spawn(void)
/* Note: utempter may trim it anyway */
SetUtmpHost(dummy.ut_host, screen);
- addToUtmp(ttydev, dummy.ut_host, screen->respond);
- added_utmp_entry = True;
+ added_utmp_entry = utempter_add_record(screen->respond, dummy.ut_host);
}
#endif
@@ -4596,7 +4600,7 @@ Exit(int n)
#ifdef USE_UTEMPTER
if (!resource.utmpInhibit && added_utmp_entry)
- removeFromUtmp();
+ utempter_remove_added_record();
#elif defined(HAVE_UTMP)
#ifdef USE_SYSV_UTMP
struct UTMP_STR utmp;