New snapshot

Michael Stone mstone at cs.loyola.edu
Wed Nov 15 01:55:18 EST 2000


The IRIX job limits patch will only build on IRIX >= 6.5.7. I hacked up
configure to do the checking, but I'm not sure of the configure.in
syntax. Does this look legal?

*-*-irix6*)
        CFLAGS="$CFLAGS -I/usr/local/include"
        LDFLAGS="$LDFLAGS"
        PATH="$PATH:/usr/etc"
        MANTYPE='$(CATMAN)'
        AC_DEFINE(WITH_IRIX_ARRAY)
        AC_DEFINE(WITH_IRIX_PROJECT)
        AC_DEFINE(WITH_IRIX_AUDIT)

        IFS=.fm
        set `uname -r`
        if test $2 -ge 5 ; then
                set `uname -R`
                if test $3 -gt 5 -o $4 -gt 7 ; then
                        AC_DEFINE(WITH_IRIX_JOBS)
                fi
        fi
        unset IFS

        no_libsocket=1
        no_libnsl=1
        AC_DEFINE(BROKEN_INET_NTOA)
        ;;

I've also been meaning to send a patch to move the satsetid call to
session.c. Attached.

-- 
Mike Stone
-------------- next part --------------
--- uidswap.c.orig	Tue Nov 14 09:38:44 2000
+++ uidswap.c	Tue Nov 14 09:42:53 2000
@@ -16,9 +16,6 @@
 
 #include "ssh.h"
 #include "uidswap.h"
-#ifdef WITH_IRIX_AUDIT
-#include <sat.h>
-#endif /* WITH_IRIX_AUDIT */
 
 /*
  * Note: all these functions must work in all of the following cases:
@@ -91,14 +88,6 @@
 void
 permanently_set_uid(uid_t uid)
 {
-#ifdef WITH_IRIX_AUDIT
-	if (sysconf(_SC_AUDIT)) {
-		debug("Setting sat id to %d", (int) uid);
-		if (satsetid(uid))
-			debug("error setting satid: %.100s", strerror(errno));
-	}
-#endif /* WITH_IRIX_AUDIT */
-
 	if (setuid(uid) < 0)
 		debug("setuid %u: %.100s", (u_int) uid, strerror(errno));
 }
--- session.c.orig	Tue Nov 14 09:38:20 2000
+++ session.c	Tue Nov 14 09:43:15 2000
@@ -57,7 +57,10 @@
 #endif /* WITH_IRIX_PROJECT */
 #ifdef WITH_IRIX_JOBS
 #include <sys/resource.h>
-#endif
+#endif 
+#ifdef WITH_IRIX_AUDIT
+#include <sat.h>
+#endif /* WITH_IRIX_AUDIT */
 
 #if defined(HAVE_USERSEC_H)
 #include <usersec.h>
@@ -1104,7 +1107,6 @@
 				      strerror(errno));
                         }
 #  endif /* WITH_IRIX_JOBS */
-
 #  ifdef WITH_IRIX_ARRAY
 			/* initialize array session */
 			if (jid == 0) {
@@ -1123,6 +1125,14 @@
 			  fatal("Failed to initialize project %d for %s: %.100s",
 				(int)projid, pw->pw_name, strerror(errno));
 #  endif /* WITH_IRIX_PROJECT */
+#ifdef WITH_IRIX_AUDIT
+			if (sysconf(_SC_AUDIT)) {
+				debug("Setting sat id to %d", (int) uid);
+				if (satsetid(uid))
+					debug("error setting satid: %.100s", strerror(errno));
+			}
+#endif /* WITH_IRIX_AUDIT */
+
 			/* Permanently switch to the desired uid. */
 			permanently_set_uid(pw->pw_uid);
 # endif /* HAVE_LOGIN_CAP */


More information about the openssh-unix-dev mailing list