--- /dev/null
+#*
+#* CU sudo version 1.3 (based on Root Group sudo version 1.1)
+#*
+#* This software comes with no waranty whatsoever, use at your own risk.
+#*
+#* Please send bugs, changes, problems to sudo-bugs.cs.colorado.edu
+#*
+
+#* sudo version 1.1 allows users to execute commands as root
+#* Copyright (C) 1991 The Root Group, Inc.
+#*
+#* This program is free software; you can redistribute it and/or modify
+#* it under the terms of the GNU General Public License as published by
+#* the Free Software Foundation; either version 1, or (at your option)
+#* any later version.
+#*
+#* This program is distributed in the hope that it will be useful,
+#* but WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#* GNU General Public License for more details.
+#*
+#* You should have received a copy of the GNU General Public License
+#* along with this program; if not, write to the Free Software
+#* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#*
+
+#### Start of system configuration section. ####
+
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+# Compiler & tools to use
+CC = @CC@
+LEX = @LEX@
+YACC = @YACC@
+SENDMAIL = @SENDMAIL@
+
+# Which install program?
+INSTALL = @INSTALL@
+
+DEFS = -DMAILER=\"$(SENDMAIL)\" @DEFS@
+LIBS = @LIBS@
+
+# Usually -g or -O
+CFLAGS = -O
+LDFLAGS = @STATIC_FLAGS@
+
+prefix = /usr/local
+exec_prefix = $(prefix)
+man_prefix = $(prefix)
+
+# Directory in which to install sudo.
+sudodir = $(exec_prefix)/bin
+
+# Directory in which to install visudo
+visudodir = $(exec_prefix)/etc
+
+# Directory in which to install the man page
+mandir = $(man_prefix)/man/man1
+manext = 1
+
+# User and Group the installed file should be owned by
+owner = root
+group = staff
+
+################################################################################
+# The following macros can be defined when compiling.
+#
+# FQDN - if you have fully qualified hostnames
+# in your SUDOERS files
+#
+# SYSLOG - if you want to use syslog instead
+# of a log file
+# ( This is a nice feature. You can
+# collect all your sudo logs at a
+# single host)
+#
+# NO_ROOT_SUDO - sudo will exit if called by root
+#
+# SOLARIS - define if using Solaris 2.x
+#
+# SEND_MAIL_WHEN_NOT_OK - if you want a message sent to ALERTMAIL
+# when the user is in the SUDOERS but
+# does not have permission to execute
+# the command entered
+# ( This can be used at paranoid sites )
+#
+# SEND_MAIL_WHEN_NO_USER - if you want a message sent to ALERTMAIL
+# when the user is not in the SUDOERS file
+# ( This is generally the case )
+#
+# TIMEDIR the directory where the timestamp
+# files are kept.
+#
+# TIMEOUT the number of minutes that can elapse
+# before sudo will ask for a passwd again
+#
+# TRIES_FOR_PASSWORD the number of times sudo will let you
+# guess are you password before screaming
+#
+# INCORRECT_PASSWORD the message that is displayed if you
+# incorrectly enter your password
+#
+# MAILSUBJECT the subject of the mail sent to ALERTMAIL
+#
+# ALERTMAIL the recipient of mail from sudo
+#
+# SUDOERS the location of the sudoers file
+#
+# TMPSUDOERS the location of the lock file for visudo
+#
+# EDITOR the location of the editor
+#
+# ENV_EDITOR if this variable is defined then the
+# EDITOR and VISUAL envariables are consulted
+#
+# LOGFILE log file location IF NOT USING SYSLOG
+#
+# SECURE_PATH if this variable is set, its value is
+# used as the PATH variable
+#
+# UMASK umask that sudo should use, comment out
+# of sudo.h to preserve umask of the caller,
+# default is 022
+#
+# BROKEN_GETPASS if using a os with a broken getpass()
+# hpux,aix,irix need this, sudo.h has details
+#
+# HAVE_STRDUP if your os has strdup(3)
+#
+# HAVE_CWD if you have getcwd(3)
+#
+# USE_TERMIO if you have sysV terminal control
+# (defined by default for hpux and irix)
+#
+# SHORT_MESSAGE if you don't want the full copyright message
+# with the "we expect you have..." banner
+#
+# USE_INSULTS if you want to be insulted for typing an
+# incorrect password like the original sudo(8)
+#
+# HAL if you want lines from 2001 instead of
+# insults (must define USE_INSULTS too)
+#
+# STDC_HEADERS if you have ansi-compliant header files
+#
+# USE_EXECV if you want to use execv() instead of
+# execvp()
+#
+# Macro: Default:
+# Syslog_ident "sudo"
+# Syslog_options LOG_PID
+# Syslog_facility LOG_LOCAL2
+# Syslog_priority_OK LOG_NOTICE
+# Syslog_priority_NO LOG_ALERT
+################################################################################
+
+OPTIONS = -DSYSLOG -DSEND_MAIL_WHEN_NO_USER -DSyslog_options=0 @OPTIONS@
+
+#### End of system configuration section. ####
+
+SHELL = /bin/sh
+
+SRCS = check.c find_path.c getpass.c logging.c parse.c sudo.c parse.yacc \
+ parse.lex
+
+OBJS = check.o find_path.o getpass.o logging.o parse.o sudo.o y.tab.o \
+ lex.yy.o
+
+HDRS = sudo.h insults.h
+
+all: @PROGS@
+
+.c.o:
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) -I$(srcdir) $<
+
+sudo : $(OBJS)
+ $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
+
+y.tab.o y.tab.h: parse.yacc $(HDRS)
+ $(YACC) -d parse.yacc
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) -I$(srcdir) y.tab.c
+
+lex.yy.o: parse.lex y.tab.h $(HDRS)
+ $(LEX) parse.lex
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) -I$(srcdir) lex.yy.c
+
+$(OBJS) : $(HDRS)
+
+visudo :
+ ( cd visudoers && make "OPTIONS=$(OPTIONS)" $@ )
+
+install: install-binaries install-sudoers install-man
+
+install-binaries: $(PROGS)
+ $(INSTALL) -o $(owner) -g $(group) -m 4111 -s sudo $(sudodir)/sudo
+ $(INSTALL) -o $(owner) -g $(group) -m 0111 -s visudoers/visudo $(visudodir)/visudo
+
+install-sudoers:
+ @ if [ -f $(SUDOERSDIR)/sudoers ]; then \
+ echo "Will not overwrite existing $(SUDOERSDIR)/sudoers file."; \
+ else \
+ $(INSTALL) -o $(owner) -g $(group) -m 0400 sudoers $(SUDOERSDIR)/sudoers; \
+ fi
+
+install-man:
+ $(INSTALL) -o $(owner) -g $(group) -m 0644 sudo.man $(mandir)/sudo.$(manext)
+
+clean:
+ -rm -f lex.yy.* y.tab.* *.o $(PROGS) core
+ ( cd visudoers && make $@ )
+
+mostlyclean: clean
+
+distclean: clean
+ rm -f Makefile config.status
+ ( cd visudoers && make $@ )
+
+realclean: distclean
+ rm -f TAGS
+ ( cd visudoers && make $@ )
+
+TAGS:
+ etags ${srcdir}/*.m4 ${srcdir}/*.sh ${srcdir}/[a-z]*.in ${srcdir}/*.texi
+
+# Prevent GNU make v3 from overflowing arg limit on SysV.
+.NOEXPORT:
--- /dev/null
+dnl Local m4 macors for autoconf (used by sudo)
+dnl
+dnl checks for programs
+dnl
+define(SUDO_PROG_INSTALL,
+[# Make sure to not get the incompatible SysV /etc/install and
+# /usr/sbin/install, which might be in PATH before a BSD-like install,
+# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
+# or the AFS install, which mishandles nonexistent args, or
+# /usr/ucb/install on SVR4, which tries to use the nonexistent group
+# `staff'. On most BSDish systems install is in /usr/bin, not /usr/ucb
+# anyway. Sigh. We can always use the installbsd in $srcdir.
+if test "z${INSTALL}" = "z" ; then
+ echo checking for install
+ savepath="$PATH"
+ PATH="${PATH}:${srcdir}"
+ IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
+ for dir in $PATH; do
+ test -z "$dir" && dir=.
+ case $dir in
+ /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
+ *)
+ if test -f $dir/installbsd; then
+ INSTALL="$dir/installbsd -c" # OSF1
+ INSTALL_PROGRAM='$(INSTALL)'
+ INSTALL_DATA='$(INSTALL) -m 644'
+ break
+ fi
+ if test -f $dir/install; then
+ if grep dspmsg $dir/install >/dev/null 2>&1; then
+ : # AIX
+ else
+ INSTALL="$dir/install -c"
+ INSTALL_PROGRAM='$(INSTALL)'
+ INSTALL_DATA='$(INSTALL) -m 644'
+ break
+ fi
+ fi
+ ;;
+ esac
+ done
+ IFS="$saveifs"
+ PATH="$savepath"
+fi
+INSTALL=${INSTALL-cp}
+AC_SUBST(INSTALL)dnl
+test -n "$verbose" && echo " setting INSTALL to $INSTALL"
+INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
+AC_SUBST(INSTALL_PROGRAM)dnl
+test -n "$verbose" && echo " setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
+INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
+AC_SUBST(INSTALL_DATA)dnl
+test -n "$verbose" && echo " setting INSTALL_DATA to $INSTALL_DATA"
+])dnl
+dnl
+dnl check for sendmail
+dnl
+define(SUDO_PROG_SENDMAIL,
+[if test -f "/usr/sbin/sendmail"; then
+ SENDMAIL="/usr/sbin/sendmail"
+elif test -f "/usr/lib/sendmail"; then
+ SENDMAIL="/usr/lib/sendmail"
+elif test -f "/usr/etc/sendmail"; then
+ SENDMAIL="/usr/etc/sendmail"
+elif test -f "/usr/local/lib/sendmail"; then
+ SENDMAIL="/usr/local/lib/sendmail"
+elif test -f "/usr/local/bin/sendmail"; then
+ SENDMAIL="/usr/local/bin/sendmail"
+else
+ SENDMAIL=""
+fi
+])dnl
+dnl
+dnl checks for UNIX variants
+dnl
+define(SUDO_AIX,
+[echo checking for AIX
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[#ifdef _AIX
+ yes
+#endif
+], AC_DEFINE(_ALL_SOURCE) [$1], [$2])
+])dnl
+dnl
+define(SUDO_HPUX,
+[echo checking for HP-UX
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[#if defined(hpux) || defined(__hpux)
+ yes
+#endif
+], [$1], [$2])
+])dnl
+dnl
+define(SUDO_DEC_OSF1,
+[echo checking for DEC OSF/1
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[#ifdef __alpha
+ yes
+#endif
+], [$1], [$2])
+])dnl
+dnl
+define(SUDO_LINUX,
+[echo checking for linux
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[#if defined(linux) || defined(__linux)
+ yes
+#endif
+], [$1], [$2])
+])dnl
+dnl
+define(SUDO_CONVEX,
+[echo checking for ConvexOS
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[#ifdef convex
+ yes
+#endif
+], AC_DEFINE(_CONVEX_SOURCE) [$1], [$2])
+])dnl
+dnl
+define(SUDO_KSR,
+[echo checking for KSROS
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[#ifdef __ksr__
+ yes
+#endif
+], INSTALL=/usr/sbin/install [$1], [$2])
+])dnl
+dnl
+define(SUDO_SUNOS,
+[echo checking for SunOS
+AC_BEFORE([$0], [AC_COMPILE_CHECK])AC_BEFORE([$0], [AC_TEST_PROGRAM])AC_BEFORE([
+$0], [AC_HEADER_EGREP])AC_BEFORE([$0], [AC_TEST_CPP])AC_PROGRAM_EGREP(yes,
+[
+#include <sys/param.h>
+#if defined(sun) && !defined(BSD)
+ yes
+#endif
+], [$1], [$2])
+])dnl
+dnl
--- /dev/null
+dnl Process this file with autoconf to produce a configure script.
+echo Configuring cu sudo version 1.3.1
+AC_INIT(sudo.h)
+dnl
+dnl Variables that get substituted in the Makefile
+dnl
+PROGS="sudo visudo"
+AC_SUBST(PROGS)dnl
+STATIC_FLAGS=""
+AC_SUBST(STATIC_FLAGS)dnl
+SENDMAIL=""
+AC_SUBST(SENDMAIL)dnl
+OPTIONS=""
+AC_SUBST(OPTIONS)dnl
+dnl
+dnl did they say --with-csops?
+dnl
+AC_WITH(csops, OPTIONS="$OPTIONS -DUSE_INSULTS -DENV_EDITOR -DSHORT_MESSAGE"
+echo 'CSOps--adding options: USE_INSULTS ENV_EDITOR SHORT_MESSAGE')
+dnl
+dnl C compiler checks
+dnl
+AC_PROG_CC
+AC_PROG_CPP
+dnl
+dnl what architecture are we on?
+dnl
+AC_HEADER_CHECK(elf.h, AC_DEFINE(SVR4))
+SUDO_AIX([if test -n "$GCC"; then
+STATIC_FLAGS="-static"
+else
+STATIC_FLAGS="-bnoso -bI:/lib/syscalls.exp"
+fi
+])dnl
+dnl
+if test -z "$SVR4"; then
+SUDO_SUNOS([if test -n "$GCC"; then
+STATIC_FLAGS="-static"
+else
+STATIC_FLAGS="-Bstatic"
+fi
+])dnl
+fi
+dnl
+SUDO_HPUX([if test -n "$GCC"; then
+STATIC_FLAGS="-static"
+else
+STATIC_FLAGS="-Wl,-a,archive"
+fi
+])dnl
+dnl
+SUDO_DEC_OSF1([if test -n "$GCC"; then
+STATIC_FLAGS="-static"
+else
+STATIC_FLAGS="-non_shared"
+fi
+])dnl
+dnl
+SUDO_LINUX([STATIC_FLAGS="-static"])
+dnl
+SUDO_CONVEX()
+dnl
+SUDO_KSR()
+dnl
+dnl program checks
+dnl
+AC_GCC_TRADITIONAL
+AC_PROG_YACC
+AC_PROG_LEX
+SUDO_PROG_INSTALL
+SUDO_PROG_SENDMAIL
+dnl
+dnl Header file checks
+dnl
+AC_STDC_HEADERS
+AC_HAVE_HEADERS(string.h)
+AC_HAVE_HEADERS(strings.h)
+AC_HAVE_HEADERS(unistd.h)
+AC_HAVE_HEADERS(malloc.h)
+dnl
+dnl typedef checks
+dnl
+AC_MODE_T
+AC_UID_T
+AC_SIZE_T
+AC_RETSIGTYPE
+dnl
+dnl function checks
+dnl
+AC_HAVE_FUNCS(getcwd)
+AC_HAVE_FUNCS(strdup)
+dnl
+dnl library checks
+dnl
+AC_IRIX_SUN
+AC_HAVE_LIBRARY(ucb)
+AC_HAVE_LIBRARY(bsd)
+AC_HAVE_LIBRARY(BSD)
+AC_HAVE_LIBRARY(socket)
+AC_HAVE_LIBRARY(nsl)
+AC_HAVE_LIBRARY(elf)
+AC_HAVE_LIBRARY(malloc)
+AC_HAVE_LIBRARY(shadow)
+dnl
+dnl Makefiles to substitute
+dnl
+AC_OUTPUT(Makefile visudoers/Makefile)