Update from libzvt CVS. Fix some automake breakage.
authorNalin Dahyabhai <nalin@src.gnome.org>
Wed, 11 Sep 2002 20:00:51 +0000 (20:00 +0000)
committerNalin Dahyabhai <nalin@src.gnome.org>
Wed, 11 Sep 2002 20:00:51 +0000 (20:00 +0000)
* gnome-pty-helper: Update from libzvt CVS.
* python/Makefile.am: Fix some automake breakage.

ChangeLog
gnome-pty-helper/Makefile.am
gnome-pty-helper/README
gnome-pty-helper/configure.in
gnome-pty-helper/gnome-pty-helper.c
gnome-pty-helper/gnome-utmp.c
python/Makefile.am
vte.spec

index 132c17f..2d358d2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-09-11 nalin
+       * gnome-pty-helper: Update from libzvt CVS.
+       * python/Makefile.am: Fix some automake breakage.
+
 2002-09-11 nalin
        * python/Makefile.am: Fix my broken merge of Jacob's patch to make
        inability to build python modules non-fatal.
index 3a63230..c549f0d 100644 (file)
@@ -1,6 +1,9 @@
 vtelibdir = $(libdir)/vte
 vtelib_PROGRAMS = gnome-pty-helper
 
+CFLAGS = @CFLAGS@ @GLIB_CFLAGS@
+LDFLAGS = @LDFLAGS@ @GLIB_LIBS@
+
 gnome_pty_helper_SOURCES = \
        gnome-pty.h \
        gnome-login-support.c \
index c2380f6..f1451d6 100644 (file)
@@ -1,4 +1,4 @@
-This is some bits from gnome-libs CVS extracted to make a more-or-less
-standalone gnome-pty-helper kit (except for the default installation directory
-being hard-coded to ${libdir}/vte).  Like the rest of gnome-libs, its license
-is the LGPL.
+This is some bits from libzvt CVS extracted to make a more-or-less standalone
+gnome-pty-helper kit (except for the default installation directory being
+hard-coded to ${libdir}/vte).  Presumably it is licensed under the LGPL, as
+libzvt itself is.
index a36e701..fc3b1c8 100644 (file)
@@ -9,6 +9,7 @@ AM_PROG_CC_STDC
 
 AM_MAINTAINER_MODE
 
+PKG_CHECK_MODULES(GLIB,glib-2.0)
 AC_CHECK_HEADERS(sys/syslimits.h sys/time.h sys/types.h sys/un.h alloca.h lastlog.h libutil.h paths.h pty.h stropts.h termios.h ttyent.h util.h utmp.h utmpx.h)
 AC_CHECK_FUNCS(endutent fcntl forkpty getttyent getutent getutmpx grantpt flock login_tty openpty revoke sendmsg seteuid setreuid setutent strrchr updwtmp updwtmpx utmpname utmpxname)
 GPH_CHECK_UTMP
index 48565db..7feba8e 100644 (file)
@@ -14,7 +14,7 @@
  * descriptors as using a socket for both data transfers and file descriptor
  * passing crashes some BSD kernels according to Theo de Raadt)
  *
- * A simple protocol is used:
+ * A sample protocol is used:
  *
  * OPEN_PTY             => 1 <tag> <master-pty-fd> <slave-pty-fd>
  *                      => 0
@@ -45,7 +45,6 @@ extern char *strdup(const char *);
 #include <fcntl.h>
 #include <termios.h>
 #include <errno.h>
-#include <malloc.h>
 #include <termios.h>
 #include <pwd.h>
 #include <stdlib.h>
@@ -53,30 +52,10 @@ extern char *strdup(const char *);
 #include <stdio.h>
 #include <utmp.h>
 #include <grp.h>
+#include <glib/galloca.h>
 #include "gnome-pty.h"
 #include "gnome-login-support.h"
 
-
-/* GNU autoconf alloca incantation */
-/* AIX requires this to be the first thing in the file.  */
-#ifdef __GNUC__
-# ifndef alloca
-#  define alloca __builtin_alloca
-# endif
-#else
-# if HAVE_ALLOCA_H
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#   endif
-#  endif
-# endif
-#endif
-
 /* For PATH_MAX on BSD-like systems. */
 #ifdef HAVE_SYS_SYSLIMITS_H
 #include <sys/syslimits.h>
@@ -416,6 +395,9 @@ init_term_with_defaults(struct termios* term)
 #ifdef ECHOKE
          | ECHOKE
 #endif
+#ifdef ECHOK
+         | ECHOK
+#endif
 #ifdef ECHOCTL
          | ECHOCTL
 #endif
@@ -493,7 +475,7 @@ open_ptys (int utmp, int wtmp, int lastlog)
        struct group *group_info;
        struct termios term;
        
-       term_name = ((char *) alloca (path_max())) + 1;
+       term_name = (char *) g_alloca (path_max () + 1);
 
        if (term_name == NULL){
                exit (1);
@@ -501,7 +483,7 @@ open_ptys (int utmp, int wtmp, int lastlog)
        /* Initialize term */
        init_term_with_defaults(&term);
 
-       /* root privileges */
+       /* root priveleges */
        savedUid = geteuid();
        savedGid = getegid();
        
@@ -515,10 +497,10 @@ open_ptys (int utmp, int wtmp, int lastlog)
 #else
 #error "No means to drop privileges! Huge security risk! Won't compile."
 #endif
-       /* Open pty with privileges of the user */
+       /* Open pty with priveleges of the user */
        status = openpty (&master_pty, &slave_pty, term_name, &term, NULL);
 
-       /* Restore saved privileges to root */
+       /* Restore saved priveleges to root */
 #ifdef HAVE_SETEUID
        seteuid (savedUid);
        setegid (savedGid);
@@ -536,7 +518,7 @@ open_ptys (int utmp, int wtmp, int lastlog)
        }
 
        /* a bit tricky, we re-do the part of the openpty()  */
-       /* that required root privileges, and, hence, failed */
+       /* that required root priveleges, and, hence, failed */
        group_info = getgrnam ("tty");
        fchown (slave_pty, getuid (), group_info ? group_info->gr_gid : -1);
        fchmod (slave_pty, S_IRUSR | S_IWUSR | S_IWGRP);
@@ -645,8 +627,10 @@ sanity_checks (void)
 
                if (rlim.rlim_cur != RLIM_INFINITY &&
                    rlim.rlim_cur < sensible_limits [i].value){
-                       fprintf (stderr, "Living environment not ok\n");
-                       exit (1);
+                       if (setrlimit (sensible_limits [i].limit, &rlim) != 0) {
+                               fprintf (stderr, "Living environment not ok\n");
+                               exit (1);
+                       }
                }
        }
 
index c3fcc77..581c2a0 100644 (file)
@@ -89,6 +89,7 @@
 #endif
 
 #if defined(HAVE_UPDWTMPX)
+#include <utmpx.h>
 #define update_wtmp updwtmpx
 #elif defined(HAVE_UPDWTMP)
 #define update_wtmp updwtmp
@@ -109,22 +110,30 @@ update_wtmp (char *file, UTMP *putmp)
        if ((fd = open (file, O_WRONLY|O_APPEND, 0)) < 0)
                return;
 
-#if defined(HAVE_FCNTL) || defined(HAVE_FLOCK)
+#if defined (HAVE_FCNTL)
        while (times--)
-#    if defined(HAVE_FCNTL)
-           if ((fcntl (fd, F_SETLK, &lck) < 0)){
-               if (errno != EAGAIN && errno != EACCES){
-#    elif defined(HAVE_FLOCK)
-           if (flock(fd, LOCK_EX | LOCK_NB) < 0){
-               if (errno != EWOULDBLOCK){
-#    endif
-                   close (fd);
-                   return;
-                   }
-               sleep (1); /*?!*/
-               } else
-                       break;
-#endif /* HAVE_FCNTL || HAVE_FLOCK */
+         if ((fcntl (fd, F_SETLK, &lck) < 0))
+           {
+             if (errno != EAGAIN && errno != EACCES) {
+               close (fd);
+               return;
+             }
+             sleep (1); /*?!*/
+           } else
+             break;
+#elif defined(HAVE_FLOCK)
+       while (times--)
+         if (flock (fd, LOCK_EX | LOCK_NB) < 0)
+           {
+             if (errno != EWOULDBLOCK)
+               {
+                 close (fd);
+                 return;
+               }
+             sleep (1); /*?!*/
+           } else
+             break;
+#endif /* HAVE_FLOCK */
 
        lseek (fd, 0, SEEK_END);
        write (fd, putmp, sizeof(UTMP));
@@ -295,7 +304,7 @@ write_login_record (char *login_name, char *display_name, char *term_name, int u
                char buf[10];
                /* Try to get device number and convert it to gnome-terminal # */
                if (sscanf (pty, "%*[^0-9a-f]%x", &num) == 1) {
-                       sprintf (buf, "gt%02.2x", num);
+                       sprintf (buf, "gt%2.2x", num);
                        strncpy (ut->ut_id, buf, sizeof (ut->ut_id));
                }
        }
index e5fb2cb..149d419 100644 (file)
@@ -1,6 +1,7 @@
 EXTRA_DIST = vte.defs vte.override
 
 EXTRA_PROGRAMS = vtemodule.so
+LDFLAGS = -shared -module -avoid-version -export-symbols-regex initvte
 
 if BUILD_PYTHON_BINDINGS
 pythonsiteexecdir = $(pyexecdir)/gtk-2.0
@@ -11,7 +12,6 @@ INCLUDES = @VTE_CFLAGS@ @X_CFLAGS@ @PYTHON_INCLUDES@ @PYGTK_CFLAGS@
 CLEANFILES = vte.c
 
 vtemodule_so_SOURCES = vtemodule.c vte.c
-LDFLAGS = -shared -module -avoid-version -export-symbols-regex initvte
 LDADD = $(top_builddir)/src/libvte.la @LIBS@ @PYGTK_LIBS@ @VTE_LIBS@ @X_LIBS@
 
 vte.c: vte.defs vte.override
index d8690c5..15b5593 100644 (file)
--- a/vte.spec
+++ b/vte.spec
@@ -1,5 +1,5 @@
 Name: vte
-Version: 0.9.0
+Version: 0.9.1
 Release: 1
 Summary: An experimental terminal emulator.
 License: LGPL
@@ -64,6 +64,9 @@ rm $RPM_BUILD_ROOT/%{_libdir}/lib%{name}.la
 %{_libdir}/pkgconfig/*
 
 %changelog
+* Wed Sep 11 2002 Nalin Dahyabhai <nalin@redhat.com> 0.9.1-1
+- refresh gnome-pty-helper from libzvt
+
 * Wed Sep 11 2002 Nalin Dahyabhai <nalin@redhat.com> 0.9.0-1
 - build fixes from Jacob Berkman
 - warning fixes from Brian Cameron