From 980754ce49de5fe7b8a61fceb5c31c29beeea1d3 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Sun, 12 Nov 2000 00:04:24 +0000 Subject: 20001112 - (bal) SCO Patch to add needed libraries for configure.in. Patch by Phillips Porch - (bal) IRIX patch to adding Job Limits. Patch by Denis Parker --- ChangeLog | 7 ++++++- acconfig.h | 3 +++ configure.in | 7 +++++-- session.c | 27 ++++++++++++++++++++++++--- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 04bb40ecf..bccc56508 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +20001112 + - (bal) SCO Patch to add needed libraries for configure.in. Patch by + Phillips Porch + - (bal) IRIX patch to adding Job Limits. Patch by Denis Parker + 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 - - (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 20001110 diff --git a/acconfig.h b/acconfig.h index 1333a4537..bfbacba42 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 be500da20..4bbc95013 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 4b58131a7..6794d3d6a 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 #endif /* WITH_IRIX_PROJECT */ +#ifdef WITH_IRIX_JOBS +#include +#endif #if defined(HAVE_USERSEC_H) #include @@ -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 */ -- cgit v1.2.3