Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37398395
en ru br
Репозитории ALT
S:379-alt2
5.1: 250-alt1
4.1: 235-alt1
4.0: 231-alt1
3.0: 202-alt2
www.altlinux.org/Changes

Группа :: Терминалы
Пакет: xterm

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 0002-xterm-alt-utempter.patch
Скачать


From 0 Mon Sep 17 00:00:00 2001
From: "George V. Kouryachy (Fr. Br. George)" <george@altlinux.ru>
Date: Thu, 17 Oct 2019 13:13:48 +0300
Subject: [PATCH] xterm-alt-utempter
diff --git a/xterm/main.c b/xterm/main.c
index defaced..defaced 100644
--- a/xterm/main.c
+++ b/xterm/main.c
@@ -2185,6 +2185,8 @@ lookup_baudrate(const char *value)
     return result;
 }
 
+extern int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
+
 int
 main(int argc, char *argv[]ENVP_ARG)
 {
@@ -2226,6 +2228,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
@@ -4015,10 +4020,9 @@ spawnXTerm(XtermWidget xw, unsigned line_speed)
 
 	/* Note: utempter may trim it anyway */
 	SetUtmpHost(dummy.ut_host, screen);
-	TRACE(("...calling addToUtmp(pty=%s, hostname=%s, master_fd=%d)\n",
-	       ttydev, dummy.ut_host, screen->respond));
+	TRACE(("...calling utempter_add_record(master_fd=%d, hostname=%s)\n",
+	       screen->respond, dummy.ut_host));
 	UTEMPTER_ADD(ttydev, dummy.ut_host, screen->respond);
-	added_utmp_entry = True;
     }
 #endif
 
@@ -5239,7 +5243,7 @@ Exit(int n)
 #ifdef USE_UTEMPTER
     DEBUG_MSG("handle:Exit USE_UTEMPTER\n");
     if (!resource.utmpInhibit && added_utmp_entry) {
-	TRACE(("...calling removeFromUtmp\n"));
+	TRACE(("...calling utempter_remove_added_record\n"));
 	UTEMPTER_DEL();
     }
 #elif defined(HAVE_UTMP)
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin