summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2000-11-12 00:04:24 +0000
committerBen Lindstrom <mouring@eviladmin.org>2000-11-12 00:04:24 +0000
commit980754ce49de5fe7b8a61fceb5c31c29beeea1d3 (patch)
tree51f0101d30396cf905591f37d985d60764777ac0
parentafeaca953772e7141842a8bf057a329bef789b89 (diff)
- (bal) SCO Patch to add needed libraries for configure.in. Patch by Phillips Porch <root@theporch.com> - (bal) IRIX patch to adding Job Limits. Patch by Denis Parker <dcp@sgi.com>
-rw-r--r--ChangeLog7
-rw-r--r--acconfig.h3
-rw-r--r--configure.in7
-rw-r--r--session.c27
4 files changed, 38 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 04bb40ec..bccc5650 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+20001112
+ - (bal) SCO Patch to add needed libraries for configure.in. Patch by
+ Phillips Porch <root@theporch.com>
+ - (bal) IRIX patch to adding Job Limits. Patch by Denis Parker <dcp@sgi.com>
+
20001111
- (djm) Added /etc/primes for kex DH group neg, fixup Makefile.in and
packaging files
@@ -5,7 +10,7 @@
- (djm) Fix vsprintf("%h") in bsd-snprintf.c, short int va_args are
promoted to type int. Report and fix from Dan Astoorian
<djast@cs.toronto.edu>
- - (djm) Hardware sysconfdir in RPM spec files as some RPM versions get
+ - (djm) Hardwire sysconfdir in RPM spec files as some RPM versions get
it wrong. Report from Bennett Todd <bet@rahul.net>
20001110
diff --git a/acconfig.h b/acconfig.h
index 1333a453..bfbacba4 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -80,6 +80,9 @@
/* Define if you want IRIX audit trails */
#undef WITH_IRIX_AUDIT
+/* Define if you want IRIX kernel jobs */
+#undef WITH_IRIX_JOBS
+
/* Location of random number pool */
#undef RANDOM_POOL
diff --git a/configure.in b/configure.in
index be500da2..4bbc9501 100644
--- a/configure.in
+++ b/configure.in
@@ -111,6 +111,7 @@ case "$host" in
AC_DEFINE(WITH_IRIX_ARRAY)
AC_DEFINE(WITH_IRIX_PROJECT)
AC_DEFINE(WITH_IRIX_AUDIT)
+ AC_DEFINE(WITH_IRIX_JOBS)
no_libsocket=1
no_libnsl=1
AC_DEFINE(BROKEN_INET_NTOA)
@@ -204,22 +205,24 @@ mips-sony-bsd|mips-sony-newsos4)
LDFLAGS="$LDFLAGS -L/usr/local/lib"
MANTYPE='$(CATMAN)'
mansubdir=cat
- LIBS="$LIBS -lgen -lsocket -los -lprot -lx"
+ LIBS="$LIBS -lgen -lsocket -los -lprot -lx -ltinfo -lm"
no_dev_ptmx=1
RANLIB=true
AC_DEFINE(BROKEN_SYS_TERMIO_H)
rsh_path="/usr/bin/rcmd"
AC_DEFINE(HAVE_SCO_PROTECTED_PW)
+ AC_DEFINE(DISABLE_SHADOW)
;;
*-*-sco3.2v5*)
CFLAGS="$CFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
MANTYPE='$(CATMAN)'
mansubdir=cat
- LIBS="$LIBS -lgen -lsocket -lprot -lx"
+ LIBS="$LIBS -lgen -lsocket -lprot -lx -ltinfo -lm"
no_dev_ptmx=1
rsh_path="/usr/bin/rcmd"
AC_DEFINE(HAVE_SCO_PROTECTED_PW)
+ AC_DEFINE(DISABLE_SHADOW)
;;
*-dec-osf*)
# This is untested
diff --git a/session.c b/session.c
index 4b58131a..6794d3d6 100644
--- a/session.c
+++ b/session.c
@@ -55,6 +55,9 @@ RCSID("$OpenBSD: session.c,v 1.42 2000/10/27 07:32:18 markus Exp $");
#ifdef WITH_IRIX_PROJECT
#include <proj.h>
#endif /* WITH_IRIX_PROJECT */
+#ifdef WITH_IRIX_JOBS
+#include <sys/resource.h>
+#endif
#if defined(HAVE_USERSEC_H)
#include <usersec.h>
@@ -1014,6 +1017,14 @@ do_child(const char *command, struct passwd * pw, const char *term,
#ifdef WITH_IRIX_PROJECT
prid_t projid;
#endif /* WITH_IRIX_PROJECT */
+#ifdef WITH_IRIX_JOBS
+ jid_t jid = 0;
+#else
+#ifdef WITH_IRIX_ARRAY
+ int jid = 0;
+#endif /* WITH_IRIX_ARRAY */
+#endif /* WITH_IRIX_JOBS */
+
/* login(1) is only called if we execute the login shell */
if (options.use_login && command != NULL)
@@ -1086,11 +1097,21 @@ do_child(const char *command, struct passwd * pw, const char *term,
exit(1);
}
endgrent();
+# ifdef WITH_IRIX_JOBS
+ jid = jlimit_startjob(pw->pw_name, pw->pw_uid, "interactive");
+ if (jid == -1) {
+ fatal("Failed to create job container: %.100s",
+ strerror(errno));
+ }
+# endif /* WITH_IRIX_JOBS */
+
# ifdef WITH_IRIX_ARRAY
/* initialize array session */
- if (newarraysess() != 0)
- fatal("Failed to set up new array session: %.100s",
- strerror(errno));
+ if (jid == 0) {
+ if (newarraysess() != 0)
+ fatal("Failed to set up new array session: %.100s",
+ strerror(errno));
+ }
# endif /* WITH_IRIX_ARRAY */
# ifdef WITH_IRIX_PROJECT
/* initialize irix project info */