Репозитории ALT
Группа :: Терминалы
Пакет: 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)