diff options
Diffstat (limited to 'source/xap/rxvt/rxvt.utempter.diff')
-rw-r--r-- | source/xap/rxvt/rxvt.utempter.diff | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/source/xap/rxvt/rxvt.utempter.diff b/source/xap/rxvt/rxvt.utempter.diff deleted file mode 100644 index 54e06f7a..00000000 --- a/source/xap/rxvt/rxvt.utempter.diff +++ /dev/null @@ -1,277 +0,0 @@ ---- ./src/logging.c.orig 2002-12-15 16:33:04.000000000 -0800 -+++ ./src/logging.c 2003-06-07 21:08:52.000000000 -0700 -@@ -60,157 +60,7 @@ - void - rxvt_makeutent(rxvt_t *r, const char *pty, const char *hostname) - { --#ifdef HAVE_STRUCT_UTMP -- struct utmp *ut = &(r->h->ut); --#endif --#ifdef HAVE_STRUCT_UTMPX -- struct utmpx *utx = &(r->h->utx); --#endif --#ifdef HAVE_UTMP_PID -- int i; --#endif -- char ut_id[5]; -- struct passwd *pwent = getpwuid(getuid()); -- -- if (!STRNCMP(pty, "/dev/", 5)) -- pty += 5; /* skip /dev/ prefix */ -- -- if (!STRNCMP(pty, "pty", 3) || !STRNCMP(pty, "tty", 3)) { -- STRNCPY(ut_id, (pty + 3), sizeof(ut_id)); -- } --#ifdef HAVE_UTMP_PID -- else if (sscanf(pty, "pts/%d", &i) == 1) -- sprintf(ut_id, "vt%02x", (i & 0xff)); /* sysv naming */ --#endif -- else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) { -- rxvt_print_error("can't parse tty name \"%s\"", pty); -- return; -- } -- --#ifdef HAVE_STRUCT_UTMP -- MEMSET(ut, 0, sizeof(struct utmp)); --# ifdef HAVE_UTMP_PID -- setutent(); -- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id)); -- ut->ut_type = DEAD_PROCESS; -- getutid(ut); /* position to entry in utmp file */ -- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id)); --# endif --#endif -- --#ifdef HAVE_STRUCT_UTMPX -- MEMSET(utx, 0, sizeof(struct utmpx)); -- setutxent(); -- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id)); -- utx->ut_type = DEAD_PROCESS; -- getutxid(utx); /* position to entry in utmp file */ -- STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id)); --#endif -- --#ifdef HAVE_STRUCT_UTMP -- STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line)); -- ut->ut_time = time(NULL); --# ifdef HAVE_UTMP_PID -- STRNCPY(ut->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?", -- sizeof(ut->ut_user)); -- STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id)); -- ut->ut_time = time(NULL); -- ut->ut_pid = r->h->cmd_pid; --# ifdef HAVE_UTMP_HOST -- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host)); --# endif -- ut->ut_type = USER_PROCESS; -- pututline(ut); -- endutent(); /* close the file */ -- r->h->utmp_pos = -1; --# else -- STRNCPY(ut->ut_name, (pwent && pwent->pw_name) ? pwent->pw_name : "?", -- sizeof(ut->ut_name)); --# ifdef HAVE_UTMP_HOST -- STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host)); --# endif --# endif --#endif -- --#ifdef HAVE_STRUCT_UTMPX -- STRNCPY(utx->ut_line, pty, sizeof(utx->ut_line)); -- STRNCPY(utx->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?", -- sizeof(utx->ut_user)); -- STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id)); -- utx->ut_session = getsid(0); -- utx->ut_tv.tv_sec = time(NULL); -- utx->ut_tv.tv_usec = 0; -- utx->ut_pid = r->h->cmd_pid; --# ifdef HAVE_UTMPX_HOST -- STRNCPY(utx->ut_host, hostname, sizeof(utx->ut_host)); --# if 0 -- { -- char *colon; -- -- if ((colon = STRRCHR(ut->ut_host, ':')) != NULL) -- *colon = '\0'; -- } --# endif --# endif -- utx->ut_type = USER_PROCESS; -- pututxline(utx); -- endutxent(); /* close the file */ -- r->h->utmp_pos = -1; --#endif -- --#if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID) -- { -- int i; --# ifdef HAVE_TTYSLOT -- i = ttyslot(); -- if (rxvt_write_bsd_utmp(i, ut)) -- r->h->utmp_pos = i; --# else -- FILE *fd0; -- -- if ((fd0 = fopen(TTYTAB_FILENAME, "r")) != NULL) { -- char buf[256], name[256]; -- -- buf[sizeof(buf) - 1] = '\0'; -- for (i = 1; (fgets(buf, sizeof(buf) - 1, fd0) != NULL);) { -- if (*buf == '#' || sscanf(buf, "%s", name) != 1) -- continue; -- if (!STRCMP(ut->ut_line, name)) { -- if (!rxvt_write_bsd_utmp(i, ut)) -- i = 0; -- r->h->utmp_pos = i; -- fclose(fd0); -- break; -- } -- i++; -- } -- fclose(fd0); -- } --# endif -- } --#endif -- --#ifdef WTMP_SUPPORT --# ifdef WTMP_ONLY_ON_LOGIN -- if (r->Options & Opt_loginShell) --# endif -- { --# ifdef HAVE_STRUCT_UTMP --# ifdef HAVE_UPDWTMP -- updwtmp(RXVT_WTMP_FILE, ut); --# else -- rxvt_update_wtmp(RXVT_WTMP_FILE, ut); --# endif --# endif --# ifdef HAVE_STRUCT_UTMPX -- updwtmpx(RXVT_WTMPX_FILE, utx); --# endif -- } --#endif --#if defined(LASTLOG_SUPPORT) && defined(RXVT_LASTLOG_FILE) -- if (r->Options & Opt_loginShell) -- rxvt_update_lastlog(RXVT_LASTLOG_FILE, pty, hostname); --#endif -+ addToUtmp(pty, NULL, r->cmd_fd); - } - - /* ------------------------------------------------------------------------- */ -@@ -221,85 +71,7 @@ - void - rxvt_cleanutent(rxvt_t *r) - { --#ifdef HAVE_STRUCT_UTMP -- struct utmp *tmput, *ut = &(r->h->ut); --#endif --#ifdef HAVE_STRUCT_UTMPX -- struct utmpx *tmputx, *utx = &(r->h->utx); --#endif -- --#ifdef HAVE_STRUCT_UTMP --# ifdef HAVE_UTMP_PID -- MEMSET(ut, 0, sizeof(struct utmp)); -- setutent(); -- STRNCPY(ut->ut_id, r->h->ut_id, sizeof(ut->ut_id)); -- ut->ut_type = USER_PROCESS; -- if ((tmput = getutid(ut))) /* position to entry in utmp file */ -- ut = tmput; -- ut->ut_type = DEAD_PROCESS; --# else -- MEMSET(ut->ut_name, 0, sizeof(ut->ut_name)); --# ifdef HAVE_UTMP_HOST -- MEMSET(ut->ut_host, 0, sizeof(ut->ut_host)); --# endif --# endif -- ut->ut_time = time(NULL); --#endif -- --#ifdef HAVE_STRUCT_UTMPX -- MEMSET(utx, 0, sizeof(struct utmpx)); -- setutxent(); -- STRNCPY(utx->ut_id, r->h->ut_id, sizeof(utx->ut_id)); -- utx->ut_type = USER_PROCESS; -- if ((tmputx = getutxid(utx))) /* position to entry in utmp file */ -- utx = tmputx; -- utx->ut_type = DEAD_PROCESS; -- utx->ut_session = getsid(0); -- utx->ut_tv.tv_sec = time(NULL); -- utx->ut_tv.tv_usec = 0; --#endif -- -- /* -- * Write ending wtmp entry -- */ --#ifdef WTMP_SUPPORT --# ifdef WTMP_ONLY_ON_LOGIN -- if (r->Options & Opt_loginShell) --# endif -- { --# ifdef HAVE_STRUCT_UTMP --# ifdef HAVE_UPDWTMP -- updwtmp(RXVT_WTMP_FILE, ut); --# else -- rxvt_update_wtmp(RXVT_WTMP_FILE, ut); --# endif --# endif --# ifdef HAVE_STRUCT_UTMPX -- updwtmpx(RXVT_WTMPX_FILE, utx); --# endif -- } --#endif -- -- /* -- * Write utmp entry -- */ --#ifdef HAVE_STRUCT_UTMP --# ifdef HAVE_UTMP_PID -- if (ut->ut_pid == r->h->cmd_pid) -- pututline(ut); -- endutent(); --# else -- if (r->h->utmp_pos > 0) { -- MEMSET(ut, 0, sizeof(struct utmp)); -- rxvt_write_bsd_utmp(r->h->utmp_pos, ut); -- } --# endif --#endif --#ifdef HAVE_STRUCT_UTMPX -- if (utx->ut_pid == r->h->cmd_pid) -- pututxline(utx); -- endutxent(); --#endif -+ removeFromUtmp(); - } - - /* ------------------------------------------------------------------------- */ ---- ./src/init.c.orig 2002-12-03 21:21:39.000000000 -0800 -+++ ./src/init.c 2003-06-07 21:09:26.000000000 -0700 -@@ -858,6 +858,7 @@ - rxvt_print_error("aborting"); - exit(EXIT_FAILURE); - } -+ rxvt_privileged_utmp(r, SAVE); - } - - /*----------------------------------------------------------------------*/ -@@ -1364,7 +1365,6 @@ - #endif - r->num_fds++; /* counts from 0 */ - -- rxvt_privileged_utmp(r, SAVE); - return cfd; - } - ---- ./autoconf/Make.common.in.orig 2001-11-29 19:22:56.000000000 -0800 -+++ ./autoconf/Make.common.in 2003-06-07 21:08:52.000000000 -0700 -@@ -68,7 +68,7 @@ - - LIBTOOL = @LIBTOOL@ - COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEBUG) $(DINCLUDE) $(XINC) -I$(basedir) -I$(srcdir) -I. --LINK = $(CC) $(CFLAGS) $(LDFLAGS) -+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -lutempter -lutil - - # End of common section of the Makefile - #------------------------------------------------------------------------- |