Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37896727
en ru br
ALT Linux repos
S:379-alt2
5.0: 241-alt1
4.1: 235-alt1
4.0: 231-alt1
3.0: 202-alt2

Group :: Terminals
RPM: xterm

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: xterm-alt-utempter.patch
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;
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin