summaryrefslogtreecommitdiff
path: root/usr.bin/sudo
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/sudo')
-rw-r--r--usr.bin/sudo/BUGS25
-rw-r--r--usr.bin/sudo/CHANGES2117
-rw-r--r--usr.bin/sudo/ChangeLog19479
-rw-r--r--usr.bin/sudo/HISTORY86
-rw-r--r--usr.bin/sudo/INSTALL39
-rw-r--r--usr.bin/sudo/LICENSE9
-rw-r--r--usr.bin/sudo/Makefile.in339
-rw-r--r--usr.bin/sudo/README13
-rw-r--r--usr.bin/sudo/README.LDAP349
-rw-r--r--usr.bin/sudo/TROUBLESHOOTING9
-rw-r--r--usr.bin/sudo/UPGRADE27
-rw-r--r--usr.bin/sudo/WHATSNEW79
-rw-r--r--usr.bin/sudo/aclocal.m413
13 files changed, 19994 insertions, 2590 deletions
diff --git a/usr.bin/sudo/BUGS b/usr.bin/sudo/BUGS
deleted file mode 100644
index 67b07979448..00000000000
--- a/usr.bin/sudo/BUGS
+++ /dev/null
@@ -1,25 +0,0 @@
-Known bugs in sudo version 1.6.9
-================================
-
-1) Sudo should have an option to log when removing "dangerous"
- environment variables.
-
-2) On DUNIX in sia mode, hitting return at the prompt does not quit.
-
-3) In parse.lex, '@' should not need to be a special character.
- However, because lex does greedy matching, {WORD} will match
- instead of the "^Defaults[:@]?" line.
-
-4) In list mode (sudo -l), characters escaped with a backslash
- are shown verbatim with the backslash.
-
-5) Because the parser only does a single pass it is possible to
- make a sudoers file where the "defaults" options are set after
- a user's entry has been validated, changing the permissions for
- the user. The work-around is to put all 'defaults' entries
- before the "User privilege specification" section but after all
- the "alias specifications". In the future the parser will
- converted to a two-pass parser.
-
-6) For the same reason as #5, changing the value of "ignore_dot" has
- no effect (find_path() is called before sudoers is parsed).
diff --git a/usr.bin/sudo/CHANGES b/usr.bin/sudo/CHANGES
deleted file mode 100644
index c3124ca8f2e..00000000000
--- a/usr.bin/sudo/CHANGES
+++ /dev/null
@@ -1,2117 +0,0 @@
-CHANGES since sudo 1.2
-
-01) sudo now works under hpux, aix, sunos, bsd43, ultrix, linux, osf and irix.
-
-02) Files w/o the executable bit will be ignored if they are in your PATH.
-
-03) If execv() fails, perror is called (which prints out an error based on
- errno) and sudo exits with -1.
-
-04) Included in this shar should also be a version of getpass() derived from
- the bsd net-2 source which works on bsd, ultrix, hpux, aix, and irix
- at least. The latter three unixes have what i consider to be a broken
- getpass() in that if /dev/tty can't be opened it doesn't just use stdin
- like bsd getpass(). This means you cannot do: rsh host "sudo command"
- and have it work if your ticket has expired.
-
-05) The Makefile has changed significantly. It now has defines for all
- supported architectures.
-
-06) Changed MAXCOMMANDLENGTH from 48 bytes to MAXPATHLEN and included
- sys/param.h where appropriate.
-
-07) Rewrote the code that expands links & paths. It now works correctly.
- (rewrote find_path.c)
-
-08) Added a define NEED_STRDUP so we don't conflict with the system's strdup(3)
-
-09) Now does *not* pass LD_* environmental vars on to programs that get
- exec'd. Also removes SHLIB_PATH for hpux and _RLD_* for dec osf.
-
-10) Now searches current dir last if '.' or '' are in PATH. Misses braindeath
- like './' but if that's in your path you deserve all the trojans you get.
-
-11) Added in linux patches from drew + flex support.
-
-12) Added insults back in from original sudo(8) (define USE_INSULTS).
-
-13) visudo now uses EDITOR envar (from John_Rouillard@dl5000.bc.edu)
-
-14) you can now specify a dir containing commands that a sudoer can do.
- (from John_Rouillard@dl5000.bc.edu)
-
-15) Ported to Solaris 2.x (based on a port of sudo 1.1 done by UnixOps).
-
-16) Took out setuid(0); setruid(uid); pairs that bracketed calls to
- update_timestamp() since they are unnecessary and setruid() is
- broken on systems without a setreuid(2) or setresuid(2) system call.
- (Ie: AIX and Solaris 2.x).
-
-17) The bulk of sudo now runs with the caller's real uid. Grep for
- be_root() to find the exceptions.
-
-CHANGES from sudo 1.3
-
-18) Added SECURE_PATH as suggested by russells@ccu1.auckland.ac.nz.
-
-19) Reworked clean_envp() to modify environ (not envp) so we can use
- execvp() safely.
-
-20) Now use execvp() instead of execve() so sudo /bin/kill works under
- broken solaris. This also fixed sudo /etc/fastboot under stock
- 4.3 BSD. Basically, this means that any executable shell script that
- lacks a '#!/bin/sh' magic number will now work with sudo. Personally
- I think that the broken scripts should be fixed rather than changing
- sudo, but vendors will be broken. Sigh.
-
-21) Added USE_EXECV define so you can make sudo use execv() if you
- want. Using execvp() shouldn't be a problem since it is always
- handed a non-relative path that begins with '/' but some people
- may not trust execvp().
-
-22) Log file lines will no longer get truncated. Syslog entries that
- would overrun the syslog(3) line limit are continued on another entry.
-
-23) When logging to a log file, long entries are indented to improve
- readability.
-
-24) Whenever the umask is changed, it is changed back to what it was
- before.
-
-25) Log file is written as mode 600 instead of 644
-
-26) Umask that sudo runs with may now be specified.
-
-27) There is now a "configure" script.
-
-28) Sudo will use ultra fast crypt (ufc) if it finds it for systems w/o
- a real crypt(3) (non-US ConvexOS/Secure for instance).
-
-29) _BSD_COMPAT is now defined for Irix.
-
-30) The global variable uid is now initialized to -2 because I'm paranoid.
-
-31) Native Solaris 2 port from Matthew.Stier@aisg.com
-
-32) Now use sysconf(2) instead of getdtablesize(2) if it is available
- (see change #31). Because of the the getdtablesize() emulation for
- hpux is no longer necessary.
-
-33) Now only do a getcwd(3) or getwd(3) once and do it as the real user.
- Sudo should no longer complain that it can't get the cwd unless
- there is a real problem.
-
-34) Changed some malloc'd globals of fixed length to be allocated from
- the stack instead as there was no win in allocating them from the
- heap.
-
-35) Fixed AIX STATIC_FLAGS as per the AIX faq.
-
-36) Added -V flag to sudo and visudo (for version)
-
-37) Now treat EACCESS like EPERM when doing stat(2) in find_path.c
-
-38) Added prototypes for sudo functions (via __P macro)
-
-39) configure now uses uname(1) if it exists
-
-40) gethostbyname(3) is now only called if you define FQDN. There's really
- no reason to not trust gethostname(2) and this way if name service is
- hosed sudo isn't...
-
-41) added -v (validate) flag to sudo to update a timestamp w/o running
- a command
-
-42) now use tgetpass() (getpass with a timeout)
-
-43) find_path() now uses realpath(3)
-
-44) wrote versions of realpath(3) and getcwd(3) for those without
-
-45) wrote tgetpass()--a getpass() that times out via select(2)
-
-46) sudo now uses posix signals if available
-
-47) Finally added ConvexOS C2 security support from
- "Peter A. Nikitser, Systems Software Support, QUT" <P.NIKITSER@qut.edu.au>
-
-48) You can now #undef MAILER if you don't run sendmail or the equivalent.
-
-49) AFS support from adamh@austin.ibm.com
-
-50) If you define BOTH_LOGS in sudo.h you can log both via syslog(3) *ans*
- to a log file.
-
-51) Added ultrix /etc/auth (enhanced security) support.
-
-52) Sudo now will work with a 4.2BSD syslog (SunOS < 4 && ultrix).
- Personally, I'd say you are better off logging to a file if
- your syslog is this ancient.
-
-53) Changed realpath(3) to sudo_realpath() since we need to do the
- chdir(2) with the invoking uid. sudo_realpath() should be
- faster than vendor-supplied realpath(3)'s anyway...
-
-54) No longer create a static binary on AIX since it reportedly
- causes problem on newer versions on AIX 3.x.
-
-55) If sudo_realpath cannot chdir() back to cwd sudo will print
- and error and exit. Previously it would either fail silently
- or print an incorrect error message.
-
-56) Moved code to send error mail to be after the log message.
- From rouilj@cs.umb.edu.
-
-57) Added SUDO_USER and SUDO_UID envars. Suggested by John P. Rouillard
- (<rouilj@cs.umb.edu).
-
-58) Added -k and -h options and rearranged some of the code to be
- more modular and less braindamaged. This introduces the concept
- of "run modes" to sudo.
-
-59) Fixed visudo and flex. visudo now calls yyrestart() if you are using
- flex instead of lex. From bostley@cs.colorado.edu.
-
-60) Added a "cat page" for systems w/o nroff.
-
-61) Fixed a bug whereby only the last directory specified in a Cmnd_Alias
- was checked. Reported by "James R. Hendrick" <hendrick@ctron.com>.
-
-62) All .{c,lex,yacc} files now include both sys/types.h and unistd.h so
- we are sure to get the typedef of uid_t.
-
-CHANGES from sudo 1.3.1
-
-63) Added preliminary support for DEC OSF/1 protected passwords
- (shadow passwords).
-
-CHANGES from sudo 1.3.1pl1
-
-64) More support for DEC OSF/1 protected passwords (shadow passwords).
-
-CHANGES from sudo 1.3.1pl2
-
-65) Fixed mail logging to include the username as it should have.
-
-66) Added hostname to log message in error mail.
-
-67) Added -l flag to sudo to list the allowed/forbidden commands.
- Suggested by matthew@gateway.bsis.com (Matthew Stier)
-
-68) Fixed bison warnings for parse.yacc and visudo.yacc.
- Pointed out by alfie@dcs.warwick.ac.uk (Nick Holloway).
-
-CHANGES from sudo 1.3.1pl3
-
-69) Sudo will now exit with an error if the command to be run is > MAXPATHLEN.
-
-70) Test in configure for termios support was insufficient. It thought
- Nextstep 3.2 had termios just because it as termios.h (need to link
- with -posix for termios on NeXT's)
-
-CHANGES from sudo 1.3.1pl4
-
-71) First stab at Skey support.
-
-72) Sudo now sets IFS to be SPACE, TAB, NEWLINE.
-
-73) Sudo now sets the real and effective gid to root's group
- (based on passwd file).
-
-74) Sudo now checks that the sudoers file is owned by a certain user
- and not readable or writable by anyone else.
- (based on a suggestion by Joerg Schumacher <schuma@ips.cs.tu-bs.de>)
-
-75) Visudo now sets the owner on the new sudoers file based on #74
-
-76) Sudo and visudo will now compile with byacc (Berkeley yacc).
-
-77) If the rename(2) of stmp -> sudoers fails /bin/mv is executed before
- bailing. Based on code from Case Larsen <clarsen@mh1.lbl.gov>.
-
-78) User-level configuration is now done in options.h.
-
-79) Moved all compatibility #defines to compat.h
-
-80) Incorporated new parsing code from Chris Jepeway <jepeway@cs.utk.edu>.
- This is much better than the previous parser.
-
-81) Rewrote visudo.c and tickled parse.yacc to work with it. Visudo
- now gives you options if a parse error occurs rather than blindly
- dumping you back in the editor.
-
-82) Took out all references to realpath since we are now checking based
- in inode and device (with Chris' new parser). The upshot of this
- is that path matches are done safely and the symlink problem has
- gone away.
-
-83) Fixed bison warnings from new parse.yacc.
-
-84) Added a default case to parse.lex to error on unmatched tokens as Chris
- suggested.
-
-85) Converted configure.in and acsite.m4 to autoconf 2.1.
-
-86) Added lsearch.c and search.h for os's w/o lsearch()/lfind().
-
-87) Sudo now checks to see that the file it is executing is a regular file
- (was just checking the execute bit so dirs slipped through).
- Pointed out by Barb Dijker <barb@labyrinth.com>.
-
-88) Fixed a problem on HP-UX trusted systems with getpwuid() returning "*"
- unless the real uid is 0. Reported by Brian Cunnie (cunnie@nyc.hp.com).
-
-89) configure now checks for size_t and ssize_t in unistd.h as well
- as sys/types.h.
-
-90) configure now checks for egrep before actually using it.
-
-91) configure now checks for a working void implementation (ie: void * as
- a generic pointer) and sets VOID to void or char accordingly.
-
-92) Added support for SunOS 4.x C2 security (shadow passwords) from
- Kendall Libby (fubar@shore.net)
-
-93) Changed all occurrences of bzero() to memset() and bcopy() to
- memmove().
-
-94) Fixed a bug in sudo.c. If a user has no passwd entry sudo would
- dump core (writing to a garbage pointer). Pointed out by
- Stephen Schaefer <sps@gateway.bsis.com>.
-
-95) Worked around a bug in AIX's lex in parse.c. AIX lex doesn't seem
- to handle {x,y} range notation correctly. Bleah.
-
-96) Sudo would not report a failed attempt if the user entered return
- at the 2nd password: prompt so someone trying to guess a password
- could just invoked sudo multiple times and try one passwd at a time.
- Reported by Jonathan Adams <jonathan@smada.com>.
-
-97) Added User_Alias facility.
-
-98) Rewrote most of the ip address / network support. Now works on all
- systems sudo has currently been tested on.
-
-99) Sudo now sets SUDO_COMMAND and SUDO_GID envariables in addition to
- SUDO_USER and SUDO_UID.
-
-100) Added changes to configure.in for UnixWare.
- (from John Warburton <jwarb@SACBH.com.au>)
-
-101) Merged in changes for Interactive Unix and RISCos.
- (from Andy Smith <abs@maunsell.co.uk>)
-
-102) Added testsudoers (from Chris Jepeway <jepeway@cs.utk.edu>).
-
-103) Added fix for parse.yacc to avoid the kludge I was doing.
- (from Chris Jepeway <jepeway@cs.utk.edu>)
-
-104) Now remove the IFS envar if set instead of setting it to a "safe"
- value to avoid problems with make and others.
-
-105) Added FAST_MATCH option to check basenames of sudo command and
- paths listed in sudoers file. If the basename doesn't match
- then it is not a match. If the basename matches, then do
- a stat to make sure it is a valid match.
-
-106) Now only stat(2) cmnd once in path_matches() (in parse.c). Sudo
- was stating cmnd for *every* attempted match. Now the stat struct
- is cached (ie: the var is a static).
-
-107) Signal handlers in visudo are now only installed after the stmp
- file is opened. Previously, it was possible to erase an open
- stmp file by sending visudo a signal within a small window.
-
-108) Added Goon Show insults from Russell Street <r.street@auckland.ac.nz>.
-
-109) Broke out the insults into separate include files (insults.h
- is the master and includes the appropriate one).
-
-110) Now use getwd() instead of getcwd() and provide emulation for
- OS's w/o it. This was done since some OS's with getwd()
- implement getcwd() via a pipe to pwd(1). By emulating getwd()
- by calling getcwd() on OS's w/o getwd() we lose nothing since
- the compiler should optimize away the extra function call.
-
-111) Added crypt() for DEC OSF/1 3.x enhanced security.
- From "Richard L Jackson Jr" <rjackson@osf1.gmu.edu>.
-
-112) Added an option to run the command in the background (-b) as
- suggested by Jonathan Adams <jonathan@smada.com>
-
-113) First stab at kerberos support. I'm not really sure it is
- possible to do this in a sane manor. Sigh.
-
-114) Better kerberos support. Had to use setreuid(2) but falls
- back on a kludge if that does not exist or is broken.
-
-115) Added -p (password prompt) support.
- Suggested by "David W. Cooley" <dwcooley@COLBY.EDU>
-
-116) Added partial implementation of -l (list) flag.
- This is probably as good as it will get until sudo:tng.
-
-117) Added anti-spoofing code to tighten up a race condition
- where a user could run sudo some_link and then change
- where the link pointed after the old link had been
- validated but before the exec().
-
-118) Now update timestamp file via utime() (and emulate via utimes()
- if necessary) to eliminate a small race. Works with
- both POSIX utime() as well as old utime() in BSD <= 4.3.
-
-119) Kerberos ticket file now lives in same dirs as sudo timestamp
- files (to avoid trouncing on normal ticket file) and is removed
- after validation.
-
-120) Now log tty user is on as well as pwd in sudo logs.
-
-CHANGES from sudo 1.3.2 BETA
-
-121) Fixed a bug in the anti-spoofing check.
-
-122) Fixed up ISC support so that it works and looks like non-streams
- stuff in interfaces.c.
-
-123) Now deal correctly with ip implementations that has an sa_len
- field in struct sockaddr.
-
-124) Check ownership and permissions on timestamp dir and ignore if
- not owned by root and mode 0700. Problem pointed out by Larry Auton
- <lda@research.AT&T.com> and Navjot Singh <singh@research.AT&T.com>.
-
-125) Ignore timestamp files with preposterous dates to keep people from
- faking out sudo on OS's that allow you to give away files to root.
- Problem pointed out by Larry Auton <lda@research.AT&T.com> and
- Navjot Singh <singh@research.AT&T.com>.
-
-126) A timeout of 0 will now cause a password to be entered every
- time. Based on a suggestion by Larry Auton <lda@research.AT&T.com>
- and Navjot Singh <singh@research.AT&T.com>.
-
-CHANGES from sudo 1.3.3 BETA
-
-127) Cleaned up interfaces.c so that it is more readable.
-
-128) Added support for syslog()'s that don't guarantee delivery
- of a message. HP-UX is the only known offender.
-
-129) No longer use memmove() since memcpy() does what we need and
- configure doesn't always catch memmove() even when it is
- there (may be a library problem).
-
-130) Updated man page to reflect two more security issues.
-
-131) Cleaned up shadow password support in check.c. It should now
- be readable.
-
-132) Added SCO support.
-
-133) Added check to configure to find the max length of a uid_t
- in characters.
-
-134) Removed uid2str() since we now know how big a uid_t/gid_t
- can be. This elminates a few malloc()'s.
-
-135) Added support for multiple insult types. Based on code and
- a suggestion from Dieter Dworkin Muller <dworkin@village.org>.
-
-136) Replaced clean_env() and rmenv() with a rewritten clean_env()
- that should be a little faster. This also makes it easier to
- add to the list of "dangerous" envariables.
-
-137) Added netgroup support. Netgroups must start with a leading
- "+" to that sudo knows it is a netgroup.
-
-138) Split out sudoers file format into its own man page.
- As suggested by Andy Smith <abs@maunsell.co.uk>.
-
-139) Updated testsudoers.c to grok netgroups.
-
-CHANGES from sudo 1.3.4 BETA
-
-140) Added SecurID support from Giles Todd <giles@gt.demon.co.uk>.
-
-141) Added -s flag to start a root shell and -- to signify end of args.
-
-142) Sped up logging routines by replacing strncpy()'s with strcat()'s.
- This is safe because we dyanically allocate logline to be big enough.
-
-143) Now support command line arguments in the sudoers file.
-
-144) Sped up the loading on command line arguments. This fixes the
- "commands with large argc's take forever to run" bug.
-
-145) Expanded MAXCOMMANDLEN to 8K since we now have to deal with
- command line arguments. Added bounds checking in fill() and
- append() so we don't drop core.
- XXX - 8k makes sudo *SLOW*
-
-146) Added support in the lexer for "termination characters" to be
- escaped. Ie: you can now use [\,:=] in command line args
- as long as you escape with a \.
-
-147) Testsudoers can now deal with commands that have arguments.
-
-148) If a file is not executable or not a regular file sudo will
- now give the appropriate error message instead of just
- "command not found" which is misleading.
-
-149) Fixed a bug where if FQDN is set, load_interfaces() was never
- called.
-
-150) tty is now a global so it can be used in the ticket file
- at a later date.
-
-151) Strings in the parser are now allocated dynamically. This results
- in a large speedup as compared to a 1K array on the stack. I
- have freed the strings in the parser where appropriate but that
- may not catch all instances. Even so, the average sudo now
- takes up less memory than the 1K array version.
-
-152) Fixed a bug in tgetpass() and configure that broke termio/termios
- support for some OS's.
-
-153) Added cheapo implementation of tty-based timestamps. The correct
- way is to have username be a directory with the tty tickets
- inside. However, the current code does not take to that very
- well, and it does not allow the two systems to coexist. Therefore,
- instead of timestampdir/user/tty it is timestampdir/user.tty.
-
-154) Added support for building in other than the source directory.
- Based on changes from "Simon J. Gerraty" <sjg@frodo.dn.itg.telecom.com.au>
-
-155) options.h and pathnames.h are now included via angle brackets
- (<>) so as to use the -I include path. This way, those using
- a shadow build tree may have local copies of these headers
- w/o clobbering the distribution ones.
-
-156) EXEMPTGROUP is now a string (group name) and user_is_exempt()
- is now less of a hack. It uses getgrnam(EXEMPTGROUP) to
- get a list of users in the exempted group.
-
-157) --prefix and --exe_prefix are now honored in the Makefile.
-
-158) Sudo will now behave reasonably in the case where the sudoers
- file location is mounted via NFS and the client does not
- have "root" NFS privs.
-
-159) _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, and SUDOERS_OWNER are
- now set via the Makefile since that appears to be what
- most people expect...
-
-160) Now include a pre-generated version of parse.lex since so many
- versions of lex are brain damaged. If parse.lex is changed
- a new lex.yy.c will be generated. The distribution copy is
- sudo-lex.yy.c.
-
-161) Upgraded to GNU autoconf version 1.5. There are now even
- *more* options.
-
-CHANGES from sudo 1.3.5 BETA
-
-162) Fixed S/Key support.
-
-163) Cleaned up shadow password support further by moving much of
- it to getspwuid.c.
-
-164) First cut at DCE support. [needs work to be functional]
-
-165) New Digital UNIX C2 support based on code from
- "Randy M. Hayman" <haymanr@icefog.sois.alaska.edu>
-
-166) S/key support now works with the generic bellcore s/key
- as well as the s/key from Wietse Venema's logdaemon.
- (Previously only worked with the logdaemon s/key).
- As an added bonus the s/key challenge is now embedded
- in the password prompt for a cleaner look.
-
-167) lsearch.c will now compile on a strict ANSI C compiler.
- ANSI doesn't allow pointer arithmetic on a "void *"
- but gcc does.
-
-168) Bought back latest HP-UX DCE support from Jeff Earickson
- <jaearick@colby.edu>.
-
-169) configure now comletely groks $SUDO_LIBS and $VISUDO_LIBS.
- Plain old $LIBS is no longer used. LDFLAGS has also been
- split up into $SUDO_LDFLAGS and $VISUDO_LDFLAGS.
- The reason for this is that sudo often needs extra libs
- for alternate authentication schemes but visudo rarely does.
-
-170) The code to copy command arguments flaied for large values of
- argc due to realloc() lossage. We now cheat and treat argv[]
- as a flat string (since that's what it is) and use pointer
- arithmetic to compute the length. Kind of sneaky but it
- works (and is relatively fast).
-
-CHANGES from sudo 1.3.6 BETA
-
-171) Added support for UN*X groups in sudoers based on code from
- Dougal Scott <dwagon@aaii.oz.au>.
-
-172) interfaces.c should work on ISC UN*X again.
-
-173) All source files are <= 14 characters for old SYSV file systems.
-
-CHANGES from sudo 1.3.7 GAMMA
-
-174) Minor configure[.in] fixes.
-
-175) tgetpass.c now compiles on OS's that put the definition of
- fd_set in <sys/bsdtypes.h>
-
-CHANGES from sudo 1.4
-
-176) Command args in sudoers are now stored in an argument vector
- instead of a flat string to make wildcard matching simpler.
-
-177) Added NewArgv and NewArgc that describe the command to be
- executed. The copy of args in cmnd_args is no longer necessary
- and has been removed.
-
-178) Using strcmp(3) for argument matching in command_matches()
- (was path_matches()) is no longer sufficient since we don't
- have a flat string. compare_args() is used instead which
- calls either strcmp(3) or wildmat(3l) depending on whether
- there are shell-style meta chars (wildcards) present.
-
-179) Shell-style wildcard matches are now available in the sudoers
- file. Matches are done via Rich $alz's wildmat(3).
- This required the tweaks described in #176-178 as well as
- other, more minor, changes.
-
-180) Commented out rule to build lex.yy.c from parse.lex since
- we ship with a pre-flex'd parser and can't rely on file
- dates being set correctly.
-
-181) Fixed visudo and testsudoers to deal with new argument
- vector handling.
-
-182) A null string ("") as shell in passwd file (or $SHELL) is
- now treated as the bourne shell.
-
-183) Converted *.man to pod format for easy conversion to man,
- html, latex, and just plain text. Tried to make the
- sudoers manual easier to read in the process.
-
-184) Updated sample.sudoers and sudoers.pod to include info
- on wildcards.
-
-CHANGES from sudo 1.4.1
-
-185) compat.h now defines _PASSWD_LEN based on PASS_MAX if it
- is defined (from limits.h on SYSV).
-
-186) Both short and long hostnames may now be used in the sudoers
- file if FQDN is defined. From patches submitted by
- Michael Meskes <meskes@Informatik.RWTH-Aachen.DE>.
-
-187) Now use skeylookup() instead of skeychallenge(). Hopefully
- this will work around a problem some people have reported
- on Solaris 2.5 with sudo and logdaemon 5.0's skey.
-
-188) Now uses /var/run to hold timestamp files if it exists. This
- is more secure.
-
-189) configure now puts the timestamp dir in /var/run if it exists.
- Sugestion by Michael Meskes <meskes@Informatik.RWTH-Aachen.DE>.
-
-190) Both short and long hostnames now exist even if FQDN is not set.
- This allows machines with fully qualified hostnames set via
- hostname(1) to use them in the sudoers file.
-
-191) sudo was not honoring "." in $PATH due to a bug in find_path().
-
-192) Added IGNORE_DOT_PATH option to ignore "." in $PATH.
-
-193) tgetpass() now uses raw read(2) and write(2) instead of stdio.
- This should make it work on more OS's. Previously, it used
- stdio (buffered) fgets(3) and fputs(3) with select(2) which
- may not be legal. Also got rid of the nasty goto's and
- generally simplified the code.
-
-194) Parser now supports hostnames like UPPERCASE.foo.com. Previously,
- `UPPERCASE' was interpreted as an Alias. This means that
- the `fqdn' stuff has been moved to the lexer (FQHOST is used
- to avoid collision with FQDN option).
-
-195) Reworked --with-FOO in configure.in to support --without-FOO.
- Made shadow passwords the default for appropriate OS's. They
- can be turned off with --without-C2.
-
-196) Added NO_PASSWD option for those who don't want to be bothered
- by a password prompt from sudo. This is really just a hack.
-
-197) Added support for double quotes to mean "treat these words as one
- argument". This is similar to what most shells do.
-
-198) Added mkinstalldirs to make install destination dirs if
- they do not already exist.
-
-CHANGES from sudo 1.4.2
-
-199) Added support for --with-CC (which C compiler to use).
-
-200) Added support for NOPASSWD token and running commands a
- specified users (sudo -u) from Keith Garry Boyce
- <garp@opustel.com>
-
-201) Only link with -lshadow for Linux if libc lacks getspnam(). Problem
- pointed out by Michael Meskes <meskes@Informatik.RWTH-Aachen.DE>.
-
-202) Replaced SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID. Added
- SUDOERS_MODE and changed the default to 0440 (from 0400).
- It is now possible to NFS-mount sudoers without doing anything fancy.
-
-202) If a runas list is specified, a user may only run commands as
- "root" if "root" is a member of the runas list. The old behavior
- was to always allow commands to be run as root, even if a runas
- list was specified. Now you can give someone "sudo -u operator"
- and not have the equivalent of "sudo -u root" as well.
-
-203) Added "USER=%s" to logging functions.
-
-204) configure will now add -lPW to (VI)?SUDO_LIBS if using bison
- or DCE and alloca(3) is not in libc (or provided by gcc) but
- is in libPW.a.
-
-205) sudo would give an incorrect error message if the sudoers file
- didn't exist due to close() stomping errno if the open() failed.
-
-206) Fixed "shell" mode (sudo -s). When building NewArgv sudo was
- not allocating space for the NULL.
-
-207) Added support for wildcards in the pathname. Ie: /bin/*.
-
-208) 'command ""' in sudoers now means no args allowed.
-
-209) Added command line args to SUDO_COMMAND envariable.
-
-210) HP-UX 10.x with C2 now uses bigcrypt().
- Changes from david_dill@Merck.Com (David Dill).
-
-211) lsearch.c will now compile w/o compiler warnings.
- (Updated from NetBSD lsearch.c)
-
-212) Now uses POSIX fnmatch(3) (which uses ! instead of ^ in ranges)
-
-CHANGES from sudo 1.4.3
-
-213) Now allows network/netmask in sudoers to override per-interface
- netmask.
-
-214) Fixed -u support with multiple user lists on a line.
-
-215) Fixed a core dump problem when built with -DSHELL_IF_NO_ARGS.
-
-216) Fixed 2 typos in parse.yacc and removed some unnecessary if's.
-
-217) Now always use install-sh since SunOS install can't do uid/gid's.
- Other BSD installs are probably similarly afflicted.
-
-218) Fixed NFS-mounted sudoers file under solaris both uid *and* gid
- were being set to -2. Now set uid to 1 to avoid group being
- remapped.
-
-219) Now includes alloca.c (from gcc) for those w/o it. Linking
- against -lPW breaks visudo on HP-UX and probably others.
-
-220) Added --with-libpath, --with-libraries, --with-incpath options
- to configure.
-
-221) configure now uses shicc instead of gcc on BSD/OS >= 2.0 to
- generate binaries linked with shared libs.
-
-222) The parser was setting no_passwd even if there wasn't a
- runas match. I reordered some things in parse.yacc
- to fix this.
-
-223) `sudo -v' (validate) wasn't paying attention to NOPASSWD.
- Now it does.
-
-224) testsudoers now groks "-u user".
-
-225) Updated AFS support based on what tcsh 6.06 does.
-
-226) Fixed a typo/thinko that broke BSD > 4.3reno wrt interfaces.c.
-
-227) HPUX 10.X shadow password stuff now uses SecureWare routines.
-
-228) SecureWare passwd checking now uses bigcrypt() if available.
- Now uses AUTH_MAX_PASSWD_LENGTH if defined.
-
-229) configure now makes sure you don't have a config.cache file
- from another OS.
-
-230) Added better shadow password detection.
- BSD >= 4.3reno -> /etc/master.passwd
- hpux9: getspwnam() -> /.secure/etc/passwd
- hpux10: getspnam() or getprpwnam() -> /tcb/files/auth/*/* (link with -lsec)
- SVR4: getspnam() -> /etc/shadow
- solaris: getspnam() -> /etc/shadow
- irix[56].x: getspnam() -> /etc/shadow
- sunos 4.x: getpwanam() -> /etc/security/passwd.adjunct
- DUNIX: getprpwnam() -> /tcb/files/auth/*/* (link with -lsecurity)
- SecureWare: getprpwnam() -> /tcb/files/auth/*/*
- ultrix 4.x: getauthuid() -> /etc/auth.{pag,dir}
-
-231) '(' in command args no longer are a syntax error.
-
-232) '!command' now works in the presence of a runas or NOPASSWD token.
- Simplified parse rules wrt runas and NOPASSWD (more consistent).
-
-233) Command args and now compared as a flat string again. This makes
- wildcard matches more consistent.
-
-234) DUNIX C2 support now groks AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT.
-
-235) configure now uses config.{sub,guess} to guess OS type.
- Sudo should work out of the box on more OS's now.
-
-236) Got rid of HAVE_C2_SECURITY, now just use SHADOW_TYPE.
-
-237) Fixed race in tgetpass() where echo can be turned off and
- left off if sudo is used in a pipeline and a password is
- required.
-
-CHANGES from sudo 1.4.4
-
-238) `sudo -l' output now includes runas and NOPASSWD info and
- asks for a password unless NOPASSWD for ALL is set.
-
-239) Sudo can now deal with all-caps user and host names.
-
-240) Sudo will now remove the "ENV" and "BASH_ENV" envariables.
- From Michael Meskes <meskes@Informatik.RWTH-Aachen.DE>.
-
-241) `sudo -l' will now expand Cmnd_Alias's (could be prettier).
-
-242) `sudo -s' will now set $HOME to root's homedir (or that of
- the user specified -u) so dot files get sourced.
-
-CHANGES from sudo 1.4.5
-
-243) $HOME was always being set, not just with `-s'.
-
-244) In visudo, the owner and group of the sudoers file were
- being set too early; an editor could change them and change
- the owner/group of the resulting sudoers file.
-
-CHANGES from sudo 1.5
-
-245) Added SHELL_SETS_HOME option.
-
-246) Added NO_MESSAGE option.
-
-247) Added %u and %h escapes in PASSPROMPT to expand to user's name
- and host.
-
-248) Added "SUDO_PROMPT" envariable.
-
-249) Usernames may now begin with a digit. Gross, but people do it.
-
-Sudo 1.5.1 released.
-
-250) Added `opie' support.
-
-251) Added check to make sure fnmatch() really works.
-
-252) Now use the prompt S/Key gives us instead of rolling our own.
-
-253) Added -H flag from Danny Barron <dcbarro@nppd.com>.
-
-254) Add SUDO_PS1 envariable support.
-
-255) Attempt at sequent support.
-
-Sudo 1.5.2 released.
-
-256) visudo acts sanely when there is no sudoers file.
-
-257) Added Runas_Alias support.
-
-258) Sudo will now work with SUDOERS_MODE == 400 and SUDO_UID = 0.
-
-259) Alias's in a runas list are now expanded.
-
-260) Fixed bug with > 32 saved aliases. Reported by BHH@capgroup.com.
-
-261) Code that uses sprintf() is now more paranoid about buffer
- overflows.
-
-262) Whitespace is now allowed after a line continuation character before
- a newline in sudoers.
-
-263) %h in MAILSUBJECT expands to local hostname.
-
-Sudo 1.5.3 released.
-
-264) Don't pass getdtablesize() as first arg to select(2). No need
- to do this since we only select on one fd--use (fd+1) as nfds
- and the old way caused problems on some systems (arguably
- a bug in those OS's). From Marc Slemko marcs@znep.com.
-
-265) Fixed coredump when passwd file is missing or unavailable.
- Reported by Jason Downs <downsj@teeny.org> and
- Klee Dienes <klee@mit.edu> (via a Debian Linux bug report).
-
-266) Fixed bug wrt exclusion lists and relative pathnames.
- Reported by osiris@COURIER.CB.LUCENT.COM.
-
-267) exit(1) if user doesn't enter a passwd.
- Noted by Alex Parchkov <alexp@ind.tansu.com.au>.
-
-Sudo 1.5.4 released.
-
-268) Newer versions of Irix use _RLDN32_* envariables for 32-bit binaries
- so ignore _RLD* instead of _RLD_*. From tarrall@bamboo.Colorado.EDU.
-
-269) Only open sudoers file once as opposed to once for sanity checks and
- once for the parser. Also try to open ten times if we get EAGAIN.
-
-Sudo 1.5.5 released.
-
-270) Initialize group vector if we are becoming a user other than root.
- For root, it is often more useful to hang on to our existing group
- vector.
-
-271) Fix usage of select(2) to deal correctly with a high-numbered fd.
-
-272) Fixed a bug where sudo sometime didn't give the user a chance to
- enter a password at the prompt.
-
-273) Use a dynamically sized buffer when reading ether interfaces.
-
-274) Fixed configure problems with identification of HP-UX > 10.x and
- with cc being identified as a cross compiler on some platforms.
-
-275) Fixed a problem with HP-UX 10.x and alloca. Bison does not
- include alloca.h on HP-UX 10.x even though it uses alloca()
- (and thus needs the #define of alloca(x) to __builtin_alloca(x)).
- To fix this we include alloca.h ourselves if using bison and not gcc.
-
-276) Included support for the AIX 4.x authenticate() function from
- Matt Richards <v2matt@btv.ibm.com>.
-
-277) Fixed an off by one error in the parser. Found by
- Piete Brooks <Piete.Brooks@cl.cam.ac.uk>
-
-278) Change NewArgv size computation to work on UNICOS.
- From Mike Kienenberger <mkienenb@arsc.edu>
-
-279) Added --with-logfile and --with-timedir configure options.
-
-280) Use getcwd(3), not getwd(3) to avoid possible buffer overflow.
- Use BSD getcwd(3) if system lacks one or is SunOS 4.x.
-
-281) Fix 'fprintf' argument mismatches in 'visudo.c'.
- From ariel@oz.engr.sgi.com (Ariel Faigon)
-
-282) Use waitpid or wait3 to reap children in logging.c.
- Pointed out by Theo de Raadt <deraadt@theos.com>
-
-283) Sudo should prompt for a password before telling the user that
- a command could not be found. Noted by rhodie@NAC.NET.
-
-284) Fix OTP_ONLY for opie; "Deven T. Corzine" <deven@fuse.net>.
-
-285) Include pre-yacc'd parse.yacc as sudo.tab.[ch] since more and
- more vendors are charging for yacc (bad vendor, no cookie).
-
-286) Use MAX*, not MAX*+1
-
-287) Add support for Hitachi SR2201, from b-edgington@hpcc.hitachi-eu.co.uk
-
-288) Added RUNAS_DEFAULT option to allow one to compile sudo with a
- default runas user other than root.
-
-289) Add options to log the hostname in the file-based log and to not
- do word wrap in file-based log. From Theo Van Dinter <tvd@chrysalis.com>
-
-290) RedHat Linux pam support, from Gary Calvin <GCalvin@kenwoodusa.com>.
- pam.sudo goes in /etc/pam.d/sudo on RedHat 5.0 and above.
-
-291) With sudo -s, set command the full path of the shell, not the basename.
- Noted by Peter W. Osel <pwo@guug.de>
-
-Sudo 1.5.6 released.
-
-292) Pam auth now runs as root; necessary for shadow passwords.
-
-293) Shadow password support is now compiled in by default. You can disable
- it via --disable-shadow.
-
-294) We now remove a timestamp file with a bogus date when it is detected.
- From Steve Fobes <sfobes@uswest.com>.
-
-295) In tgetpass(), restart select if it is interrupted. This really fixes a
- problem where a user sometimes is not given a change to enter a password.
-
-296) All options have moved from options.h -> configure.
-
-297) visudo is now installed in /usr/local/sbin where it belongs.
-
-298) Lots of configure changes. Instead of checking for the existence
- of -lsocket, -lnsl, or -linet, we instead check them for the
- functions we need only if they are not already in libc.
-
-299) Added DUNIX SIA (Security Integration Architecture) support from
- Spider Boardman <spider@Orb.Nashua.NH.US>.
-
-300) Added test for broken Digital UNIX 4.0 prot.h.
-
-301) Better support for C2 security on Digital UNIX.
-
-302) Hacked autoconf so that you have have single quotes in
- --with-passprompt.
-
-303) For SecureWare-style shadow passwords use getprpwnam() instead
- of getprpwuid() since getprpwuid is broken in HP-UX 10.20 at
- least (it sleeps for 2 minutes if the shadow files don't exist).
-
-304) We can't really trust UID_MAX or MAXUID since they may only exist for
- backwards compatibility; spider-both@Orb.Nashua.NH.US
-
-305) Make %groups work as RunAs specifiers; Ray Bellis <rpb@community.net.uk>.
-
-306) Set USER environment variable to target user.
- Suggested by Ray Bellis <rpb@community.net.uk>.
-
-307) Go back to printing "command not found" unless --disable-path-info
- specified. Also, tell user when we ignore '.' in their path and it
- would have been used but for --with-ignore-dot.
-
-308) When using tty tickets make it user:tty not user.tty as a username
- could have a '.' in it.
-
-309) Define BSD_COMP for svr4 to get BSD ioctl defs. Also, if we have
- sys/sockio.h but SIOCGIFCONF is not defined by including sys/ioctl.h
- include sys/sockio.h directly.
-
-310) Fixed a bug that could cause "sudo -l" to segfault or complain
- about non-existent syntax errors.
-
-Sudo 1.5.7 released.
-
-311) Fixed square bracket quoting in configure and moved check for -lnsl
- to be before -lsocket.
-
-312) In load_interfaces(), close sock after bwe are done with it. Leak
- noticed by Mike Kienenberger <mkienenb@arsc.edu>.
-
-313) Missing pieces from change #308; from Mike Kienenberger.
-
-314) Real Kerberos 5 support from Frank Cusack <fcusack@iconnet.net>.
-
-315) FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>.
-
-316) Fixed handling and documentation of -with-umask.
-
-317) If the check for socket() or inet_addr() fails, retry, this time
- linking with both -lsocket and -lnsl for those systems that
- have interlibrary dependencies.
-
-Sudo 1.5.8 released.
-
-318) Add dirfd() macro for systems without it.
-
-319) Better check for socket() in -lsocket -lnsl in configure.
-
-320) Minor configure fixes.
-
-Sudo 1.5.8p1 released.
-
-321) Fixed a bug wrt quoting characters in command args.
-
-322) Make --without-sendmail work.
-
-Sudo 1.5.8p2 released.
-
-323) Fixed a segv if HOST_IN_LOG defined and gethostbyname() fails.
- Reported by Gero Treuner <gero@faveve.uni-stuttgart.de>.
-
-324) Fixed a parse bug wrt the ! operator and runas specs. Noted by
- David A Beck <BKD@payserv.telekurs.com>.
-
-325) Use new emalloc/erealloc/estrdup functions (catch errors and exit).
-
-326) New PAM code that should work on both Solaris and Linux.
-
-327) Make sudo's usage info better when mutually exclusive args are given
- and don't rely on argument order to detect this. From Nick Andrew.
-
-328) In visudo, shift return value of system() by 8 to get the real exit value.
-
-Sudo 1.5.9 released.
-
-329) The runas user and NOPASSWD tags are now persistent across entries
- in a command list (ie: cmnd1,cmnd2,cmnd3). A PASSWD tag has been
- added to reverse NOPASSWD. The runas user and *PASSWD tags can be
- overridden on a per-command basis at which point they become the
- new default for the rest of the list.
-
-330) It is now possible to use the '!' operator in a runas list as
- well as in a Cmnd_Alias, Host_Alias and User_Alias.
-
-331) In estrdup(), do the malloc ourselves so we don't need to rely on the
- system strdup(3) which may or may not exist. There is now no need to
- provide strdup() for those w/o it.
-
-332) You can now specify a host list instead of just a host or alias
- in a privilege list. Ie: user=host1,host2,ALIAS,!host3 /bin/ls
-
-333) Stash the "safe" path to the command instead of stashing the struct
- stat. Should be safer.
-
-334) Now set $LOGNAME in addition to $USER.
-
-335) No longer use stdio in tgetpass()
-
-336) Don't use _PASSWD_LEN or PASS_MAX as we can't rely on them corresponding
- to anything real. Instead, we just use a max password size of 256
- everywhere.
-
-337) Block keyboard-generated signals during startup and restore signal
- mask before exec'ing the program. We don't want the user to be
- able to simply kill us and avoid logging.
-
-338) Rewrote timestamp handling. For the default case, a directory is used
- instead of a file. For the tty-based case, the timestamp is just a
- file in that directory (eg. /var/run/sudo/username/tty). You now only
- get the lecture once, even in the tty case. The goal here is to allow
- the tty and non-tty schemes to coexist, though it is worth noting that
- when you update a tty file, the mtime of the dir gets updated too.
-
-339) The meaning of -k has changed to mean "invalidate the timestamp".
- There is a new -K option to really remove the timestamp file/dir.
-
-340) New modular authentication API. This fixes the rat's nest of
- #ifdefs that was the old auth code.
-
-341) New logging functions. log_error() now takes a variable number of
- args ala printf() and log_auth() reacts to the return value of validate().
-
-342) If a user is not in the sudoers file they are still asked for a password.
- This keeps someone who finds a user logged in to a terminal from being
- able to tell whether or not the user is allowed to use sudo.
-
-343) New PAM code again, this time it should be correct.
-
-344) tgetpass() now has a flag to specify whether or not to turn
- off echo while reading the password. Used by the new PAM and
- fwtk code.
-
-345) Fixed shadow password dectection on SCO.
-
-346) Sudo is now available under a BSD/Apache style license. This is
- possible because it no longer contains any of the original 1.1 code.
-
-347) Added configuration info when sudo is run with the -V flag by root.
-
-348) Change visudo tmp file from /etc/stmp -> /etc/sudoers.tmp since
- Solaris uses stmp for shadow temp file. Also rename _PATH_SUDO_SUDOERS
- to _PATH_SUDOERS and _PATH_SUDO_STMP to _PATH_SUDOERS_TMP.
-
-349) Added configure option to set syslog priorities.
-
-350) Sudo now locks its log file to prevent mangled entries.
-
-351) Visudo now locks the sudoers temp file instead of bailing when
- the temp file already exists. This fixes the problem of stale
- temp files but it does *require* that you not try to put the
- temp file in a world-writable directory. This shoud not be
- an issue as the temp file should live in the same dir as sudoers.
-
-352) Fixed crypt() check in libufc.
-
-353) It is now possible to put a list of users as the first thing in a
- user specification. I don't suggest this but it makes the grammar
- more uniform.
-
-354) Visudo will now warn about what it thinks are undefined aliases.
- Since it can't be 100% sure these are just warnings, not errors.
-
-355) Add a --without-passwd option to configure that turns off
- passwd/shadow file authentication. Only usable with an alternate
- authentication scheme.
-
-356) Add a --disable-authentication option to configure that causes sudo
- to not require authentication by default. The PASSWD tag can be
- used to require authentication for an entry.
-
-357) Add a --with-devel option to add -Wall and uncomment yacc/lex
- generation in Makefile.
-
-358) Zero out plaintext password after use (should do encrypted as well).
-
-359) Added real dependencies in Makefile.
-
-360) Deprecated --with-otp-only in favor of --without-passwd.
-
-361) Add --with-mail-if-no-host to send mail if a user tries to run sudo on
- a host for which he/she is not authorized.
-
-362) Most of sudo now runs as root instead of the invoking user to
- minimize the possibility of user control via signals or tracing.
-
-363) Now Support CIDR-style netmasks (ie: 128.138.0.0/16).
-
-364) In "sudo -l" mode, the type of the stored (expanded) alias was not
- stored with the contents. This could lead to incorrect output
- if the sudoers file had different alias types with the same name.
- Normal parsing (ie: not in '-l' mode) is unaffected.
-
-365) Now include strcasecmp() for those without it.
-
-366) Most compile-time options are now changable at runtime via
- the 'Defaults' specification in the sudoers file.
-
-367) Added a -L flag to printout all the possible 'Defaults' parameters.
-
-368) It is now possible to escape "special" characters in usernames, hostnames,
- etc with a backslash.
-
-369) Sudo will now accept a hostname/username/netgroupname that contains
- almost any character in it. It seems many people want to use '.'
- and other non-alphanumerics in usernames.
-
-370) Fixed the root_sudo option. Sudo was always complaining that root
- was not allowed to run sudo if the root_sudo flag was turned off.
-
-371) tgetpass() now uses a function to read up until the end of line.
- Fixes problems in a pipeline when a program sets the tty mode
- to be character at a time.
-
-372) sudo now turns off core dumps via setrlimit (probably paranoia).
-
-Sudo 1.6 released.
-
-373) Better diagnostics on PAM failure.
-
-374) Killed shell_noargs option, it cannot work since the command needs to
- be set before sudoers is parsed.
-
-375) Fixed the following Defaults options: set_home, fqdn, syslog, tty_tickets,
- ticket_dir, insults.
-
-376) When using select() in tgetpass(), do a separate select before
- each read to be sure we can timeout correctly.
-
-377) SecurID support compiles and works again.
-
-378) Fixed a bug parsing runas modifiers. If a user spec contained multiple
- runas specs, the latter ones may not be applied.
-
-379) #uid now works in a RunasAlias
-
-380) Don't ask the user for a password if the user is not allowed to run
- the command and the authenticate flag (in sudoers) is false.
-
-381) Added configure check for initgroups(3).
-
-382) Use our own fnmatch() if there is no fnmatch.h, even if there is an
- fnmatch() in libc.
-
-Sudo 1.6.1 released.
-
-383) Better behavior for -l and -v flags in conjunction with NOPASSWD and
- added "verifypw" and "listpw" options.
-
-384) For HP-UX with cc, add the -Aa flag along with -D_HPUX_SOURCE.
-
-385) Fix compilation with K&R compilers.
-
-386) For netgroup host matching, match against the short version of the
- hostname as well as the long one if they are different.
-
-387) Terminate passwd reading on '\r' in addition to '\n'
-
-388) Visudo used to loop endlessly if a user entered ^D at the whatnow
- prompt. EOF is now treaded as 'x' (exit w/o saving changes).
-
-389) The 'shell_noargs' runtime option is back based on a patch from
- bguillory@email.com.
-
-390) Systems that return RLIM_INFINITY for RLIMIT_NOFILE (like AIX)
- would loop for a very loing time during sudo startup. A value of
- RLIM_INFINITY is now ignored (getdtablesize/sysconf is used instead).
-
-391) Locking in visudo was broken. We now lock the sudoers file, not the
- sudoers temp file, which should be safe.
-
-392) PAM fixups: custom prompts now work correctly and errors are
- dealt with more sanely. Patches from Cloyce D. Spradling.
-
-Sudo 1.6.2 released.
-
-393) Users in the 'exempt' group shouldn't get their $PATH overridden
- by 'secure-path'. Patch from jmknoble@pobox.com.
-
-394) Pam now works on HP-UX 11.0, thanks to Jeff A. Earickson.
-
-395) Fixed a bug that caused an infinite loop when the password
- timeout was disabled.
-
-396) It is now possible to set the path to the editor for visudo as well
- as the flag that determines whether or not visudo will look at
- $EDITOR in the sudoers file.
-
-397) configure now pulls in the values of LIBS, LDFLAGS, CPPFLAGS, etc
- as the documentation says it ought to.
-
-398) Added rootpw, runaspw, and targetpw to prompt for the root, runas_default
- and target user's passwords respectively (instead of the invoking user's
- password).
-
-399) Added -S flag to force password read from stdin.
-
-400) Restore coredumpsize resource limit before exec'ing the child
- process (sudo sets it to 0 internally).
-
-401) Truncate unencrypted password to 8 chars if encrypted password is exactly
- 13 characters (indicateing standard a DES password). Many versions
- of crypt() do this for you, but not all (like HP-UX's).
-
-402) Fixed a typo/thinko that broke secureware support for long passwords.
-
-403) Added a new command line switch '-c' to support BSD login classes.
- The '-c' option can be used to sudo a command with specific resource
- limits in the login.conf database. This feature is optionally enabled
- via the --with-logincap configure switch. Based on a patch from
- Michael D. Marchionna.
-
-404) Fixed a bug where sudo would hang around and consume CPU if we spawn
- a long-running process.
-
-405) Deal with HP-UX password aging info tacked on to the end of the
- encrypted password.
-
-406) Added set_logname run-time option. When unset, sudo will not set
- the USER and LOGNAME environment variables.
-
-407) Wildcards are now allowed in the hostnames specified in sudoers.
- The 'fqdn' option is often required for this to be useful.
-
-408) Fixed a bug where host and user qualifiers in a Defaults entry were
- not being used correctly and the entry was being applied globally.
-
-Sudo 1.6.3 released.
-
-409) Fixed targetpw, rootpw, and runaspw options when used with non-passwd
- authentication (pam, etc).
-
-Sudo 1.6.3p1 released.
-
-410) When the targetpw flag is set, use the target username as part
- of the timestamp path.
-
-Sudo 1.6.3p2 released.
-
-411) Fixed a bug that prevented the -H option from being useful.
-
-Sudo 1.6.3p3 released.
-
-412) Fixed a case where a string was used after it had been freed.
-
-Sudo 1.6.3p4 released.
-
-413) Fixed listpw and verifypw sudoers options.
-
-414) Do not write NUL when writing passwd prompt; hag@linnaean.org.
-
-Sudo 1.6.3p5 released.
-
-415) Fix word splitting bug that caused a segv for very long command line args.
-
-Sudo 1.6.3p6 released.
-
-416) Fix negation of path-type Defaults entries in a boolean context.
-
-Sudo 1.6.3p7 released.
-
-417) Visudo now checks for the existence of an editor and gives a sensible
- error if it does not exist.
-
-418) The path to the editor for visudo is now a colon-separated list of
- allowable editors. If the user has $EDITOR set and it matches
- one of the allowed editors that editor will be used. If not,
- the first editor that actually exists is used.
-
-419) Visudo now does its own fork/exec instead of calling system(3).
-
-420) Allow special characters (including '#') to be embedded in pathnames
- if quoted by a '\\'. The quoted chars will be dealt with by fnmatch().
- Unfortunately, 'sudo -l' still prints the '\\'.
-
-421) Added the always_set_home option.
-
-422) Strip NLSPATH and PATH_LOCALE out from the environment to prevent
- reading of protected files by a less privileged user.
-
-423) Added support for BSD authentication and associated -a flag.
-
-424) Added check for _innetgr(3) since NCR systems have this instead
- of innetgr(3).
-
-425) Added stay_setuid option for systems that have libraries that perform
- extra paranoia checks in system libraries for setuid programs.
-
-426) Environment munging is now done by hand. The environment is zeroed
- upon sudo startup and a new environment is built before the command
- is executed. This means we don't rely on getenv(3), putenv(3),
- or setenv(3).
-
-427) Added a class of environment variables that are only cleared if they
- contain '/' or '%' characters.
-
-428) Use stashed user_gid when checking against exempt gid since sudo
- sets its gid to SUDOERS_GID, making getgid() return that, not the
- real gid. Fixes problem with setting exempt group == SUDOERS_GID.
- Fix from Paul Kranenburg.
-
-429) Fixed file locking in visudo on NeXT which has a broken lockf().
- Patch from twetzel@gwdg.de.
-
-430) Regenerated configure script with autoconf-2.52 (required some
- tweaking of configure.in and friends).
-
-431) Added mail_badpass option to send mail when the user does not
- authenticate successfully.
-
-432) Added env_reset Defaults option to reset the environment to
- a clean slate. Also implemented env_keep Defaults option
- to specify variables to be preserved when resetting the
- environment.
-
-433) Added env_check and env_delete Defaults options to allow the admin
- to modify the built-in list of environment variables to remove.
-
-434) If timestamp_timeout < 0 then the timestamp never expires. This
- allows users to manage their own timestamps and create or delete
- them via 'sudo -v' and 'sudo -k' respectively.
-
-435) Authentication routines that use sudo's tgetpass() now accept
- ^C or ^Z at the password prompt and sudo will act appropriately.
-
-436) Added a check-only mode to visudo to check an existing sudoers
- file for sanity.
-
-437) Visudo can now edit an alternate sudoers file.
-
-438) If sudo is configured with S/Key support and the system has
- skeyaccess(3) use that to determine whether or not to allow
- a normal Unix password or just S/Key.
-
-439) Fixed CIDR handling in sudoers.
-
-440) Fixed a segv if the local hostname is not resolvable and
- the 'fqdn' option is set.
-
-441) "listpw=never" was not having an effect for users who did not
- appear in sudoers--now it does.
-
-442) The --without-sendmail option now works on systems with
- a /usr/include/paths.h file that defines _PATH_SENDMAIL.
-
-443) Removed the "secure_path" Defaults option as it does not work and
- cannot work until the parser is overhauled.
-
-444) Added new -P flag and "preserve_groups" sudoers option to cause
- sudo to preserve the group vector instead of setting it to that
- of the target user. Previously, if the target user was root
- the group vector was not changed. Now it is always changed unless
- the -P flag or "preserve_groups" option was given.
-
-445) If find_path() fails as root, try again as the invoking user (useful
- for NFS). Idea from Chip Capelik.
-
-446) Use setpwent()/endpwent() and its shadow equivalents to be sure
- the passwd/shadow file gets closed.
-
-447) Use getifaddrs(3) to get the list of network interfaces if it is
- available.
-
-448) Dump list of local IP addresses and environment variables to clear
- when 'sudo -V' is run as root.
-
-449) Reorganized the lexer a bit and added more states. Sudo now does a
- better job of parsing command arguments in the sudoers file.
-
-450) Wrap each call to syslog() with openlog()/closelog() since some
- things (such as PAM) may call closelog(3) behind sudo's back.
-
-451) The LOGNAME and USER environment variables are now set if the user
- specified a target uid and that uid exists in the password database.
-
-452) configure will no longer add the -g flag to CFLAGS by default.
-
-453) Now call pam_setcreds() to setup creds for the target user when
- PAM is in use. On Linux this often sets resource limits.
-
-454) If "make install" is run by non-root and the destination dir
- is writable, install things normally but don't set owner and mode.
-
-455) The Makefile now supports installing in a shadow hierarchy
- specified via the DESTDIR variable.
-
-456) config.h.in is now generated by autoheader.
-
-Sudo 1.6.4 released.
-
-457) Move the call to rebuild_env() until after MODE_RESET_HOME is set.
- Otherwise, the set_home option has no effect.
-
-458) Fix use of freed memory when the "fqdn" flag is set. This was
- introduced by the fix for the "segv when gethostbynam() fails" bug.
-
-459) Add 'continue' statements to optimize the switch statement.
- From Solar Designer.
-
-Sudo 1.6.4p1 released.
-
-460) Some special characters were not being escaped properly (e.g. '\,')
- in command line arguments and would cause a syntax error instead.
-
-461) "sudo -l" would not work if the always_set_home option was set.
-
-462) Added a configure option to disable use of POSIX saved IDs for
- operating systems where these are broken.
-
-463) The SHELL environment variable was preserved from the user's environment
- instead of being reset based on the passwd database even when the
- "env_reset" option was set.
-
-Sudo 1.6.4p2 released.
-
-464) Added a configure option to cause mail sent by sudo to be run as
- the invoking user instead of root. Some people consider this to
- be safer.
-
-465) If the mailer is being run as root, use a hard-coded environment
- that is not influenced in any way by the invoking user's environment.
-
-466) Fixed the call to skeyaccess(). Patch from Phillip E. Lobbes.
-
-Sudo 1.6.5 released.
-
-467) Visudo could access memory that was already freed.
-
-468) If the skey.access file denied use of plaintext passwords sudo
- would exit instead of allowing the user to enter an S/Key.
-
-Sudo 1.6.5p1 released.
-
-469) Older versions of BSDi have getifaddrs() but no freeifaddrs().
-
-470) BSDi has a fake setreuid() as do certain versions of FreeBSD and NetBSD.
-
-471) Ignore the return value of pam_setcred(). In Linux-PAM 0.75,
- pam_setcred() will return PAM_PERM_DENIED even if the setcred function
- of the module succeeds when pam_authenticate() has not been called.
-
-472) Avoid giving PAM a NULL password response, use the empty string instead.
- This avoids a log warning when the user hits ^C at the password prompt
- when Linux-PAM is in use. This also prevents older versions of
- Linux-PAM from dereferencing the NULL pointer.
-
-473) The user's password was not zeroed after use when AIX authentication,
- BSD authentication, FWTK or PAM was in use.
-
-Sudo 1.6.5p2 released.
-
-474) Fixed compilation problem on HP-UX 9.x.
-
-475) Moved call to endpwent() and added a call to endgrent().
-
-476) Fixed a warning conflicting declaration of VOID with AFS.
-
-477) Fixed a security hole in prompt rewriting found by Global InterSec.
-
-Sudo 1.6.6 released.
-
-478) Wildcards now work correctly in the env_keep Defaults directive.
-
-479) Added support for non-root timestamp dirs. This allows the timestamp
- dir to be shared via NFS (though this is not recommended).
-
-480) Removed double printing of bad environment variable table in -V mode.
-
-481) configure script has been regenerated with autoconf 2.5.7.
- This required some changes to configure.in.
-
-482) Fixed a compilation problem on SunOS; thanks to Alek O. Komarnitsky.
-
-483) SecurID 5.0 API support from Michael Stroucken.
-
-484) Restore state of signal handlers to what we had upon startup.
- Fixes a problem when using sudo with nohup; thanks to Paul Markham.
-
-485) Revamp set_perms() to use setresuid() or setreuid() when available
- in preference to POSIX stuff since they allow us to properly
- implement "stay_setuid" whereas POSIX does not really.
-
-486) In strict mode sudo did not throw an error for undefined User_Aliases.
-
-487) Fixed a Makefile bug on IRIX.
-
-488) Write the prompt *after* turning off echo to avoid some password
- characters being echoed on heavily-loaded machines with fast typists.
-
-489) Added %U and %H escapes in the prompt and fixed treatment of %%.
-
-490) Visudo will now add a final newline to sudoers if the user's editor
- not add one before EOF.
-
-491) The lexer state is now reset to its initial value on EOF.
- Previously, the state was not reset between parser invocations
- which could cause problems for visudo in rare cases.
-
-492) Added support for Defaults that apply based on the RunasUser.
-
-493) Sudo now includes copies of strlc{at,py} and uses them throughout.
-
-494) Sudo is now careful to avoid interger overflow when allocating
- memory. This is one of those "should not happen" situations.
-
-495) Added a configure option (--with-stow) to make sudo compatible
- with GNU stow.
-
-496) auth/kerb5.c now compiles under Heimdal.
-
-497) The volatile prefix is used in the hopes of preventing compilers
- from optimizing away memory zeroing. Unfortunately, this results
- in some warnings from gcc.
-
-498) Better Kerberos IV/V support in the configure script.
-
-499) Fixed a logic thinko in the SIGCHLD handler that caused problems
- with rlogin on HP-UX.
-
-500) configure now adds -R to LDFLAGS when it adds -L for Solaris and
- SVR4. There is a configure option, --with-rpath, to control this.
-
-501) On AIX, configure will pass extra directory paths to the linker
- via the -blibpath ld option. This is only active when additional
- library paths are used. It may be disabled via the
- --without-blibpath configure option.
-
-502) The --with-skey and --with-opie configure options now take
- an optional directory argument that should have an include and
- lib dir for the skey/opie include file and library respectively.
-
-Sudo 1.6.7 released.
-
-503) Fixed false positives in the overflow detection of expand_prompt().
-
-Sudo 1.6.7p1 released.
-
-504) An unterminated comment broke Kerberos V authentication.
-
-505) The krb5-config script is used to determine Kerberos V CPPFLAGS
- and LDFLAGS/LIBS if it exists.
-
-506) Backed out changes to mkinstalldirs from autoconf 2.57 that
- caused problems on Tru64 Unix.
-
-Sudo 1.6.7p2 released.
-
-507) Kerberos V support should work on latest MIT Kerberos V and Heimdal.
-
-Sudo 1.6.7p3 released.
-
-508) Fixed remaining Kerberos V issues with MIT Kerberos V and old Heimdal.
-
-Sudo 1.6.7p4 released.
-
-509) Fixed a typo that caused a compilation error on Heimdal.
-
-510) Darwin (MacOS X) doesn't have a real setreuid() system call.
-
-511) Fixed a problem with large numbers of environment variables.
-
-Sudo 1.6.7p5 released.
-
-512) Fixed a problem on FreeBSD when the user is only listed in NIS (not
- master.passwd) and netgroups are used in the master.passwd file.
-
-513) BSD-style warn/err functions are now used throughout.
-
-514) Fixed the --with-stow configure option
-
-515) Added a "sudo_lecture" option that points to a file containing a custom
- lecture.
-
-516) The username in a log entry is no longer truncated at 8 characters.
-
-517) A new tag, NOEXEC, will prevent a dynamically-linked program being run
- by sudo from executing another program (think shell escapes).
- Because this uses LD_PRELOAD it has no effect on static binaries.
- Idea from Reznic Valery.
-
-518) TIS fwtk authentication now supports fwtk 2.0 and higher.
-
-519) Sudo will now try to stat the command to be run as the user
- specified by the -u flag if the stat fails as root. Fixes
- an NFS issue.
-
-520) Added Stan Lee / Uncle Ben quote to the lecture (from RedHat).
-
-521) Added a -i option to simulate an initial login similar to "su -".
- Originally based on a patch from David J. MacKenzie.
-
-522) Added a -e option to edit files the with uid of the invoking user.
- This prevents the user from editing other files or running commands
- as the target user. If sudo is run as "sudoedit" the -e flag is implied.
-
-523) If sudo is used to run as root shell, further sudo commands will
- be logged as run by the user specified by the SUDO_USER environment
- variable. In -e mode (sudoedit), SUDO_USER is used to determine
- what user to run the editor when the real uid is 0.
-
-524) Merged in LDAP support from Aaron Spangler.
-
-525) Added the --with-pc-insults configure to replace politically
- incorrect insults with ones from Alek O. Komarnitsky.
-
-526) Added start_tls support from Gudleik Rasch <gudleik@rastamatra.org>.
-
-527) A uid specified in sudoers now matches the user specified by the
- -u flag even if the -u flag specified a name, not a uid.
-
-528) /tmp/.odus is no longer used for timestamps by default. One of
- /var/run/sudo, /var/adm/sudo or /usr/adm/sudo is used depending
- on what directories exist.
-
-529) Quoting globbing characters with a backslash now works as documented.
-
-530) A negated user/uid in a runas list was not treated the same as a
- negated command (it did not override a previously allowed entry).
- Now it does.
-
-531) Added support for Tandem NSK and other systems w/o seteuid().
-
-532) The timeout on password reading is now done via alarm(), not select().
-
-533) Fixed several issues when closing all open descriptors. Sudo now uses
- closefrom() if it exists, using /proc/$$/fd if possible.
-
-534) Use PATH_MAX, not MAXPATHLEN since the former is standardized.
-
-535) Added a check in visudo for runas_default being used before it
- was set.
-
-536) If the target user == invoking user a password is no longer required.
-
-537) PAM support now uses Use pam_acct_mgmt() to check for disabled accounts
- (from Brian Farrell).
-
-538) The sudoers file is now parsed as the runas user in all cases instead
- of root. This fixes some issues with running NFS-mounted commands.
-
-539) Sudo now produces a sensible error message when the targetpw
- Defaults option is set and a non-existent uid is specified via -u.
-
-Sudo 1.6.8 released.
-
-540) Now find the command base and fill in struct stat earlier.
-
-541) sudoedit now re-opens the temp file as the invoking user.
-
-542) struct timespec is used throughout the code base.
-
-543) Added --with-ldap-conf-file option to override /etc/ldap.conf
-
-544) Added SSL tls_* certificate checking options when using LDAP.
-
-545) Sudoedit will now only attempt to edit regular files or links.
-
-546) Sudo now uses futime() or futimes() where possible.
-
-547) Updated sample.pam to a current version.
-
-548) Better detection of unchanged files in sudoedit.
-
-Sudo 1.6.8p1 released.
-
-549) Bash exported functions are now stripped from the environment passed
- to the program to be executed.
-
-Sudo 1.6.8p2 released.
-
-550) The CDPATH variable is now stripped from the environment passed
- to the program to be executed.
-
-551) Fix temp file generation on systems where the _PATH_VARTMP macro
- lacks a trailing slash.
-
-Sudo 1.6.8p3 released.
-
-552) The KRB5CCNAME environment variable is preserved during sudo
- execution for password lookups that use GSSAPI.
-
-Sudo 1.6.8p4 released.
-
-553) Added a configure check for systems with a 2-argument version of
- timespecsub (like BSD/OS).
-
-554) Added stub struct defintions to sudo.h to quiet compiler warnings
- on some systems.
-
-555) In sudoers Defaults lines, tuples like "lecture" may now be used
- without a value, restoring their old boolean-like nature.
-
-556) Invalid values for a tuple are now handled correctly.
-
-Sudo 1.6.8p5 released.
-
-557) Added a set of missing braces needed for MacOS X / Darwin.
-
-558) Define LDAP_OPT_SUCCESS for those without it.
-
-Sudo 1.6.8p6 released.
-
-559) Warn if the user tries to use the -u option when not running a command.
-
-560) Better PAM error handling and messages.
-
-561) Fixed setting of $USER when env_reset is enabled.
-
-Sudo 1.6.8p7 released.
-
-562) Fixed noexec functionality on Linux.
-
-563) Fixed minor format string mismatches in some error cases.
-
-564) Fixed a bug that prevented Heimdal authentication from working.
-
-Sudo 1.6.8p8 released.
-
-565) Updated config.guess and config.sub entries for OpenBSD.
-
-566) A sudoers entry with sudo ALL no longer overwrites the value of
- safe_cmnd.
-
-Sudo 1.6.8p9 released.
-
-567) Added PS4 and SHELLOPTS to the list of variables to remove from
- the environment.
-
-Sudo 1.6.8p10 released.
-
-567) Added JAVA_TOOL_OPTIONS to the list of variables to remove from
- the environment.
-
-Sudo 1.6.8p11 released.
-
-567) Added PERLLIB, PERL5LIB and PERL5OPT to the list of variables to
- remove from the environment.
-
-Sudo 1.6.8p12 released.
-
-568) Fixed a file descriptor leak when the lecture file option is enabled.
-
-569) Added to the list of variables to remove from the environment.
-
-570) Fixed a Kerberos V security issue that could allow a
- user to authenticate using a fake KDC.
-
-571) Pulled in updated configure and libtool from sudo 1.7.
-
-572) PAM is now the default on systems where it is supported.
-
-573) Removed POSIX saved uid use; the stay_setuid option now
- requires the setreuid() or setresuid() functions to work.
-
-574) Regenerated configure with up to date autoconf and libtool.
-
-575) Fixed fd leak when lecture file option is enabled.
-
-576) Removed used of POSIX saved uids. The stay_setuid
- option now requires setreuid() or setresuid().
-
-577) PAM fixes. If the user enters ^C at the password prompt,
- abort instead of trying to authenticate with an empty password
- (which causes an annoying delay). Also Call pam_open_session()
- and pam_close_session() to give pam_limits a chance to run.
-
-578) Security fix for Kerberos5. If we cannot get a valid service
- key using the default keytab it is a fatal error. Now uses
- krb5_verify_user() and krb5_init_secure_context() if they
- are available.
-
-579) Fixed securid5 authentication.
-
-580) Added fcntl F_CLOSEM support to closefrom().
-
-581) Added NOEXEC support for AIX 5.3.
-
-582) Sudo now uses the supplemental group vector for matching.
- This fixes problems with split group lines in /etc/group
- as well as multiple group sources in nsswitch.conf.
-
-583) Added more environment variables to remove by default.
-
-584) Mail from sudo now includes an Auto-Submitted: auto-generated
- header ala rfc 3834.
-
-585) Reworked the environment handling code.
-
-586) Remove the --with-execv option, it was not useful.
-
-587) Use TCSADRAIN instead of TCSAFLUSH in tgetpass() since
- some OSes have issues with TCSAFLUSH.
-
-588) Use glob(3) instead of fnmatch(3) for matching pathnames
- and stat() each result that matches the basename of the user's
- command. This makes "cd /usr/bin ; sudo ./blah" work when
- sudoers allows /usr/bin/blah.
-
-589) Reworked the syslog long line splitting code based on changes
- from Eygene Ryabinkin.
-
-590) Sudo can now with deal more than 32 network interfaces on
- Solaris.
-
-591) Visudo will now honor command line arguments in the EDITOR or
- VISUAL environment variables if env_editor is enabled.
-
-592) LDAP now honors rootbinddn, timelimit and bind_timelimit in
- /etc/ldap.conf.
-
-593) For LDAP, do a sub tree search instead of a base search (one
- level in the tree only) for sudo right objects. This allows
- system administrators to categorize the rights in a tree to
- make them easier to manage.
-
-594) The env_reset option is now enabled by default. Commands run
- through sudo now receive a minimal environment with certain
- variables passed through and/or checked. The list of variables
- allowed is configurable via the env_keep and env_check options
- in sudoers.
-
-595) Added support for Solaris 10 resource control limits using
- the "project" interface.
-
-596) Moved LDAP schema data into separate files.
-
-597) Sudo no longer assumes that gr_mem in struct group is non-NULL.
-
-598) Added support for setting environment variables on the command
- line if the command has the SETENV attribute set in sudoers.
-
-599) Added a -E flag to preserve the environment if the SETENV attribute
- has been set.
-
-600) The sudoers2ldif script now parses Runas users.
-
-601) The -- flag now behaves as documented.
-
-602) sudo -k/-K no longer cares if the timestamp is in the future.
-
-603) When searching for the command, sudo now uses the effective gid
- of the runas user.
-
-604) Sudo no longer updates the timestamp if not validated by sudoers.
-
-605) Now rebuild environment regardless of how sudo was invoked.
-
-606) More accurate usage() when called as sudoedit.
-
-607) Command line environment variables are now treated like
- normal environment variables unless the SETENV tag is set.
-
-608) Better explanation of environment handling in the sudo man page.
-
-Sudo 1.6.9 released.
-
-609) Worked around a bug ins some PAM implementations that caused a crash
- when no tty was present.
-
-610) Fixed a crash on some platforms in the error logging function.
-
-611) Documentation improvements.
-
-Sudo 1.6.9p1 released.
-
-612) Fixed updating of the saved environment when the environ pointer
- gets changed out from underneath us.
-
-Sudo 1.6.9p2 released.
-
-613) Fixed a bug related to supplemental group matching introduced
- in 1.6.9.
-
-Sudo 1.6.9p3 released.
-
-614) Added IPv6 support from YOSHIFUJI Hideaki.
-
-615) Fixed sudo_noexec installation path.
-
-616) Fixed a K&R compilation error.
-
-Sudo 1.6.9p4 released.
-
-617) Fixed a bug in the IP address matching introduced by the IPV6 merge.
-
-618) For "visudo -f file" we now use the permissions of the original file
- and not the hard-coded sudoers owner/group/mode. This makes
- it possible to use visudo with a revision control system.
-
-619) Fixed sudoedit when used on a non-existent file.
-
-620) Regenerated configure using autoconf 2.6.1 and libtool 1.5.24.
-
-621) Groups and netgroups are now valid in an LDAP sudoRunas statement.
-
-Sudo 1.6.9p5 released.
-
-622) Worked around bugs in the session support of some PAM implementations.
- The full tty path is now passed to PAM as well.
-
-623) Sudo now only prints the password prompt if the process is in the
- foreground.
-
-624) inttypes.h is now included when appropriate if it is present.
-
-625) Simplified alias allocation in the parser.
-
-Sudo 1.6.9p6 released.
-
-626) Go back to using TCSAFLUSH instead of TCSADRAIN when turning
- off echo in tgetpass().
-
-627) Fixed addition of -lutil for logincap on FreeBSD and NetBSD.
-
-628) Add configure check for struct in6_addr since some systems define
- AF_INET6 but have no real IPv6 support.
-
-Sudo 1.6.9p7 released.
-
-629) Fixed a bug where a sudoers entry with no runas user specified
- was treated differently from a line with the default runas
- user specified.
-
-Sudo 1.6.9p8 released.
-
-630) The ALL command in sudoers now implies SETENV permissions.
-
-631) The command search is now performed using the target user's
- auxiliary group vector too.
-
-632) When determining if the PAM prompt is the default "Password: ",
- compare the localized version if possible.
-
-633) Added passprompt_override flag to sudoers to cause sudo's prompt
- to be used in all cases. Also set when the -p flag is used.
-
-Sudo 1.6.9p9 released.
-
-634) Moved LDAP options into a table for simplified parsing/setting.
-
-635) Fixed a problem with how some LDAP options were being applied.
-
-636) Added support for connecting directly to LDAP servers via SSL
- in addition to the existing start_tls support.
-
-Sudo 1.6.9p10 released.
-
-637) Fixed a compilation problem on SCO related to how they
- store the high resolution timestamps in struct stat.
-
-638) Avoid checking the passwd file group multiple times
- in the LDAP query when the user's passwd group is also
- listed in the supplemental group vector.
-
-639) The URI specifier can now be used in ldap.conf even when
- the LDAP SDK doesn't support ldap_initialize().
-
-640) New %p prompt escape that expands to the user whose password
- is being prompted, as specified by the rootpw, targetpw and
- runaspw sudoers flags. Based on a diff from Patrick Schoenfeld.
-
-Sudo 1.6.9p11 released.
-
-641) Added a configure check for the ber_set_option() function.
-
-642) Fixed a compilation problem with the HP-UX K&R C compiler.
-
-643) Revamped the Kerberos 5 ticket verification code.
-
-644) Added support for the checkpeer ldap.conf variable for
- netscape-based LDAP SDKs.
-
-645) Fixed a problem where an incomplete password could be echoed
- to the screen if there was a read timeout.
-
-Sudo 1.6.9p12 released.
-
-646) Sudo will now set the nproc resource limit to unlimited on Linux
- systems to work around Linux's setuid() resource limit semantics.
- On PAM systems the resource limits will be reset by pam_limits.so
- before the command is executed.
-
-647) SELinux support that can be used to implement role based access
- control (RBAC). A role and (optional) type may be specified
- in sudoers or on the command line. These are then used in the
- security context that the command is run as.
-
-648) Fixed a Kerberos 5 compilation problem with MIT Kerberos.
-
-Sudo 1.6.9p13 released.
-
-649) Fixed an invalid assumption in the PAM conversation function
- introduced in version 1.6.9p9. The conversation function may
- be called for non-password reading purposes as well.
-
-650) Fixed freeing an uninitialized pointer in -l mode, introduced in
- version 1.6.9p13.
-
-651) Check /etc/sudoers after LDAP even if the user was found in LDAP.
- This allows Defaults options in /etc/sudoers to take effect.
-
-652) Add missing checks for enforcing mode in SELinux RBAC mode.
-
-Sudo 1.6.9p14 released.
-
-653) Fixed installation of sudo_noexec.so on AIX.
-
-654) Updated libtool to version 1.5.26.
-
-655) Fixed printing of default SELinux role and type in -V mode.
-
-656) The HOME environment variable is once again preserved by default,
- as per the documentation.
-
-Sudo 1.6.9p15 released.
-
-657) There was a missing space before the ldap libraries in the Makefile
- for some configurations.
-
-658) LDAPS_PORT may not be defined on older Solaris LDAP SDKs.
-
-659) If the LDAP server could not be contacted and the user was not present
- in sudoers, a syntax error in sudoers was incorrectly reported.
-
-Sudo 1.6.9p16 released.
-
-660) The -i flag should imply resetting the environment, as it did in
- sudo version prior to 1.6.9. Also, the -i and -E flags are
- mutually exclusive.
-
-661) Fixed the configure test for dirfd() under Linux.
-
-662) Fixed test for whether -lintl is required to link.
-
-663) Changed how sudo handles the child process when sending mail.
- This fixes a problem on Linux with the mail_always option.
-
-664) Fixed a problem with line continuation characters inside of
- quoted strings.
-
-Sudo 1.6.9p17 released.
-
-665) Fixed a crash when the -i flag was used with a uid not in the password
- database.
-
-666) Regenerated parser to pull in a yacc skeleton fix.
diff --git a/usr.bin/sudo/ChangeLog b/usr.bin/sudo/ChangeLog
new file mode 100644
index 00000000000..582f72602b2
--- /dev/null
+++ b/usr.bin/sudo/ChangeLog
@@ -0,0 +1,19479 @@
+2008-11-10 08:07 millert
+
+ * pathnames.h.in, sudo.c: s/overriden/overridden/; from Tobias
+ Stoeckmann
+
+2008-11-09 15:18 millert
+
+ * visudo.c, WHATSNEW: check sudoers owner and mode in strict mode
+
+2008-11-09 09:15 millert
+
+ * gram.c, toke.c: regen
+
+2008-11-09 09:13 millert
+
+ * alias.c, alloc.c, closefrom.c, compat.h, defaults.c, defaults.h,
+ env.c, fileops.c, gettime.c, gram.y, ins_csops.h, insults.h,
+ interfaces.c, interfaces.h, lbuf.c, license.pod, list.c,
+ logging.c, logging.h, parse.c, parse.h, pwutil.c, redblack.c,
+ redblack.h, snprintf.c, sudo.c, sudo.pod, sudo_edit.c,
+ sudo_nss.h, testsudoers.c, toke.l, tsgetgrpw.c, utimes.c,
+ version.h, visudo.c, zero_bytes.c, LICENSE, sudoers.pod,
+ visudo.pod, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
+ auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
+ auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
+ sudo.man.in, sudoers.man.in, visudo.man.in: Update copyright
+ years.
+
+2008-11-09 08:48 millert
+
+ * fnmatch.c, glob.c, emul/charclass.h: add my copyright
+
+2008-11-08 10:40 millert
+
+ * toke.c, toke.l: The loop in fill_cmnd() was going one byte too
+ far past the end, resulting in a NUL being written immediately
+ after the buffer end.
+
+2008-11-08 10:31 millert
+
+ * UPGRADE, WHATSNEW: add sections on tgetpass changes
+
+2008-11-08 10:30 millert
+
+ * tgetpass.c: Treat EOF w/o newline as an error.
+
+2008-11-07 17:42 millert
+
+ * parse.c: Fix "sudo -v" when NOPASSWD is set.
+
+2008-11-07 12:45 millert
+
+ * auth/: bsdauth.c, fwtk.c, pam.c, sudo_auth.c, sudo_auth.h: No
+ longer treat an empty password at the prompt as special. To quit
+ out of sudo you now need to hit ^C at the password prompt.
+
+2008-11-06 21:07 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2008-11-06 21:06 millert
+
+ * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod: Sudo
+ will now refuse to run if no tty is present unless the new
+ visiblepw sudoers flag is set.
+
+2008-11-05 19:42 millert
+
+ * aix.c: just use RLIM_INFINITY for RLIM_SAVED_MAX if
+ RLIM_SAVED_MAX not defined
+
+2008-11-05 19:40 millert
+
+ * aix.c: fix fallback value for RLIM_SAVED_MAX
+
+2008-11-05 19:14 millert
+
+ * auth/: aix_auth.c, sudo_auth.h: Move clearing of AUTHSTATE into
+ aixauth_cleanup.
+
+2008-11-05 19:08 millert
+
+ * env.c, auth/aix_auth.c: Unset AUTHSTATE after calling
+ authenticate() as it may not be correct for the user we are
+ running the command as.
+
+2008-11-05 19:05 millert
+
+ * isblank.c: Add isblank() function for systems without it. Needed
+ for POSIX character class matching in fnmatch.c and glob.c.
+
+2008-11-05 11:02 millert
+
+ * TROUBLESHOOTING: expound on sudo and cd
+
+2008-11-04 15:52 millert
+
+ * ChangeLog: regen
+
+2008-11-04 15:46 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2008-11-04 15:45 millert
+
+ * sudoers.pod: mention defauts parse order
+
+2008-11-03 13:19 millert
+
+ * Makefile.in, aclocal.m4, compat.h, configure: Add isblank()
+ function for systems without it. Needed for POSIX character
+ class matching in fnmatch.c and glob.c.
+
+2008-11-03 12:54 millert
+
+ * Makefile.in: add emul/charclass.h to HDRS
+
+2008-11-02 14:08 millert
+
+ * TODO: checkpoint
+
+2008-11-02 14:06 millert
+
+ * parse.c, defaults.c, testsudoers.c, visudo.c: Move
+ update_defaults into defaults.c and call it properly from visudo
+ and testsudoers.
+
+2008-11-02 09:51 millert
+
+ * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c,
+ tgetpass.c, tsgetgrpw.c: use zero_bytes() instead of memset() for
+ consistency
+
+2008-11-02 09:45 millert
+
+ * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c,
+ tgetpass.c, visudo.c: Zero out sigaction_t before use in case it
+ has non-standard entries.
+
+2008-11-02 09:35 millert
+
+ * match.c: quiet gcc
+
+2008-11-02 09:28 millert
+
+ * match.c: Short circuit glob() checks if basename(pattern) !=
+ basename(command). Refactor code that checks for a command in a
+ directory and use it in the glob case if the resolved pattern
+ ends in a '/'.
+
+2008-11-01 09:20 millert
+
+ * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c: Defer
+ setting runas defaults until after runaspw/gr is setup.
+
+2008-10-29 13:26 millert
+
+ * match.c, sudo.c, testsudoers.c: Use MAXHOSTNAMELEN+1 when
+ allocating host/domain name since some systems do not include
+ space for the NUL in the size. Also manually NUL-terminate
+ buffer from gethostname() since POSIX is wishy-washy on this.
+
+2008-10-26 17:13 millert
+
+ * sudo.c, sudoers.pod: When setting the umask, use the union of the
+ user's umask and the default value set in sudoers so that we
+ never lower the user's umask when running a command.
+
+2008-10-26 16:43 millert
+
+ * sudo.c: Don't try to read from a zero-length sudoers file.
+ Remove the bogus Solaris work-around for EAGAIN. Since we now
+ use fgetc() it should not be a problem.
+
+2008-10-25 09:22 millert
+
+ * parse.c: In update_defaults() check the return value of
+ user*_matches against ALLOW so we don't inadvertantly match on
+ UNSPEC.
+
+2008-10-24 09:52 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
+ sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
+ regen man pages; no more hyphenation
+
+2008-10-24 09:49 millert
+
+ * sudo.c: Don't error out on a zero-length sudoers file. With the
+ advent of #include the user could create a situation where sudo
+ is unusable.
+
+2008-10-23 12:06 millert
+
+ * config.h.in, configure, configure.in, auth/kerb5.c: Newer heimdal
+ has 2-argument krb5_get_init_creds_opt_free() like MIT krb5.
+ Really old heimdal has no krb5_get_init_creds_opt_alloc() at all.
+ Add configure tests to handle all the cases.
+
+2008-10-08 17:28 millert
+
+ * sudo.pod: resort ENVIRONMENT
+
+2008-10-08 17:09 millert
+
+ * sudoers.pod: document sudoers_locale
+
+2008-10-08 16:56 millert
+
+ * sudo.pod, sudo_edit.c: add SUDO_EDITOR variable that sudoedit
+ uses in preference to VISUAL or EDITOR
+
+2008-10-08 14:27 millert
+
+ * toke.c, toke.l: In fill_cmnd(), collapse any escaped
+ sudo-specific characters. Allows character classes to be used in
+ pathnames.
+
+2008-10-03 16:02 millert
+
+ * lbuf.c: fix typo in non-C89 function declaration
+
+2008-10-03 15:56 millert
+
+ * sudoers.pod: Mention POSIX characters classes now that out
+ fnmatch() and glob() support them.
+
+2008-10-03 15:55 millert
+
+ * sample.sudoers, sudoers.pod: Replace [A-z] (which won't match in
+ UTF8) with [A-Za-z] which is locale agnostic.
+
+2008-10-03 10:02 millert
+
+ * parse.h: use __signed char if we are going to assign a negative
+ value since on Power, char is unsigned by default
+
+2008-10-03 09:59 millert
+
+ * configure, configure.in, config.h.in: Add tests for __signed char
+ and signed char.
+
+2008-10-03 09:19 millert
+
+ * aix.c: Fix AIX limit setting. getuserattr() returns values in
+ disk blocks rather than bytes. The default hard stack size in
+ newer AIX is RLIM_SAVED_MAX. From Dale King.
+
+2008-09-26 17:13 millert
+
+ * fnmatch.c, glob.c, emul/charclass.h: Add character class support
+ to included glob(3) and fnmatch(3).
+
+2008-09-16 08:28 millert
+
+ * emul/fnmatch.h: Remove UCB advertising clause and some
+ compatibility defines.
+
+2008-09-14 16:07 millert
+
+ * sudo_edit.c: Check EDITOR/VISUAL to make sure sudoedit is not
+ re-invoking itself or sudo. This allows one to set EDITOR to
+ sudoedit without getting into an infinite loop of sudoedit
+ running itself until the path gets too big.
+
+2008-09-13 20:45 millert
+
+ * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c: Add
+ sudoers_locale Defaults option to override the default sudoers
+ locale of "C".
+
+2008-09-13 14:09 millert
+
+ * sudo.c: Set locale to system default except for during sudoers
+ parse.
+
+2008-09-12 09:34 millert
+
+ * match.c: Redo change in 1.34 to use pointer arithmetic.
+
+2008-09-11 07:06 millert
+
+ * match.c: Fix a dereference (read) of a freed pointer. Reported
+ by Patrick Williams.
+
+2008-08-23 19:09 millert
+
+ * sudo.c: Set locale to "C" to avoid interpretation issues with
+ character ranges in sudoers. May want to make the locale a
+ sudoers option in the future.
+
+2008-08-20 07:45 millert
+
+ * config.h.in: we no longer use setproctitle
+
+2008-08-20 07:41 millert
+
+ * sudo.h: remove #if 1
+
+2008-08-20 07:40 millert
+
+ * LICENSE, mkstemp.c: Use my replacement mkstemp() from the mktemp
+ package.
+
+2008-07-12 08:53 millert
+
+ * gram.c: regen with yacc skeleton bug fixed
+
+2008-07-12 08:48 millert
+
+ * sudoers.pod: Remove duplicate "as root". From Martin Toft.
+
+2008-07-02 06:27 millert
+
+ * pwutil.c, sudo.c, testsudoers.c, sudo.h: Flesh out the fake
+ passwd entry used for running commands as a uid not listed in the
+ passwd database. Fixes an issue with some PAM modules.
+
+2008-07-01 07:57 millert
+
+ * sudo.c: Error out in -i mode if the user has no shell. This can
+ happen when running commands as a uid with no password entry.
+
+2008-06-26 07:49 millert
+
+ * toke.c, toke.l: Better fix for line continuation inside double
+ quotes. Now accepts whitespace between the backslash and the
+ newline like the main lexer.
+
+2008-06-25 14:31 millert
+
+ * toke.c, toke.l: Fix line continuation in strings. It was only
+ being honored if preceded by whitespace.
+
+2008-06-22 16:19 millert
+
+ * config.h.in, configure, configure.in, logging.c: Replace the
+ double fork with a fork + daemonize.
+
+2008-06-21 14:59 millert
+
+ * env.c, sudo.c: The -i flag should imply env_reset. This got
+ broken in sudo 1.6.9.
+
+2008-06-20 20:34 millert
+
+ * logging.c, sudo.c, sudo_edit.c, visudo.c: Change how the mailer
+ is waited for. Instead of having a SIGCHLD handler, use the
+ double fork trick to orphan the child that opens the pipe to
+ sendmail. Fixes a problem running su on some Linux distros.
+
+2008-06-20 17:16 millert
+
+ * configure, configure.in: Fix configure test for dirfd() on Linux
+ where DIR is opaque.
+
+2008-06-17 17:42 millert
+
+ * tgetpass.c: Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If
+ QNX still has this problem we'll need to revisit this again.
+
+2008-06-10 21:13 millert
+
+ * logging.c: Ignore SIGPIPE instead of blocking it when piping to
+ the mailer. If we only block the signal it may be delivered
+ later when we unblock. Also, there is no need to block SIGCHLD
+ since we no longer do the double fork. The normal SIGCHLD
+ handler is sufficient.
+
+2008-06-08 17:37 millert
+
+ * configure, configure.in: Add description for NO_PAM_SESSION, from
+ a redhat patch.
+
+2008-06-06 09:36 millert
+
+ * sudo.cat, sudo.man.in, sudo.pod: Fix typos in -i usage
+
+2008-05-18 13:54 millert
+
+ * configure, configure.in: Redo the test for dgettext() in a way
+ that hopefully will work around the libintl_dgettext() undefined
+ problem.
+
+2008-05-11 09:21 millert
+
+ * schema.ActiveDirectory: change filename in comment
+
+2008-05-10 09:18 millert
+
+ * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
+ sudoers.ldap.pod: Reference schema.ActiveDirectory
+
+2008-05-09 14:49 millert
+
+ * schema.OpenLDAP, schema.iPlanet: Mark sudoRunAs as deprecated.
+
+2008-05-09 14:48 millert
+
+ * schema.ActiveDirectory: add sudoRunAsUser and sudoRunAsGroup
+
+2008-05-09 14:01 millert
+
+ * schema.ActiveDirectory: Active Directory schema by Chantal
+ Paradis and Eric Paquet
+
+2008-05-08 17:54 millert
+
+ * parse.c: remove an XXX that was fixed
+
+2008-05-08 12:53 millert
+
+ * ChangeLog: sync
+
+2008-05-08 12:49 millert
+
+ * parse.c: Initialize tags to UNSPEC instead of def_* in "sudo -l"
+ mode. This fixes a problem where the tag value printed was
+ influenced by defaults set in the first pass through the parser.
+
+2008-05-03 21:29 millert
+
+ * Makefile.in, sudo.psf: No point in packaging the TODO file
+
+2008-05-03 21:24 millert
+
+ * ChangeLog: sync
+
+2008-05-02 20:53 millert
+
+ * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
+ sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod: Add env_file
+ Defaults option that is similar to /etc/environment on some
+ systems.
+
+2008-05-02 16:38 millert
+
+ * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
+ sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in,
+ sudoers.man.in, version.h, visudo.cat, visudo.man.in: change
+ version to 1.7.0
+
+2008-05-02 16:37 millert
+
+ * UPGRADE: initial valgrind pass done
+
+2008-04-23 08:30 millert
+
+ * ldap.c: Fix typo/think in sudo_ldap_read_secret() when storing
+ the secret.
+
+2008-04-11 10:03 millert
+
+ * ldap.c: define LDAPS_PORT if the system headers do not
+
+2008-04-10 14:54 millert
+
+ * gram.c, gram.y: Fix another memory leak in init_parser().
+
+2008-04-10 12:51 millert
+
+ * configure, configure.in: There was a missing space before the
+ ldap libs in SUDO_LIBS for some configurations.
+
+2008-04-10 11:28 millert
+
+ * alias.c, gram.c, gram.y, toke.c, toke.l: Clean up some memory
+ leaks pointed out by valgrind.
+
+2008-04-07 14:39 millert
+
+ * sudo.c: fix "sudo -s" broken by mode/flags breakout
+
+2008-04-07 14:26 millert
+
+ * configure, configure.in: remove duplicate check for dgettext
+
+2008-04-05 15:54 millert
+
+ * aix.c: Fall back to default stanza if no user-specific limit is
+ found.
+
+2008-04-02 15:56 millert
+
+ * snprintf.c: include stdint.h if present
+
+2008-04-02 15:28 millert
+
+ * snprintf.c: Use LLONG_MAX, not the old QUAD_MAX
+
+2008-04-01 19:18 millert
+
+ * sudoers.ldap.pod: fix cut and pasto
+
+2008-03-31 11:24 millert
+
+ * pwutil.c: Add #ifdef PURITY
+
+2008-03-30 17:36 millert
+
+ * auth/bsdauth.c: remove useless cast
+
+2008-03-27 19:07 millert
+
+ * ChangeLog: sync
+
+2008-03-27 19:04 millert
+
+ * TODO: sync
+
+2008-03-27 19:01 millert
+
+ * sudo.h: Split MODE_* defines into primary and flags.
+
+2008-03-26 13:11 millert
+
+ * aix.c: It turns out the logic for getting AIX limits is more
+ convoluted than I realized and differs depending on whether the
+ soft and/or hard limits are defined.
+
+2008-03-23 10:18 millert
+
+ * Makefile.in, configure, configure.in: Back out AIX-specific
+ change to set the sudo_noexec path to the .a file, we do really
+ want to use the .so file. Since libtool doesn't do that
+ correctly, just install the .so file ourselves in the Makefile.
+
+2008-03-23 10:12 millert
+
+ * install-sh: If the file given to install is a path, only use the
+ basename of the file when building the destination path.
+
+2008-03-18 16:08 millert
+
+ * sudo.c: parse_args() cleanup: Sort command line options in the
+ getopt() switch The -U option requires a parameter Normalize a
+ few ISSET calls Split mode into mode and flags and retire the
+ now-obsolete excl variable
+
+2008-03-18 16:04 millert
+
+ * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
+ sudo.pod, sudo_usage.h.in: Add -n (non-interactive) flag.
+
+2008-03-18 15:59 millert
+
+ * sudo.c: Move version printing, etc. into a separate function.
+
+2008-03-18 15:57 millert
+
+ * sudo.c: Don't try to cleanup nsswitch if it has not been
+ initialized.
+
+2008-03-17 11:09 millert
+
+ * logging.c: Block SIGPIPE in send_mail() so sudo is not killed by
+ a problem executing the mailer.
+
+2008-03-14 08:11 millert
+
+ * configure.in, configure: AIX shared libs end in .a, not .so.
+
+2008-03-13 07:34 millert
+
+ * env.c: Preserve HOME by default too. Matches documentation and
+ previous behavior.
+
+2008-03-12 19:42 millert
+
+ * sudo.c: Use getopt() to parse the command line. We need to be
+ able to intersperse env variables and options yet still honor
+ "--"" which complicates things slightly.
+
+2008-03-06 14:46 millert
+
+ * ChangeLog: sync
+
+2008-03-06 14:43 millert
+
+ * acsite.m4, configure, ltmain.sh: update to libtool-1.5.26
+
+2008-03-06 14:32 millert
+
+ * config.guess, config.sub: update from libtool-1.5.26 distribution
+
+2008-03-06 13:18 millert
+
+ * aix.c, sudo.h: attempt to fix compilation errors on AIX
+
+2008-03-06 13:08 millert
+
+ * Makefile.in: fix typo in last commit
+
+2008-03-06 13:07 millert
+
+ * Makefile.in: Add WHATSNEW file to the distribution
+
+2008-03-06 12:43 millert
+
+ * visudo.c: use warningx instead of fprintf(stderr, ...)
+
+2008-03-06 12:31 millert
+
+ * list.c: add DEBUG to list2tq
+
+2008-03-06 12:28 millert
+
+ * ChangeLog, TODO: sync
+
+2008-03-06 12:21 millert
+
+ * WHATSNEW: mention mailfrom
+
+2008-03-06 12:19 millert
+
+ * Makefile.in, config.h.in, configure, configure.in, set_perms.c,
+ sudo.h, aix.c: Add aix_setlimits() to set resource limits on AIX
+ using a combination of getuserattr() and setrlimit(). Currently
+ untested.
+
+2008-03-05 16:52 millert
+
+ * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
+ sudoers.pod, sudoers.man.in: Add mailfrom Defaults option that
+ sets the value of the From: field in the warning/error mail. If
+ unset the login name of the invoking user is used.
+
+2008-03-05 16:18 millert
+
+ * defaults.c: store a copy of _PATH_SUDO_ASKPASS in def_askpass
+ that is freeable
+
+2008-03-05 15:19 millert
+
+ * gram.c, gram.y: When adding a default, only call list2tq() once
+ to do the list to tq conversion. It is not legal to call list2tq
+ multiple times on the same list since list2tq consumes and
+ modifies the list argument.
+
+2008-03-05 09:38 millert
+
+ * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: comment
+ out XXXs for now
+
+2008-03-05 09:36 millert
+
+ * WHATSNEW: mention askpass
+
+2008-03-04 17:20 millert
+
+ * sudo.c: Error out if both -A and -S are specified Error out if -A
+ is specified but no askpass is configured
+
+2008-03-04 17:16 millert
+
+ * configure, configure.in: we are not going to ship a sudo-specific
+ askpass
+
+2008-03-03 14:30 millert
+
+ * sudo.h: fix definition of TGP_ASKPASS
+
+2008-03-03 13:54 millert
+
+ * def_data.c, def_data.in: make askpass boolean-capable
+
+2008-03-03 13:53 millert
+
+ * INSTALL: document --with-askpass
+
+2008-03-02 19:27 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
+ sudoers.ldap.cat, visudo.cat: regen
+
+2008-03-02 17:31 millert
+
+ * sudo.pod, sudo_usage.h.in, sudoers.pod: document -A and askpass
+
+2008-03-02 09:31 millert
+
+ * check.c, configure, configure.in, def_data.c, def_data.h,
+ def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
+ sudo_usage.h.in, tgetpass.c, auth/sudo_auth.c: Add support for
+ running a helper program to read the password when no tty is
+ present (or when specified with the -A flag). TODO: docs.
+
+2008-03-02 08:38 millert
+
+ * def_data.c, def_data.in: add missing printf format to SELinux
+ role and type strings
+
+2008-02-27 09:26 millert
+
+ * INSTALL, configure, configure.in: Disable use of
+ gss_krb5_ccache_name() by default and add
+ --enable-gss-krb5-ccache-name configure option to enable it. It
+ seems that gss_krb5_ccache_name() doesn't work properly with some
+ combinations of Heimdal and OpenLDAP.
+
+2008-02-22 15:33 millert
+
+ * selinux.c: Ignore setexeccon() failing in permissive mode. Also
+ add a call to setkeycreatecon() (though this is probably
+ insufficient). From Dan Walsh.
+
+2008-02-22 15:19 millert
+
+ * auth/pam.c: Only set std_prompt for the PAM_PROMPT_* cases. The
+ conversation function may be called for non-password reading
+ purposes so we must be careful not to use def_prompt in cases
+ where it may not be set.
+
+2008-02-20 12:00 millert
+
+ * selinux.c: Don't free the new tty context, we need to keep it
+ around when we restore the tty context after the command
+ completes
+
+2008-02-19 16:04 millert
+
+ * selinux.c: s/newrole/sudo/
+
+2008-02-19 13:21 millert
+
+ * sudo.man.pl, sudo.pod: Only put login_cap(3) in SEE ALSO section
+ if we have login.conf support
+
+2008-02-18 11:05 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
+ sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
+ regen
+
+2008-02-18 10:53 millert
+
+ * Makefile.in, configure, configure.in, sudo.man.pl, sudo.pod,
+ sudoers.man.pl, sudoers.pod: Substitute in comment characters for
+ lines partaining to login.conf, BSD auth and SELinux and only
+ enable them if pertinent.
+
+2008-02-18 10:42 millert
+
+ * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
+ Remove the =cut on the first line (above the copyright notice) to
+ quiet pod2man. Also remove the hackery in the FILES section and
+ just deal with the fact that there will a newline between each
+ pathname.
+
+2008-02-17 08:19 millert
+
+ * Makefile.in: run sudo.man.pl when generating sudo.man.in
+
+2008-02-17 08:11 millert
+
+ * configure, configure.in, sudo.man.pl: comment out SELinux manual
+ bits unless --with-selinux was specified
+
+2008-02-17 08:04 millert
+
+ * sudoers.pod: document role and type defaults for SELinux
+
+2008-02-16 20:26 millert
+
+ * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
+ Document "sudo -ll" and make "sudo -l -l" be equivalent.
+
+2008-02-15 15:23 millert
+
+ * configure.in, configure: Treat k*bsd*-gnu like Linux, not BSD.
+ Fixes compilation problems on Debian GNU/kFreeBSD.
+
+2008-02-13 17:17 millert
+
+ * auth/kerb5.c: Avoid Heimdal'isms introduced in the rev 1.32
+ rewrite of verify_krb_v5_tgt()
+
+2008-02-13 07:28 millert
+
+ * logging.c, logging.h, sudo.c: Remove dependence on
+ VALIDATE_NOT_OK in logging functions. Split log_auth() into
+ log_allowed() and log_denial() Replace mail_auth() with
+ should_mail() and a call to send_mail()
+
+2008-02-10 18:06 millert
+
+ * ldap.c: Add debugging so we can tell if the krb5 ccache is
+ accessible
+
+2008-02-10 17:34 millert
+
+ * INSTALL: mention --with-selinux
+
+2008-02-09 09:48 millert
+
+ * configure: regen
+
+2008-02-09 09:43 millert
+
+ * selinux.c: add Sudo tag
+
+2008-02-09 09:30 millert
+
+ * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
+ def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
+ pathnames.h.in, selinux.c, sesh.c, sudo.c, sudo.cat, sudo.h,
+ sudo.man.in, sudo.pod, sudo_usage.h.in, sudoers.ldap.cat,
+ sudoers.ldap.man.in, sudoers.ldap.pod, testsudoers.c, toke.c,
+ toke.l: Add support for SELinux RBAC. Sudoers entries may
+ specify a role and type. There are also role and type defaults
+ that may be used. To make sure a transition occurs, when using
+ RBAC commands are executed via the new sesh binary. Based on
+ initial changes from Dan Walsh.
+
+2008-02-08 08:18 millert
+
+ * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c: Add long
+ list (sudo -ll) support for printing verbose LDAP and sudoers
+ file entries. Still need to update manual.
+
+2008-02-03 10:43 millert
+
+ * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h: Unify the -l
+ output for file and ldap based sudoers and use lbufs for both.
+ The ldap output does not currently include options that cannot be
+ represented as tags. This will be remedied in a long list output
+ mode to come.
+
+2008-01-27 16:37 millert
+
+ * set_perms.c: Use a specific error message for errno == EAGAIN
+ when setuid() et al fails. On Linux systems setuid() will fail
+ with errno set to EAGAIN if changing to the new uid would result
+ in a resource limit violation.
+
+2008-01-27 16:34 millert
+
+ * sudo.c: Unlimit nproc on Linux systems where calling the setuid()
+ family of syscalls causes the nroc resource limit to be checked.
+ The limits will be reset by pam_limits.so when PAM is used. In
+ the non-PAM case the nproc limit will remain unlimited but there
+ doesn't seem to be a way around that other than having sudo parse
+ /etc/security/limits.conf directly.
+
+2008-01-27 16:31 millert
+
+ * env.c, sudo.c, sudo.pod: Only read /etc/environment on Linux and
+ AIX
+
+2008-01-23 06:33 millert
+
+ * configure, configure.in: Use SUDO_DEFINE_UNQUOTED instead of
+ AC_DEFINE_UNQUOTED to prevent ldap.conf and ldap.secret paths
+ from going into config.h. Avoid single quotes in variable
+ expansion when using SUDO_DEFINE_UNQUOTED since in some versions
+ of bash they will end up literally in the resulting define.
+
+2008-01-21 13:22 millert
+
+ * README.LDAP: mention --with-nsswitch=no
+
+2008-01-21 11:43 millert
+
+ * configure, configure.in: ldap_ssl.h depends on ldap.h being
+ included first
+
+2008-01-21 11:07 millert
+
+ * configure, configure.in, ldap.c, config.h.in: Include ldap_ssl.h
+ if we can find it. Needed for the ldapssl_set_strength defines
+ on HP-UX at least.
+
+2008-01-21 10:02 millert
+
+ * TODO, sudoers.ldap.pod: sync
+
+2008-01-21 10:01 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
+ sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
+ regen
+
+2008-01-21 10:00 millert
+
+ * Makefile.in: Use 78n line length when formatting cat pages.
+
+2008-01-21 09:50 millert
+
+ * README.LDAP: Remove redundant info that is now in
+ sudoers.ldap.pod
+
+2008-01-20 16:18 millert
+
+ * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
+ Reorganize the first section a bit. Substitute the proper path
+ for /etc/sudoers.
+
+2008-01-20 10:17 millert
+
+ * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
+ Substitute values for ldap.conf, ldap.secret and nsswitch.conf
+ Move schema into EXAMPLES
+
+2008-01-20 10:15 millert
+
+ * configure.in, configure: Substitute values for ldap.conf,
+ ldap.secret and nsswitch.conf into sudoers.ldap.man.
+
+2008-01-19 20:35 millert
+
+ * configure, configure.in: substitute for sudoers.ldap.man
+
+2008-01-19 20:34 millert
+
+ * Makefile.in: Fix cut & pasto introduced when adding sudoers.ldap
+ man page.
+
+2008-01-19 20:25 millert
+
+ * sudoers.ldap.pod, sudoers.ldap.cat, sudoers.ldap.man.in: Fill in
+ some of the missing pieces. Still needs some reorganization and
+ editing.
+
+2008-01-19 15:06 millert
+
+ * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
+ sudoers.ldap.pod: Beginnings of a sudoers.ldap man page.
+ Currently, much of the information is adapted from README.LDAP.
+
+2008-01-18 17:32 millert
+
+ * pwutil.c: When copying gr_mem we must guarantee that the storage
+ space for gr_mem is properly aligned. The simplest way to do
+ this is to simply store gr_mem directly after struct group. This
+ is not a problem for gr_passwd or gr_name as they are simple
+ strings.
+
+2008-01-18 16:47 millert
+
+ * ldap.c: Fix a typo/thinko in one of the calls to
+ sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
+
+2008-01-17 15:44 millert
+
+ * config.h.in, configure, configure.in, ldap.c: include
+ <mps/ldap_ssl.h> in ldap.c if available
+
+2008-01-16 18:20 millert
+
+ * gram.c, gram.y: Make sure we define SIZE_MAX for yacc's
+ skeleton.c
+
+2008-01-16 13:03 millert
+
+ * tgetpass.c: Use TCSAFLUSH when restoring terminal settings (and
+ echo) to guarantee that any pending output is discarded
+
+2008-01-15 17:18 millert
+
+ * sudoers: no longer need to specify SETENV when user has sudo ALL
+
+2008-01-15 09:40 millert
+
+ * testsudoers.c: sync user_args size calculation with sudo.c Add -g
+ group option, renaming old -g to -G Add set_runasgr() and
+ set_runaspw() and use them
+
+2008-01-15 09:23 millert
+
+ * sudo.h, sudo.c: Make set_runaspw static void
+
+2008-01-15 09:17 millert
+
+ * testsudoers.c, visudo.c: g/c set_runaspw stub
+
+2008-01-15 07:28 millert
+
+ * configure, configure.in: Don't add -llber twice.
+
+2008-01-14 06:40 millert
+
+ * ldap.c: fix typo
+
+2008-01-13 15:39 millert
+
+ * gram.c: regen
+
+2008-01-13 14:57 millert
+
+ * configure, configure.in: Fix check that determines whether -llber
+ is required.
+
+2008-01-13 14:22 millert
+
+ * config.h.in, configure, configure.in, README.LDAP, ldap.c: For
+ netscape-based LDAP, use ldapssl_set_strength() to implement the
+ checkpeer ldap.conf option.
+
+2008-01-13 09:49 millert
+
+ * auth/kerb5.c: Delay krb5_cc_initialize() until we actually need
+ to use the cred cache, which is what krb5_verify_user() does.
+ Better cleanup on failure.
+
+2008-01-12 12:40 millert
+
+ * auth/kerb5.c: Rewrite verify_krb_v5_tgt() based on what heimdal's
+ krb5_verify_user() does.
+
+2008-01-09 14:58 millert
+
+ * gram.c: The U suffix on constants is an ANSI feature
+
+2008-01-09 12:08 millert
+
+ * configure.in, configure: Add check for ber_set_option() in -llber
+
+2008-01-06 19:02 millert
+
+ * README.LDAP: default if no nsswitch.conf is files only
+
+2008-01-06 17:28 millert
+
+ * README.LDAP: don't tell people to mail aaron about LDAP stuff
+
+2008-01-06 12:32 millert
+
+ * README.LDAP: timelimit and bind_timelimit
+
+2008-01-06 08:54 millert
+
+ * ChangeLog: sync
+
+2008-01-06 07:56 millert
+
+ * ldap.c: Move ldap.secret reading into a separate function.
+
+2008-01-05 19:09 millert
+
+ * check.c: user_runas -> runas_pw
+
+2008-01-05 18:59 millert
+
+ * TODO: sync
+
+2008-01-05 18:59 millert
+
+ * check.c, sudo.pod, sudoers.pod: Add and document the %p escape in
+ the password prompt. Based on a patch from Patrick Schoenfeld.
+
+2008-01-05 18:25 millert
+
+ * ldap.c: Check strlcpy() return values.
+
+2008-01-05 18:12 millert
+
+ * ldap.c: refactor ldap binding code into sudo_ldap_bind_s()
+
+2008-01-05 16:35 millert
+
+ * README.LDAP: Make it clear that host and uri can take multiple
+ parameters. URI is now supported for more than just openldap
+ nsswitch.conf does't accept "compat"
+
+2008-01-05 16:27 millert
+
+ * sudo.c: comment cleanup and update (c) year
+
+2008-01-05 16:25 millert
+
+ * parse.c, sudo_nss.c: Move display_privs() and display_cmnd() from
+ parse.c to sudo_nss.c. This should make it possible to build an
+ LDAP-only sudo binary.
+
+2008-01-05 13:27 millert
+
+ * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h: Improve chaining of
+ multiple sudoers sources by passing in the previous return value
+ to the next in the chain
+
+2008-01-05 13:26 millert
+
+ * gram.y: Free up parser data structures in sudo_file_close().
+
+2008-01-05 08:13 millert
+
+ * gram.c, parse.c: Free up parser data structures in
+ sudo_file_close().
+
+2008-01-05 07:59 millert
+
+ * ldap.c: Parse uri ourself if no ldap_initialize() is present Use
+ ldap_create() instead of deprecated ldap_init() Use
+ ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
+
+2008-01-05 07:56 millert
+
+ * config.h.in, configure, configure.in: Add check for
+ ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from CFLAGS
+
+2008-01-04 09:56 millert
+
+ * configure.in, configure, config.h.in: add check for ldap_create
+
+2008-01-03 16:11 millert
+
+ * config.h.in, configure, configure.in, ldap.c: Add
+ sudo_ldap_get_first_rdn() to return the first rdn of an entry's
+ dn using the mechanism appropriate for the LDAP SDK in use. Use
+ ldap_unbind_ext_s() instead of deprecated ldap_unbind_s().
+ Emulate ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's
+ without them.
+
+2008-01-03 16:02 millert
+
+ * lbuf.c: include unistd.h
+
+2008-01-03 11:05 millert
+
+ * config.h.in, configure.in: fix typo in mtim_getnsec
+
+2008-01-02 15:29 millert
+
+ * config.h.in, configure.in, configure: add check for st__tim in
+ struct stat as used by SCO
+
+2008-01-02 11:05 millert
+
+ * ldap.c: use ldap_search_ext_s instead of deprecated ldap_search_s
+
+2008-01-02 10:09 millert
+
+ * Makefile.in, TODO, sudo.cat, sudo.man.in: add sudo_nss.h to HDRS
+
+2008-01-01 19:04 millert
+
+ * ldap.c: Replace deprecated ldap_explode_dn() with calls to
+ ldap_str2dn() and ldap_rdn2str().
+
+2008-01-01 18:37 millert
+
+ * ldap.c: Use ldap_get_values_len()/ldap_value_free_len() instead
+ of the deprecated ldap_get_values()/ldap_value_free().
+
+2008-01-01 17:07 millert
+
+ * TODO, ChangeLog: sync
+
+2008-01-01 17:06 millert
+
+ * gettime.c, sudo.c: Remove some already fixed XXXs
+
+2008-01-01 17:03 millert
+
+ * ldap.c: Same return value as non-existent sudoers if LDAP was
+ unable to connect.
+
+2008-01-01 16:52 millert
+
+ * sudo.pod: mention /etc/environment
+
+2008-01-01 16:42 millert
+
+ * UPGRADE, WHATSNEW, README.LDAP: Update to reflect recent
+ developments.
+
+2008-01-01 16:42 millert
+
+ * sudo.c: Print nsswitch.conf, ldap.conf and ldap.secret paths in
+ -V output.
+
+2008-01-01 16:25 millert
+
+ * ldap.c: When building up a query don't list groups in the aux
+ group vector that are the same as the passwd file group. On most
+ systems the first gid in the group vector is the same as the
+ passwd entry gid.
+
+2008-01-01 14:01 millert
+
+ * env.c, ldap.c: Define LDAPNOINIT before calling ldap_init(), etc.
+ to disable user ldaprc and system defaults that could affect how
+ LDAP works.
+
+2008-01-01 13:21 millert
+
+ * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
+ sudo_nss.c, sudo_nss.h: Rename read_nss -> sudo_read_nss Add
+ --with-nsswitch to allow users to specify nsswitch.conf path or
+ disable it. If --with-nsswitch=no but --with-ldap, order is
+ LDAP, then sudoers. Fix --with-ldap-conf-file and
+ --with-ldap-secret-file
+
+2008-01-01 13:12 millert
+
+ * parse.c: Honor def_ignore_local_sudoers
+
+2007-12-31 16:44 millert
+
+ * ldap.c: no longer need to check def_ignore_local_sudoers here
+
+2007-12-31 16:36 millert
+
+ * parse.c: Refactor group vector resetting into a function and also
+ call it from display_cmnd. Stop after the first sucessful match
+ in display_cmnd. Print a newline between each display_privs
+ method.
+
+2007-12-31 16:23 millert
+
+ * parse.c: fix double free introduced in rev 1.218
+
+2007-12-31 16:10 millert
+
+ * ldap.c: belt and suspenders; zero out result after freeing it
+
+2007-12-31 15:04 millert
+
+ * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c: Refactor line
+ reading into a separate function, sudo_parseln(), which removes
+ comments, leading/trailing whitespace and newlines. May want to
+ rethink the use of sudo_parseln() for /etc/ldap.secret
+
+2007-12-31 14:26 millert
+
+ * parse.c, sudo.c: Make the inability to read the sudoers file a
+ non-fatal error if there are other sudoers sources available.
+ sudoers_file_lookup now returns "not OK" if sudoers was not
+ present
+
+2007-12-31 14:24 millert
+
+ * ldap.c: make it clear that the global options are from LDAP
+
+2007-12-31 14:13 millert
+
+ * logging.c: allocate proper amount of space for error string
+
+2007-12-31 10:24 millert
+
+ * sudo_nss.c, sudo_nss.h: actual sudo nss code
+
+2007-12-31 10:08 millert
+
+ * ldap.c, parse.c, sudo.c, sudo.h: nss-ify display_privs and
+ display_cmnd.
+
+2007-12-31 07:54 millert
+
+ * defaults.c, parse.c, testsudoers.c, visudo.c: move
+ update_defaults() to parse.c
+
+2007-12-31 07:39 millert
+
+ * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
+ Use nsswitch to hide some sudoers vs. ldap implementation details
+ and reduce the number of #ifdef LDAP TODO: fix display routines
+ and error handling
+
+2007-12-28 11:20 millert
+
+ * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
+ First cut at nsswitch.conf support. Further reorganizaton and
+ related changes are forthcoming.
+
+2007-12-21 16:53 millert
+
+ * env.c, pathnames.h.in, sudo.c, sudo.h: Add support for reading
+ and /etc/environment file. Still needs to be documented and
+ should probably only applies to OSes that have it (AIX and Linux,
+ maybe others).
+
+2007-12-21 16:20 millert
+
+ * ldap.c: include limits.h
+
+2007-12-20 10:02 millert
+
+ * WHATSNEW: reword LDAP SASL
+
+2007-12-19 16:40 millert
+
+ * TODO: sync
+
+2007-12-19 16:39 millert
+
+ * README.LDAP: Add an example sudoRole, clarify netscape vs.
+ openldap a bit more
+
+2007-12-19 14:42 millert
+
+ * README.LDAP: Be clear on what is OpenLDAP vs. Netscape-derived
+
+2007-12-19 14:28 millert
+
+ * config.h.in, configure, configure.in, ldap.c: Use ldapssl_init()
+ for ldaps support instead of trying to do it manually with
+ ldap_init() + ldapssl_install_routines(). Use tls_cert and
+ tls_key for cert7.db and key3.db respectively. Don't print
+ debugging info for options that are not set. Add warning if
+ start_tls specified when not supported.
+
+2007-12-19 14:25 millert
+
+ * ldap.c: fix compilation on solaris
+
+2007-12-19 14:23 millert
+
+ * Makefile.in: add missing .h and .c files for missing lib objs
+
+2007-12-18 09:54 millert
+
+ * ldap.c: fix LDAP_OPT_NETWORK_TIMEOUT setting
+
+2007-12-17 20:10 millert
+
+ * ldap.c: fix compilation on Solaris
+
+2007-12-17 10:14 millert
+
+ * configure, configure.in: fix typo
+
+2007-12-17 08:08 millert
+
+ * README.LDAP: try to clear up which variables are for OpenLDAP and
+ which are for netscape-derived SDKs
+
+2007-12-17 07:31 millert
+
+ * config.h.in, configure, configure.in, ldap.c: Add support for
+ "ssl on" in both netscape and openldap flavors. Only the
+ OpenLDAP flavor has been tested.
+
+2007-12-17 07:28 millert
+
+ * logging.c, sudo.c, sudo.h: Call cleanup() before exit in
+ log_error() instead of calling sudo_ldap_close() directly.
+ ldap_conn can now be static to sudo.c
+
+2007-12-16 20:02 millert
+
+ * sudo.c: ld -> ldap_conn
+
+2007-12-16 14:42 millert
+
+ * logging.c, sudo.c, sudo.h: Better ldap cleanup.
+
+2007-12-16 14:08 millert
+
+ * ldap.c: Distinguish between LDAP conf settings that are
+ connection-specific (which take an ld pointer) and those that are
+ default settings (which do not).
+
+2007-12-14 16:46 millert
+
+ * ldap.c: Improved warnings on error.
+
+2007-12-14 15:59 millert
+
+ * ldap.c: Make ldap config table driven and set the config *after*
+ we open the connection.
+
+2007-12-13 16:41 millert
+
+ * ldap.c: fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
+
+2007-12-13 09:13 millert
+
+ * configure, configure.in: some operating systems need to link with
+ -lkrb5support when using krb5
+
+2007-12-10 17:12 millert
+
+ * WHATSNEW: minor update
+
+2007-12-10 10:56 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen
+
+2007-12-07 19:17 millert
+
+ * TODO, ChangeLog: sync
+
+2007-12-07 19:09 millert
+
+ * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif: add -g
+ support for LDAP
+
+2007-12-03 11:36 millert
+
+ * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in: The -i and -s flags
+ can now take an optional command.
+
+2007-12-02 12:13 millert
+
+ * def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
+ sudoers.pod, auth/pam.c: Add passprompt_override flag to sudoers
+ that will cause the prompt to be overridden in all cases. This
+ flag is also set when the user specifies the -p flag.
+
+2007-12-01 19:51 millert
+
+ * sudo.c: Move setting of login class until after sudoers has been
+ parsed. Set NewArgv[0] for -i after runas_pw has been set.
+
+2007-12-01 19:34 millert
+
+ * configure, configure.in: Move the dgettext check.
+
+2007-12-01 11:22 millert
+
+ * config.h.in, configure, configure.in, auth/pam.c: Add basic
+ support for looking up the string "Password: " in the PAM
+ localized text db. This allows us to determine whether the PAM
+ prompt is the default "Password: " one even if it has been
+ localized.
+
+ TODO: concatenate non-std PAM prompts and user-specified sudo
+ prompts.
+
+2007-11-27 18:40 millert
+
+ * Makefile.in, config.h.in, configure.in, parse.c, set_perms.c,
+ sudo.c, configure, sudo.h: Use AC_FUNC_GETGROUPS instead of a
+ home-grown attempt that was insufficient.
+
+2007-11-27 12:13 millert
+
+ * configure, acsite.m4, interfaces.c, memrchr.c: Fix typos;
+ Martynas Venckus
+
+2007-11-25 19:26 millert
+
+ * set_perms.c: Don't assume runas_pw is set; it may not be in the
+ -g case.
+
+2007-11-25 08:07 millert
+
+ * logging.c, set_perms.c: Set aux group vector for PERM_RUNAS and
+ restore group vector for PERM_ROOT if we previously changed it.
+ Stash the runas group vector so we don't have to call initgroups
+ more than once. Also add no-op check to check_perms.
+
+2007-11-21 15:11 millert
+
+ * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h,
+ gram.y, ldap.c, logging.c, match.c, mon_systrace.c, parse.c,
+ parse.h, pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h,
+ sudo.man.in, sudo.pod, sudo_usage.h.in, sudoers.cat,
+ sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, visudo.c,
+ visudo.cat, visudo.man.in: Add support for runas groups. This
+ allows the user to run a command with a different effective
+ group. If the -g option is specified without -u the command will
+ be run as the current user (only the group will change). the -g
+ and -u options may be used together. TODO: implement runas group
+ for ldap improve runas group documentation add
+ testsudoers support
+
+2007-11-21 15:02 millert
+
+ * configure, configure.in: fix setting of mandir
+
+2007-11-21 14:26 millert
+
+ * sudo.pod, sudoers.pod: document that ALL implies SETENV
+
+2007-11-21 13:50 millert
+
+ * ldap.c: s/setenv_ok/setenv_implied/g
+
+2007-11-21 13:44 millert
+
+ * ldap.c: hostname_matches() returns TRUE on match in sudo 1.7.
+
+2007-11-21 13:26 millert
+
+ * ldap.c: use strcmp, not strcasecmp when comparing ALL
+
+2007-11-21 11:41 millert
+
+ * ldap.c: Make sudo ALL imply setenv. Note that unlike with
+ file-based sudoers this does affect all the commands in the
+ sudoRole.
+
+2007-11-21 11:05 millert
+
+ * gram.c, gram.y, parse.c, parse.h: sudo "ALL" now implies the
+ SETENV tag but, unlike an explicit tag, it is not passed on to
+ other commands in the list.
+
+2007-11-21 11:02 millert
+
+ * visudo.c: Add missing sudo_setpwent() and sudo_setgrent() calls.
+ Also use sudo_getpwuid() instead of getpwuid().
+
+2007-11-15 11:16 millert
+
+ * sudoers: Expand on the dangers of not using visudo to edit
+ sudoers.
+
+2007-11-08 07:24 millert
+
+ * parse.c: Don't quote *?[]! on output since the lexer does not
+ strip off the backslash when reading those in.
+
+2007-11-07 13:16 millert
+
+ * glob.c: expand "u_foo" types to "unsigned foo" to avoid
+ compatibility issues.
+
+2007-11-04 08:33 millert
+
+ * logging.c: Refactor log line generation in to new_logline().
+
+2007-10-25 09:23 millert
+
+ * TROUBLESHOOTING: fix typo
+
+2007-10-24 12:41 millert
+
+ * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
+ match.c: Add configure check for struct in6_addr instead of
+ relying on AF_INET6 since some systems define AF_INET6 but do not
+ include IPv6 support.
+
+2007-10-21 09:29 millert
+
+ * configure, configure.in: Fix block to add -lutil for FreeBSD and
+ NetBSD when logincap is in use.
+
+2007-10-19 22:28 millert
+
+ * configure, configure.in: POSIX states that struct timespec be
+ declared in time.h so check there regardless of the value of
+ TIME_WITH_SYS_TIME.
+
+2007-10-17 11:37 millert
+
+ * tgetpass.c: Instead of defining a macro to call the appropriate
+ method for turning on/off echo, just define tc[gs]etattr() and
+ the related defines that use the correct terminal ioctls if
+ needed. Also go back to using TCSAFLUSH instead of TCSADRAIN on
+ all but QNX.
+
+2007-10-08 20:18 millert
+
+ * Makefile.in: g/c @ALLOCA@
+
+2007-10-08 20:07 millert
+
+ * configure: regen
+
+2007-10-08 20:04 millert
+
+ * INSTALL, config.h.in, configure.in, auth/pam.c: Add
+ --disable-pam-session configure option to disable calling
+ pam_{open,close}_session. May work around bugs in some PAM
+ implementations.
+
+2007-10-08 12:00 millert
+
+ * tgetpass.c: quiet gcc warnings
+
+2007-10-08 08:41 millert
+
+ * tgetpass.c: Avoid printing the prompt if we are already
+ backgrounded. E.g. if the user runs "sudo foo &" from the shell.
+ In this case, the call to tcsetattr() will cause SIGTTOU to be
+ delivered.
+
+2007-09-15 16:07 millert
+
+ * def_data.c, def_data.h, def_data.in: Reorder things such that the
+ definition of env_reset come right before the env variable lists.
+
+2007-09-15 07:50 millert
+
+ * parse.h: Shrink type and seqno in struct alias from int to
+ u_short
+
+2007-09-15 07:24 millert
+
+ * alias.c, match.c, parse.c, parse.h: Add a sequence number in the
+ aliases for loop detection. If we find an alias with the seqno
+ already set to the current (global) value we know we've visited
+ it before so ignore it.
+
+2007-09-13 19:05 millert
+
+ * TODO, sudo.c, sudo.h, auth/pam.c: PAM wants the full tty path so
+ add user_ttypath which holds the full path to the tty or is NULL
+ if no tty was present.
+
+2007-09-13 18:42 millert
+
+ * auth/pam.c: Set PAM_RHOST to work around a bug in Solaris 7 and
+ lower that results in a segv.
+
+2007-09-11 15:43 millert
+
+ * gram.c: regen
+
+2007-09-11 15:42 millert
+
+ * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
+ parse.h, testsudoers.c, visudo.c: rename lh_ -> tq_
+
+2007-09-10 17:33 millert
+
+ * alloc.c: remove some useless casts
+
+2007-09-10 17:32 millert
+
+ * alloc.c: pull in inttypes.h for SIZE_MAX; we avoid stdint.h since
+ inttypes.h predates the final C99 spec and the standard specifies
+ that it shall include stdint.h anyway
+
+2007-09-06 12:39 millert
+
+ * Makefile.in, alloca.c, configure.in: Since we ship with a
+ pre-generated parser there is no need to ship a bogus alloca
+ implementation.
+
+2007-09-06 12:22 millert
+
+ * configure: regen
+
+2007-09-06 12:19 millert
+
+ * configure.in: remove initial setting of CHECKSIA, we require that
+ it be unset if not used
+
+2007-09-06 11:55 millert
+
+ * Makefile.in: add list.c to SRCS
+
+2007-09-06 07:18 millert
+
+ * configure: regen
+
+2007-09-06 07:17 millert
+
+ * configure.in: only do SIA checks on Digital Unix
+
+2007-09-05 18:50 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2007-09-05 18:48 millert
+
+ * ChangeLog, TODO: sync
+
+2007-09-05 18:39 millert
+
+ * auth/kerb5.c: Remove call to krb5_cc_register() as it is not
+ needed for modern kerb5.
+
+2007-09-05 18:16 millert
+
+ * configure: regen
+
+2007-09-05 18:16 millert
+
+ * configure.in, aclocal.m4: New method for setting the default
+ authentication type and avoiding conflicts in auth types.
+
+2007-09-05 14:45 millert
+
+ * match.c, parse.c, testsudoers.c: Each entry in a cmndlist now has
+ an associated runaslist so no need to keep track of the most
+ recent non-NULL one.
+
+2007-09-04 18:51 millert
+
+ * ldap.c: back out partial ldaps support mistakenly committed
+
+2007-09-04 10:57 millert
+
+ * ldap.c: Add support for unix groups and netgroups in sudoRunas
+
+2007-09-03 16:28 millert
+
+ * sudo_edit.c: Fix sudoedit of a non-existent file. From Tilo
+ Stritzky.
+
+2007-09-02 17:05 millert
+
+ * configure: regen
+
+2007-09-02 17:05 millert
+
+ * INSTALL: update --passprompt escape info
+
+2007-09-02 17:03 millert
+
+ * configure.in: remove now-bogus comment and update copyright date
+
+2007-09-02 16:35 millert
+
+ * configure.in: Fix up use of with_passwd
+
+2007-09-02 16:25 millert
+
+ * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
+ Update to autoconf-2.61 andf libtool-1.5.24
+
+2007-09-02 16:17 millert
+
+ * Makefile.in: "cmp -s" not just cmp Add @datarootdir@ to quiet
+ autoconf-2.61
+
+2007-09-01 17:39 millert
+
+ * gram.c: regen
+
+2007-09-01 17:39 millert
+
+ * gram.y: move tags and runaslist propagation to be earlier
+
+2007-09-01 09:34 millert
+
+ * visudo.c: If -f flag given use the permissions of the original
+ file as a template
+
+2007-09-01 08:45 millert
+
+ * gram.y: prevent a double free() when re-initing the parser
+
+2007-08-31 19:30 millert
+
+ * configure: regen
+
+2007-08-31 19:30 millert
+
+ * aclocal.m4, alias.c, alloc.c, config.h.in, configure.in, env.c,
+ ldap.c, list.c, list.h, memrchr.c, parse.c, parse.h, pwutil.c,
+ redblack.c, redblack.h, snprintf.c, sudo.c, sudo.h,
+ testsudoers.c, visudo.c, zero_bytes.c, auth/API, auth/afs.c,
+ auth/bsdauth.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
+ auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h:
+ Remove support for compilers that don't support void *
+
+2007-08-31 19:14 millert
+
+ * gram.c: regen
+
+2007-08-31 19:13 millert
+
+ * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h,
+ match.c, parse.c, parse.h, testsudoers.c, visudo.c: Move list
+ manipulation macros to list.h and create C versions of the more
+ complex ones in list.c. The names have been down-cased so they
+ appear more like normal functions.
+
+2007-08-31 17:21 millert
+
+ * Makefile.in: Fix cmp command when regenerating parser. Make
+ gram.o the first dependency for all programs so gram.h will be
+ generated before anything that needs it.
+
+2007-08-31 13:56 millert
+
+ * parse.h, gram.y: Convert NEW_DEFAULT anf NEW_MEMBER into static
+ functions.
+
+2007-08-30 21:21 millert
+
+ * match.c, parse.c, testsudoers.c: Use LH_FOREACH_REV when checking
+ permission and short-circuit on the first non-UNSPEC hit we get
+ for the command. This means that instead of cycling through the
+ all the parsed sudoers entries we start at the end and work
+ backwards and quit after the first positive or negative match.
+
+2007-08-30 21:13 millert
+
+ * gram.c: regen
+
+2007-08-30 21:12 millert
+
+ * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
+ Change list head macros to take a pointer, not a struct.
+
+2007-08-30 20:46 millert
+
+ * gram.c: regen
+
+2007-08-30 20:46 millert
+
+ * gram.y: Propagate the runasspec from one command to the next in a
+ cmndspec.
+
+2007-08-30 16:15 millert
+
+ * match.c: Replace has_meta() with a macro that calls strpbrk().
+
+2007-08-30 16:04 millert
+
+ * gram.c: regen
+
+2007-08-30 13:26 millert
+
+ * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
+ testsudoers.c, visudo.c: Use a list head struct when storing the
+ semi-circular lists and convert to tail queues in the process.
+ This will allow us to reverse foreach loops more easily and it
+ makes it clearer which functions expect a list as opposed to a
+ single member.
+
+ Add macros for manipulating lists. Some of these should become
+ functions.
+
+ When freeing up a list, just pop off the last item in the queue
+ instead of going from head to tail. This is simpler since we
+ don't have to stash a pointer to the next member, we always just
+ use the last one in the queue until the queue is empty.
+
+ Rename match functions that take a list to have list in the name.
+ Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
+
+2007-08-30 13:12 millert
+
+ * parse.c: Fix pasto, append "!" not negated (which is an int) for
+ sudo -l output.
+
+2007-08-30 12:45 millert
+
+ * Makefile.in: Remove the dependency of gram .h on gram.y, the .c
+ dependency is enough. Only move y.tab.h to gram.h if it is
+ different; avoids needless rebuilding.
+
+2007-08-27 15:51 millert
+
+ * sudoers.pod: Defaults lines may be associated with lists of
+ users, hosts, commands and runas users, not just single entries.
+
+2007-08-26 17:42 millert
+
+ * Makefile.in: Revert the "cmp" portion of the last diff, it
+ doesn't make sense.
+
+2007-08-26 17:10 millert
+
+ * Makefile.in: Remove *.lo for clean: When generating the parser,
+ only move the generated files into place if they differ from the
+ existing ones.
+
+2007-08-24 22:47 millert
+
+ * toke.c, toke.l: Replace IPV6 regexp with a much simpler
+ (readable) one and add an extra check when it matches to make
+ sure we have a valid address.
+
+2007-08-24 22:36 millert
+
+ * match.c: Fix thinko introduced when merging IPV6 support.
+
+2007-08-24 14:23 millert
+
+ * HISTORY, LICENSE: regen
+
+2007-08-24 14:23 millert
+
+ * license.pod: add 2007
+
+2007-08-24 14:19 millert
+
+ * UPGRADE: mention #uid vs. comment pitfall
+
+2007-08-24 09:50 millert
+
+ * acsite.m4: Merge in a patch from the libtool cvs that fixes a
+ problem with the latest autoconf. From Stepan Kasal.
+
+2007-08-23 20:28 millert
+
+ * parse.h: Back out he XOR swap trick, it is slower than a temp
+ variable on modern CPUs.
+
+2007-08-23 20:14 millert
+
+ * gram.c: regen
+
+2007-08-23 20:14 millert
+
+ * gram.y, parse.h: Convert the tail queue to a semi-circle queue
+ and use the XOR swap trick to swap the prev pointers during
+ append.
+
+2007-08-23 15:31 millert
+
+ * parse.h: remove useless statement
+
+2007-08-23 07:47 millert
+
+ * toke.c, toke.l: Refactor #include parsing into a separate
+ function and return unparsed chars (such as newline or comment)
+ back to the lexer.
+
+2007-08-22 18:56 millert
+
+ * WHATSNEW: mention better uid support
+
+2007-08-22 18:55 millert
+
+ * sudoers.pod: Users may now consist of a uid.
+
+2007-08-22 18:39 millert
+
+ * gram.c, gram.h, toke.c: regen
+
+2007-08-22 18:32 millert
+
+ * parse.c: Use lbuf_append_quoted() for sudo -l output to quote
+ characters that would require quoting in sudoers.
+
+2007-08-22 18:31 millert
+
+ * lbuf.c, lbuf.h: Add lbuf_append_quoted() which takes a set of
+ characters which should be quoted with a backslash when
+ displayed.
+
+2007-08-22 18:28 millert
+
+ * toke.l: Require that the first character after a comment not be a
+ digit or a dash. This allows us to remove the GOTRUNAS state and
+ treat uid/gids similar to other words. It also means that we can
+ now specify uids in User_Lists and a User_Spec may now contain a
+ uid.
+
+2007-08-22 18:23 millert
+
+ * gram.y, toke.l: Replace RUNAS token with '(' and ')' tokens to
+ make the runas portion of the grammar more natural.
+
+2007-08-22 06:35 millert
+
+ * Makefile.in, README, BUGS: The BUGS file is history
+
+2007-08-21 09:19 millert
+
+ * toke.c, toke.l: Allow comments after a RunasAlias as long as the
+ character after the pound sign isn't a digit or a dash.
+
+2007-08-20 20:43 millert
+
+ * WHATSNEW: Glob support was back-ported to 1.6.9
+
+2007-08-20 19:59 millert
+
+ * Makefile.in: remove sudo_usage.h in distclean
+
+2007-08-20 19:24 millert
+
+ * parse.c: If a Defaults value contains a blank, double-quote the
+ string.
+
+2007-08-20 19:19 millert
+
+ * toke.c, toke.l: Properly deal with Defaults double-quoted strings
+ that span multiple lines using the line continuation char.
+ Previously, the entire thing, including the continuation char,
+ newline, and spaces was stored as-is.
+
+2007-08-20 10:46 millert
+
+ * sudo.c: Be consistent when using single quotes and backticks.
+
+2007-08-19 16:48 millert
+
+ * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
+ sudo.c, sudo_usage.h.in: Add new linebuf code to do appends of
+ dynamically allocated strings and word-wrapped output. Currently
+ used for sudo's usage() and sudo -l output. Sudo usage strings
+ are now in sudo_usage.h which is generated at configure time.
+
+2007-08-18 08:22 millert
+
+ * sudo.h, parse.c, sudo.c: Fix line wrapping in usage() and use the
+ actual tty width instead of assuming 80.
+
+2007-08-17 18:32 millert
+
+ * history.pod: some more info
+
+2007-08-17 17:28 millert
+
+ * history.pod: Mentioned Chris Jepeway's parser and also the new
+ one that is in sudo 1.7.
+
+2007-08-16 09:38 millert
+
+ * sudo.pod, visudo.pod: For the options list, add flag args where
+ appropriate and increase the indent level so there is room for
+ them.
+
+2007-08-15 13:49 millert
+
+ * parse.c: Fix some spacing in "sudo -l" and add a comment about
+ some bogosity in the line wrapping.
+
+2007-08-15 11:21 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
+ visudo.man.in, visudo.cat: regen
+
+2007-08-15 11:20 millert
+
+ * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
+ def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
+ parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
+ testsudoers.c, toke.c, toke.l: Remove monitor support until there
+ is a versino of systrace that uses a lookaside buffer (or we have
+ a better mechanism to use).
+
+2007-08-15 09:22 millert
+
+ * configure.in, configure, config.h.in, sudo.c: use getaddrinfo()
+ instead of gethostbyname() if it is available
+
+2007-08-14 15:27 millert
+
+ * parse.c, sudo.c: Deal with OSes where sizeof(gid_t) <
+ sizeof(int).
+
+2007-08-14 11:19 millert
+
+ * interfaces.c: repair non-getifaddrs() code after ipv6 integration
+
+2007-08-14 10:04 millert
+
+ * sudo.c: If we can open sudoers but fail to read the first byte,
+ close the file stream before trying again.
+
+2007-08-13 12:34 millert
+
+ * gram.c, toke.c: regen
+
+2007-08-13 12:29 millert
+
+ * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
+ Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
+
+2007-08-13 12:23 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Add some missing markup Update
+ copyright
+
+2007-08-12 18:55 millert
+
+ * configure, configure.in: fix sudo_noexec extension which got
+ broken in the libtool update
+
+2007-08-10 10:41 millert
+
+ * Makefile.in: explicitly specify -Tascii to nroff
+
+2007-08-08 16:07 millert
+
+ * logging.c: remove an ANSI-ism that crept in
+
+2007-08-06 20:37 millert
+
+ * sudo.pod: Adjust list indents Prevent -- from being turned into
+ an em dash Use a list for the environment instead of a literal
+ paragraph
+
+2007-08-06 20:36 millert
+
+ * visudo.pod: Use a list for the environment instead of an indented
+ literal paragraph.
+
+2007-08-06 20:33 millert
+
+ * sudoers.pod: Adjust list indentation
+
+2007-08-06 20:31 millert
+
+ * license.pod: add =head3
+
+2007-08-06 10:24 millert
+
+ * sudo.pod: mention that when specifying a uid for the -u option
+ the shell may require that the # be escaped
+
+2007-08-01 22:08 millert
+
+ * match.c: Fix off by one in group matching.
+
+2007-07-31 14:04 millert
+
+ * env.c: Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From
+ David Krause.
+
+2007-07-30 10:45 millert
+
+ * configure, configure.in: Add missing define of
+ HAVE_GSS_KRB5_CCACHE_NAME for the -lgssapi_krb5 case.
+
+2007-07-30 09:29 millert
+
+ * aclocal.m4, configure.in, configure: Fix link tests such that new
+ gcc doesn't optimize away the test.
+
+2007-07-29 19:21 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: add missing over/back
+
+2007-07-29 19:09 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Change FILES section to use
+ =item
+
+2007-07-29 18:32 millert
+
+ * env.c: Add back allocation of the env struct in rebuild_env but
+ save a copy of the old pointer and free it before returning.
+
+2007-07-29 16:09 millert
+
+ * env.c: Don't init the private environment in rebuild_env() since
+ it may have already been done implicitly
+ sudo_setenv/sudo_unsetenv.
+
+ Multiply length by sizeof(char *) in memcpy/memmove when copying
+ the environment so we copy the full thing.
+
+ Add missing set of parens so we deref the right pointer in
+ sudo_unsetenv when searching for a matching variable.
+
+2007-07-26 16:35 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Use file markup for paths in
+ the FILES section
+
+2007-07-26 10:04 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Don't capitalize sudo/visudo
+
+2007-07-26 07:28 millert
+
+ * sudoers.pod: Sort sudoers options; based on a diff from Igor
+ Sobrado.
+
+2007-07-25 16:19 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Use 8 and 5 instead of
+ @mansectsu@ and @mansectform@ since the latter confuses pod2man.
+ The Makefile rules for the .man.in file will add @mansectsu@ and
+ @mansectform@ back in after pod2man is done anyway.
+
+2007-07-22 19:09 millert
+
+ * LICENSE, Makefile.in, license.pod: Move license info to pod
+ format
+
+2007-07-22 18:43 millert
+
+ * configure, configure.in, sudoers.pod: Substitute value of
+ path_info into sudoers man page.
+
+2007-07-22 16:40 millert
+
+ * WHATSNEW: remove features that were back-ported to 1.6.9
+
+2007-07-22 15:20 millert
+
+ * sudo.c, sudo.pod, visudo.c, visudo.pod: Sort SYNOPSIS and sync
+ usage. From Igor Sobrado.
+
+2007-07-22 15:19 millert
+
+ * env.c: Only need sudo_setenv/sudo_unsetenv if we are going to use
+ ldap_sasl_interactive_bind_s() but don't have
+ gss_krb5_ccache_name().
+
+2007-07-22 08:23 millert
+
+ * ChangeLog: rebuild without branch info
+
+2007-07-22 08:23 millert
+
+ * Makefile.in: Add ChangeLog target
+
+2007-07-22 08:14 millert
+
+ * auth/pam.c: Run cleanup code if the user hits ^C at the password
+ prompt.
+
+2007-07-22 08:13 millert
+
+ * auth/pam.c: Some versions of pam_lastlog have a bug that will
+ cause a crash if PAM_TTY is not set so if there is no tty, set
+ PAM_TTY to the empty string.
+
+2007-07-20 09:32 millert
+
+ * Makefile.in: ChageLog not Changelog
+
+2007-07-20 09:31 millert
+
+ * ChangeLog: sync
+
+2007-07-20 09:29 millert
+
+ * Makefile.in: CHANGE -> Changelog
+
+2007-07-19 20:23 millert
+
+ * TODO: sync
+
+2007-07-19 19:53 millert
+
+ * config.h.in, configure.in, configure, ldap.c: Add configure hooks
+ for gss_krb5_ccache_name() and the gssapi headers.
+
+2007-07-18 12:57 millert
+
+ * env.c, sudo.c: rebuild_env() and insert_env_vars() no longer
+ return environment pointer, they set environ directly.
+
+ No longer need to pass around an envp pointer since we just
+ operate on environ now.
+
+ Add dosync argument to insert_env() that indicates whether it
+ should reset environ when realloc()ing env.envp.
+
+ Use an initial size of 128 for the environment.
+
+2007-07-18 12:41 millert
+
+ * env.c: Split sudo_setenv() into an external version and a version
+ only for use by rebuild_env().
+
+2007-07-16 19:40 millert
+
+ * ldap.c: Add support for using gss_krb5_ccache_name() instead of
+ setting KRB5CCNAME. Also use sudo_unsetenv() in the
+ non-gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
+ original environment. TODO: configure setup for
+ gss_krb5_ccache_name()
+
+2007-07-16 18:44 millert
+
+ * README.LDAP: add krb5_ccname
+
+2007-07-16 18:44 millert
+
+ * README.LDAP, ldap.c: Add support for sasl_secprops in ldap.conf
+
+2007-07-16 18:39 millert
+
+ * env.c, sudo.h: Add sudo_unsetenv() and refactor private env
+ syncing code into sync_env().
+
+2007-07-16 07:27 millert
+
+ * README.LDAP, ldap.c: The ldap.conf variable is sasl_auth_id not
+ sasl_authid.
+
+2007-07-15 15:44 millert
+
+ * ldap.c, sudo.c, sudo.h: Add support for krb5_ccname in ldap.conf.
+ If specified, it will override the default value of KRB5CCNAME
+ in the environment for the duration of the call to
+ ldap_sasl_interactive_bind_s().
+
+2007-07-15 15:41 millert
+
+ * env.c, sudo.h: Remove format_env() Add sudo_setenv() to replace
+ most format_env() + insert_env() combinations. insert_env() no
+ longer takes a struct environment *
+
+2007-07-15 12:47 millert
+
+ * ldap.c: Fix use_sasl vs. rootuse_sasl logic.
+
+2007-07-15 09:23 millert
+
+ * README.LDAP, config.h.in, configure, configure.in, ldap.c: Add
+ support for SASL auth when connecting to an LDAP server. Adapted
+ from a diff by Tom McLaughlin.
+
+2007-07-14 16:32 millert
+
+ * configure, configure.in: Only enable AIX or BSD auth if no other
+ exclusive auth method has been chosen. Allows people to e.g.,
+ use PAM on AIX without adding --without-aixauth. A better
+ solution is needed to deal with default authentication since if a
+ non-exclusive method is chosen we will still get an error.
+
+2007-07-11 11:23 millert
+
+ * HISTORY, Makefile.in, history.pod: Generate HISTORY from
+ history.pod (which is also used for web pages)
+
+2007-07-09 19:40 millert
+
+ * sudo.man.in, sudoers.man.in: regen
+
+2007-07-09 19:25 millert
+
+ * sudo.pod: Better explanation of environment handling in the sudo
+ man page.
+
+2007-07-09 15:13 millert
+
+ * env.c, sudo.c: Defer setting user-specified env vars until after
+ authentication.
+
+2007-07-09 13:25 millert
+
+ * env.c: honor def_default_path for PATH set on the command line
+
+2007-07-09 13:22 millert
+
+ * sudo.c, env.c, sudo.pod, sudoers.pod: Allow user to set
+ environment variables on the command line as long as they are
+ allowed by env_keep and env_check. Ie: apply the same
+ restrictions as normal environment variables. TODO: deal with
+ secure_path
+
+2007-07-08 14:44 millert
+
+ * sudo.c, sudo_edit.c: Call rebuild_env() in call cases. Pass
+ original envp to sudo_edit(). Don't allow -E or env var setting
+ in sudoedit mode. More accurate usage() when called as sudoedit.
+
+2007-07-08 14:41 millert
+
+ * ldap.c: warn -> warning
+
+2007-07-08 14:11 millert
+
+ * sudo.pod: add -c option to sudoedit synopsis
+
+2007-07-08 10:27 millert
+
+ * TODO: udpate to reality
+
+2007-07-08 09:43 millert
+
+ * parse.c: Use ALLOW/DENY instead of TRUE/FALSE when dealing with
+ the return value from {user,host,runas,cmnd}_matches(). Rename
+ *matches variables -> *match. Purely cosmetic.
+
+2007-07-08 09:30 millert
+
+ * parse.c: Move setting of FLAG_NO_CHECK into the if(pwflag) block.
+ No change in behavior.
+
+2007-07-08 09:17 millert
+
+ * sudoers: add SETENV tag
+
+2007-07-06 15:51 millert
+
+ * parse.c: Make pwcheck local to the pwflag block. Use pwcheck
+ even if user didn't match since Defaults options may still apply.
+
+2007-07-06 14:51 millert
+
+ * check.c, sudo.c: Do not update timestamp if user not validated by
+ sudoers.
+
+2007-07-06 10:14 millert
+
+ * set_perms.c: for PERM_RUNAS, set the egid to the runas user's gid
+ and restore to the user's original in PERM_ROOT
+
+2007-07-06 10:04 millert
+
+ * logging.c, mon_systrace.c, set_perms.c, sudo.h: PERM_FULL_ROOT is
+ now no different than PERM_ROOT so remove PERM_FULL_ROOT
+
+2007-07-06 09:49 millert
+
+ * check.c: don't check timestamp mtime if we are just going to
+ remove it
+
+2007-07-06 09:33 millert
+
+ * sudoers.pod: Move sudoers defaults parameters into their own
+ section.
+
+2007-07-05 20:21 millert
+
+ * testsudoers.c: Reduce a level of indent by a few placed continue
+ statements.
+
+2007-07-05 20:20 millert
+
+ * parse.c: Make matching but negated commands/hosts/runas entries
+ override a previous match as expected. Also reduce some levels
+ of indent by a few placed continue statements.
+
+2007-07-05 16:34 millert
+
+ * parse.c: Print default runas in "sudo -l" if sudoers don't
+ specify one.
+
+2007-07-05 15:46 millert
+
+ * match.c: Less hacky way of testing whether the domain was set.
+
+2007-07-04 15:50 millert
+
+ * INSTALL: Mention pam-devel and openldap-devel for Linux
+
+2007-07-03 19:38 millert
+
+ * README.LDAP: or vs. are
+
+2007-07-01 16:55 millert
+
+ * sudo.c: fix typo in Solaris project support
+
+2007-07-01 09:40 millert
+
+ * HISTORY: update
+
+2007-07-01 09:07 millert
+
+ * sudo.c: Make -- on the command line match the manual page. The
+ implied shell case has been simplified as a result.
+
+2007-06-28 10:44 millert
+
+ * sudoers2ldif: add simplistic support for sudoRunas; note that if
+ a sudoers entry contains multiple Runas users, all will apply to
+ the sudoRole
+
+2007-06-28 10:42 millert
+
+ * sudoers2ldif: honor SETENV and NOSETENV tags
+
+2007-06-24 09:25 millert
+
+ * mon_systrace.c: Redo setting of user_args. We now build up a
+ private copy of argv first and then replace the NULs with spaces.
+
+2007-06-24 09:19 millert
+
+ * mon_systrace.c: getcwd() returns NULL on failure, not 0 on
+ success
+
+2007-06-24 07:39 millert
+
+ * mon_systrace.c: allow chunksiz to reach 1 before erroring out
+
+2007-06-23 20:00 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in: regen
+
+2007-06-23 19:58 millert
+
+ * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h,
+ gram.y, logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod,
+ sudoers.pod, toke.c, toke.l: Add support for setting environment
+ variables on the command line. This is only allowed if the
+ setenv sudoers options is enabled or if the command is prefixed
+ with the SETENV tag.
+
+2007-06-23 19:57 millert
+
+ * README.LDAP: replace Aaron's email address with the sudo-workers
+ list
+
+2007-06-23 19:55 millert
+
+ * configure: regen
+
+2007-06-21 20:35 millert
+
+ * Makefile.in, README.LDAP, schema.OpenLDAP, schema.iPlanet: Break
+ schema out into separate files.
+
+2007-06-21 18:28 millert
+
+ * auth/aix_auth.c: free message if set by authenticate()
+
+2007-06-21 13:03 millert
+
+ * match.c: deal with NULL gr_mem
+
+2007-06-20 15:04 millert
+
+ * config.h.in: regen
+
+2007-06-20 15:04 millert
+
+ * configure.in: add template for HAVE_PROJECT_H
+
+2007-06-20 07:06 millert
+
+ * closefrom.c: include fcntl.h
+
+2007-06-19 19:37 millert
+
+ * INSTALL: mention --with-project
+
+2007-06-19 18:24 millert
+
+ * config.h.in, configure.in, sudo.c: Add Solaris 10 "project"
+ support. From Michael Brantley.
+
+2007-06-19 17:27 millert
+
+ * sudoers.pod: fix typo
+
+2007-06-19 17:22 millert
+
+ * configure: regen
+
+2007-06-19 17:21 millert
+
+ * configure.in: Fix preservation of LDFLAGS in the LDAP case.
+
+2007-06-19 17:00 millert
+
+ * memrchr.c: Remove dependecy on NULL
+
+2007-06-19 15:37 millert
+
+ * configure: regen
+
+2007-06-19 15:37 millert
+
+ * aclocal.m4, configure.in: Can't use the regular autoconf
+ fnmatch() check since we need FNM_CASEFOLD so go back to our
+ custom one.
+
+2007-06-19 12:52 millert
+
+ * env.c: Fix preserving of variables in env_keep.
+
+2007-06-19 07:10 millert
+
+ * env.c: add XAUTHORIZATION
+
+2007-06-18 20:41 millert
+
+ * UPGRADE: expand upon env resetting and mention that it began in
+ 1.6.9 not 1.7.
+
+2007-06-18 20:33 millert
+
+ * sudoers.pod: Update descriptions of env_keep and env_check to
+ match current reality.
+
+2007-06-18 17:33 millert
+
+ * env.c: Add LINGUAS to initial_checkenv_table. Add COLORS,
+ HOSTNAME, LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to
+ intial_keepenv_table.
+
+2007-06-18 17:23 millert
+
+ * env.c, logging.c: Treat USERNAME environemnt variable like
+ LOGNAME/USER
+
+2007-06-18 17:21 millert
+
+ * env.c: Don't need to populate keepenv table with the contents of
+ the checkenv table.
+
+2007-06-18 08:57 millert
+
+ * sudo.c: Don't force sudo into the C locale.
+
+2007-06-18 08:56 millert
+
+ * env.c: Make env_check apply when env_reset it true. Environment
+ variables are passed through unless they contain '/' or '%'.
+ There is no need to have a variable in both env_check and
+ env_keep.
+
+2007-06-16 07:31 millert
+
+ * visudo.c: Remove an duplicate lock_file() call and add a comment.
+
+2007-06-15 21:16 millert
+
+ * UPGRADE: Add sudo 1.6.9 upgrade note.
+
+2007-06-14 12:23 millert
+
+ * interfaces.c: Solaris will return EINVAL if the buffer used in
+ SIOCGIFCONF is too small. From Klaus Wagner.
+
+2007-06-14 12:03 millert
+
+ * Makefile.in, config.h.in, configure, configure.in, memrchr.c,
+ logging.c, sudo.h: Redo the long syslog line splitting based on a
+ patch from Eygene Ryabinkin. Include memrchr() for systems
+ without it.
+
+2007-06-14 07:09 millert
+
+ * configure.in: Since we need to be able to convert timespec to
+ timeval for utimes() the last 3 digits in the tv_nsec are not
+ significant. This makes the sudoedit file date comparison work
+ again.
+
+2007-06-13 13:41 millert
+
+ * aclocal.m4, configure, configure.in: Add SUDO_ADD_AUTH macro to
+ deal with adding things to AUTH_OBJS. This deals with exclusive
+ authentication methods in a simple way.
+
+2007-06-12 13:08 millert
+
+ * LICENSE: mkstemp.c is BSD code too.
+
+2007-06-12 09:21 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: No commercial support for now.
+
+2007-06-11 18:27 millert
+
+ * sudo.c: cleanenv() is no more.
+
+2007-06-10 18:37 millert
+
+ * ChangeLog: Display branch info in Changelog
+
+2007-06-10 18:18 millert
+
+ * utimes.c: Include config.h early so we have it for
+ TIME_WITH_SYS_TIME
+
+2007-06-10 18:00 millert
+
+ * ChangeLog: Fix Changelog generation and update.
+
+2007-06-09 07:26 millert
+
+ * closefrom.c: Use /proc/self/fd instead of /proc/$$/fd
+
+ Move old-style fd closing into closefrom_fallback() and call that
+ if /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
+
+2007-06-09 07:24 millert
+
+ * config.h.in, configure.in, auth/kerb5.c: o use
+ krb5_verify_user() if available instead of doing it by hand
+ o use krb5_init_secure_context() if we have it
+ o pass an encryption type of 0 to krb5_kt_read_service_key()
+ instead of
+ ENCTYPE_DES_CBC_MD5 to let kerberos choose.
+
+2007-06-09 07:20 millert
+
+ * env.c: Check TERM and COLORTERM for '%' and '/' characters. From
+ Debian.
+
+2007-06-09 07:17 millert
+
+ * configure.in: Fix closefrom() substitution in the Makefile
+
+2007-06-09 07:15 millert
+
+ * TROUBLESHOOTING: Mention alternate sudo pronunciation.
+
+2007-06-07 07:52 millert
+
+ * env.c: Remove KRB5_KTNAME from environment. Allow COLORTERM.
+
+2007-06-07 07:22 millert
+
+ * auth/kerb5.c: If we cannot get a valid service key using the
+ default keytab it is a fatal error. Fixes a bug where sudo could
+ be tricked into allowing access when it should not by a fake KDC.
+ From Thor Lancelot Simon.
+
+2007-05-12 08:56 millert
+
+ * aclocal.m4, configure, configure.in: Update long long checks to
+ use AC_CHECK_TYPES and to cache values.
+
+2007-05-12 08:07 millert
+
+ * aclocal.m4, configure.in: Use AC_FUNC_FNMATCH instead of a
+ homebrew fnmatch checker. We can't use AC_REPLACE_FNMATCH since
+ that assumes replacing with GNU fnmatch.
+
+2007-05-11 17:05 millert
+
+ * configure, configure.in: Add closefrom() to LIB_OBJS not
+ SUDO_OBJS if it is missing since we need it for visudo now too.
+
+2007-04-24 14:44 millert
+
+ * sudoers.pod: Attempt to clarify the bit talking about network
+ numbers w/o netmasks.
+
+2007-04-24 14:25 millert
+
+ * sudo.pod: Clarify timestamp dir ownership sentence.
+
+2007-04-20 12:40 millert
+
+ * auth/pam.c: Linux PAM now defines __LINUX_PAM__, not
+ __LIBPAM_VERSION. From Dmitry V. Levin.
+
+2007-04-16 12:13 millert
+
+ * sudo.c: -i is also one of the mutually exclusive options to list
+ it in the warning message. Noted by Chris Pepper.
+
+2007-04-12 11:18 millert
+
+ * visudo.pod: The sudoers variable is env_editor, not enveditor.
+ From Jean-Francois Saucier.
+
+2007-03-29 13:30 millert
+
+ * redblack.c: I tracked down the original author so credit him and
+ include his license info.
+
+2007-02-06 13:25 millert
+
+ * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
+ sudoers.pod: Fix typos; from Jason McIntyre.
+
+2007-02-06 13:23 millert
+
+ * logging.c: Restore signal mask before calling reapchild(). Fixes
+ a possible race condition that could prevent sudo from properly
+ waiting for the child.
+
+2007-01-31 10:02 millert
+
+ * pwutil.c: Don't declare pw_free() if we are not going to use it.
+
+2007-01-31 10:00 millert
+
+ * env.c: Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD
+ and LDR_PRELOAD64. The 64-bit version is not currently
+ supported. Remove zero_env() prototype as it no longer exists.
+
+2006-12-11 13:21 millert
+
+ * logging.c: Add "Auto-Submitted: auto-generated" line to sudo mail
+ for rfc 3834.
+
+2006-09-29 10:53 millert
+
+ * auth/pam.c: If the user enters ^C at the password prompt, abort
+ instead of trying to authenticate with an empty password (which
+ causes an annoying delay).
+
+2006-08-17 11:26 millert
+
+ * closefrom.c, config.h.in, configure, configure.in: Add fcntl
+ F_CLOSEM support to closefrom(); adapted from a diff by Darren
+ Tucker.
+
+2006-08-17 11:25 millert
+
+ * pwutil.c: pw_free() is only used by sudo_freepwcache() so ifdef
+ it out too.
+
+2006-08-04 11:34 millert
+
+ * config.sub, config.guess: Update to latest versions from
+ cvs.savannah.gnu.org
+
+2006-07-31 13:51 millert
+
+ * pwutil.c, sudo_edit.c: Move password/group cache cleaning out of
+ sudo_end{pw,grp}ent() so we can close the passwd/group files
+ early.
+
+2006-07-31 13:50 millert
+
+ * config.h.in, configure, configure.in, set_perms.c: Add seteuid()
+ flavor of set_perms() for systems without setreuid() or
+ setresuid() that have a working seteuid(). Tested on Darwin.
+
+2006-07-30 15:56 millert
+
+ * mon_systrace.c: systrace_read() returns ssize_t
+
+2006-07-30 15:53 millert
+
+ * configure, configure.in: Fix typo, -lldap vs. -ldap; from Tim
+ Knox.
+
+2006-07-28 13:12 millert
+
+ * HISTORY: Fix typo; Matt Ackeret
+
+2006-07-17 08:25 millert
+
+ * sudo.c: Print sudoers path in -V mode for root.
+
+2006-06-15 14:44 millert
+
+ * ldap.c: Do a sub tree search instead of a base search (one level
+ in the tree only) for sudo right objects. This allows system
+ administrators to categorize the rights in a tree to make them
+ easier to manage.
+
+2005-12-28 13:52 millert
+
+ * sudo.pod: fix typo
+
+2005-12-04 12:16 millert
+
+ * ldap.c: Convert GET_OPT and GET_OPTI to use just 2 args. Add
+ timelimit and bind_timelimit support; adapted from gentoo.
+
+2005-11-23 18:57 millert
+
+ * ldap.c: Support comments that start in the middle of a line
+
+2005-11-23 18:56 millert
+
+ * configure.in, configure: Define LDAP_DEPRECATED until we start
+ using ldap_get_values_len()
+
+2005-11-18 09:55 millert
+
+ * closefrom.c: Silence gcc -Wsign-compare; djm@openbsd.org
+
+2005-11-17 20:39 millert
+
+ * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c: cleanup() now
+ takes an int as an arg so it can be used as a signal handler too.
+
+2005-11-17 20:38 millert
+
+ * sudo.c: Make a copy of the shell field in the passwd struct for
+ NewArgv to avoid a use after free situation after sudo_endpwent()
+ is called.
+
+2005-11-16 20:36 millert
+
+ * Makefile.in, mkstemp.c, config.h.in, configure, configure.in: Add
+ mkstemp() for those poor souls without it.
+
+2005-11-15 09:25 millert
+
+ * env.c: Add PERL5DB to list of environment variables to remove.
+
+2005-11-13 15:49 millert
+
+ * mon_systrace.c, mon_systrace.h: Instead of calling the check
+ function twice with a state cookie use separate check/log
+ functions.
+
+ Check more ioctl() calls for failure.
+
+ systrace_{read,write} now return the number of bytes read/written
+ or -1 on error.
+
+2005-11-13 14:51 millert
+
+ * env.c: Add more environment variables to remove; from gentoo
+ linux Add some comments about what bad env variables go to what
+ (more to do)
+
+2005-11-11 17:23 millert
+
+ * sudo.c, sudo_edit.c: Move sudo_end{gr,pw}ent() until just before
+ the exec since they free up our cached copy of the passwd
+ structs, including sudo_user and sudo_runas. Fixes a
+ use-after-free bug.
+
+2005-11-11 17:19 millert
+
+ * visudo.c: Close all fd's before executing editor.
+
+2005-11-11 17:17 millert
+
+ * sudo.c: Enable malloc debugging on OpenBSD when SUDO_DEVEL is
+ set.
+
+2005-11-11 11:22 millert
+
+ * check.c: Fix fd leak when lecture file option is enabled. From
+ Jerry Brown
+
+2005-11-07 11:02 millert
+
+ * env.c: Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
+ environment variables to remove. From Charles Morris
+
+2005-11-01 13:24 millert
+
+ * env.c: add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
+
+2005-10-27 20:35 millert
+
+ * env.c: add PS4 and SHELLOPTS to initial_badenv_table for bash
+
+2005-08-14 20:32 millert
+
+ * sudoers.pod: Fix typo; Toby Peterson
+
+2005-08-02 09:57 millert
+
+ * tsgetgrpw.c: Make return buffers static so they don't get
+ clobbered
+
+2005-07-27 21:14 millert
+
+ * auth/securid5.c: Fix securid5 authentication, was not checking
+ for ACM_OK. Also add default cases for the two switch()es.
+ Problem noted by ccon at worldbank
+
+2005-06-26 20:10 millert
+
+ * ldap.c: Remove ncat() in favor of just counting bytes and
+ pre-allocating what is needed.
+
+2005-06-26 19:44 millert
+
+ * ldap.c: Fix up some comments Add missing fclose() for the
+ rootbinddn case
+
+2005-06-26 19:38 millert
+
+ * ldap.c: align struct ldap_config
+
+2005-06-26 19:37 millert
+
+ * ldap.c: use LINE_MAX for max conf file line size
+
+2005-06-26 18:36 millert
+
+ * pathnames.h.in: add _PATH_LDAP_SECRET
+
+2005-06-26 18:36 millert
+
+ * README.LDAP: Mention rootbinddn Give example ou=SUDOers container
+
+2005-06-25 18:03 millert
+
+ * configure, INSTALL, configure.in, ldap.c: Support rootbinddn in
+ ldap.conf
+
+2005-06-25 17:46 millert
+
+ * env.c, sudo.pod, sudoers.pod: Preserve DISPLAY environment
+ variable by default.
+
+2005-06-25 16:39 millert
+
+ * acsite.m4, configure: set need_lib_prefix=no for all cases; this
+ is safe for LD_PRELOAD
+
+2005-06-25 16:15 millert
+
+ * acsite.m4, configure: set need_version=no for all cases; this is
+ safe for LD_PRELOAD
+
+2005-06-25 14:45 millert
+
+ * aclocal.m4: typo
+
+2005-06-25 14:33 millert
+
+ * configure, configure.in: Add dragonfly
+
+2005-06-25 14:29 millert
+
+ * auth/pam.c: Fix call to pam_end() when pam_open_session() fails.
+
+2005-06-25 14:21 millert
+
+ * configure: regen
+
+2005-06-25 14:20 millert
+
+ * acsite.m4: rebuild acsite.m4 from libtool 1.9f libtool.m4
+ ltoptions.m4 ltsugar.m4 ltversion.m4
+
+2005-06-25 14:08 millert
+
+ * config.guess, config.sub, ltmain.sh: merge in local changes:
+ config.guess: o better openbsd support config.sub: o hiuxmpp
+ support ltmain.sh o remove requirement that libs must begin with
+ "lib" o don't print a bunch of crap about library installs o
+ don't run ldconfig
+
+2005-06-25 14:05 millert
+
+ * config.guess, config.sub, ltmain.sh: libtool 1.9f
+
+2005-06-25 14:04 millert
+
+ * configure.in: Update with autoupdate and make minor changes for
+ libtool 1.9f
+
+2005-06-22 23:19 millert
+
+ * parse.c: don't call sudo_ldap_display_cmnd if ldap not setup
+
+2005-06-22 23:04 millert
+
+ * check.c, compat.h, fileops.c, gettime.c, sudo_edit.c, visudo.c,
+ emul/timespec.h: Move declatation of struct timespec to its own
+ include files for systems without it since it needs time_t
+ defined.
+
+2005-06-22 22:57 millert
+
+ * ldap.c: Don't set safe_cmnd for the "sudo ALL" case.
+
+2005-05-27 01:59 millert
+
+ * auth/pam.c: Call pam_open_session() and pam_close_session() to
+ give pam_limits a chance to run. Idea from Karel Zak.
+
+2005-04-24 19:24 millert
+
+ * check.c, sudo.c: Add explicit cast from mode_t -> u_int in printf
+ to silence warnings on Solaris
+
+2005-04-24 19:22 millert
+
+ * parse.c: include grp.h to silence a warning on Solaris
+
+2005-04-23 15:10 millert
+
+ * parse.c: Fix printing of += and -= defaults.
+
+2005-04-17 01:21 millert
+
+ * mon_systrace.c: Sanity check number of syscall args with argsize.
+ Not really needed but a little paranoia never hurts.
+
+2005-04-17 01:18 millert
+
+ * mon_systrace.c, mon_systrace.h: Don't do pointer arithmetic on
+ void * Use int, not size_t/ssize_t for systrace lengths (since it
+ uses int)
+
+2005-04-16 03:14 millert
+
+ * mon_systrace.c: Add some memsets for paranoia Fix namespace
+ collsion w/ error Check rval of decode_args() and update_env()
+ Remove improper setting of validated variable
+
+2005-04-11 21:37 millert
+
+ * parse.c, sudo.c, sudo.h: In -l mode, only check local sudoers
+ file if def_ignore_sudoers is not set and call LDAP versions from
+ display_privs() and display_cmnd() instead of directly from
+ main(). Because of this we need to defer closing the ldap
+ connection until after -l processing has ocurred and we must pass
+ in the ldap pointer to display_privs() and display_cmnd().
+
+2005-04-11 21:33 millert
+
+ * ldap.c: Reorganize LDAP code to better match normal sudoers
+ parsing. Instead of storing strings for later printing in -l
+ mode we do another query since the authenticating user and the
+ user being listed may not be the same (the new -U flag). Also
+ add support for "sudo -l command".
+
+ There is still a fair bit if duplicated code that can probably be
+ refactored.
+
+2005-04-11 00:37 millert
+
+ * ldap.c: Replace pass variable with do_netgr for better
+ readability.
+
+2005-04-10 23:49 millert
+
+ * ldap.c: use DPRINTF macro
+
+2005-04-10 23:18 millert
+
+ * ldap.c: estrdup, not strdup
+
+2005-04-10 17:44 millert
+
+ * parse.c: Add macro to test if the tag changed to improve
+ readability.
+
+2005-04-10 17:40 millert
+
+ * parse.c: Avoid printing defaults header if there are no defaults
+ to print...
+
+2005-04-10 15:29 millert
+
+ * glob.c: Fix a warning on systems without strlcpy().
+
+2005-04-10 13:32 millert
+
+ * pwutil.c: Use macros where possible for sudo_grdup() like
+ sudo_pwdup().
+
+2005-04-08 17:04 millert
+
+ * utimes.c: It is possible for tv_usec to hold >= 1000000 usecs so
+ add in tv_usec / 1000000.
+
+2005-03-29 23:38 millert
+
+ * auth/kerb5.c: The component in krb5_principal_get_comp_string()
+ should be 1, not 0 for Heimdal. From Alex Plotnick.
+
+2005-03-29 09:29 millert
+
+ * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c,
+ gram.y, interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c,
+ pwutil.c, redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
+ Add efree() for consistency with emalloc() et al. Allows us to
+ rely on C89 behavior (free(NULL) is valid) even on K&R.
+
+2005-03-28 22:33 millert
+
+ * parse.c, sudo.c: Move initgroups() for -U option into
+ display_privs() so group matching in sudoers works correctly.
+
+2005-03-26 21:34 millert
+
+ * ldap.c: Removed duplicate call to ldap_unbind_s introduced along
+ with sudo_ldap_close.
+
+2005-03-26 20:01 millert
+
+ * parse.c: Add missing space in Defaults printing
+
+2005-03-25 12:36 millert
+
+ * pwutil.c: Sync sudo_pwdup with OpenBSD changes: use macros for
+ size computaton and string copies.
+
+2005-03-18 22:08 millert
+
+ * pwutil.c: Zero old pw_passwd before replacing with version from
+ shadow file.
+
+2005-03-18 22:07 millert
+
+ * configure, configure.in: Only attempt shadow password detection
+ if PAM is not being used Add shadow_* variables to make shadow
+ password detection more generic.
+
+2005-03-18 21:46 millert
+
+ * configure.in: Use OSDEFS for os-specific -D_FOO_BAR stuff rather
+ than CPPFLAGS
+
+2005-03-12 19:27 millert
+
+ * sudoers.pod: use a non-breaking space to avoid a double space
+ after e.g.
+
+2005-03-12 19:26 millert
+
+ * sudo.pod: commna, not colon after e.g.
+
+2005-03-12 18:43 millert
+
+ * sudo_noexec.c: Add __ variants of the exec functions. GNU libc
+ at least uses __execve() internally.
+
+2005-03-12 12:29 millert
+
+ * indent.pro: Match reality a bit more.
+
+2005-03-12 12:27 millert
+
+ * pwutil.c: Missed piece from rev. 1.6, fix sudo_getpwnam() too.
+
+2005-03-11 23:42 millert
+
+ * pwutil.c: Store shadow password after making a local copy of
+ struct passwd in case normal and shadow routines use the same
+ internal buffer in libc.
+
+2005-03-10 20:57 millert
+
+ * alloc.c, logging.c: Make varargs usage consistent with the rest
+ of the code.
+
+2005-03-10 10:09 millert
+
+ * sudo_noexec.c: Wrap more of the exec family since on Linux the
+ others do not appear to go through the normal execve() path.
+
+2005-03-10 09:57 millert
+
+ * visudo.c: make print_unused static like proto says
+
+2005-03-10 09:55 millert
+
+ * glob.c: silence a warning on K&R systems
+
+2005-03-10 09:51 millert
+
+ * parse.c, alias.c, error.c: make this build in K&R land
+
+2005-03-07 22:21 millert
+
+ * toke.c: regen
+
+2005-03-05 22:46 millert
+
+ * ldap.c: return(foo) not return foo optimize _atobool() slightly
+
+2005-03-05 22:40 millert
+
+ * ldap.c: Use TRUE/FALSE
+
+2005-03-05 22:31 millert
+
+ * ldap.c: Reformat to match the rest of sudo's code.
+
+2005-03-05 19:33 millert
+
+ * sudo.pod: I am the primary author
+
+2005-02-22 22:28 millert
+
+ * README, RUNSON, Makefile.in: The RUNSON file is toast--it
+ confused too many people and really isn't needed in a
+ configure-oriented world.
+
+2005-02-22 22:28 millert
+
+ * INSTALL: alternate -> alternative
+
+2005-02-22 22:26 millert
+
+ * tgetpass.c: Use TCSADRAIN instead of TCSAFLUSH since some OSes
+ have issues with TCSAFLUSH.
+
+2005-02-22 22:16 millert
+
+ * toke.l: Allow leading blanks before Defaults and Foo_Alias
+ definitions
+
+2005-02-22 22:14 millert
+
+ * Makefile.in: fix rules to build toke.o and gram.o in devel mode
+
+2005-02-20 13:00 millert
+
+ * sudoers.pod: env_keep overrides set_logname
+
+2005-02-20 12:57 millert
+
+ * env.c: Fix disabling set_logname and make env_keep override
+ set_logname.
+
+2005-02-20 12:28 millert
+
+ * compat.h, config.h.in, configure, configure.in: No longer need
+ memmove()
+
+2005-02-20 11:48 millert
+
+ * env.c, sudo.c: Just clean the environment once. This assumes
+ that any further setenv/putenv will be able to handle the fact
+ that we replaced environ with our own malloc'd copy but all the
+ implementations I've checked do.
+
+2005-02-15 23:16 millert
+
+ * env.c, sudo.c: In -i mode, base the value of insert_env()'s
+ dupcheck flag on DID_FOO flags. Move checks for $HOME resetting
+ into rebuild_env()
+
+2005-02-13 00:33 millert
+
+ * env.c, sudo.c: Move setting of user_path, user_shell, user_prompt
+ and prev_user into init_vars() since user_shell at least is
+ needed there.
+
+2005-02-12 18:51 millert
+
+ * Makefile.in: fix devel builds
+
+2005-02-12 18:46 millert
+
+ * check.c, sudo.c: Fix some printf format mismatches on error.
+
+2005-02-12 18:33 millert
+
+ * configure, gram.c, toke.c: regen
+
+2005-02-12 17:56 millert
+
+ * LICENSE, Makefile.binary.in, Makefile.in, aclocal.m4, alias.c,
+ alloc.c, check.c, closefrom.c, compat.h, configure.in,
+ defaults.c, defaults.h, env.c, error.c, fileops.c, find_path.c,
+ getprogname.c, getspwuid.c, gettime.c, goodpath.c, gram.y,
+ interfaces.c, interfaces.h, ldap.c, logging.c, logging.h,
+ match.c, mon_systrace.c, parse.c, redblack.c, redblack.h,
+ set_perms.c, sigaction.c, snprintf.c, strcasecmp.c, strerror.c,
+ strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.pod, sudo_edit.c,
+ sudo_noexec.c, sudoers.pod, testsudoers.c, tgetpass.c, toke.l,
+ utimes.c, version.h, visudo.c, visudo.pod, zero_bytes.c,
+ auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
+ auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
+ auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
+ auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
+ emul/utime.h: Update copyright years.
+
+2005-02-12 16:46 millert
+
+ * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
+ version 1.7
+
+2005-02-12 16:16 millert
+
+ * WHATSNEW: What's new in sudo 1.7, based on the 1.7 CHANGES
+ entries.
+
+2005-02-11 18:06 millert
+
+ * compat.h, logging.h, sudo.h: Add __printflike and use it with gcc
+ to warn about printf-like format mismatches
+
+2005-02-10 00:16 millert
+
+ * CHANGES, ChangeLog: Replaced CHANGES file with ChangeLog
+ generated from cvs logs
+
+2005-02-10 00:03 millert
+
+ * set_perms.c: Use warning/error instead of perror/fatal.
+
+2005-02-09 23:13 millert
+
+ * config.guess: Update OpenBSD section
+
+2005-02-09 23:10 millert
+
+ * UPGRADE: Add upgrading noted for 1.7
+
+2005-02-09 23:00 millert
+
+ * env.c, sudo.c, sudoers.pod: Instead of zeroing out the
+ environment, just prune out entries based on the env_delete and
+ env_check lists. Base building up the new environment on the
+ current environment and the variables we removed initially.
+
+2005-02-09 22:23 millert
+
+ * configure, configure.in, sudo.c, config.h.in: Set locale to "C"
+ if locales are supported, just to be safe.
+
+2005-02-09 22:19 millert
+
+ * toke.c, toke.l: Cast argument to ctype functions to unsigned
+ char.
+
+2005-02-07 22:56 millert
+
+ * env.c: correct value for DID_USER
+
+2005-02-07 22:55 millert
+
+ * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c: #include
+ <compat.h> not "compat.h"
+
+2005-02-07 22:51 millert
+
+ * defaults.c: Reset the environment by default.
+
+2005-02-07 22:50 millert
+
+ * sudo.c: Alloc an extra slot in NewArgv. Removes the need to
+ malloc an new vector if execve() fails.
+
+2005-02-06 23:16 millert
+
+ * INSTALL, config.h.in, configure, configure.in, sudo.c: Use
+ execve(2) and wrap the command in sh if we get ENOEXEC.
+
+2005-02-05 23:01 millert
+
+ * sudo_noexec.c: Only include time.h on systems that lack struct
+ timespec which gets defind in compat.h (using time_t).
+
+2005-02-05 22:59 millert
+
+ * sudo_noexec.c: Include time.h for time_t in compat.h for systems
+ w/o struct timespec.
+
+2005-02-05 22:56 millert
+
+ * configure, compat.h, config.h.in, configure.in: use bcopy on
+ systems w/o memmove
+
+2005-02-05 22:31 millert
+
+ * compat.h: __attribute__((__unused__)) doesn't work in gcc 2.7.2.1
+ so limit its use to gcc >= 2.8.
+
+2005-02-05 21:21 millert
+
+ * Makefile.in: Add explicit rule to build sudo_noexec.lo
+
+2005-02-05 17:56 millert
+
+ * INSTALL.configure, Makefile.in: No longer depend on VPATH;
+ pointed out a bunch of missed dependencies.
+
+2005-02-05 13:18 millert
+
+ * TROUBLESHOOTING: Help for PAM when account section is missing
+
+2005-02-05 13:01 millert
+
+ * auth/pam.c: Give user a clue when there is a missing "account"
+ section in the PAM config.
+
+2005-02-05 10:22 millert
+
+ * auth/pam.c: Better error handling.
+
+2005-02-05 09:57 millert
+
+ * configure, config.h.in, configure.in: Move _FOO_SOURCE to
+ CPPFLAGS so it takes effect as early as possible. Silences a
+ warning about isblank() on linux.
+
+2005-02-04 21:49 millert
+
+ * auth/pam.c: Fix typo (missing comma) that caused an incorrect
+ number of args to be passed to log_error().
+
+2005-01-31 23:03 millert
+
+ * pwutil.c: Don't try to destroy a tree we didn't create.
+
+2005-01-27 10:42 millert
+
+ * alias.c, alloc.c, check.c, closefrom.c, compat.h, defaults.c,
+ env.c, error.c, fileops.c, find_path.c, fnmatch.c, getcwd.c,
+ getprogname.c, getspwuid.c, gettime.c, goodpath.c, gram.c,
+ gram.y, interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c,
+ parse.c, pwutil.c, set_perms.c, sigaction.c, snprintf.c,
+ strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
+ sudo_edit.c, sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c,
+ toke.l, utimes.c, visudo.c, zero_bytes.c, auth/afs.c,
+ auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
+ auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
+ auth/rfc1938.c, auth/secureware.c, auth/securid.c,
+ auth/securid5.c, auth/sia.c, auth/sudo_auth.c: Add __unused to
+ rcsids
+
+2005-01-21 10:34 millert
+
+ * configure, configure.in: Fix error message when mixing invalid
+ auth types
+
+2005-01-21 10:32 millert
+
+ * INSTALL: PAM, AIX auth, BSD auth and login_cap are now on by
+ default if the OS supports them.
+
+2005-01-21 10:29 millert
+
+ * config.h.in, auth/sudo_auth.h: s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
+
+2005-01-21 10:29 millert
+
+ * configure.in: Better checking for conflicting authentication
+ methods Display the authentication methods used at the end of
+ configure Rename --with-authenticate -> --with-aixauth Use
+ --with-aixauth, --with-bsdauth, --with-pam, --with-logincap by
+ default on systems that support them unless disabled. Add
+ OSMAJOR variable that replaces old OSREV; now OSREV has full
+ version number
+
+2005-01-17 19:40 millert
+
+ * def_data.c, def_data.in, sudo.c, sudoers.pod: s/-O/-C/
+
+2005-01-14 13:35 millert
+
+ * configure.in: Replace: test -n "$FOO" || FOO="bar"
+
+ With: : ${FOO='bar'}
+
+2005-01-09 18:58 millert
+
+ * pwutil.c, testsudoers.c, tsgetgrpw.c: Use function pointers to
+ only call private passwd/group routines when using a nonstandard
+ passwd/group file.
+
+2005-01-06 10:34 millert
+
+ * CHANGES: sync
+
+2005-01-05 22:16 millert
+
+ * tsgetgrpw.c: Can't use strtok() since it doesn't handle empty
+ fields so add getpwent()/getgrent() functions and call those.
+
+2005-01-05 17:29 millert
+
+ * Makefile.in: Fix dummied out toke.c and gram.c dependencies.
+
+2005-01-05 17:18 millert
+
+ * Makefile.in: Rename PARSESRCS -> GENERATED since it is only used
+ in the clean target Add devdir variable and use it to specify the
+ path to parser sources
+
+2005-01-05 17:17 millert
+
+ * configure: regen
+
+2005-01-05 17:17 millert
+
+ * configure.in: Add a devdir variables that defaults to $(srcdir)
+ and is set to . if --devel was specified. Allows for proper
+ dependecies building the parser.
+
+2005-01-05 14:50 millert
+
+ * testsudoers.c: Add support for custom passwd/group files.
+
+2005-01-05 14:47 millert
+
+ * Makefile.in: Build private copy of pwutil.o for testsudoers with
+ MYPW defined so it uses our own passwd/group routines.
+
+2005-01-05 14:46 millert
+
+ * visudo.c: Remove sudo_*{pw,gr}* stubs and add
+ sudo_setspent/sudo_endspent stubs instead. We can now just use
+ the caching sudo_*{pw,gr}* functions in pwutil.c Add comment
+ about wanting to call sudo_endpwent/sudo_endgrent in cleanup()
+
+2005-01-05 14:44 millert
+
+ * tsgetgrpw.c: Remove caching; we will just use what is in pwutil.c
+ Use global buffers for passwd/group structs Rename functions from
+ sudo_* to my_*
+
+2005-01-05 14:43 millert
+
+ * logging.c, sudo.c: g/c pwcache_init/pwcache_destroy
+
+2005-01-05 14:42 millert
+
+ * sudo.h: Undo last commit and add sudo_setspent and sudo_endspent
+ instead.
+
+2005-01-05 14:41 millert
+
+ * getspwuid.c, pwutil.c: Move all but the shadow stuff from
+ getspwuid.c to pwutil.c and pwcache_get and pwcache_put as they
+ are no longer needed. Also add preprocessor magic to use private
+ versions of the passwd and group routines if MYPW is defined (for
+ use by testsudoers).
+
+2005-01-04 22:40 millert
+
+ * tsgetgrpw.c: zero out struct passwd/group before filling it in so
+ if there are fields we don't handle they end up as 0.
+
+2005-01-04 20:10 millert
+
+ * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c: Adapt to
+ pwutil.c
+
+2005-01-04 20:09 millert
+
+ * Makefile.in: Add tsgetgrpw.c and pwutil.c Rename the *OBJ
+ variables for better readability.
+
+2005-01-04 20:08 millert
+
+ * tsgetgrpw.c: Passwd and group lookup routines for testsudoers
+ that support alternate passwd and group files.
+
+2005-01-04 20:07 millert
+
+ * getspwuid.c, pwutil.c: Split off pw/gr cache and dup code into
+ its own file. This allows visudo and testsudoers to use the
+ pw/gr cache too.
+
+2005-01-01 19:31 millert
+
+ * parse.c: Print Defaults info in "sudo -l" output and wrap lines
+ based on the terminal width.
+
+2005-01-01 12:41 millert
+
+ * match.c, visudo.c, testsudoers.c: Only check group vector in
+ usergr_matches() if we are matching the invoking or list user.
+ Always check the group members, even if there was a group vector.
+
+2004-12-17 17:24 millert
+
+ * LICENSE, Makefile.in, fnmatch.3: No longer bundle fnmatch.3
+
+2004-12-17 13:12 millert
+
+ * CHANGES, TODO: checkpoint
+
+2004-12-16 14:20 millert
+
+ * sudo.c: sort usage
+
+2004-12-16 14:20 millert
+
+ * sudo.pod: Sort command line options
+
+2004-12-16 13:33 millert
+
+ * def_data.c, def_data.h, def_data.in, defaults.c, logging.c,
+ sudo.c, sudo.pod, sudoers.pod: Add closefrom sudoers option to
+ start closing at a point other than 3. Add closefrom_override
+ sudoers option and -C sudo flag to allow the user to specify a
+ different closefrom starting point.
+
+2004-12-16 13:25 millert
+
+ * pathnames.h.in: Add _PATH_DEVNULL for those without it.
+
+2004-12-15 22:55 millert
+
+ * LICENSE: no more UCB strcasecmp
+
+2004-12-15 22:54 millert
+
+ * strcasecmp.c: replace BSD licensed one with version derived from
+ pdksh
+
+2004-12-09 21:07 millert
+
+ * sudo.c: Fix last commit.
+
+2004-12-09 19:26 millert
+
+ * sudo.c: Make sure stdin, stdout and stderr are open and dup them
+ to /dev/null if not.
+
+2004-12-03 13:57 millert
+
+ * ldap.c, mon_systrace.c, sudo.c, sudo.h: add sudo_ldap_close
+
+2004-12-03 13:52 millert
+
+ * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
+ Use TIME_WITH_SYS_TIME
+
+2004-12-03 13:48 millert
+
+ * configure, configure.in, config.h.in: Add TIME_WITH_SYS_TIME_H
+
+2004-12-02 11:18 millert
+
+ * env.c: Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE
+ being set unconditionally on darwin. From Toby Peterson.
+
+2004-12-02 10:40 millert
+
+ * getspwuid.c: Check rbinsert() return value. In the case of faked
+ up entries there is usually a negative response cached that we
+ need to overwrite.
+
+ In pwfree() don't try to zero out a NULL pw_passwd pointer.
+
+2004-12-02 09:53 millert
+
+ * mon_systrace.c: Use the double fork trick to avoid the monitor
+ process being waited for by the main program run through sudo.
+
+2004-11-29 12:52 millert
+
+ * sudo.c: Call initgroups() in -U mode so group matches work
+ normally.
+
+2004-11-29 12:34 millert
+
+ * def_data.h, mkdefaults: Don't print a trailing comma for the last
+ entry in enum def_tupple
+
+2004-11-28 16:08 millert
+
+ * sudoers.cat, sudoers.man.in, sudoers.pod: Mention values when
+ lecture, listpw and verifypw are used in boolean context.
+
+2004-11-28 16:05 millert
+
+ * def_data.c, def_data.in: verifypw when used in a boolean TRUE
+ context should be "all", not "any".
+
+2004-11-26 14:21 millert
+
+ * def_data.in, defaults.c: Allow tuples that can be used as
+ booleans to be used as boolean TRUE. In this case the 2nd
+ possible value of the tuple is used for TRUE.
+
+2004-11-25 12:23 millert
+
+ * configure, configure.in: Correct the test for 2-parameter
+ timespecsub
+
+2004-11-25 12:20 millert
+
+ * sudo.h: Add strub struct definitions for passwd, timeval and
+ timespec
+
+2004-11-25 12:09 millert
+
+ * configure, configure.in, config.h.in, sudo_edit.c, visudo.c: Add
+ check for 2-argument form of timespecsub (FreeBSD and BSD/OS) and
+ fix a typo in the gettimeofday check.
+
+2004-11-24 16:44 millert
+
+ * match.c, testsudoers.c: Deal with user_stat being NULL as it is
+ for visudo and testsudoers.
+
+2004-11-24 16:31 millert
+
+ * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod: Add -U
+ option to use in conjunction with -l instead of -u. Add support
+ for "sudo -l command" to test a specific command.
+
+2004-11-24 16:28 millert
+
+ * gram.c, gram.y, sudo.c: Set safe_cmnd after sudoers_lookup() if
+ it has not been set. Previously it was set by sudo "ALL" in the
+ parser but at that point the fully-qualified pathname has not yet
+ been found.
+
+2004-11-23 18:18 millert
+
+ * parse.c, testsudoers.c: Correctly handle multiple privileges per
+ userspec and runas inheritence.
+
+2004-11-21 14:09 millert
+
+ * defaults.c: Zero out sd_un for each entry in sudo_defs_table in
+ init_defaults.
+
+2004-11-19 18:04 millert
+
+ * toke.c, toke.l: make per-command defaults work with sudoedit
+
+2004-11-19 18:00 millert
+
+ * ldap.c, parse.c, sudo.c, sudo.h: Remove the FLAG_NOPASS,
+ FLAG_NOEXEC and FLAG_MONITOR flags. Instead, we just set the
+ approriate defaults variable.
+
+2004-11-19 17:09 millert
+
+ * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
+ Document per-command Defaults.
+
+2004-11-19 16:35 millert
+
+ * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
+ sudo.c, testsudoers.c, toke.c, toke.l, visudo.c: Add support for
+ command-specific Defaults entries. E.g.
+ Defaults!/usr/bin/vi noexec
+
+2004-11-19 15:03 millert
+
+ * defaults.c, match.c, parse.c, parse.h, testsudoers.c: Change an
+ occurence of user_matches() -> runas_matches() missed previously
+ runas_matches(), host_matches() and cmnd_matches() only really
+ need to pass in a list of members. user_matches() still needs to
+ pass in a passwd struct because of "sudo -l"
+
+2004-11-19 14:46 millert
+
+ * parse.c: Check def_authenticate, def_noexec and def_monitor when
+ setting return flags. XXX May be better to just set the defaults
+ directly and get rid of those flags.
+
+2004-11-19 13:39 millert
+
+ * alias.c, alloc.c, check.c, closefrom.c, defaults.c, env.c,
+ error.c, fileops.c, find_path.c, fnmatch.c, getcwd.c,
+ getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
+ gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
+ mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
+ strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
+ sudo_edit.c, sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c,
+ toke.l, utimes.c, visudo.c, zero_bytes.c, auth/afs.c,
+ auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
+ auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
+ auth/rfc1938.c, auth/secureware.c, auth/securid.c,
+ auth/securid5.c, auth/sia.c, auth/sudo_auth.c: Use: #include
+ <config.h> Not: #include "config.h" That way we get the correct
+ config.h when build dir != src dir
+
+2004-11-19 13:30 millert
+
+ * Makefile.in: Back out part of rev 1.263; fix -I order
+
+2004-11-19 13:12 millert
+
+ * toke.c, toke.l: More robust parsing if #include; could be much
+ better still.
+
+2004-11-19 12:55 millert
+
+ * sudo_edit.c, visudo.c: Make arg splitting in visudo and sudoedit
+ consistent.
+
+2004-11-19 12:35 millert
+
+ * Makefile.in, alias.c, gram.c, gram.y, parse.h: Split alias
+ routines out into their own file.
+
+2004-11-19 12:32 millert
+
+ * error.h: __attribute__ is already defined in compat.h
+
+2004-11-19 12:30 millert
+
+ * visudo.c: quit() should not be __noreturn__ as it is non-void on
+ some platforms.
+
+2004-11-19 12:24 millert
+
+ * auth/: fwtk.c, rfc1938.c, securid.c, securid5.c: Add local
+ error/warning functions like err/warn but that call an additional
+ cleanup routine in the error case. This means we no longer need
+ to compile a special version of alloc.o for visudo.
+
+2004-11-19 11:54 millert
+
+ * parse.h: Clarify comments about the data structures
+
+2004-11-18 15:28 millert
+
+ * visudo.c: Add support for VISUAL and EDITOR containing command
+ line args. If env_editor is not set any args in VISUAL and
+ EDITOR are ignored. Arguments are also now supported in
+ def_editor.
+
+2004-11-17 14:25 millert
+
+ * parse.h: alias_matches() is no more
+
+2004-11-17 14:09 millert
+
+ * CHANGES, TODO: sync
+
+2004-11-17 13:19 millert
+
+ * Makefile.in: When regenerating the parser, don't replace gram.h
+ unless it has changed.
+
+2004-11-17 11:56 millert
+
+ * Makefile.in: remove Makefile.binary for distclean
+
+2004-11-17 11:18 millert
+
+ * env.c: Preserve KRB5CCNAME in zero_env() and add a paranoia check
+ to make sure we can't overflow new_env.
+
+2004-11-17 10:33 millert
+
+ * sudo_edit.c: paranoia when stripping trailing slashes from
+ tempdir.
+
+2004-11-16 19:00 millert
+
+ * sudo.c: Set user_ngroups to 0 if getgroups() returns an error.
+
+2004-11-16 18:59 millert
+
+ * configure, configure.in, config.h.in, sudo.c: Add configure check
+ for getgroups()
+
+2004-11-16 18:55 millert
+
+ * ldap.c: Use supplementary group vector in struct sudo_user.
+
+2004-11-16 18:40 millert
+
+ * match.c: Only do string comparisons on the group members if there
+ is no supplemental group list.
+
+2004-11-16 16:10 millert
+
+ * CHANGES, TODO: sync
+
+2004-11-16 15:54 millert
+
+ * sudo_edit.c: On Digital UNIX _PATH_VAR_TMP doesn't end with a
+ trailing slash so chop off any trailing slashes we see and add an
+ explicit one.
+
+2004-11-16 12:02 millert
+
+ * match.c: remove bogus XXX comment
+
+2004-11-16 11:10 millert
+
+ * match.c: Get rid of alias_matches and correctly fall through to
+ the non-alias cases when there is no alias with the specified
+ name.
+
+2004-11-16 10:47 millert
+
+ * getspwuid.c: Cache non-existent passwd/group entries too.
+
+2004-11-16 10:45 millert
+
+ * gram.c: regen
+
+2004-11-15 23:32 millert
+
+ * getspwuid.c: fix typo
+
+2004-11-15 23:24 millert
+
+ * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
+ mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
+ Implement group caching and use the passwd and group caches
+ throughout.
+
+2004-11-15 14:43 millert
+
+ * match.c: Properly negate the return value of alias_matches() when
+ appropriate.
+
+2004-11-15 14:38 millert
+
+ * match.c: Make hostname_matches() return TRUE for a match, else
+ FALSE like the caller expects.
+
+2004-11-15 13:24 millert
+
+ * Makefile.in: Add missing dependencies on gram.h
+
+2004-11-15 13:06 millert
+
+ * match.c: Use runas_matches in alias_matches() now that we have
+ it.
+
+2004-11-15 13:00 millert
+
+ * parse.c, parse.h: Expand aliases in "sudo -l" mode
+
+2004-11-15 12:33 millert
+
+ * gram.y, match.c: Use ALIAS for the member type when storing an
+ alias instead of HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since
+ match.c relies on the more generic type. Expand runas_matches
+ instead of calling user_matches() inside of it since
+ user_matches() looks up USERALIASes, not RUNASALIASes.
+
+2004-11-15 12:05 millert
+
+ * CHANGES, getspwuid.c: Paranoia; zero out pw_passwd before freeing
+ passwd entry.
+
+2004-11-15 10:53 millert
+
+ * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
+ configure.in, err.c, error.c, error.h, defaults.c, env.c,
+ find_path.c, interfaces.c, logging.c, mon_systrace.c, sudo.c,
+ sudo.h, sudo_edit.c, testsudoers.c, visudo.c, emul/err.h: Add
+ local error/warning functions like err/warn but that call an
+ additional cleanup routine in the error case. This means we no
+ longer need to compile a special version of alloc.o for visudo.
+
+2004-11-15 09:59 millert
+
+ * match.c: Use userpw_matches() to compare usernames, not strcmp(),
+ since the latter checks for "#uid".
+
+2004-11-15 09:53 millert
+
+ * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c: Cache passwd
+ db entries in 2 reb-black trees; one indexed by uid, the other by
+ user name. The data returned from the cache should be considered
+ read-only and is destroyed by sudo_endpwent().
+
+2004-11-15 09:50 millert
+
+ * match.c: add cast to uid_t
+
+2004-11-15 09:49 millert
+
+ * gram.y: missing free in alias_destroy
+
+2004-11-15 09:49 millert
+
+ * redblack.c: Can't use rbapply() for rbdestroy since the
+ destructor is passed a data pointer, not a node pointer.
+
+2004-11-14 23:06 millert
+
+ * getspwuid.c, logging.c, sudo.c, sudo.h: Create and use private
+ versions of setpwent() and endpwent() that set/end the shadow
+ password file too.
+
+2004-11-14 22:55 millert
+
+ * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c,
+ visudo.c: Store aliases in a red-black tree.
+
+2004-11-14 22:52 millert
+
+ * Makefile.in, redblack.c, redblack.h: red-black tree
+ implementation
+
+2004-11-14 22:37 millert
+
+ * visudo.c: Edit all sudoers file if there were unused or undefined
+ aliases and we are in strict mode.
+
+2004-11-12 11:19 millert
+
+ * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
+ find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
+ Bring back the "secure_path" Defaults option now that Defaults
+ take effect before the path is searched.
+
+2004-11-11 12:22 millert
+
+ * logging.c, parse.c: A user can always list their own entries,
+ even with -u. Better error message when failing to list another
+ user's entries.
+
+2004-11-11 12:12 millert
+
+ * parse.c, sudo.c, sudo.h: The syntax to list another user's
+ entries is now "-u otheruser -l". Only root or users with sudo
+ "ALL" may list other user's entries.
+
+2004-11-11 11:30 millert
+
+ * sudo.cat, sudo.man.in, sudo.pod: Update env variable info in
+ SECURITY NOTES
+
+2004-11-11 11:25 millert
+
+ * env.c: strip CDPATH too
+
+2004-11-11 11:20 millert
+
+ * env.c: strip exported bash functions from the environment.
+
+2004-10-27 12:16 millert
+
+ * sudo.c: Only reset sudo_user.pw based on SUDO_USER environment
+ variables for real commands and sudoedit. This avoids a
+ confusing message when a user tries "sudo -l" or "sudo -v" and is
+ denied.
+
+2004-10-27 12:06 millert
+
+ * gram.c, gram.y, parse.h: Extend LIST_APPEND to deal with
+ appending lists too
+
+2004-10-26 18:39 millert
+
+ * logging.c: Convert some bitwise AND to ISSET
+
+2004-10-26 18:29 millert
+
+ * lex.yy.c, toke.c: toke.c replaces lex.yy.c
+
+2004-10-26 18:29 millert
+
+ * CHANGES, TODO: sync
+
+2004-10-26 18:28 millert
+
+ * BUGS: new parser fixes most of the outstanding bugs
+
+2004-10-26 18:27 millert
+
+ * configure: regen
+
+2004-10-26 18:26 millert
+
+ * visudo.c: Rework for the new parser. Now checks for unused
+ aliases in sudoers.
+
+2004-10-26 18:25 millert
+
+ * testsudoers.c: Rewrite for the new parser. Now supports a -d
+ flag (dump) and adds a -h flag (host). It now defaults to the
+ local hostname unless otherwise specified.
+
+2004-10-26 18:23 millert
+
+ * sudo.h: Add new prototypes. Remove NOMATCH/UNSPEC (now in
+ parse.h)
+
+2004-10-26 18:22 millert
+
+ * sudo.c: Update for new parse. We now call find_path() *after* we
+ have updated the global defaults based on sudoers. Also adds
+ support for listing other user's privs if you are root.
+
+2004-10-26 18:21 millert
+
+ * mon_systrace.c: Working LDAP support; also remove a now-unneeded
+ rewind().
+
+2004-10-26 18:20 millert
+
+ * logging.c, logging.h: Add NO_STDERR flag.
+
+2004-10-26 18:19 millert
+
+ * ldap.c: Split sudo_ldap_check() into three pieces:
+ sudo_ldap_open(), udo_ldap_update_defaults() and
+ sudo_ldap_check(). This allows us to connecto to LDAP, apply the
+ default options, find the command in the user's path, and then
+ check whether the user is allowed to run it. The important thing
+ here is that the default runas user may be specified as a default
+ option and that needs to be set before we search for the command.
+
+2004-10-26 18:17 millert
+
+ * ldap.c: Add casts to unsigned char for isspace() to quiet a gcc
+ warning.
+
+2004-10-26 18:16 millert
+
+ * defaults.h: Add prototype for update_defaults()
+
+2004-10-26 18:16 millert
+
+ * defaults.c: Don't warn about line numbers now that we operate on
+ a set of data structures (or LDAP) and not a file.
+
+2004-10-26 18:15 millert
+
+ * config.h.in: No long use lsearch()
+
+2004-10-26 18:14 millert
+
+ * Makefile.in: Update for new and changed file names.
+
+2004-10-26 18:14 millert
+
+ * LICENSE: no more BSD lsearch.c
+
+2004-10-26 18:14 millert
+
+ * match.c: foo_matches() routines now live in match.c Added
+ user_matches(), runas_matches(), host_matches(), cmnd_matches()
+ and alias_matches() that operate on the parsed sudoers file.
+
+2004-10-26 18:12 millert
+
+ * parse.lex, toke.l: Move parse.lex -> toke.l Rename buffer_frob()
+ -> switch_buffer() WORD no longer needs to exclude '@' kill
+ yywrap()
+
+2004-10-26 18:10 millert
+
+ * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.h:
+ Rewritten parser that converts sudoers into a set of data
+ structures. This eliminates ordering issues and makes it
+ possible to apply sudoers Defaults entries before searching for
+ the command.
+
+2004-10-26 18:09 millert
+
+ * configure.in, lsearch.c, emul/search.h: We won't be using
+ lsearch() any longer.
+
+2004-10-26 18:07 millert
+
+ * ldap.c: sudo should not send mail if someone who runs 'sudo -l'
+ has no entry.
+
+2004-10-26 16:09 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in: regen
+
+2004-10-26 16:09 millert
+
+ * visudo.pod: Update warnings to match new visudo
+
+2004-10-26 16:08 millert
+
+ * sudoers.pod: The new parser doesn't have the old ordering
+ constraints.
+
+2004-10-26 16:08 millert
+
+ * sudo.pod: Document that -l now takes an optional username
+ argument
+
+2004-10-25 13:44 millert
+
+ * RUNSON: AIX 5.2.0.0 works
+
+2004-10-25 13:38 millert
+
+ * ldap.c: If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS
+ instead. Fixes a compilation problem with Solaris 9's native
+ LDAP.
+
+ Set FLAG_MONITOR when needed.
+
+2004-10-23 13:32 millert
+
+ * mon_systrace.c: Call sudo_goodpath() *after* changing the cwd to
+ match the traced process. Fixes relative paths.
+
+2004-10-21 12:31 millert
+
+ * testsudoers.c: Kill set_perms() stub--it is no longer needed.
+
+2004-10-13 12:52 millert
+
+ * sudoers.cat, sudoers.man.in, sudoers.pod: stay_setuid now
+ requires set_reuid() or setresuid()
+
+2004-10-13 12:46 millert
+
+ * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
+ configure.in, set_perms.c, sudo.c, sudo.h: Kill use of POSIX
+ saved uids; they aren't worth bothering with.
+
+2004-10-07 16:23 millert
+
+ * glob.c: remove call to issetugid()
+
+2004-10-07 14:57 millert
+
+ * sudoers.cat, sudoers.man.in, sudoers.pod: Remove warning about
+ wildcards. Now that we use glob() the bug is fixed.
+
+2004-10-07 14:52 millert
+
+ * parse.c: Use glob(3) instead of fnmatch(3) for matching pathnames
+ and stat each result that matches the basename of the user's
+ command. This makes "cd /usr/bin ; sudo ./blah" work when
+ sudoers allows /usr/bin/blah. Fixes bug #143.
+
+2004-10-07 14:27 millert
+
+ * configure, configure.in, config.h.in: Define HAVE_EXTENDED_GLOB
+ for extended glob (GLOB_TILDE and GLOB_BRACE)
+
+2004-10-07 12:59 millert
+
+ * config.h.in, configure, configure.in: Check for a glob() that
+ supports GLOB_BRACE and GLOB_TILDE
+
+2004-10-07 12:51 millert
+
+ * LICENSE: reference glob
+
+2004-10-07 12:50 millert
+
+ * glob.c, emul/glob.h: 4.4BSD glob(3) with fixes from OpenBSD and
+ some unneeded extensions removed.
+
+2004-10-05 17:26 millert
+
+ * mon_systrace.c: Just return if STRIOCINJECT or STRIOCREPLACE
+ fail. It probably means we are out of space in the stack gap...
+
+2004-10-05 17:20 millert
+
+ * CHANGES: sync
+
+2004-10-05 16:53 millert
+
+ * mon_systrace.c: Take a stab at ldap sudoers support here.
+
+2004-10-05 15:13 millert
+
+ * mon_systrace.c, mon_systrace.h: Detach from tracee on SIGHUP,
+ SIGINT and SIGTERM. Now "sudo reboot" doesn't cause reboot to
+ inadvertanly kill itself.
+
+2004-10-05 14:21 millert
+
+ * mon_systrace.c: put "monitor" in the proctitle, not "systrace"
+
+2004-10-05 14:15 millert
+
+ * mon_systrace.c: When modifying the environment, don't replace
+ envp when we can get away with just rewriting pointers in the
+ traced process.
+
+2004-10-05 13:46 millert
+
+ * mon_systrace.c, mon_systrace.h: Add environment updating via
+ STRIOCINJECT (if available).
+
+2004-10-05 10:22 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2004-10-04 16:15 millert
+
+ * lex.yy.c: regen
+
+2004-10-04 16:15 millert
+
+ * parse.lex: Fix bug introduced in unput() removal; want yyless(0)
+ not yyless(1)
+
+2004-10-04 12:09 millert
+
+ * mon_systrace.c: Include file is now mon_systrace.h
+
+2004-10-04 12:07 millert
+
+ * Makefile.in, configure, configure.in, def_data.c, def_data.h,
+ def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
+ sudo.c, sudo.h, sudo.tab.h, sudoers.pod: No longer call it
+ tracing, it is now "monitoring" which should be more a obvious
+ name to non-hackers.
+
+2004-10-01 15:06 millert
+
+ * mon_systrace.c, mon_systrace.h: Fix some XXX
+
+2004-10-01 14:30 millert
+
+ * mon_systrace.c, mon_systrace.h: No need to include syscall.h, use
+ 1024 as the max # of entries (the max that systrace(4) allows).
+
+ Only need to use SYSTR_POLICY_ASSIGN once
+
+ Change check_syscall() -> find_handler() and have it return the
+ handler instead of just running it. We need this since handler
+ now have two parts: one part that generates and answer and
+ another that gets called after the answer is accepted (to do
+ logging).
+
+ Add some missing check_exec for emul execv
+
+2004-10-01 10:58 millert
+
+ * sample.pam, sample.sudoers, sample.syslog.conf, sudoers: Add
+ $Sudo: ChangeLog,v 1.16 2008/11/10 20:20:10 millert Exp $ tags.
+
+2004-10-01 10:47 millert
+
+ * config.h.in: Add missing HAVE_LINUX_SYSTRACE_H
+
+2004-09-30 20:46 millert
+
+ * Makefile.in: add trace_systrace.o dependency
+
+2004-09-30 19:00 millert
+
+ * configure, configure.in: Also look for systrace.h in
+ /usr/include/linux
+
+2004-09-30 18:27 millert
+
+ * mon_systrace.c, mon_systrace.h: Move all struct defs and
+ prototypes into trace_systrace.h and mark all but
+ systace_attach() static.
+
+2004-09-30 18:14 millert
+
+ * mon_systrace.c, mon_systrace.h: Add support for tracing
+ emulations. At the moment, all emulations are compiled in. It
+ might make sense to #ifdef them in the future, though this
+ impeeds readability.
+
+2004-09-30 17:07 millert
+
+ * Makefile.in, configure.in, configure: rename systrace.c ->
+ trace_systrace.c
+
+2004-09-30 15:58 millert
+
+ * parse.yacc: Allow this to build with a K&R compiler again
+
+2004-09-30 13:58 millert
+
+ * TODO: sync
+
+2004-09-30 13:55 millert
+
+ * sudo.c, compat.h, visudo.c: Use __attribute__((__noreturn__))
+
+2004-09-30 13:44 millert
+
+ * visudo.c: Exit() takes a negative value to indicate it was not
+ called via signal.
+
+2004-09-30 13:25 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in: regen
+
+2004-09-30 13:22 millert
+
+ * Makefile.in, visudo.c: Define Err() and Errx() that are like
+ err() and errx() but call Exit() instead of exit(). Build
+ private copy of alloc.o for visudo that calls Err() and Errx().
+
+2004-09-29 15:22 millert
+
+ * lex.yy.c: regen
+
+2004-09-29 15:22 millert
+
+ * CHANGES: sync
+
+2004-09-29 14:41 millert
+
+ * visudo.c: Overhaul visudo for editing multiple files: o visudo
+ has been broken out into functions (more work needed here) o
+ each file is now edited before sudoers is re-parsed o if a
+ #include line is added that file will be edited too
+
+ TODO: o cleanup temp files when exiting via err() or errx() o
+ continue breaking things out into separate functions
+
+2004-09-29 14:36 millert
+
+ * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c: Add keepopen
+ arg to open_sudoers that open_sudoers can use to indicate to the
+ caller that the fd should not be closed when it is done with it.
+ To be used by visudo to keep locked fds from being closed
+ prematurely (and thus losing the lock).
+
+2004-09-29 14:33 millert
+
+ * parse.yacc, sudo.c: Add errorfile global that contains the name
+ of the file that caused the error.
+
+2004-09-29 14:30 millert
+
+ * parse.lex: return COMMENT to yacc grammar for a #include line
+
+2004-09-29 14:29 millert
+
+ * parse.lex: Remove us of unput() in favor of yyless() which is
+ cheaper.
+
+2004-09-29 14:28 millert
+
+ * parse.yacc: Allow an empty sudoers file.
+
+2004-09-28 16:50 millert
+
+ * mon_systrace.c: Rewind sudoers_fp now that sudoers_lookup()
+ doesn't do it for us.
+
+2004-09-28 14:37 millert
+
+ * lex.yy.c: regen
+
+2004-09-28 14:36 millert
+
+ * visudo.c: Do signal setup before calling edit_sudoers(). Don't
+ shadow the "quiet" global.
+
+2004-09-28 14:33 millert
+
+ * visudo.c: If a sudoers file includes other files, edit those too.
+ Does not yes deal with creating the new includes files itself.
+
+2004-09-28 14:31 millert
+
+ * testsudoers.c: init_parser now takes a path
+
+2004-09-28 14:31 millert
+
+ * parse.c, parse.h, parse.lex, parse.yacc: More scaffolding for
+ dealing with multiple sudoers files: o init_parser() now takes a
+ path used to populate the sudoers global o the sudoers global is
+ used to print the correct file in yyerror() o when switching to
+ a new sudoers file, perserve old file name and line number
+
+2004-09-28 14:29 millert
+
+ * Makefile.in, pathnames.h.in: Kill _PATH_SUDOERS_TMP; it is not
+ meaningful now that we can have multiple sudoers files.
+
+2004-09-28 13:52 millert
+
+ * parse.c, sudo.c: Rewind sudoers_fp in open_sudoers() instead of
+ sudoers_lookup() so we start at the right file position when
+ reading include files.
+
+2004-09-27 21:04 millert
+
+ * sudoers.pod: document #include
+
+2004-09-27 20:47 millert
+
+ * lex.yy.c: regen
+
+2004-09-27 20:47 millert
+
+ * parse.lex: Add max depth of 128 for the include stack to avoid
+ loops.
+
+ Since yyerror() doesn't stop parsing, pass return values back to
+ yylex and call yyterminate() on error.
+
+2004-09-27 14:06 millert
+
+ * sudoers.pod: document tracing
+
+2004-09-27 14:05 millert
+
+ * sudo.pod: Mention PREVENTING SHELL ESCAPES section of sudoers man
+ page
+
+2004-09-27 12:08 millert
+
+ * lex.yy.c: regen
+
+2004-09-27 12:03 millert
+
+ * parse.lex: Add support for #include in sudoers (visudo support
+ TBD)
+
+2004-09-27 12:02 millert
+
+ * parse.yacc: make yyerror()'s argument const
+
+2004-09-27 12:02 millert
+
+ * testsudoers.c, visudo.c: Add open_sudoers() stubs.
+
+2004-09-27 12:01 millert
+
+ * sudo.c, sudo.h: Rename check_sudoers() open_sudoers() and make it
+ return a FILE *
+
+2004-09-26 12:35 millert
+
+ * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
+ version.h: Crank version
+
+2004-09-26 12:33 millert
+
+ * Makefile.in, sudo.psf: Better HP-UX depot construction
+
+2004-09-25 17:08 millert
+
+ * mon_systrace.c: o Made children global so check_exec() can lookup
+ a child. o Replaced uid in struct childinfo with struct passwd *
+ (for runas) o new_child() now takes a parent pid so the runas
+ info can be inherited o Added find_child() to lookup a child by
+ its pid o update_child() now fills in a struct passwd o Converted
+ the big if/else mess in set_policy to a switch o Syscalls that
+ change uid are now "ask" so we get SYSTR_MSG_UGID events
+
+2004-09-25 17:01 millert
+
+ * getspwuid.c: Add flag to sudo_pwdup that indicates whether or not
+ to lookup the shadow password. Will be used to a struct passwd
+ that has the shadow password already filled in.
+
+2004-09-25 16:58 millert
+
+ * mon_systrace.c: add missing increment of addr in read_string()
+
+2004-09-25 16:15 millert
+
+ * mon_systrace.c: Remove bogus call to update_child() and some
+ cosmetic fixes
+
+2004-09-25 16:11 millert
+
+ * mon_systrace.c: Don't leak /dev/systrace fd to tracee Make
+ initialized global for simplicity If STRIOCATTACH returns EBUSY
+ we are already being traced Check for user_args == NULL in
+ setproctitle() call Add missing calls to STRIOCANSWER
+
+2004-09-25 13:15 millert
+
+ * sudo.c: g/c sudo_pwdup proto
+
+2004-09-24 20:21 millert
+
+ * Makefile.in, sudo.psf: Add target for building a depot file
+
+2004-09-24 20:07 millert
+
+ * mon_systrace.c: trim includes
+
+2004-09-24 14:11 millert
+
+ * lex.yy.c, sudo.tab.h: regen
+
+2004-09-24 14:10 millert
+
+ * INSTALL: document --with-systrace
+
+2004-09-24 14:10 millert
+
+ * config.h.in, configure, configure.in: Add check for setproctitle
+
+2004-09-24 14:09 millert
+
+ * mon_systrace.c: pass struct str_msg_ask in to syscall checker so
+ it can set the error code
+
+2004-09-24 13:30 millert
+
+ * mon_systrace.c: systrace(4) support for sudo. On systems with
+ the systrace(4) kernel facility (OpenBSD, NetBSD, Linux w/
+ patches) sudo can intercept exec calls and check the exec args
+ against the sudoers file. In other words, sudo can now control
+ subcommands and shell escapes.
+
+2004-09-24 13:17 millert
+
+ * sudo.c, sudo.h: Call systrace_attach() if FLAG_TRACE is set.
+
+2004-09-24 13:15 millert
+
+ * parse.c, parse.h, parse.lex, parse.yacc, sudo.h: Add trace
+ Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
+
+2004-09-24 13:13 millert
+
+ * parse.c, sudo.c: Don't close sudoers_fp, keep it open and set
+ close on exec flag instead.
+
+2004-09-24 13:11 millert
+
+ * def_data.c, def_data.h, def_data.in: Add trace option
+
+2004-09-23 20:24 millert
+
+ * Makefile.in: Add systrace
+
+2004-09-23 20:23 millert
+
+ * INSTALL: SunOS /bin/sh blows up with configure
+
+2004-09-23 20:23 millert
+
+ * configure, configure.in: Include sys/param.h before systrace.h
+
+2004-09-23 20:15 millert
+
+ * configure: regen
+
+2004-09-23 20:15 millert
+
+ * pathnames.h.in: _PATH_DEV_SYSTRACE
+
+2004-09-23 20:14 millert
+
+ * configure.in: line up options in --help
+
+2004-09-23 20:11 millert
+
+ * config.h.in, configure.in: Add --with-systrace
+
+2004-09-23 13:35 millert
+
+ * configure: regen
+
+2004-09-23 13:35 millert
+
+ * aclocal.m4, configure.in: make this work with autoconf-2.59
+
+2004-09-16 12:58 millert
+
+ * sudo_edit.c: Simplify logic around open & stat of files and do
+ sanity on edited file even if we lack fstat (still racable but
+ worth doing).
+
+2004-09-15 18:47 millert
+
+ * HISTORY: Add support url
+
+2004-09-15 16:11 millert
+
+ * Makefile.in: versino 1.6.8p1
+
+2004-09-15 15:20 millert
+
+ * CHANGES: more changes for 1.6.8p1
+
+2004-09-15 15:18 millert
+
+ * version.h: 1.6.8p1
+
+2004-09-15 12:16 millert
+
+ * CHANGES, sudo_edit.c: Add sanity check so we don't try to edit
+ something other than a regular file.
+
+2004-09-14 20:55 aaron
+
+ * CHANGES: sync
+
+2004-09-14 20:21 aaron
+
+ * INSTALL: document --with-ldap-conf-file
+
+2004-09-14 17:43 millert
+
+ * CHANGES, ins_csops.h: political correctness strikes again
+
+2004-09-14 15:09 millert
+
+ * RUNSON: sync
+
+2004-09-12 19:50 millert
+
+ * Makefile.binary.in, Makefile.in: Install sudoedit man link
+
+2004-09-12 14:25 millert
+
+ * INSTALL: Update PAM note and mention where HP-UX users can
+ download gcc binaries.
+
+2004-09-12 12:08 millert
+
+ * Makefile.in: libtool wants to install stuff from .libs so fake
+ one up for binary installations.
+
+2004-09-12 11:53 millert
+
+ * Makefile.binary.in: rm -f old sudoedit link instead of using ln
+ -f set LIBTOOL correctly
+
+2004-09-12 11:53 millert
+
+ * Makefile.in: Deal with "uname -m" having slashes in it rm -f old
+ sudoedit link instead of using ln -f
+
+2004-09-12 10:22 millert
+
+ * Makefile.binary, Makefile.binary.in: Makefile.binary ->
+ Makefile.binary.in for config.status substitution Add support for
+ installing noexec bits
+
+2004-09-12 10:21 millert
+
+ * Makefile.in: Copy noexec bits into binary dists too No longer use
+ my old arch script for making binary dists
+
+2004-09-12 09:36 millert
+
+ * Makefile.binary: Install sudoedit link.
+
+2004-09-11 12:25 millert
+
+ * emul/utime.h: avoid __P so there is no need for compat.h to be
+ included
+
+2004-09-11 12:24 millert
+
+ * utimes.c: Don't use HAVE_UTIME_H before including config.h.
+
+2004-09-10 12:31 millert
+
+ * compat.h: Fix Solatis futimes macro
+
+2004-09-09 11:02 millert
+
+ * sudo_edit.c: Rename ots -> omtim for improved readability.
+
+2004-09-08 14:38 millert
+
+ * sudo_edit.c: Redo changes in revision 1.7. Don't really need to
+ keep the temp file open; re-opening it with the invoking user's
+ euid is sufficient.
+
+2004-09-08 14:36 millert
+
+ * CHANGES: sync
+
+2004-09-08 14:35 millert
+
+ * sudo.cat, sudo.man.in: regen
+
+2004-09-08 14:34 millert
+
+ * sudo.pod: back out revision 1.70; it is no long applicable
+
+2004-09-08 11:57 millert
+
+ * env.c: Let the loader initialize nep
+
+2004-09-08 11:49 millert
+
+ * configure, configure.in, config.h.in: Removed unneed check for
+ fchown Add check for gettimeofday Move autoheader template stuff
+ into separate AH_TEMPLATE lines
+
+2004-09-08 11:48 millert
+
+ * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c: Use
+ timespec throughout.
+
+2004-09-08 11:47 millert
+
+ * Makefile.in: gettime.[co]
+
+2004-09-08 11:47 millert
+
+ * gettime.c: function to return the current time in a struct
+ timespec
+
+2004-09-08 10:51 millert
+
+ * utimes.c: Not a darpa-sponsored file.
+
+2004-09-07 16:36 millert
+
+ * compat.h, config.h.in, configure, configure.in: Add a check for
+ struct timespec and provide it for those without.
+
+2004-09-07 15:56 millert
+
+ * config.h.in, configure, configure.in, sudo_edit.c: Add checks for
+ st_mtim and st_mtimespec and add macros for pulling the mtime sec
+ and nsec out of struct stat. These are used in sudo_edit() to
+ better tell whether or not the file has changed.
+
+2004-09-07 15:55 millert
+
+ * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c: Add an extra
+ param to touch() for nsec
+
+2004-09-07 14:06 millert
+
+ * sudo_edit.c: Call mkstemp() as the in invoking user so we don't
+ have to chown the file later. Only touch() the temp file if we
+ can do it via the file descriptor. Don't check for modification
+ of the temp file if we lack fstat(). Catch errors read()ing the
+ temp file.
+
+2004-09-07 14:04 millert
+
+ * fileops.c: If path is NULL and fd == -1 return -1.
+
+2004-09-07 13:31 millert
+
+ * sudo_edit.c: closefrom() is overkill, the only extra fds are the
+ ones we opened so just close those in the child.
+
+2004-09-07 13:14 millert
+
+ * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in,
+ configure, configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c,
+ utimes.c, visudo.c: Use utimes() and futimes() instead of utime()
+ in touch(), emulating as needed. Not all systems are able to
+ support setting the times of an fd so touch() takes both an fd
+ and a file name as arguments.
+
+2004-09-06 21:12 aaron
+
+ * env.c: Rare SEGV
+
+2004-09-06 16:46 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in: regen
+
+2004-09-06 16:45 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Add SUPPORT section and
+ re-order some of the sections to match the order we use in
+ OpenBSD.
+
+2004-09-06 15:05 aaron
+
+ * env.c: Openldap ~/.ldaprc fix
+
+2004-09-06 12:18 millert
+
+ * sudo.pod: Talk about how the editor must write its changes to the
+ original file and not just use rename(2).
+
+2004-09-06 12:12 millert
+
+ * CHANGES: sync
+
+2004-09-06 12:11 millert
+
+ * sudo_edit.c: Keep the temp file open instead of re-opening after
+ the editor has exited.
+
+2004-09-06 12:10 millert
+
+ * sample.pam: Update for current redhat/fedora core.
+
+2004-09-02 21:56 aaron
+
+ * README.LDAP: tls_ examples
+
+2004-09-02 00:03 aaron
+
+ * ldap.c: config tls_* options
+
+2004-08-29 11:39 millert
+
+ * configure, configure.in: No need for -lcrypt when using pam.
+
+2004-08-26 23:57 millert
+
+ * configure: regen
+
+2004-08-26 23:44 aaron
+
+ * configure.in, ldap.c, pathnames.h.in: Allow --with-ldap-conf-file
+ option to override LDAP_CONF
+
+2004-08-26 22:08 aaron
+
+ * ldap.c: cleanup debug message
+
+2004-08-26 19:29 aaron
+
+ * README.LDAP: more config info
+
+2004-08-24 14:01 millert
+
+ * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
+ Add cmnd_base to struct sudo_user and set it in init_vars(). Add
+ cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
+ longer use gross statics in command_matches(). Also rename some
+ variables for improved clarity.
+
+2004-08-21 14:33 millert
+
+ * INSTALL: document HP's crippled compiler deficiency.
+
+2004-08-21 14:25 millert
+
+ * INSTALL: Fix some thinkos in --with-editor and --with-env-editor
+ descriptions. Noticed by Norihiko Murase.
+
+2004-08-21 14:20 millert
+
+ * configure, configure.in: --with-noexec takes an optional PATH
+ argument.
+
+2004-08-21 14:20 millert
+
+ * INSTALL: document --with-noexec
+
+2004-08-17 16:21 millert
+
+ * RUNSON, TODO: sync
+
+2004-08-17 15:11 millert
+
+ * sudo_edit.c: Better warning message when sudoedit is unable to
+ write to the destination file.
+
+2004-08-17 14:53 millert
+
+ * sudo.cat, sudo.man.in: regen
+
+2004-08-17 14:53 millert
+
+ * sudo.pod: Don't italicize the string "sudoedit"
+
+2004-08-16 18:45 millert
+
+ * HISTORY: Mention GratiSoft.
+
+2004-08-11 14:29 millert
+
+ * parse.yacc: Reset used_runas to FALSE when re-intializing the
+ parser.
+
+2004-08-09 19:04 millert
+
+ * config.guess: Correct OpenBSD mips support
+
+2004-08-09 17:28 millert
+
+ * config.guess: Add OpenBSD/mips
+
+2004-08-06 23:43 aaron
+
+ * README.LDAP: More behavior notes
+
+2004-08-06 23:36 aaron
+
+ * README.LDAP: Updates on current behavior
+
+2004-08-06 19:56 millert
+
+ * sudo.pod, sudoers.pod: =back does not take an indentlevel (makes
+ no difference to formatted files).
+
+2004-08-06 19:48 millert
+
+ * CHANGES: new
+
+2004-08-06 19:42 millert
+
+ * sudo.c: Consistency. Use same error for bad -u #uid when
+ targetpw is set as we do when a bad -u username is specified.
+
+2004-08-06 19:33 millert
+
+ * TODO: Add checksum idea from Steve Mancini
+
+2004-08-06 19:32 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen
+
+2004-08-06 19:31 millert
+
+ * sudo.pod, sudoers.pod: Document the restriction on uids specified
+ via -u when targetpw is set.
+
+2004-08-06 19:24 millert
+
+ * sudo.c: Error out when targetpw is enabled and sudo is run with
+ -u #uid but #uid does not exist in the passwd database. We can't
+ do target authentication when the target is not in passwd!
+
+2004-08-05 21:16 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen
+
+2004-08-05 21:14 millert
+
+ * TODO: Some more todo for the next release.
+
+2004-08-05 21:13 millert
+
+ * INSTALL: Make it clear that PAM should be used for DCE support
+ when possible.
+
+2004-08-05 21:13 millert
+
+ * sudoers.pod: o Document problems with wildcards and relative
+ paths. o Make the order requirements more prominent. o Change a
+ "set" to "reset" for clarity.
+
+2004-08-05 14:29 millert
+
+ * sudo.pod: Mention --with-secure-path, not SECURE_PATH.
+
+2004-08-02 22:34 aaron
+
+ * ldap.c: reflect changes to parse.c
+
+2004-08-02 14:44 millert
+
+ * parse.c, parse.h, parse.yacc, testsudoers.c, visudo.c: Don't pass
+ user_cmnd and user_args to command_matches(), just use the
+ globals there. Since we keep state with statics anyway it is
+ misleading to pretend that passing in different cmnd and
+ cmnd_args will work.
+
+2004-08-02 14:40 millert
+
+ * parse.c: Fix a bug introduced in rev. 1.149. When checking for
+ pseudo-commands check for a '/' anywhere in cmnd, not just the
+ first character.
+
+2004-07-30 23:07 aaron
+
+ * sudo.man.in, sudo.pod: Clarification thanks to Olivier Blin
+ <oblin@mandrakesoft.com>
+
+2004-07-30 22:41 aaron
+
+ * sudoers.man.in, sudoers.pod: Add ignore_local_sudoers
+
+2004-07-30 22:06 aaron
+
+ * README.LDAP: Sun One schema definition by
+ Andreas.Bussjaeger@t-systems.com and janth@moldung.no
+
+2004-07-29 11:57 millert
+
+ * CHANGES: typo
+
+2004-07-23 16:44 millert
+
+ * CHANGES: sync
+
+2004-07-23 16:43 millert
+
+ * parse.c: Parse sudoers file as PERM_RUNAS not PERM_ROOT and
+ remove a useless PERM_SUDOERS. Restore to PERM_ROOT upon exit of
+ the parse.
+
+2004-07-08 10:20 millert
+
+ * CHANGES: PAM change
+
+2004-07-07 21:04 aaron
+
+ * ldap.c: Better debugging of ALL command
+
+2004-07-07 20:15 millert
+
+ * parse.c: When matching for "sudoedit" in sudoers check both the
+ command the user typed *and* the command that is listed in the
+ sudoers entry.
+
+2004-07-04 19:59 aaron
+
+ * ldap.c: Added !command feature
+
+2004-06-28 10:51 millert
+
+ * auth/pam.c: Use pam_acct_mgmt() to check for disabled accounts;
+ Brian Farrell
+
+2004-06-10 23:11 millert
+
+ * LICENSE: License is ISC-style, not BSD-style
+
+2004-06-10 20:58 millert
+
+ * CHANGES: sync
+
+2004-06-10 16:54 millert
+
+ * sudo.man.in, sudo.cat: regen
+
+2004-06-10 16:53 millert
+
+ * sudo.pod: o Update some out of date bits to reality o Change the
+ shell promt in examples to bourne-shell style o Clarify some
+ details o Add a CAVEAT about "sudo cd /foo"
+
+2004-06-10 16:19 millert
+
+ * check.c: Don't ask for a password if invoking user == target
+ user.
+
+2004-06-10 12:32 millert
+
+ * sudo.c: typo in comment
+
+2004-06-08 19:20 millert
+
+ * sudoers.man.in, sudoers.cat: regen
+
+2004-06-08 19:19 millert
+
+ * sudoers.pod: Expand on NOEXEC a little.
+
+2004-06-08 16:20 millert
+
+ * TODO: sync
+
+2004-06-08 15:58 millert
+
+ * visudo.man.in, visudo.cat: regen
+
+2004-06-08 15:55 millert
+
+ * CHANGES, parse.yacc, visudo.c, visudo.pod: Add a check in visudo
+ for runas_default being set after it has already been used.
+
+2004-06-08 13:53 millert
+
+ * parse.yacc: Add a MATCHED macro for testing whether foo_matches
+ has been set to TRUE or FALSE. This is more readable than
+ checking for >=0 or < 0. Doesn't change the actual code
+ generated.
+
+2004-06-06 20:11 millert
+
+ * sudoers.man.in, sudoers.cat: regen
+
+2004-06-06 20:07 millert
+
+ * sudoers, sudoers.pod: Correct description of where Defaults specs
+ should go.
+
+2004-06-06 20:02 millert
+
+ * find_path.c, ldap.c, logging.h, testsudoers.c, visudo.c,
+ auth/bsdauth.c, auth/kerb5.c, auth/pam.c: update (c) year
+
+2004-06-06 19:58 millert
+
+ * check.c, compat.h, defaults.c, env.c, find_path.c, getcwd.c,
+ ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c,
+ tgetpass.c, visudo.c, auth/bsdauth.c, auth/kerb5.c, auth/pam.c:
+ Remove trailing spaces, no actual code changes.
+
+2004-06-06 16:22 millert
+
+ * parse.yacc: Fix a >=0 that should be <0 that was improperly
+ converted when UNSPEC was added.
+
+2004-06-06 15:54 millert
+
+ * parse.yacc: Add do {} while(0) around pop macro Set cmnd_matches
+ to UNSPEC, not NOMATCH when resetting it.
+
+2004-06-06 15:39 millert
+
+ * parse.yacc: Fix pastos introduced in SETNMATCH addition.
+
+2004-06-05 13:55 millert
+
+ * README.LDAP: Update for configure changes
+
+2004-06-05 13:42 millert
+
+ * parse.yacc, sudo.h: Add NOMATCH and UNSPEC defines (-1 and -2
+ respectively) and use these in parse.yacc. Also in parse.yacc
+ initialize the *_matches vars to UNSPEC and add two macros,
+ SETMATCH and SETNMATCH for use when setting *_matches to a value
+ that may be NOMATCH/UNSPEC/TRUE/FALSE.
+
+2004-06-05 11:17 millert
+
+ * parse.yacc: Initialize runas to -2, not -1 since we need to be
+ able to distinguish between the initialized value and the value
+ of a non-match when passing along the runas value to multiple
+ commands.
+
+ The result of this is that an unmatched runas is now set to -1,
+ not 0. This is required now that parse.c treats a FALSE value
+ for runas as being explicitly denied.
+
+2004-06-03 16:21 millert
+
+ * getprogname.c, sudo.c, visudo.c: Error out if argc < 1.
+
+2004-06-03 12:37 millert
+
+ * configure, configure.in: Add tests for what libs we need to link
+ with for ldap and for whether or not lber.h needs to be
+ explicitly included.
+
+2004-06-02 20:30 aaron
+
+ * ldap.c: Solaris native LDAP build fix
+
+2004-06-01 16:56 millert
+
+ * ldap.c: Set edn to NULL is ldap_get_dn() fails to avoid potential
+ use of an unset variable.
+
+2004-06-01 16:56 millert
+
+ * sudo.h: Add prototype for sudo_ldap_list_matches
+
+2004-06-01 16:53 millert
+
+ * compat.h, config.h.in, configure, configure.in: Better check for
+ dirfd macro--we now set HAVE_DIRFD for the macro version too.
+ Added check for dd_fd in `DIR' if no dirfd is found; this is now
+ used to confitionally define the dirfd macro in compat.h.
+
+2004-06-01 16:51 millert
+
+ * closefrom.c: Only check /proc/$$/fd if we have the dirfd
+ function/macro.
+
+2004-06-01 15:13 millert
+
+ * compat.h, config.h.in, configure, configure.in: Add a check for a
+ dirfd() function (like Linux) and add a dirfd macro in compat.h
+ if there is no dirfd() function or macro.
+
+2004-06-01 14:59 millert
+
+ * closefrom.c, getcwd.c: dirfd() is now defined in compat.h as
+ needed.
+
+2004-06-01 14:30 millert
+
+ * CHANGES: Clarify closefrom() note.
+
+2004-06-01 12:51 millert
+
+ * parse.c: When checking for a command in the directory, only copy
+ the base dir once.
+
+2004-06-01 12:44 millert
+
+ * closefrom.c: If there is a /proc/$$/fd directory, behave like the
+ Solaris closefrom() and only close the descriptors listed
+ therein.
+
+2004-06-01 12:23 millert
+
+ * alloc.c: compat.h guarantees INT_MAX is defined.
+
+2004-06-01 12:23 millert
+
+ * compat.h: Add definitions of OPEN_MAX and INT_MAX for those
+ without it and remove definition of RLIM_INFINITY (now unused).
+
+2004-05-31 21:22 millert
+
+ * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c,
+ parse.c, sudo.c, sudo.h, visudo.c: Use PATH_MAX, not MAXPATHLEN
+ since the former is standardized.
+
+2004-05-31 19:18 millert
+
+ * CHANGES: sync
+
+2004-05-31 19:10 millert
+
+ * RUNSON: Add some entries that were mailed in a while ago
+
+2004-05-31 14:16 millert
+
+ * closefrom.c: o sysconf returns a long, not an int. o check for
+ negative return value from sysconf/getdtablesize and use
+ OPEN_MAX in this case. o define OPEN_MAX to 256 for those
+ without it (a fair guess...)
+
+2004-05-30 12:25 millert
+
+ * UPGRADE: Mention change in parse order for RunAs entries.
+
+2004-05-30 12:15 millert
+
+ * configure: regen
+
+2004-05-29 18:29 millert
+
+ * config.h.in, configure.in, INSTALL, README.LDAP: o --with-ldap
+ now takes an optional dir as a parameter
+ o added check for ldap_initialize() and start_tls_s()
+
+2004-05-29 14:54 millert
+
+ * README.LDAP: Fix some typos, word choice and formatting issues.
+
+2004-05-28 18:06 millert
+
+ * tgetpass.c: Use SA_INTERRUPT so SunOS works correctly, avoid
+ stdio and just use read/write as it is simpler.
+
+2004-05-28 16:27 millert
+
+ * configure, configure.in: Remove hack overriding cross-compiler
+ check. It should no longer be needed.
+
+2004-05-28 16:26 millert
+
+ * compat.h: Remove select() compat bits since we no longer use
+ select().
+
+2004-05-28 16:24 millert
+
+ * CHANGES, tgetpass.c: Use alarm() instead of select() for the
+ timeout for systems that don't fully/properly implement select().
+
+2004-05-27 19:14 millert
+
+ * CHANGES: synbc
+
+2004-05-27 19:12 millert
+
+ * RUNSON: update
+
+2004-05-27 19:12 millert
+
+ * set_perms.c: Deal with systems that have no way of setting the
+ effective uid such as nsr-tandem-nsk.
+
+2004-05-27 19:01 millert
+
+ * configure, configure.in: Define NO_SAVED_IDS if we don't find
+ seteuid()
+
+2004-05-27 18:21 millert
+
+ * config.h.in, configure, configure.in: Add back check for
+ setreuid() since NSK doesn't have it.
+
+2004-05-27 15:57 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2004-05-27 15:56 millert
+
+ * BUGS, CHANGES: sync
+
+2004-05-27 15:55 millert
+
+ * parse.c: In sudoers_lookup() return VALIDATE_NOT_OK if the runas
+ user was explicitly denied and the command matched. This fixes a
+ long-standing bug and makes: foo machine = (ALL)
+ /usr/bin/blah foo machine = (!bar) /usr/bin/blah
+
+ equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
+
+2004-05-27 15:52 millert
+
+ * sudoers.pod: Clarify mail_noperm
+
+2004-05-19 21:25 aaron
+
+ * Makefile.in: Missing DESTDIR in make install for sudo_noexec.la
+
+2004-05-17 18:32 millert
+
+ * sudo.man.in, sudoers.man.in, visudo.man.in, sudo.cat,
+ sudoers.cat, visudo.cat: regen
+
+2004-05-17 18:31 millert
+
+ * TODO: sync
+
+2004-05-17 18:31 millert
+
+ * sample.sudoers, sudoers.pod: Remove fastboot/fasthalt (who still
+ remembers these?) and add a minimal sudoedit example.
+
+2004-05-17 18:21 millert
+
+ * CHANGES, INSTALL, TROUBLESHOOTING, UPGRADE, sudo.c, visudo.c:
+ filesystem -> file system
+
+2004-05-17 18:19 millert
+
+ * sudo.pod, sudoers.pod: Fix some minor typos and formatting goofs
+
+2004-05-17 18:10 millert
+
+ * lex.yy.c: regen
+
+2004-05-17 17:57 millert
+
+ * visudo.pod: remove my email addr
+
+2004-05-17 17:55 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Use @mansectform@ and
+ @mansectsu@ everywhere Make man page references links with L<>
+
+2004-05-17 16:51 millert
+
+ * parse.lex: Accept quoted globbing characters and pass them
+ verbatim for fnmatch()
+
+2004-05-17 16:50 millert
+
+ * UPGRADE: Document that /tmp/.odus is gone.
+
+2004-05-17 16:28 millert
+
+ * CHANGES, aclocal.m4, configure, pathnames.h.in: No longer use
+ /tmp/.odus as a possible timestamp dir unless specifically
+ configured to do so. Instead, if no /var/run exists, use
+ /var/adm/sudo or /usr/adm/sudo.
+
+2004-05-17 16:08 millert
+
+ * check.c, compat.h, logging.c, set_perms.c, sudo.c, tgetpass.c,
+ visudo.c: Preliminary changes to support nsr-tandem-nsk. Based
+ on patches from Tom Bates.
+
+2004-05-16 18:47 millert
+
+ * CHANGES: There was no 1.6.7p6.
+
+2004-05-16 16:38 millert
+
+ * BUGS, CHANGES: sync
+
+2004-05-16 16:36 millert
+
+ * Makefile.in: add missing files to DISTFILES
+
+2004-05-16 16:23 millert
+
+ * sudoers.man.in, sudo.cat, sudoers.cat, visudo.cat: regen
+
+2004-05-16 16:20 millert
+
+ * Makefile.in: Fix some line wrap and update (c) year
+
+2004-04-28 15:05 aaron
+
+ * README.LDAP: Build Note
+
+2004-04-06 22:03 aaron
+
+ * Makefile.in: Fix install-dirs
+
+2004-04-04 20:27 millert
+
+ * visudo.c: In Exit() when used as a signal handler, emsg is a
+ pointer so sizeof() is wrong so make it a #define instead. Also
+ avoid using a negative exit value. Found by Aaron Campbell
+
+2004-03-24 18:23 millert
+
+ * sudoers.pod: Remove bogus sentence about uids in a User_List.
+ Document usernames vs. uid parsing in a Runas_List.
+
+2004-03-24 18:06 millert
+
+ * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c: If
+ the user specified a uid with the -u flag and the uid exists in
+ the passwd file, set runas_user to the name, not the uid.
+
+ When comparing usernames in sudoers, if a name is really a uid
+ (starts with '#') compare it numerically to pw_uid.
+
+2004-03-22 13:35 millert
+
+ * auth/kerb5.c: krb5_mcc_ops should be const; Johnny C. Lam
+
+2004-02-28 18:54 aaron
+
+ * CHANGES, config.h.in, ldap.c: Added start_tls support
+
+2004-02-14 18:04 millert
+
+ * Makefile.in: Clean up libtool stuff for 'make distclean' and add
+ def_data.c, def_data.h to PARSESRCS.
+
+2004-02-14 10:13 aaron
+
+ * strlcat.c, strlcpy.c: Un-Fix last license munge
+
+2004-02-13 16:37 millert
+
+ * CHANGES, RUNSON, TODO: checkpoint
+
+2004-02-13 16:37 millert
+
+ * lex.yy.c, configure: regen
+
+2004-02-13 16:36 millert
+
+ * LICENSE, Makefile.binary, Makefile.in, alloc.c, check.c,
+ closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
+ find_path.c, getprogname.c, getspwuid.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ interfaces.h, ldap.c, logging.c, logging.h, parse.c, parse.h,
+ parse.lex, parse.yacc, pathnames.h.in, set_perms.c, sigaction.c,
+ strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in,
+ sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.man.in,
+ sudoers.pod, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c, visudo.man.in, visudo.pod, zero_bytes.c, auth/afs.c,
+ auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
+ auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
+ auth/rfc1938.c, auth/secureware.c, auth/securid.c,
+ auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
+ emul/search.h, emul/utime.h: More to a less restrictive,
+ ISC-style license.
+
+2004-02-12 21:08 aaron
+
+ * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in,
+ def_data.c, def_data.h, def_data.in, ldap.c, sudo.c, sudo.h,
+ sudoers2ldif: Merged in LDAP Support
+
+2004-02-08 15:53 millert
+
+ * sudo.h, sudo_noexec.c: Only do "extern int errno" if errno is not
+ a macro.
+
+2004-02-06 18:08 millert
+
+ * set_perms.c: setreuid(0, 0) fails on QNX if the euid is not
+ already 0 so set the euid first, then just call setuid(0) to set
+ the real uid too.
+
+2004-02-06 14:52 millert
+
+ * set_perms.c: Use setresuid() and setreuid() for PERM_RUNAS when
+ appropriate instead of seteuid() which may not exist.
+
+2004-02-04 14:58 millert
+
+ * LICENSE: 2004
+
+2004-02-03 23:38 millert
+
+ * INSTALL, config.h.in, configure, configure.in, ins_classic.h: Add
+ --with-pc-insults configure option
+
+2004-02-03 23:32 millert
+
+ * visudo.man.in: Prefer VISUAL over EDITOR like old vipw did.
+
+2004-02-01 15:45 millert
+
+ * sudo.man.in, sudoers.man.in: regen
+
+2004-02-01 15:44 millert
+
+ * sudoers.pod: Add a note that noexec is not a cure-all.
+
+2004-02-01 15:20 millert
+
+ * sudoers.pod: Mention that disabling "root_sudo" is pretty
+ pointless.
+
+2004-02-01 15:20 millert
+
+ * configure, configure.in: Substitute for root_sudo in sudoers.pod
+
+2004-02-01 15:03 millert
+
+ * sudo.pod: Add sudoedit to the NAME section
+
+2004-02-01 15:00 millert
+
+ * sudoers.pod: Document that fact that setting ignore_dot in
+ sudoers has no effect due to the fact that find_path() is called
+ *before* sudoers is read.
+
+2004-01-29 19:50 millert
+
+ * sudo_edit.c: Do not require _PATH_USRTMP to be set.
+
+2004-01-29 19:42 millert
+
+ * BUGS, CHANGES, TODO: sync
+
+2004-01-29 19:42 millert
+
+ * sudo.man.in: regen
+
+2004-01-29 19:41 millert
+
+ * sudo.pod: Clarify that when sudo is run by root with the
+ SUDO_USER variable set, the sudoers lookup happens for root and
+ not the SUDO_USER user.
+
+2004-01-29 17:33 millert
+
+ * defaults.c, env.c, fnmatch.c, interfaces.c, logging.c, parse.c,
+ set_perms.c, sigaction.c, sudo.c, tgetpass.c, auth/pam.c,
+ auth/sudo_auth.c: Use the SET, CLR and ISSET macros.
+
+2004-01-29 16:22 millert
+
+ * interfaces.h: MAIN was replaced with _SUDO_MAIN some time ago.
+
+2004-01-29 16:15 millert
+
+ * sudo.c: Don't look at prev_user until after we've parsed sudoers
+ and done the password check. That way, if sudo/sudoedit is run
+ from a root process that was invoked by sudo, we check sudoers
+ for root, not the previous user. This makes sudoedit much more
+ useful and means that for the sudo case, we get correct logging
+ on who actually ran the command.
+
+2004-01-22 19:22 millert
+
+ * sudo_edit.c: Add a comment describing why we need to be notified
+ about our child stopping.
+
+2004-01-22 16:06 millert
+
+ * def_data.c, def_data.in: Update the noexec variable descriptions
+
+2004-01-22 14:18 millert
+
+ * sudoers.man.in, sudoers.pod: noexec now replaces more than just
+ execve()
+
+2004-01-22 12:14 millert
+
+ * sudo_noexec.c: Alas, all the world does not go through execve(2).
+ Many systems still have an execv(2) system call, Linux 2.6
+ provides fexecve(2) and it is not uncommon for libc to have
+ underscore ('_') versions of the functions to be used internally
+ by the library. Instead of stubbing all these out by hand,
+ define a macro and let it do the work. Extra exec functions
+ pointed out by Reznic Valery.
+
+2004-01-21 21:57 millert
+
+ * sudo.c, sudo_edit.c: Fix suspending the editor in -e mode.
+ Because we do a fork() first we need to be notified when the
+ child has been stopped and then send that same signal to ourself
+ so the shell can do its job control thing.
+
+2004-01-21 21:44 millert
+
+ * visudo.c: Use WIFEXITED and WEXITSTATUS macros. If there are
+ systems out there that want to run sudo that still don't support
+ these we can try to deal with that later.
+
+2004-01-21 20:03 millert
+
+ * lex.yy.c: regen
+
+2004-01-21 20:00 millert
+
+ * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod: Document sudo
+ -e / sudoedit
+
+2004-01-21 19:08 millert
+
+ * configure, configure.in: fix typo
+
+2004-01-21 19:02 millert
+
+ * config.h.in, configure.in: Add SET/CLR/ISSET
+
+2004-01-21 18:55 millert
+
+ * sudo.c: Allow non-exclusive flags when invoked as sudoedit.
+ Pretty print the long usage() line to not wrap (assumes 80 char
+ display)
+
+2004-01-21 18:01 millert
+
+ * Makefile.in, sudo.c: If sudo is invoked as "sudoedit" the -e flag
+ is implied and no other flags are permitted.
+
+2004-01-21 18:00 millert
+
+ * sudo.h: Add a new flag, -e, that makes it possible to give users
+ the ability to edit files with the editor of their choice as the
+ invoking user, not the runas user. Temporary files are used for
+ the actual edit and the temp file is copied over the original
+ after the editor is done.
+
+2004-01-21 17:25 millert
+
+ * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c: Add a new
+ flag, -e, that makes it possible to give users the ability to
+ edit files with the editor of their choice as the invoking user,
+ not the runas user. Temporary files are used for the actual edit
+ and the temp file is copied over the original after the editor is
+ done.
+
+2004-01-21 17:06 millert
+
+ * sudo.c, env.c: If real uid == 0 and the SUDO_USER environment
+ variables is set, use that to determine the invoking user's true
+ identity. That way the proper info gets logged by someone who
+ has done "sudo su" but still uses sudo to as root. We can't do
+ this for non-root users since that would open up a security hole,
+ though perhaps it would be acceptable to use getlogin(2) on OSes
+ where this a system call (and doesn't just look in the utmp
+ file).
+
+2004-01-21 16:58 millert
+
+ * pathnames.h.in: Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
+
+2004-01-21 16:57 millert
+
+ * configure, config.h.in, configure.in: Add check for fchown(2)
+
+2004-01-20 14:22 millert
+
+ * sudo.c: Back out portions of the -i commit that set NewArgv[0] in
+ set_runaspw. It is far to late to set NewArgv[0] there and will
+ have no effect anyway as cmnd and safe_cmnd have already been
+ set.
+
+2004-01-20 14:18 millert
+
+ * visudo.c, visudo.pod: Prefer VISUAL over EDITOR like old vipw
+ did.
+
+2004-01-18 20:17 millert
+
+ * env.c, sudo.c: In -i mode always set new environment based on the
+ runas user's passwd entry.
+
+2004-01-18 17:56 millert
+
+ * sudo.man.in, sudo.pod: Document the new -i flag and sync SYNOPSIS
+ section with usage() in sudo.c. Also sort the flags in the
+ OPTIONS section.
+
+2004-01-18 17:55 millert
+
+ * sudo.c, sudo.h: o Add -i that acts similar to "su -", based on
+ patches from David J. MacKenzie o Sort the flags in the usage
+ message
+
+2004-01-18 17:22 millert
+
+ * sudoers.man.in, sudoers.pod: Add a missing @runas_default@
+ substitution.
+
+2004-01-17 16:34 millert
+
+ * sudo.c: Change euid to runas user before calling find_path().
+ Unfortunately, though runas_user can be modified in sudoers we
+ haven't parsed sudoers yet.
+
+2004-01-17 16:25 millert
+
+ * sudoers.man.in, sudoers.pod: Add missing defintion of
+ Parameter_List and use single pipes in the Defaults EBNF
+ definition.
+
+2004-01-17 13:49 millert
+
+ * sudo.c: Fix a bug when set_runaspw() is used as a callback. We
+ don't want to reset the contents of runas_pw if the user
+ specified a user via the -u flag.
+
+ Avoid unnecessary passwd lookups in set_authpw(). In most cases
+ we already have the info in runas_pw.
+
+2004-01-16 18:16 millert
+
+ * check.c: Add Stan Lee / Uncle Ben quote to the lecture from
+ RedHat
+
+2004-01-16 18:12 millert
+
+ * sudo.h: Update sudo_getepw() proto and add one for set_runaspw()
+
+2004-01-16 18:10 millert
+
+ * parse.c: If we can't stat the command as root, try as the runas
+ user instead.
+
+2004-01-16 18:09 millert
+
+ * testsudoers.c, visudo.c: Add stub set_runaspw() function
+
+2004-01-16 18:09 millert
+
+ * sudo.c: Add set_runaspw() function to fill in runas_pw. This
+ will be used as a callback to update runas_pw when the runas user
+ changes.
+
+2004-01-16 18:07 millert
+
+ * env.c, sudo.c: PERM_RUNAS -> PERM_FULL_RUNAS
+
+2004-01-16 18:05 millert
+
+ * set_perms.c, sudo.h: Rename PERM_RUNAS -> PERM_FULL_RUNAS and add
+ a PERM_RUNAS that just changes the euid.
+
+2004-01-16 18:04 millert
+
+ * getspwuid.c: Make sudo_pwdup() act like OpenBSD pw_dup() and
+ allocate memory in one chunk for easy free()ing. Also change it
+ from static to extern.
+
+2004-01-16 18:03 millert
+
+ * defaults.c, defaults.h: Add callback support
+
+2004-01-16 18:02 millert
+
+ * def_data.c, def_data.in, mkdefaults: Add a callback field and use
+ it for runas_default
+
+2004-01-15 15:13 millert
+
+ * auth/fwtk.c: Add support for chalnecho and display server
+ responses used by fwtk >= 2.0
+
+2004-01-12 18:39 millert
+
+ * sudoers.man.in, sudoers.pod: ld.so is ld.so.1 on solaris
+
+2004-01-12 14:03 millert
+
+ * Makefile.in, config.h.in, configure, configure.in, sudo.c,
+ sudo.h: Use closefrom() instead of doing the equivalent inline.
+
+2004-01-12 13:55 millert
+
+ * closefrom.c: closefrom(3) for systems w/o it
+
+2004-01-09 16:29 millert
+
+ * sudoers.man.in: Update from .pod file.
+
+2004-01-09 16:26 millert
+
+ * configure, configure.in: Substitute noexec_file for the sudoers
+ man page
+
+2004-01-09 16:24 millert
+
+ * sudo.man.in, sudo.pod: Mention noexec
+
+2004-01-09 16:16 millert
+
+ * sudoers.man.in, sudoers.pod: Document noexec
+
+2004-01-09 14:38 millert
+
+ * config.h.in, configure.in, auth/pam.c: Move PAM_CONST macro
+ definition from config.h to pam.c where it belongs. We can't
+ have this in config.h since that gets included too early.
+
+2004-01-09 14:35 millert
+
+ * config.h.in, configure, configure.in, auth/pam.c: Some PAM
+ implementations put their headers in /usr/include/pam instead of
+ /usr/include/security.
+
+2004-01-09 14:32 millert
+
+ * configure.in: I missed changing the EXEC macro -> EXECV here when
+ I changed this in config.h.in and sudo.c a while ago.
+
+2004-01-09 13:15 millert
+
+ * acsite.m4: OpenBSD vax/m88k/hppa don't do shared libs
+
+2004-01-09 03:29 millert
+
+ * configure, configure.in: o merge the hpux case entries into a
+ single entry w/ its own sub-case statement. o HP-UX >= 11
+ support getspnam(), use it in preference to getprpwuid()
+
+2004-01-09 02:58 millert
+
+ * configure, configure.in: eval $shrext so that it expands nicely
+ on MacOS X
+
+2004-01-09 02:50 millert
+
+ * Makefile.in: Don't lie about making a module, it does the wrong
+ thing on mach
+
+2004-01-09 02:49 millert
+
+ * ltmain.sh: Remove requirement that libs must begin with "lib".
+ They don't when we point directly at the lib using LD_PRELOAD or
+ its equivalent.
+
+2004-01-09 02:01 millert
+
+ * acsite.m4: Disable support for c++, f77 and java. We don't need
+ it, it takes a lot of time, and it hosed our check for shared lib
+ support.
+
+2004-01-09 02:00 millert
+
+ * configure: regen
+
+2004-01-09 02:00 millert
+
+ * configure.in: Call AC_ENABLE_SHARED and check the status of
+ enable_shared to know when shared libs are available.
+
+2004-01-09 01:37 millert
+
+ * acsite.m4: Duh, OpenBSD suports shared libs too
+
+2004-01-09 01:18 millert
+
+ * configure.in, config.h.in: Only OpenPAM and Linux PAM use const
+ qualifiers.
+
+2004-01-09 01:15 millert
+
+ * configure, configure.in: o No need to check for sed, libtool
+ config does that for us o move check for --with-noexec until
+ after libtool magic is run so we can use $can_build_shared and
+ $shrext
+
+2004-01-09 01:14 millert
+
+ * ltmain.sh: Don't print a bunch of crap about library installs
+ since we are not really installing a library.
+
+2004-01-09 00:38 millert
+
+ * env.c: Make format_env() varargs Add noexec support for Darwin,
+ MacOS X, Irix, and Tru64
+
+2004-01-09 00:32 millert
+
+ * acsite.m4, ltconfig, ltmain.sh: Update to libtool 1.5 with local
+ changes: o no ldconfig in the finish step o assume no libprefix
+ or version is needed
+
+2004-01-09 00:15 millert
+
+ * sudo_noexec.c: Fix compilation under K&R
+
+2004-01-06 09:31 millert
+
+ * CHANGES: checkpoint
+
+2004-01-06 09:28 millert
+
+ * sudo_noexec.c: stub execve() that just returns EACCES; used for
+ noexec functionality
+
+2004-01-06 01:42 millert
+
+ * sudo.tab.h: Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2
+ issue with generated code.
+
+2004-01-05 16:10 millert
+
+ * def_data.c, def_data.h, def_data.in: Move the environment
+ defaults to the end and shorten a few of the descriptions.
+
+2004-01-05 15:05 millert
+
+ * configure.in, configure: no shared libs on ultris or convexos
+
+2004-01-05 15:03 millert
+
+ * Makefile.in, configure, configure.in: Build sudo_noexec shared
+ object using libtool; could use some cleanup.
+
+2004-01-05 14:59 millert
+
+ * acsite.m4, ltconfig, ltmain.sh: libtool scaffolding
+
+2004-01-05 14:56 millert
+
+ * parse.yacc: Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so
+ that order is not important.
+
+2004-01-05 12:15 millert
+
+ * defaults.c, env.c, parse.c, parse.h, parse.lex, parse.yacc,
+ pathnames.h.in, sudo.c, sudo.h, lex.yy.c: update copyright year
+
+2004-01-04 22:58 millert
+
+ * configure, configure.in, defaults.c, env.c, pathnames.h.in: Add
+ _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
+ option. The default value of noexec_file is set to this.
+
+2004-01-04 21:48 millert
+
+ * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
+ parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.h: Add
+ support for preloading a shared object containing a dummy
+ execve() function that just sets error and returns -1. This adds
+ a "noexec_file" option to load the filename as well as a "noexec"
+ flag to enable it unconditionally. There is also a NOEXEC tag
+ that can be attached to specific commands and an EXEC tag to
+ disable it.
+
+2004-01-04 21:40 millert
+
+ * mkdefaults: add missing newline to usage statement
+
+2004-01-04 20:39 millert
+
+ * config.h.in, sudo.c: Rename EXEC macro -> EXECV
+
+2004-01-04 20:16 millert
+
+ * logging.c: Don't truncate usernames to 8 characters in the log
+ message.
+
+2004-01-04 20:13 millert
+
+ * check.c, sudoers.man.in, sudoers.pod: Update copyright year
+
+2004-01-04 20:12 millert
+
+ * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
+ sudoers.pod: Add a new option, lecture_file, that can be used to
+ point to a custom sudo lecture.
+
+2003-12-31 17:46 millert
+
+ * Makefile.in, sudo.h, zero_bytes.c, auth/aix_auth.c,
+ auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c: Add a
+ zero_bytes() function to do the equivalent of bzero in such a way
+ that will heopfully not be optimized away by sneaky compilers.
+
+2003-12-31 13:35 millert
+
+ * err.c: Use #ifdef __STDC__, not #if __STDC__.
+
+2003-12-30 17:41 millert
+
+ * mkdefaults: Always put at least one space between the def_* macro
+ name and its definition.
+
+2003-12-30 17:34 millert
+
+ * configure, configure.in: Adjust code for --without-lecture to
+ match new values.
+
+2003-12-30 17:33 millert
+
+ * visudo.man.in: regen after pasto fix
+
+2003-12-30 17:31 millert
+
+ * sudoers.man.in, sudoers.pod: Document that "lecture" has changed
+ from a flag to a tuple.
+
+2003-12-30 17:31 millert
+
+ * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
+ defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h: Add
+ support for tuples in def_data.in; these are implemented as an
+ enum type. Currently there is only a single tuple enum but in
+ the future we may have one tuple enum per T_TUPLE entry in
+ def_data.in. Currently listpw, verifypw and lecture are tuples.
+ This avoids the need to have two entries (one ival, one str) for
+ pwflags and syslog values.
+
+ lecture is now a tuple with the following values: never, once,
+ always
+
+ We no longer use both an int and string entry for syslog
+ facilities and priorities. Instead, there are logfac2str() and
+ logpri2str() functions that get used when we need to print the
+ string values.
+
+2003-12-30 17:20 millert
+
+ * check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
+ logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
+ visudo.c, auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c,
+ auth/pam.c, auth/rfc1938.c, auth/securid5.c, auth/sia.c,
+ auth/sudo_auth.c: Create def_* macros for each defaults value so
+ we no longer need the def_{flag,ival,str,list,mode} macros (which
+ have been removed). This is a step toward more flexible data
+ types in def_data.in.
+
+2003-12-30 15:55 millert
+
+ * TODO: checkpoint
+
+2003-12-22 21:18 millert
+
+ * sudo.c: If we are in -k/-K mode, just spew to stderr. It is not
+ unusual for users to place "sudo -k" in a .logout file which can
+ cause sudo to be run during reboot after the YP/NIS/NIS+/LDAP/etc
+ daemon has died. Previously, this would result in useless mail
+ and logging.
+
+2003-12-16 13:51 millert
+
+ * visudo.pod: fix pasto in VISUAL description
+
+2003-12-09 22:09 millert
+
+ * configure: regen
+
+2003-12-09 22:08 millert
+
+ * CHANGES: checkpoint
+
+2003-12-09 22:02 millert
+
+ * TROUBLESHOOTING: Some OSes (like Solaris) allow export w/ nosuid
+ too
+
+2003-08-12 16:45 millert
+
+ * compat.h: We don't use FD_ZERO anymore so just define FD_SET (if
+ not already there).
+
+2003-06-28 21:31 millert
+
+ * auth/pam.c: Fix a core dump on Solaris by preserving the
+ pam_handle_t we used during authentication for pam_prep_user().
+ If we didn't authenticate (ie: ticket still valid), we call
+ pam_init() from pam_prep_user(). This is something of a hack; it
+ may be better to change the auth API and add an auth_final()
+ function that acts like pam_prep_user().
+
+2003-06-21 12:50 millert
+
+ * set_perms.c: Add explicit declaration of printerr variable in
+ function header (was defaulting to int which is OK but oh so K&R
+ :-). From Theo.
+
+2003-06-09 19:00 millert
+
+ * config.h.in, configure.in: s/HAVE_STOW/USE_STOW/
+
+2003-06-09 16:07 millert
+
+ * logging.c: Also exit waitpid() loop when pid == 0. Fixes a
+ problem where the sudo process would spin eating up CPU until
+ sendmail finished when it has to send mail.
+
+2003-05-30 16:22 millert
+
+ * fnmatch.3, fnmatch.c: Remove advertising clause, UCB has
+ disavowed it
+
+2003-05-21 21:53 millert
+
+ * parse.c: Don't assume that getgrnam() calls don't modify contents
+ of struct passwd returned by getpwnam(). On FreeBSD w/ NIS this
+ can happen. Based on a patch from Kirk Webb.
+
+2003-05-06 11:25 millert
+
+ * configure.in: missing ;;
+
+2003-05-06 00:53 millert
+
+ * configure.in: darwin has a broken setreuid() in at least some
+ versions
+
+2003-05-06 00:31 millert
+
+ * env.c: Fix an off by one error when reallocating the environment;
+ Kevin Pye
+
+2003-04-30 14:04 millert
+
+ * sudoers.pod: Fix User_Spec definition; SEKINE Tatsuo
+
+2003-04-28 19:30 millert
+
+ * HISTORY: More info on the early days from Coggs.
+
+2003-04-21 14:47 millert
+
+ * auth/kerb5.c: remove errant semicolon that prevented compilation
+ under heimdal
+
+2003-04-15 20:42 millert
+
+ * Makefile.in, alloc.c, check.c, compat.h, defaults.c, defaults.h,
+ env.c, fileops.c, find_path.c, getprogname.c, getspwuid.c,
+ goodpath.c, interfaces.c, interfaces.h, logging.c, parse.c,
+ parse.lex, parse.yacc, pathnames.h.in, set_perms.c, sigaction.c,
+ strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
+ sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, utime.c,
+ version.h, visudo.c, visudo.man.in, visudo.pod, auth/afs.c,
+ auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
+ auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
+ auth/rfc1938.c, auth/secureware.c, auth/securid.c,
+ auth/securid5.c, auth/sia.c, auth/sudo_auth.c: add DARPA credit
+ on affected files
+
+2003-04-15 20:25 millert
+
+ * LICENSE: slightly different wording for the darpa credit
+
+2003-04-15 14:37 millert
+
+ * LICENSE: Add DARPA credit
+
+2003-04-14 16:49 millert
+
+ * auth/kerb5.c: Use krb5_princ_component() instead of
+ krb5_princ_realm() for MIT Kerberos like we did before I messed
+ things up ;-)
+
+ Use krb5_principal_get_comp_string() to do the same thing w/
+ Heimdal. I'm not sure if the component should be 0 or 1 in this
+ case.
+
+ #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
+ older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
+ should be a configure check for this I guess.
+
+2003-04-13 15:48 millert
+
+ * TROUBLESHOOTING, config.h.in, configure, configure.in,
+ sample.sudoers: builtin -> built-in; Jason McIntyre
+
+2003-04-13 15:45 millert
+
+ * sudoers.pod: built in -> built-in; Jason McIntyre
+
+2003-04-09 16:14 millert
+
+ * CHANGES: checkpoint for 1.6.7p3
+
+2003-04-09 16:14 millert
+
+ * HISTORY: Update info on the early years @ SUNY-Buffalo from Cliff
+ Spencer. Amazingly, sudo source from 1985 is available via
+ groups.google.com
+
+2003-04-09 16:13 millert
+
+ * sudo.c: Don't change rl.rlim_max for RLIMIT_CORE. We need only
+ set rl.rlim_cur to 0 to turn off core dumps. This may be needed
+ for the RLIMIT_CORE restoration on some OSes.
+
+2003-04-04 12:46 millert
+
+ * auth/kerb5.c: Make this compile on Heimdal and MIT Kerberos 5
+
+2003-04-04 12:45 millert
+
+ * config.h.in, configure, configure.in: Check for heimdal even if
+ we found krb5-config and define HAVE_HEIMDAL.
+
+2003-04-03 22:04 millert
+
+ * auth/kerb5.c: Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5.
+ The former is no longer defined by MIT kerb5 (though it used to
+ be and indeed remains so in Heimdal).
+
+2003-04-03 10:16 millert
+
+ * mkinstalldirs: Remove newer stuff that passes multiple (possibly
+ duplicate) directories to "mkdir -p" since that seems to break on
+ Tru64 Unix at least. This basically brings back what shipped
+ with sudo 1.6.6.
+
+2003-04-02 13:57 millert
+
+ * auth/kerb5.c: Correct number of args to
+ krb5_principal_get_realm() and fix an unclosed comment that hid
+ the bug.
+
+2003-04-02 13:45 millert
+
+ * configure: regen
+
+2003-04-02 13:45 millert
+
+ * BUGS, CHANGES, INSTALL, INSTALL.binary, Makefile.in, README,
+ configure.in, version.h: ++version
+
+2003-04-02 13:44 millert
+
+ * configure.in: use krb5-config to determine Kerberos V details if
+ it exists
+
+2003-04-02 13:25 millert
+
+ * alloc.c, check.c, compat.h, defaults.c, env.c, find_path.c,
+ interfaces.c, logging.c, parse.c, sudo.c, sudo.h, testsudoers.c,
+ visudo.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
+ auth/securid5.c, auth/sia.c: Use warn/err and getprogname()
+ throughout. The main exception is openlog(). Since the admin
+ may be filtering logs based on the program name in the log files,
+ hard code this to "sudo".
+
+2003-04-02 13:16 millert
+
+ * Makefile.in: Add getprogname.c and err.c
+
+2003-04-02 13:15 millert
+
+ * configure: regen
+
+2003-04-02 13:15 millert
+
+ * configure.in, config.h.in: Add checks for getprognam(),
+ __progname and err.h
+
+2003-04-02 13:14 millert
+
+ * err.c, emul/err.h: For systems withour err/warn functions.
+
+2003-04-02 13:14 millert
+
+ * getprogname.c: For systems neither getprogname() nor __progname;
+ uses Argv[0].
+
+2003-04-01 10:09 millert
+
+ * CHANGES: checkpoint for 1.6.7p1
+
+2003-04-01 10:02 millert
+
+ * sudo.c, testsudoers.c: fix strlcpy() rval check (innocuous)
+
+2003-04-01 09:58 millert
+
+ * check.c: oflow detection in expand_prompt() was faulty (false
+ positives). The count was based on strlcat() return value which
+ includes the length of the entire string.
+
+2003-03-30 19:02 millert
+
+ * CHANGES, RUNSON, TODO: checkpoint for the sudo 1.6.7 release
+
+2003-03-24 16:09 millert
+
+ * logging.c: g/c unused variable
+
+2003-03-24 11:06 millert
+
+ * configure: regen
+
+2003-03-24 11:05 millert
+
+ * configure.in: use man sections 8 and 5 for csops
+
+2003-03-21 18:11 millert
+
+ * configure: regen
+
+2003-03-21 15:10 millert
+
+ * configure.in: Add -lskey or -lopie directly to SUDO_LIBS instead
+ of having AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
+
+2003-03-21 14:02 millert
+
+ * configure: regen
+
+2003-03-21 14:01 millert
+
+ * INSTALL, aclocal.m4, configure.in: Add --with-blibpath for AIX.
+ An alternate libpath may be specified or -blibpath support can be
+ disabled. Also change conifgure such that -blibpath is not
+ specified if no -L libpaths were added to SUDO_LDFLAGS.
+
+2003-03-20 22:05 millert
+
+ * configure.in: add AIX blibpath support
+
+2003-03-20 20:28 millert
+
+ * INSTALL, configure.in: --with-skey and --with-opie now take an
+ option directory argument This obsoletes a --with-csops hack
+ (/tools/cs/skey)
+
+ Also remove the remaining direct uses of "echo"
+
+2003-03-20 17:44 millert
+
+ * configure.in: Detect KTH Kerberos IV and deal with it. Also make
+ -lroken optional for KTH Kerberos IV and V.
+
+2003-03-20 14:42 millert
+
+ * aclocal.m4: Add SUDO_APPEND_LIBPATH function that add
+ -L/path/to/dir (and -R/path/to/dir if $with_rpath) to the
+ specified variable.
+
+2003-03-20 14:40 millert
+
+ * INSTALL, configure.in: Add -R/path/to/libs for Solaris and SVR4.
+ There is a new configure option, --with-rpath to control this
+ behavior.
+
+2003-03-19 23:50 millert
+
+ * configure.in: for kerb4 put libdes after libkrb on the link line
+
+2003-03-19 23:49 millert
+
+ * auth/kerb4.c: typo
+
+2003-03-19 23:33 millert
+
+ * configure.in: fix kerberos lib check when a path is specified
+
+2003-03-19 21:04 millert
+
+ * logging.c: Fix boolean thinko in SIGCHLD reaper and call
+ reapchild after sending mail instead of doing a conditional
+ sudo_waitpid.
+
+2003-03-19 16:20 millert
+
+ * configure: regen
+
+2003-03-19 16:19 millert
+
+ * configure.in: replace =DIR with [=DIR] where sensible
+
+2003-03-19 16:16 millert
+
+ * configure.in: o Use AC_MSG_* instead of "echo" o New Kerberos
+ include/lib detection based on openssh's configure.in
+
+2003-03-19 15:58 millert
+
+ * INSTALL: --with-kerb4 and --with-kerb5 now take an optional
+ argument.
+
+2003-03-15 22:03 millert
+
+ * auth/securid.c: Kill remaining strcpy(), the programmer's guide
+ says username is 32 bytes.
+
+2003-03-15 21:18 millert
+
+ * auth/kerb4.c: trat uid_t as unsigned long for printf and use
+ snprintf, not sprintf
+
+2003-03-15 21:18 millert
+
+ * auth/rfc1938.c: use snprintf
+
+2003-03-15 15:37 millert
+
+ * auth/: afs.c, aix_auth.c, bsdauth.c, dce.c, fwtk.c, kerb4.c,
+ kerb5.c, pam.c, passwd.c, rfc1938.c, sudo_auth.c: update
+ copyright year
+
+2003-03-15 15:31 millert
+
+ * LICENSE, alloc.c, check.c, configure.in, env.c, sudo.c,
+ Makefile.in, aclocal.m4, compat.h, find_path.c, interfaces.c,
+ logging.c, parse.c, parse.lex, parse.yacc, set_perms.c, sudo.h,
+ sudo.pod, sudoers.pod, testsudoers.c, version.h, visudo.c,
+ visudo.pod, sudo.man.in, sudoers.man.in, visudo.man.in: update
+ copyright year
+
+2003-03-15 15:19 millert
+
+ * check.c, env.c, sudo.c: Cast [ug]ids to unsigned long and printf
+ with %lu
+
+2003-03-15 15:17 millert
+
+ * configure: regen
+
+2003-03-15 15:16 millert
+
+ * configure.in: correct error messages for
+ --with-sudoers-{mode,uid,gid}
+
+2003-03-15 15:10 millert
+
+ * alloc.c: make the malloc(0) error specific to each function to
+ aid tracking down bugs.
+
+2003-03-15 14:49 millert
+
+ * alloc.c: deal with platforms where size_t is signed and there is
+ no SIZE_MAX or SIZE_T_MAX
+
+2003-03-15 14:10 millert
+
+ * auth/kerb5.c: Make this compile w/ Heimdal and fix some gcc
+ warnings.
+
+2003-03-15 13:02 millert
+
+ * sudo.c: Use stat_sudoers macro so --with-stow can work
+
+2003-03-15 13:01 millert
+
+ * INSTALL, config.h.in, configure, configure.in: Add support for
+ --with-stow based on patches from Robert Uhl
+
+2003-03-15 12:51 millert
+
+ * env.c: fix indentation
+
+2003-03-15 00:21 millert
+
+ * configure.in: back out rev 1.352
+
+2003-03-14 20:11 millert
+
+ * lex.yy.c: regen
+
+2003-03-14 20:11 millert
+
+ * parse.lex: use strlcpy, not strncpy
+
+2003-03-14 19:48 millert
+
+ * set_perms.c: Fix typo; check pw_uid, not pw_gid after
+ setusercontext() failure.
+
+2003-03-14 19:43 millert
+
+ * logging.c: use pid_t
+
+2003-03-14 10:43 millert
+
+ * strlcat.c, strlcpy.c: Make gcc shutup about unused rcsid
+
+2003-03-14 10:35 millert
+
+ * interfaces.c: Move the n == 0 check for the non-getifaddrs cas
+
+2003-03-13 21:47 millert
+
+ * auth/rfc1938.c: skeychallenge() on NetBSD take a size parameter
+
+2003-03-13 21:38 millert
+
+ * configure: regen
+
+2003-03-13 21:38 millert
+
+ * configure.in: put -ldl after -lpam, not before; fixes static
+ linking on Linux
+
+2003-03-13 21:17 millert
+
+ * interfaces.c: Avoid malloc(0) and fix the loop invariant for the
+ getifaddrs() case.
+
+2003-03-13 20:24 millert
+
+ * sudo.man.in, sudoers.man.in, visudo.man.in, sudo.cat,
+ sudoers.cat, visudo.cat: regen
+
+2003-03-13 20:23 millert
+
+ * Makefile.in: Preserve copyright notice from .pod file in .man.in
+ file
+
+2003-03-13 20:01 millert
+
+ * visudo.pod: Add sudoers(5) to SEE ALSO
+
+2003-03-13 15:27 millert
+
+ * lex.yy.c: regen
+
+2003-03-13 15:27 millert
+
+ * parse.lex: Don't assume libc can realloc() a NULL string. If
+ malloc/realloc fails, make sure we just return; yyerror() is not
+ terminal.
+
+2003-03-13 15:17 millert
+
+ * lex.yy.c: regen
+
+2003-03-13 15:17 millert
+
+ * parse.lex: simplify fill_args a little and use strlcpy for
+ paranoia
+
+2003-03-13 15:00 millert
+
+ * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
+ testsudoers.c: Use strlc{at,py} for paranoia's sake and exit on
+ overflow. In all cases the strings were either pre-allocated to
+ the correct size of length checks were done before the copy but a
+ little paranoia can go a long way.
+
+2003-03-13 12:54 millert
+
+ * sudo.h: Add strlc{at,py} protos
+
+2003-03-13 12:03 millert
+
+ * env.c, interfaces.c: Use erealloc3()
+
+2003-03-13 12:00 millert
+
+ * configure: regen
+
+2003-03-13 12:00 millert
+
+ * alloc.c: Oflow test of nmemb > SIZE_MAX / size is fine (don't
+ need >=). Use memcpy() instead of strcpy() in estrdup() so this
+ is strcpy()-free.
+
+2003-03-13 11:58 millert
+
+ * sudo.c: snprintf() a uid as %lu, not %ld to match the
+ MAX_UID_T_LEN test in configure.
+
+2003-03-13 11:56 millert
+
+ * aclocal.m4: In MAX_UID_T_LEN test cast uid_t to unsigned long,
+ just unsigned.
+
+2003-03-12 18:46 millert
+
+ * sudo.c: Use snprintf() for paranoia
+
+2003-03-12 17:16 millert
+
+ * parse.yacc: Use emalloc2 and erealloc3
+
+2003-03-12 17:08 millert
+
+ * Makefile.in: strlc{at,py} for those w/o it
+
+2003-03-12 17:07 millert
+
+ * strlcat.c, strlcpy.c: stlc{at,py} for those w/o it.
+
+2003-03-12 17:07 millert
+
+ * config.h.in, configure, configure.in: Add stlc{at,py} for those
+ w/o it.
+
+2003-03-12 16:51 millert
+
+ * alloc.c, sudo.h: Add erealloc3(), a realloc() version of
+ emalloc2().
+
+2003-03-12 16:45 millert
+
+ * interfaces.c, sudo.c: Use emalloc2() to allocate N things of a
+ certain size.
+
+2003-03-12 16:41 millert
+
+ * alloc.c, sudo.h: Add emalloc2() -- like calloc() but w/o the
+ bzero and with error/oflow checking.
+
+2003-03-12 16:23 millert
+
+ * alloc.c: Error out on malloc(0); suggested by theo
+
+2003-03-09 19:34 millert
+
+ * configure, configure.in: fix a typo; David Krause
+
+2003-03-07 10:46 millert
+
+ * sudo.pod: fix typo
+
+2003-03-03 21:47 millert
+
+ * env.c: Remove DYLD_ from the environment for MacOS X; from bbraun
+
+2003-03-01 13:20 millert
+
+ * configure.in, config.h.in: not not; Anil Madhavapeddy
+
+2003-01-23 03:03 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: typos; jmc@openbsd.org
+
+2003-01-20 16:13 millert
+
+ * parse.yacc: Add some missing ';' rule terminators that bison
+ warns about.
+
+2003-01-20 16:07 millert
+
+ * config.sub: fix typo I introduced in last merge
+
+2003-01-20 15:59 millert
+
+ * configure: regenerate with autoconf 2.57
+
+2003-01-20 15:58 millert
+
+ * config.h.in: Add missing "$HOME"
+
+2003-01-20 15:57 millert
+
+ * configure.in: Add some more square backets to make autoconf 2.57
+ happy
+
+2003-01-20 14:39 millert
+
+ * config.guess, config.sub, mkinstalldirs: Updates from
+ autoconf-2.57
+
+2003-01-17 18:10 millert
+
+ * lex.yy.c, sudo.tab.h: regen
+
+2003-01-17 18:09 millert
+
+ * parse.lex, parse.yacc, sudoers.pod: Add support for
+ Defaults>RunasUser
+
+2003-01-06 19:10 millert
+
+ * visudo.c: fclose() yyin after each yyparse() is done and use
+ fopen() instead of using freopen().
+
+2003-01-06 19:02 millert
+
+ * parse.lex: Better fix for sudoers files w/o a newline before EOF.
+ It looks like the issue is that yyrestart() does not reset the
+ start condition to INITIAL which is an issue since we parse
+ sudoers multiple times.
+
+2003-01-06 18:47 millert
+
+ * parse.lex: Work around what appears to be a flex bug when dealing
+ with files that lack a final newline before EOF. This adds a
+ rule to match EOF in the non-initial states which resets the
+ state to INITIAL and throws an error.
+
+2003-01-06 15:06 millert
+
+ * visudo.c: o The parser needs sudoers to end with a newline but
+ some editors (emacs) may not add one. Check for a missing
+ newline at EOF and add one if needed. o Set quiet flag during
+ initial sudoers parse (to get options) o Move yyrestart() call
+ and always use freopen() to open yyin after initial sudoers
+ parse.
+
+2002-12-15 11:24 millert
+
+ * set_perms.c: Fix pasto/thinko in setresgid()/setregid() usage.
+ Want to set effective gid, not real gid, when reading sudoers.
+
+2002-12-15 11:08 millert
+
+ * set_perms.c: don't compile set_perms_posix if we have setreuid or
+ setresuid
+
+2002-12-14 14:21 millert
+
+ * sudo.pod, sudoers.pod: document new prompt escapes
+
+2002-12-14 14:15 millert
+
+ * check.c: Add %U and %H escapes and redo prompt rewriting. "%%"
+ now gets collapsed to "%" as was originally intended. This also
+ gets rid of lastchar (does lookahead instead of lookback) which
+ should simplify the logic slightly.
+
+2002-12-13 13:20 millert
+
+ * tgetpass.c: Write the prompt *after* turning off echo to avoid
+ some password characters being echoed on heavily-loaded machines
+ with fast typists.
+
+2002-12-13 13:09 millert
+
+ * config.sub: Add support for mipseb; wiz@danbala.tuwien.ac.at
+
+2002-12-13 12:48 millert
+
+ * configure.in: Fix IRIX fallout from name changes in man dir/sect
+ Makefile variables. Patch from erici AT motown DOT cc DOT utexas
+ DOT edu
+
+2002-12-13 11:33 millert
+
+ * auth/pam.c: Keep a local copy of tgetpass_flags so we don't add
+ in TGP_ECHO to the global copy. Problem noted by Peter Pentchev.
+
+2002-11-28 18:43 millert
+
+ * parse.yacc: Add missing yyerror() calls; YYERROR does not seem to
+ call this for us.
+
+2002-11-26 12:09 millert
+
+ * sudo.c: fix typo in comment; Pedro Bastos
+
+2002-11-22 14:41 millert
+
+ * INSTALL: document --disable-setresuid
+
+2002-11-22 14:41 millert
+
+ * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c, sudo_auth.c:
+ Sprinkle some volatile qualifiers to prevent over-enthusiastic
+ optimizers from removing memset() calls.
+
+2002-11-22 14:11 millert
+
+ * logging.c, parse.yacc: minor sign fixes pointed out by gcc
+ -Wsign-compare
+
+2002-11-22 14:09 millert
+
+ * set_perms.c, sudo.c, sudo.h: Revamp set_perms. We now use a
+ version based on setresuid() or setreuid() when possible since
+ that allows us to support the stay_setuid option and we always
+ know exactly what the semantics will be (various Linux kernels
+ have broken POSIX saved uid support).
+
+2002-11-22 14:08 millert
+
+ * config.h.in, configure: regen from configure.in
+
+2002-11-22 14:07 millert
+
+ * configure.in: Add checks for setresuid() and a way to disable
+ using it
+
+2002-11-22 14:05 millert
+
+ * compat.h: No long need to emulate set*[ug]id() via setres[ug]id()
+ or setre[ug]id(). The new set_perms stuff only uses things it
+ knows are there.
+
+2002-11-22 13:33 millert
+
+ * sudo.c: Before exec, restore state of signal handlers to be the
+ same as when we were initialy invoked instead of just reseting to
+ SIG_DFL. Fixes a problem when using sudo with nohup. Based on a
+ patch from Paul Markham.
+
+2002-11-22 13:23 millert
+
+ * sudo.c: o timestamp_uid should be uid_t, not int o clarify error
+ message when sudo is run by root and no_root_sudo is set
+
+2002-09-19 17:27 millert
+
+ * README: update ftp link for bison
+
+2002-07-20 08:30 millert
+
+ * set_perms.c: Error out if setusercontext() fails and the runas
+ user is not root.
+
+2002-05-20 16:51 millert
+
+ * auth/securid5.c: Fix rcsid
+
+2002-05-20 16:50 millert
+
+ * configure.in: Fix SecurID API test
+
+2002-05-17 13:20 millert
+
+ * env.c: typo in comment
+
+2002-05-17 13:20 millert
+
+ * configure.in: securid5 stuff needs pthreads. Just adding
+ -lpthread is suboptimal but I don't see a better way at the
+ moment.
+
+2002-05-17 13:04 millert
+
+ * Makefile.in, auth/securid5.c: SecurID API version 5 support from
+ Michael Stroucken
+
+2002-05-17 13:02 millert
+
+ * configure.in: Add check for SecurID 5.0 API
+
+2002-05-08 16:46 millert
+
+ * strerror.c: We actually do still need config.h to get the 'const'
+ definition for K&R C.
+
+2002-05-05 16:43 millert
+
+ * configure: regen with autoconf 2.5.3
+
+2002-05-05 16:25 millert
+
+ * configure.in: Don't set sysconfdir to '/etc' if the user has
+ specified a --prefix.
+
+2002-05-05 16:14 millert
+
+ * configure.in: Some fixes for autoconf 2.53 from Robert Uhl o
+ don't AC_SUBST LIBOBJS o force a 4th arg for AC_CHECK_HEADER()
+ to workaround a bug
+
+2002-05-05 15:58 millert
+
+ * env.c, sudo.c, sudo.h: No need for dump_badenv() now that
+ dump_defaults() knows how to dump lists.
+
+2002-05-04 21:31 millert
+
+ * BUGS, INSTALL, Makefile.in, configure.in, version.h,
+ INSTALL.binary, README: ++version
+
+2002-05-04 20:57 millert
+
+ * sudoers.pod: document timestampowner
+
+2002-05-04 20:45 millert
+
+ * check.c: Don't call set_perms() when doing timestamp stuff unless
+ timestamp_uid != 0.
+
+2002-05-04 20:43 millert
+
+ * check.c, logging.c, parse.c, set_perms.c, sudo.c, sudo.h,
+ testsudoers.c, auth/sudo_auth.c: g/c second arg to set_perms--it
+ is no longer used
+
+2002-05-03 18:48 millert
+
+ * check.c, set_perms.c, sudo.c, sudo.h: Add support for non-root
+ timestamp dirs. This allows the timestamp dir to be shared via
+ NFS (though this is not recommended).
+
+2002-05-03 18:47 millert
+
+ * def_data.c, def_data.h, def_data.in: Add timestampowner, "Owner
+ of the authentication timestamp dir"
+
+2002-05-02 15:40 millert
+
+ * env.c: Don't try to pre-compute the size of the new envp, just
+ allocate space up front and realloc as needed. Changes to the
+ new env pointer must all be made through insert_env() which now
+ keeps track of spaced used and allocates as needed.
+
+2002-04-26 15:12 millert
+
+ * configure: regen
+
+2002-04-26 15:12 millert
+
+ * configure.in: Fix two typo/pastos; from jrj@purdue.edu
+
+2002-04-25 11:36 millert
+
+ * INSTALL.binary, README: ++version
+
+2002-04-25 11:35 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in, configure: regen
+
+2002-04-25 11:31 millert
+
+ * CHANGES, RUNSON, TODO: Sync with 1.6.6
+
+2002-04-25 11:30 millert
+
+ * check.c: The the loop used to expand %h and %u, the lastchar
+ variable was not being initialized. This means that if the last
+ char in the prompt is '%' and the first char is 'h' or 'u' a
+ extra copy of the host or user name would be copied, for which
+ space had not been allocated.
+
+2002-04-18 11:41 millert
+
+ * BUGS, INSTALL, Makefile.in, configure.in, version.h: crank
+ version to 1.6.6
+
+2002-04-18 11:39 millert
+
+ * auth/afs.c: #undef VOID to get rid of an AFS warning
+
+2002-04-18 11:38 millert
+
+ * env.c: Use easprintf instead of emalloc + sprintf for some
+ things.
+
+2002-03-15 19:45 millert
+
+ * lex.yy.c: regen
+
+2002-03-15 19:44 millert
+
+ * parse.c, parse.lex, parse.yacc, testsudoers.c: Remove Chris
+ Jepeway's email address so people don't bug him ;-)
+
+2002-03-11 22:19 millert
+
+ * sudo.c: Move endpwent() to be after set_perms(PERM_RUNAS, ...)
+ and also call endgrent() at the same time.
+
+2002-02-21 22:23 millert
+
+ * INSTALL: Make it clear which configure options take arguments.
+
+2002-01-25 13:38 millert
+
+ * compat.h: HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there
+ is no RLIM_INFINITY, just pretend it is -1. This works because
+ we only check for RLIM_INFINITY and do not set anything to that
+ value.
+
+2002-01-22 11:43 millert
+
+ * auth/pam.c: Zero and free allocated memory when there is a
+ conversation error.
+
+2002-01-21 22:37 millert
+
+ * auth/bsdauth.c: Use sigaction() not signal()
+
+2002-01-21 22:26 millert
+
+ * INSTALL: Mention that some linux kernels have broken POSIX saved
+ ID support
+
+2002-01-21 21:03 millert
+
+ * CHANGES: checkpoint for 1.6.5p2
+
+2002-01-21 21:01 millert
+
+ * configure: regen
+
+2002-01-21 21:01 millert
+
+ * configure.in: Add --disable-setreuid flag
+
+2002-01-21 21:00 millert
+
+ * INSTALL: Document new --disable-setreuid option and change
+ description for --disable-saved-ids to match new error message.
+
+2002-01-21 21:00 millert
+
+ * set_perms.c: fatal() now takes an argument that determines
+ whether or not to call perror().
+
+2002-01-21 20:58 millert
+
+ * PORTING, TROUBLESHOOTING: Update for new error messages from
+ set_perms()
+
+2002-01-21 17:46 millert
+
+ * auth/pam.c: Make this compile w/o warnings
+
+2002-01-21 17:36 millert
+
+ * auth/pam.c: Mention that we can't use pam_acct_mgmt()
+
+2002-01-21 17:25 millert
+
+ * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c: The user's password
+ was not zeroed after use when AIX authentication, BSD
+ authentication, FWTK or PAM was in use.
+
+2002-01-20 14:21 millert
+
+ * auth/pam.c: Avoid giving PAM a NULL password response, use the
+ empty string instead. This avoids a log warning when the user
+ hits ^C at the password prompt when PAM is in use.
+
+2002-01-19 19:46 millert
+
+ * auth/pam.c: Don't check the return value of pam_setcred(). In
+ Linux-PAM 0.75 pam_setcred() returns the last saved return code,
+ not the return code for the setcred module. Because we haven't
+ called pam_authenticate(), this is not set and so pam_setcred()
+ returns PAM_PERM_DENIED.
+
+2002-01-19 19:43 millert
+
+ * Makefile.binary, Makefile.in: Don't need a '/' between $(DESTDIR)
+ and a directory.
+
+2002-01-18 14:18 millert
+
+ * configure: regen
+
+2002-01-18 14:18 millert
+
+ * configure.in: o BSDi also has a bogus setreuid() o Old FreeBSD
+ has a bogus setreuid() o new NetBSD has a real setreuid() o add
+ check for freeifaddrs() if getifaddrs() exists.
+
+2002-01-18 14:17 millert
+
+ * config.h.in, interfaces.c: Older BSDi releases lack freeifaddrs()
+ so add a test for that and if it is not present just use free().
+
+2002-01-17 11:30 millert
+
+ * CHANGES, RUNSON: Checkpoint for 1.6.5p1
+
+2002-01-17 10:56 millert
+
+ * auth/passwd.c: Return AUTH_FAILURE in passwd_init() if
+ skeyaccess() denies access to normal passwords, not AUTH_FATAL
+ (which just causes an exit).
+
+2002-01-17 10:35 millert
+
+ * visudo.c: Don't use memory after it has been freed.
+
+2002-01-17 00:24 millert
+
+ * auth/passwd.c: skeyaccess() wants a struct passwd * not a char *;
+ Patch from Phillip E. Lobbes
+
+2002-01-16 20:00 millert
+
+ * BUGS: ++version
+
+2002-01-16 19:53 millert
+
+ * CHANGES, RUNSON, TODO: checkpoint for sudo 1.6.5
+
+2002-01-16 18:37 millert
+
+ * configure: regen
+
+2002-01-16 18:37 millert
+
+ * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
+ version 1.6.5
+
+2002-01-16 18:37 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in: sudo version 1.6.5
+
+2002-01-16 16:28 millert
+
+ * logging.c: o when invoking the mailer as root use a hard-coded
+ environment that doesn't include any info from the user's
+ environment. Basically paranoia.
+
+ o Add support for the NO_ROOT_MAILER compile-time option and run
+ the mailer as the user and not root if NO_ROOT_MAILER is
+ defined.
+
+2002-01-16 16:27 millert
+
+ * set_perms.c, sudo.h: Bring back PERM_FULL_USER
+
+2002-01-16 16:26 millert
+
+ * configure: regen
+
+2002-01-16 16:26 millert
+
+ * version.h: version 1.6.5
+
+2002-01-16 16:26 millert
+
+ * INSTALL, config.h.in, configure.in: Add --disable-root-mailer
+ option to run the mailer as the user and not root.
+
+2002-01-16 12:44 millert
+
+ * CHANGES: checkpoint for 1.6.4p2
+
+2002-01-15 19:22 millert
+
+ * PORTING: Mention the "seteuid(0): Operation not permitted"
+ problem here too just for good measure.
+
+2002-01-15 18:43 millert
+
+ * env.c, getspwuid.c, sudo.c: The SHELL environment variable was
+ preserved from the user's environment instead of being reset
+ based on the passwd database when the "env_reset" option was
+ used. Now it is reset as it should be.
+
+2002-01-15 17:47 millert
+
+ * configure: regen
+
+2002-01-15 17:47 millert
+
+ * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
+ sudo.c: Add a configure option to turn off use of POSIX saved IDs
+
+2002-01-15 15:48 millert
+
+ * configure: regen
+
+2002-01-15 15:48 millert
+
+ * configure.in: add --with-efence option
+
+2002-01-15 15:39 millert
+
+ * sudo.c: Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a
+ problem where "sudo -l" would not work if always_set_home was
+ set.
+
+2002-01-15 13:16 millert
+
+ * lex.yy.c: regen
+
+2002-01-15 13:16 millert
+
+ * parse.lex: Quoted commas were not being treated correctly in
+ command line arguments.
+
+2002-01-14 20:53 millert
+
+ * sudo.c: o Move the call to rebuild_env() until after
+ MODE_RESET_HOME is set. Otherwise, the set_home option has no
+ effect.
+
+ o Fix use of freed memory when the "fqdn" flag is set. This was
+ introduced by the fix for the "segv when gethostbynam() fails"
+ bug. Also, we no longer call set_fqdn() if the "fqdn" flag is
+ not set so there is no need to check the "fqdn" flag in
+ set_fqdn() itself.
+
+2002-01-14 20:45 millert
+
+ * env.c: Add 'continue' statements to optimize the switch
+ statement. From Solar.
+
+2002-01-13 13:42 millert
+
+ * sudoers.cat, sudoers.man.in: Regen from new sudoers.pod
+
+2002-01-13 13:36 millert
+
+ * sudoers.pod: Add caveat about stay_setuid flag
+
+2002-01-13 13:29 millert
+
+ * sudo.c: If set_perms == set_perms_posix and the stay_setuid flag
+ is not set, set all uids to 0 and use set_perms_fallback().
+
+2002-01-13 13:28 millert
+
+ * set_perms.c, sudo.h: Remove PERM_FULL_USER (which is no longer
+ used) and add PERM_FULL_ROOT (used when exec'ing the mailer).
+
+2002-01-13 13:27 millert
+
+ * logging.c: Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the
+ mailer since we never want to run the mailer setuid.
+
+2002-01-12 17:55 millert
+
+ * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
+ visudo.pod: Use sudo.ws instead of courtesan.com in URLs
+
+2002-01-12 14:00 millert
+
+ * Makefile.in, Makefile.binary: Fix mansect substitution
+
+2002-01-12 13:15 millert
+
+ * Makefile.in: Substitute man sections in Makefile.binary
+
+2002-01-12 13:15 millert
+
+ * Makefile.binary: Sync install targets with Makefile.in and
+ substitute in man sections.
+
+2002-01-12 13:09 millert
+
+ * INSTALL, INSTALL.binary: version is 1.6.4
+
+2002-01-12 12:59 millert
+
+ * Makefile.in: Repair bindist target
+
+2002-01-12 11:43 millert
+
+ * CHANGES: sync for 1.6.4
+
+2002-01-10 13:00 millert
+
+ * install-sh: Fix case where neither whoami nor id are found
+
+2002-01-09 12:35 millert
+
+ * install-sh: If neither whoami nor id exists, just assume we are
+ root.
+
+2002-01-09 11:56 millert
+
+ * alloc.c: Add explicit cast to (VOID *) on malloc/realloc. Seems
+ to be needed on AIX which for some reason isn't pulling in the
+ malloc prototype.
+
+2002-01-08 10:00 millert
+
+ * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c: (c) 2002
+
+2002-01-08 09:21 millert
+
+ * CHANGES: checkpoint
+
+2002-01-08 09:20 millert
+
+ * sudo.c: Defer assigning new environment until right before the
+ exec.
+
+2002-01-08 09:08 millert
+
+ * parse.c: kill extra blank line
+
+2002-01-07 13:59 millert
+
+ * configure: regen
+
+2002-01-07 13:59 millert
+
+ * configure.in: Use -O not -O2 for m88k-motorola-sysv* since
+ motorola gcc-derived compiler doesn't recognise -O2.
+
+2002-01-06 23:02 millert
+
+ * HISTORY: Clarify origins of Root Group sudo a bit based on info
+ from billp@rootgroup.com
+
+2002-01-02 22:41 millert
+
+ * LICENSE: 2002
+
+2002-01-02 22:26 millert
+
+ * CHANGES: checkpoint for 1.6.4rc1
+
+2002-01-02 17:40 millert
+
+ * config.h.in: now generated via autoheader
+
+2002-01-02 17:40 millert
+
+ * configure: regen
+
+2002-01-02 17:37 millert
+
+ * compat.h: Move in some stuff that was previously in config.h.
+
+2002-01-02 17:36 millert
+
+ * configure.in, aclocal.m4: Add info for autoheader.
+
+2002-01-01 16:53 millert
+
+ * Makefile.in: o Add DESTDIR support
+ o Use -M, -O, and -G instead of -m, -o, and -g to facilitate
+ non-root installs
+
+2002-01-01 16:48 millert
+
+ * install-sh: Add -M option (like -m but only for root) If we can't
+ find "whoami", use "id" w/ some sed.
+
+2002-01-01 14:01 millert
+
+ * configure: regen
+
+2002-01-01 14:00 millert
+
+ * configure.in: allow user to always override mansectsu and
+ mansectform
+
+2001-12-31 17:05 millert
+
+ * mkinstalldirs: update from autoconf 2.52
+
+2001-12-31 17:03 millert
+
+ * config.guess, config.sub: Update from autoconf 2.52
+
+2001-12-31 16:57 millert
+
+ * configure: regen with autoconf 2.52
+
+2001-12-31 16:57 millert
+
+ * configure.in: o Call AC_PROG_CC_STDC to find out how to run the
+ compiler in ANSI mode
+ o Remove compiler-specific checks for HP-UX now that we use
+ AC_PROG_CC_STDC
+
+2001-12-31 12:19 millert
+
+ * RUNSON: Checkpoint
+
+2001-12-31 12:18 millert
+
+ * auth/pam.c: o Add pam_prep_user function to call pam_setcred()
+ for the target user; on Linux this often sets resource limits.
+ o When calling pam_end(), try to convert the auth->result to a
+ PAM_FOO value. This is a hack--we really need to stash the
+ last PAM_FOO value received and use that instead.
+
+2001-12-31 12:18 millert
+
+ * set_perms.c, sudo.h: o Add pam_prep_user function to call
+ pam_setcred() for the target user; on Linux this often sets
+ resource limits.
+
+2001-12-31 00:53 millert
+
+ * env.c: Fix off by one error in number of bytes allocated via
+ malloc (does not affected any released version of sudo).
+
+2001-12-30 17:12 millert
+
+ * lex.yy.c: regen
+
+2001-12-30 17:12 millert
+
+ * parse.lex: Allow '@', '(', ')', ':' in arguments to a defaults
+ variable w/o requiring that they be quoted.
+
+2001-12-30 14:26 millert
+
+ * sudoers.cat, sudoers.man.in, sudoers.pod: Mention that no double
+ quotes are needed when adding/deleting/assigning a single value
+ to a list.
+
+2001-12-30 13:58 millert
+
+ * Makefile.in: Don't rely on mkdefaults being executable, call perl
+ explicitly.
+
+2001-12-30 13:41 millert
+
+ * parse.yacc: Remove some XXX that are no longer relevant.
+
+2001-12-30 13:40 millert
+
+ * defaults.c: o Roll our own loop instead of using strpbrk() for
+ better grokability o When adding to a list we must malloc() and
+ use memcpy(), not strdup() since we must only copy len bytes
+ from str.
+
+2001-12-21 16:49 millert
+
+ * parse.yacc: typo in comment
+
+2001-12-19 11:50 millert
+
+ * CHANGES: checkpoint
+
+2001-12-19 10:56 millert
+
+ * configure: regen
+
+2001-12-19 10:56 millert
+
+ * configure.in: avoid the -g flag unless --with-devel was specified
+
+2001-12-19 10:04 millert
+
+ * Makefile.in: mkdefaults, def_data.in and sigaction.c were missing
+ from the tarball
+
+2001-12-19 09:46 millert
+
+ * Makefile.in: def_data.c was missing
+
+2001-12-18 12:42 millert
+
+ * env.c: Fix setting of $USER and $LOGNAME in the non-reset_env
+ case. Also allow HOME, SHELL, LOGNAME, and USER to be specified
+ in keep_env
+
+2001-12-17 20:48 millert
+
+ * TODO: Another TODO item
+
+2001-12-17 19:50 millert
+
+ * sudoers: Add comment for Default section so folks know where it
+ should go.
+
+2001-12-17 18:56 millert
+
+ * tgetpass.c: Use TCSETAF, not TCSETA to set terminal in termio
+ case
+
+2001-12-17 18:35 millert
+
+ * sudoers.man.in, sudoers.cat: regen from sudoers.pod
+
+2001-12-17 18:33 millert
+
+ * sudoers.pod: o Typo, Runas_User_List should be Runas_List
+ o a User_List can not contain a uid
+ o mention that the Defaults section should come after Alias
+ definitions but before the user specifications
+
+2001-12-15 11:51 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2001-12-15 11:51 millert
+
+ * sudoers.pod: Fix listpw and verifypw sections, they were not
+ being formatted properly.
+
+2001-12-15 11:39 millert
+
+ * sudoers.cat, sudoers.man.in: regen
+
+2001-12-15 11:38 millert
+
+ * sudoers.pod: fix typos
+
+2001-12-15 10:57 millert
+
+ * configure: regen
+
+2001-12-15 10:57 millert
+
+ * configure.in, config.h.in: use AC_SYS_POSIX_TERMIOS instead of
+ rolling our own
+
+2001-12-15 10:33 millert
+
+ * README: Reference sudo.ws not courtesan.com
+
+2001-12-15 10:29 millert
+
+ * PORTING: Add notes on shadow passwords
+
+2001-12-15 00:48 millert
+
+ * BUGS: In list mode (sudo -l), characters escaped with a backslash
+ are shown verbatim with the backslash.
+
+2001-12-15 00:44 millert
+
+ * sudoers: Add simple examples from OpenBSD (Marc Espie)
+
+2001-12-15 00:40 millert
+
+ * tgetpass.c: Catch SIGTTIN and SIGTTOU too and treat them like
+ SIGTSTP.
+
+2001-12-14 21:53 millert
+
+ * CHANGES: minor prettyification
+
+2001-12-14 21:43 millert
+
+ * CHANGES: Updated change log
+
+2001-12-14 21:27 millert
+
+ * testsudoers.c: Fix CIDR handling here too.
+
+2001-12-14 21:21 millert
+
+ * auth/pam.c: Apparently a NULL response is OK
+
+2001-12-14 21:19 millert
+
+ * TODO: Checkpoint for upcoming beta release
+
+2001-12-14 21:17 millert
+
+ * TROUBLESHOOTING: Many people believe that adding a runas spec
+ should obviate the need for the -u flag. It does not.
+
+2001-12-14 21:11 millert
+
+ * RUNSON: checkpoint update for upcoming 1.6.4 beta
+
+2001-12-14 20:44 millert
+
+ * config.h.in: o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define
+ HAVE_STRINGS_H even if HAVE_STRING_H is defined -- this is safe
+ now
+
+2001-12-14 20:07 millert
+
+ * PORTING: Add signals section
+
+2001-12-14 20:00 millert
+
+ * configure: regen
+
+2001-12-14 20:00 millert
+
+ * configure.in: Fix check for sigaction_t
+
+2001-12-14 19:45 millert
+
+ * sudo.c: XXX - should call find_path() as runas user, not root.
+ Can't do that until the parser changes though.
+
+2001-12-14 19:38 millert
+
+ * sudo.c: If find_path() fails as root, try again as the invoking
+ user (useful for NFS). Idea from Chip Capelik.
+
+2001-12-14 19:28 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: Regenerate
+ after pod file changes
+
+2001-12-14 19:24 millert
+
+ * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
+ sudo.pod, sudoers.pod: Add new sudoers option "preserve_groups".
+ Previously sudo would not call initgroups() if the target user
+ was root. Now it always calls initgroups() unless the -P command
+ line option or the "preserve_groups" sudoers option is set. Idea
+ from TJ Saunders.
+
+2001-12-14 18:38 millert
+
+ * compat.h, config.h.in: Use new HAVE_SIGACTION_T define
+
+2001-12-14 18:33 millert
+
+ * logging.c: Fix compilation on K&C
+
+2001-12-14 18:14 millert
+
+ * configure: regen
+
+2001-12-14 18:14 millert
+
+ * configure.in: Add check for sigaction_t -- IRIX already defines
+ this so don't redefine it.
+
+2001-12-14 17:15 millert
+
+ * snprintf.c: fix typo
+
+2001-12-14 17:12 millert
+
+ * interfaces.c: need stdlib.h here too
+
+2001-12-14 15:31 millert
+
+ * configure: regen
+
+2001-12-14 15:31 millert
+
+ * configure.in: Remove redundant checks for string.h, strings.h and
+ unistd.h
+
+2001-12-14 15:29 millert
+
+ * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
+ visudo.man.in: Regen from pod files
+
+2001-12-14 15:03 millert
+
+ * BUGS: Update for 1.6.4
+
+2001-12-14 14:59 millert
+
+ * configure, lex.yy.c: regen
+
+2001-12-14 14:56 millert
+
+ * strerror.c: Return EINVAL if errnum > sys_nerr
+
+2001-12-14 14:54 millert
+
+ * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
+ config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
+ sudo.pod, auth/sudo_auth.h: o Update copyright year
+
+2001-12-14 14:54 millert
+
+ * configure.in: o Don't define STDC_HEADERS unconditionally for
+ IRIX o Update copyright year
+
+2001-12-14 14:53 millert
+
+ * README: update version
+
+2001-12-14 14:52 millert
+
+ * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
+ fnmatch.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
+ logging.c, lsearch.c, parse.c, parse.lex, parse.yacc,
+ set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c,
+ utime.c, visudo.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
+ auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
+ auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
+ auth/sia.c, auth/sudo_auth.c: o Reorder some headers and use
+ STDC_HEADERS define properly o Update copyright year
+
+2001-12-14 01:53 millert
+
+ * configure: regen
+
+2001-12-14 01:53 millert
+
+ * tgetpass.c: flags set in signal handlers should be volatile
+ sig_atomic_t
+
+2001-12-14 01:52 millert
+
+ * config.h.in, configure.in: Add checks for volatile and
+ sig_atomic_t
+
+2001-12-14 01:42 millert
+
+ * lex.yy.c, configure: regen
+
+2001-12-14 01:40 millert
+
+ * def_data.c, def_data.h, def_data.in, defaults.c, env.c,
+ find_path.c, sudo.c, sudoers.pod: Remove "secure_path" Defaults
+ option since it cannot work with the existing parser.
+
+2001-12-14 01:26 millert
+
+ * find_path.c, sudo.c: Unset "secure_path" if user_is_exempt()
+
+2001-12-14 01:24 millert
+
+ * env.c, pathnames.h.in: o Remove assumption that PATH and TERM are
+ not listed in env_keep o If no PATH is in the environment use a
+ default value o If TERM is not set in the non-reset case also
+ give it a default value.
+
+2001-12-14 01:17 millert
+
+ * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
+ _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works
+ on systems that define in paths.h
+
+2001-12-14 01:15 millert
+
+ * auth/: passwd.c, sudo_auth.c, sudo_auth.h: Add support for
+ skeyaccess(3) if it is present in libskey.
+
+2001-12-12 21:42 millert
+
+ * sudo.c: Only need to do 'lc = login_getclass(NULL)' if lc == NULL
+
+2001-12-12 21:24 millert
+
+ * parse.lex: '\\' is a perfectly legal character to have in a
+ command line argument.
+
+2001-12-12 20:24 millert
+
+ * sudo.c: o Defer call to set_fqdn() until it is safe to use
+ log_error() o Don't print errno string value if gethostbyname
+ fails, it is not relevant
+
+2001-12-12 20:07 millert
+
+ * parse.c: Fix CIDR -> in_addr_t conversion.
+
+2001-12-12 16:21 millert
+
+ * sudoers.pod: Remove an extra "User_List" in the User_Spec
+ definition From ybertrand AT snoopymail.com
+
+2001-12-12 16:00 millert
+
+ * parse.c: Make 'listpw=never' work for users who are not
+ explicitly mentioned in sudoers.
+
+2001-12-12 15:40 millert
+
+ * sudoers.pod: Remove gratuitous '=' in EBNF grammar; era AT iki.fi
+
+2001-12-12 15:34 millert
+
+ * sudoers.pod: Document new list Defaults type and convert env_keep
+ and env_delete to lists. Document new env_check option.
+
+2001-12-12 15:11 millert
+
+ * lex.yy.c, sudo.tab.h: regen parser
+
+2001-12-12 14:56 millert
+
+ * parse.lex: Don't let '#' appear in a {WORD} and restrict #foo in
+ a Runas spec to #[0-9-]+.
+
+2001-12-12 14:55 millert
+
+ * configure: regen
+
+2001-12-12 14:55 millert
+
+ * aclocal.m4: Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
+
+2001-12-12 14:43 millert
+
+ * config.h.in, configure.in: Add check for skeyaccess(3)
+
+2001-12-11 19:47 millert
+
+ * visudo.pod: Document new -c, -f, and -q options
+
+2001-12-11 19:41 millert
+
+ * visudo.c: o Add -f option (alternate sudoers file) o Convert to
+ use getopt(3)
+
+2001-12-11 19:31 millert
+
+ * configure: regen
+
+2001-12-11 19:31 millert
+
+ * aclocal.m4, config.h.in, configure.in: Add check for isblank and
+ a replacement macro if it doesn't exist.
+
+2001-12-11 18:22 millert
+
+ * visudo.c: In check-only mode, don't create sudoers if it does not
+ already exist.
+
+2001-12-11 18:06 millert
+
+ * parse.yacc: o Add a new token, DEFVAR, to indicate a Defaults
+ variable name
+ o Add support for "+=" and "-=" list operators
+ o replace some 1 and 0 with TRUE and FALSE for greater
+ legibility.
+
+2001-12-11 18:05 millert
+
+ * parse.lex: o Use exclusive start conditions to remove some
+ ambiguity in the
+ lexer. Also reorder some things for clarity.
+ o Add support for "+=" and "-=" list operators.
+ o Use the new DEFVAR token to denote a Defaults variable name.
+
+2001-12-11 18:03 millert
+
+ * sudo.h: Prototype init_envtables()
+
+2001-12-11 18:02 millert
+
+ * env.c: o Convert environment handling to use lists instead of
+ strings.
+ This greatly simplifies routines that need to do "foreach"
+ type
+ operations.
+ o Add new init_envtables() function to set env_check and
+ env_delete
+ defaults based on initial_badenv_table and
+ initial_checkenv_table
+ (formerly sudo_badenv_table).
+
+2001-12-11 18:00 millert
+
+ * defaults.c, defaults.h: o Add a new LIST type and functions to
+ manipulate it.
+ o This is for use with environment handling variables.
+ o Call new init_envtables() routine inside init_defaults() to
+ initialize the environment lists.
+
+2001-12-11 17:57 millert
+
+ * def_data.c, def_data.h, def_data.in: Convert environment options
+ to use the new LIST type and add a new one, env_check that only
+ deletes if the sanity check fails.
+
+2001-12-11 17:55 millert
+
+ * testsudoers.c: Add dummy version of init_envtables()
+
+2001-12-11 17:53 millert
+
+ * parse.yacc: honor quiet mode
+
+2001-12-11 17:51 millert
+
+ * visudo.c: Add check-only mode
+
+2001-12-10 20:27 millert
+
+ * mkdefaults: Fix generation of entries with NULL descriptions.
+
+2001-12-09 00:27 millert
+
+ * tgetpass.c: Use sigaction_t and quiet a gcc warning.
+
+2001-12-09 00:20 millert
+
+ * sudo.c: Must reset signal handlers before we exec
+
+2001-12-09 00:16 millert
+
+ * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c, sudo_auth.c: Be
+ carefule now that tgetpass() can return NULL (user hit ^C). PAM
+ version needs testing. Set SIGTSTP to SIG_DFL during password
+ entry so user can suspend us.
+
+2001-12-09 00:14 millert
+
+ * tgetpass.c: Add support for interrupting/suspending tgetpass via
+ keyboard input. If you suspend sudo from the password prompt and
+ resume it will re-prompt you.
+
+2001-12-09 00:09 millert
+
+ * sudo.c: Don't block keyboard interrupt signals, just set them to
+ SIG_IGN.
+
+2001-12-08 14:48 millert
+
+ * config.h.in: add back HAVE_SIGACTION
+
+2001-12-08 14:44 millert
+
+ * configure: regen
+
+2001-12-08 14:44 millert
+
+ * config.h.in, configure.in, logging.c, sudo.c, visudo.c: Kill
+ POSIX_SIGNALS define and old signal support now that we emulate
+ POSIX ones Also be sure to correctly initialize struct sigaction.
+
+2001-12-08 14:42 millert
+
+ * strerror.c: Don't need config.h or "#ifndef HAVE_STRERROR"
+ wrapper.
+
+2001-12-08 14:39 millert
+
+ * compat.h: Add scaffolding for POSIX signal emulation
+
+2001-12-08 14:36 millert
+
+ * sigaction.c: o Add missing ';' so this compiles o Can't use NULL
+ since we don't include stdio.h
+
+2001-12-08 14:23 millert
+
+ * sigaction.c: Emulate sigaction() using sigvec()
+
+2001-11-12 19:32 millert
+
+ * sudoers.pod: Document new behavior of negative values of
+ timestamp_timeout Fix a typo
+
+2001-11-12 19:31 millert
+
+ * sudo.pod: Add security note about command not being logged after
+ 'sudo su' and friends.
+
+2001-11-12 19:19 millert
+
+ * sudo.pod: Mention that -V prints default values when run as root,
+ including the list of environment variables to clear.
+
+2001-11-12 19:14 millert
+
+ * Makefile.in: Run pod2man with --quotes=none to avoid stupid
+ quoting of C<> entries.
+
+2001-11-12 13:12 millert
+
+ * def_data.c, def_data.h, def_data.in, sudoers.pod,
+ auth/sudo_auth.c: Add mail_badpass option Also modify mail_always
+ behavior to also send mail when the password is wrong
+
+2001-11-12 13:08 millert
+
+ * env.c, sudo.c, sudo.h: Dump default bad env table when 'sudo -V'
+ is run by root.
+
+2001-11-11 23:52 millert
+
+ * sudoers.pod: document env_delete
+
+2001-11-11 23:51 millert
+
+ * env.c: Add support for '*' in env_keep when not resetting the
+ environment (ie: the normal case).
+
+2001-11-11 23:47 millert
+
+ * env.c: Add env_delete variable that lets the user replace/add to
+ the bad_env_table. Allow '*' wildcard in env_keep entries.
+
+2001-11-06 13:59 millert
+
+ * mkinstalldirs: Force umask to 022 to guarantee sane directory
+ permissions.
+
+2001-11-02 18:09 millert
+
+ * Makefile.in: add sudo.tab.h and sudo.tab.c to sudo.tab.o
+ dependency
+
+2001-11-02 17:25 millert
+
+ * mkdefaults: fix breakage in last commit
+
+2001-11-02 17:18 millert
+
+ * Makefile.in: acsite.m4 -> aclocal.m4
+
+2001-11-02 15:59 millert
+
+ * check.c: fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in
+ previous commit
+
+2001-11-02 15:57 millert
+
+ * def_data.c: regenerated from def_data.in
+
+2001-11-02 15:56 millert
+
+ * check.c, defaults.c, defaults.h: Add new T_UINT type that most
+ things use instead of T_INT If timestamp_timeout is < 0 then
+ treat the ticket as never expiring (to be expired manually by the
+ user).
+
+2001-11-02 15:51 millert
+
+ * def_data.in: change most T_INT -> T_UINT
+
+2001-11-02 15:51 millert
+
+ * mkdefaults: fix warning when no args
+
+2001-11-02 12:52 millert
+
+ * visudo.c: Change 2 Exit() -> exit() Avoid stdio in Exit() and
+ call _exit() if we are a signal handler. We no longer print the
+ signal number but the user can just check the exit value for
+ that.
+
+2001-10-16 01:35 millert
+
+ * logging.c: when setting up pipes in child process check for case
+ where stdin == pipe fd 0
+
+2001-10-11 13:20 millert
+
+ * visudo.c: Ignore editor exit value since XPG4 says vi's exit
+ value is the count of editing errors made (failed searches, etc).
+
+2001-10-05 16:39 millert
+
+ * configure: regen
+
+2001-10-05 16:39 millert
+
+ * configure.in: sco now is identified by config.guess as *-sco-*
+
+2001-10-05 16:24 millert
+
+ * configure.in: Check for getspnam() in -lgen if not in -lc for
+ UnixWare.
+
+2001-09-17 21:48 millert
+
+ * sudoers.pod, visudo.pod: "upper case" -> "uppercase"
+
+2001-09-17 21:32 millert
+
+ * sudoers.pod: fix typos and grammar; pjanzen@foatdi.harvard.edu
+
+2001-08-28 10:26 millert
+
+ * sudoers.pod: Missing word (specify); krapht@secureops.com
+
+2001-08-23 17:43 millert
+
+ * sudo.c: If we fail to lookup a login class, apply the default
+ one.
+
+2001-08-23 17:42 millert
+
+ * logging.c: In log_error() free message, not logline
+ unconditionally, then free logline if it is not the same as
+ message. No function change but this mirrors how they are
+ allocated.
+
+2001-07-16 23:33 millert
+
+ * configure: regenerate
+
+2001-07-16 23:33 millert
+
+ * configure.in: remove some backslash quotes that are unneeded
+
+2001-07-16 23:30 millert
+
+ * configure.in: o Tweaks to make this work with autoconf-2.50 o Use
+ AC_LIBOBJ instead of changing LIBOBJS directly o Use
+ AC_REPLACE_FUNCS where we can o Use AC_CHECK_FUNCS instead of
+ AC_CHECK_FUNC so we don't have to AC_DEFINE things manually.
+
+2001-07-16 23:28 millert
+
+ * config.guess, config.sub: Updated from autoconf-2.50
+
+2001-05-22 19:11 millert
+
+ * README: Update mailing list section. We use mailman now, not
+ majordomo.
+
+2001-05-10 14:55 millert
+
+ * getspwuid.c, logging.c, sudo.c: Use setpwent()/endpwent() + all
+ the shadow variants to make sure we don't inadvertantly leak an
+ fd to the child. Apparently Linux's shadow routines leave the fd
+ open even if you don't call setspent(). Reported by
+ mike@gistnet.com; different patch used.
+
+2001-04-12 21:43 millert
+
+ * sudoers.pod: s/eg./e.g./
+
+2001-04-12 21:42 millert
+
+ * tgetpass.c: select() may return EAGAIN. If so, continue like we
+ do for EINTR.
+
+2001-04-12 21:41 millert
+
+ * logging.c: Fix a non-exploitable buffer overflow in the word
+ splitting code. This should really be rewritten.
+
+2001-04-12 21:41 millert
+
+ * Makefile.in: FAQ link goes away
+
+2001-04-12 21:40 millert
+
+ * INSTALL: Tell people to look in sample.syslog.conf for examples,
+ not FAQ
+
+2001-04-12 21:40 millert
+
+ * TROUBLESHOOTING: Update list of env vars that are cleared
+
+2001-04-12 21:36 millert
+
+ * sudo.c: remove struct env_table decl since that stuff has all
+ moved to env.c
+
+2001-04-04 13:17 millert
+
+ * fileops.c: Fix a pasto in flock-style unlocking and include
+ <sys/file.h> for flock on older systems; twetzel@gwdg.de
+
+2001-04-04 13:14 millert
+
+ * configure: regen to get NeXT lockf/flock fix
+
+2001-04-04 13:14 millert
+
+ * configure.in: force NeXT to use flock since lockf is broken
+
+2001-03-30 08:54 millert
+
+ * check.c: Use stashed user_gid when checking against exempt gid
+ since sudo sets its gid to a a value that makes sudoers readable.
+ Previously if you used gid 0 as the exempt group everyone would
+ be exempt. From Paul Kranenburg <pk@cs.few.eur.nl>
+
+2001-03-29 13:14 millert
+
+ * configure: regen
+
+2001-03-29 13:08 millert
+
+ * aclocal.m4: #include stdio.h in SUDO_CHECK_TYPE since IRIX 6
+ aparently defines some types (such as ssize_t) therein.
+
+2001-03-02 09:09 millert
+
+ * defaults.c: Fix negation of paths in a boolean context. Problem
+ found by apt@UH.EDU
+
+2001-02-23 13:03 millert
+
+ * visudo.c: pasto
+
+2001-02-17 16:11 millert
+
+ * visudo.c: SA_RESETHAND means the opposite of what I was
+ thinking--oops To block all signals in old-style signals use ~0,
+ not 0xffffffff
+
+2001-02-04 11:16 millert
+
+ * defaults.c: coerce difference of pointers to int when used in a
+ string length printf format; deraadt@openbsd.org
+
+2001-01-17 11:34 millert
+
+ * visudo.c: Block all signals in Exit() to avoid a signal race.
+ There is still a tiny window but I'm not going to worry about it.
+
+2001-01-07 13:57 millert
+
+ * env.c: glibc uses the LANGUAGE env var so clear that too; Solar
+ Designer
+
+2001-01-07 13:55 millert
+
+ * lex.yy.c: Regenerate with a fix to flex.skl that preserves errno
+ from clobbering by isatty().
+
+2000-12-30 20:39 millert
+
+ * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c, sia.c, sudo_auth.c:
+ Some defaults I_ defines got renamed.
+
+2000-12-30 20:38 millert
+
+ * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
+ defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
+ set_perms.c, sudo.c: Move defaults info into its own files from
+ which we generate .h and .c files. This makes adding or
+ rearranging variables much simpler.
+
+2000-12-30 16:58 millert
+
+ * configure, configure.in: fix typo in last commit
+
+2000-12-30 16:55 millert
+
+ * compat.h, config.h.in, configure, configure.in: Add check +
+ emulation for setegid (like seteuid).
+
+2000-12-30 16:22 millert
+
+ * env.c: Make env_keep override badenv_table as documented Fix
+ traversal of badenv_table (broken in last commit)
+
+2000-12-29 22:59 millert
+
+ * set_perms.c, sudo.c, sudo.h: Don't try and build saved uid
+ version of set_perms on systems w/o them. Rename
+ set_perms_saved_uid() -> set_perms_posix() Make
+ set_perms_setreuid simply be set_perms_fallback() and simply
+ include the appropriate function at compile time (setreuid()
+ vs. setuid()).
+
+2000-12-29 22:45 millert
+
+ * sudoers.pod, sudoers.cat, sudoers.man.in: PATH is also preserved
+ when env_reset is in effect
+
+2000-12-29 22:29 millert
+
+ * CHANGES, env.c, Makefile.in, check.c, compat.h, config.h.in,
+ configure, configure.in, defaults.c, defaults.h, find_path.c,
+ getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
+ sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
+ testsudoers.c, visudo.c, visudo.cat, visudo.man.in: New Defaults
+ options: o stay_setuid - sudo will remain setuid if system has
+ saved uids or setreuid(2) o env_reset - reset the environment to
+ a sane default o env_keep - preserve environment variables that
+ would otherwise be cleared
+
+ No longer use getenv/putenv/setenv functions--do environment
+ munging by hand. Potentially dangerous environment variables can
+ be cleared only if they contain '/' pr '%' characters to protect
+ buggy programs. Moved environment routines into env.c (new file)
+
+2000-12-29 22:17 millert
+
+ * INSTALL: Clear up --without-passwd description
+
+2000-12-29 19:39 millert
+
+ * sudo_setenv.c, putenv.c: We now build up a new environment from
+ scratch and assign it to "environ".
+
+2000-12-18 22:35 millert
+
+ * sudo.pod, visudo.pod: Grammatical fixes from Paul Janzen
+
+2000-12-14 23:19 millert
+
+ * visudo.c: If there was a syntax error and the user just wants to
+ quit, unlink sudoers if it is zero length.
+
+2000-12-14 23:10 millert
+
+ * visudo.c: 'Q' means ignore parse error, not 'q'
+
+2000-12-14 22:57 millert
+
+ * visudo.c: Open sudoers for writing with mode SUDOERS_MODE From
+ Dimitry Andric <dim@xs4all.nl>
+
+2000-12-13 12:23 millert
+
+ * set_perms.c: Add missing #ifdef HAVE_LOGIN_CAP_H;
+ ayamura@ayamura.org
+
+2000-12-09 11:46 millert
+
+ * config.guess, config.sub: Darwin / Mac OS X support from Wilfredo
+ Sanchez <wsanchez@apple.com>
+
+2000-11-03 09:36 millert
+
+ * sudo.c, visudo.c: Use exit(127), not exit(-1)
+
+2000-11-03 00:37 millert
+
+ * defaults.h, set_perms.c, sudo.c, Makefile.in, defaults.c: Move
+ set_perms() to its own file and use POSIX saved uid or setreuid()
+ if available.
+
+ Added stay_setuid option for systems that have libraries that
+ perform extra paranoia checks in system libraries for setuid
+ programs (ie: anything with issetugid(2)).
+
+2000-11-02 20:28 millert
+
+ * sudo.c: strip more bits from the environment and add a facility
+ for stripping things only if they contain '/' or '%' to address
+ printf format string vulnerabilities in other programs.
+
+2000-11-02 12:55 millert
+
+ * configure: regen
+
+2000-11-02 12:55 millert
+
+ * configure.in: For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache
+ the existence of strcasecmp().
+
+2000-11-02 12:46 millert
+
+ * configure: regen
+
+2000-11-02 12:46 millert
+
+ * configure.in: Check for strcasecmp(3) in -lc89 for NCR Unix
+
+2000-11-01 10:22 millert
+
+ * config.h.in: Define HAVE_INNETGR #ifdef HAVE__INNETGR
+
+2000-11-01 10:17 millert
+
+ * configure: regen
+
+2000-11-01 10:17 millert
+
+ * compat.h, config.h.in, configure.in: Add check for _innetgr(3)
+ since NCR systems have that instead of innetgr(3).
+
+2000-10-31 14:16 millert
+
+ * auth/securid.c: check return value of creadcfg() call sd_close()
+ after sd_auth() store username in sd->username so we don't rely
+ on the USER env variable
+
+2000-10-29 23:00 millert
+
+ * INSTALL: document --with-bsdauth
+
+2000-10-29 22:57 millert
+
+ * configure: regen
+
+2000-10-29 22:56 millert
+
+ * configure.in: --with-bsdauth assumes --with-logincap
+
+2000-10-29 22:45 millert
+
+ * auth/: bsdauth.c, fwtk.c: When prompting for a response to a
+ challenge, if the user just hits return then reprompt with echo
+ turned on.
+
+2000-10-29 17:31 millert
+
+ * sudo.c: Remove debugging code that should not have been
+ committed, oops.
+
+2000-10-29 17:31 millert
+
+ * auth/bsdauth.c: Use lower-level routines and get the password
+ ourselves. Checks for a challenge and if there is one echo is
+ not turned off.
+
+2000-10-29 17:30 millert
+
+ * auth/: pam.c, sudo_auth.h: minor housekeeping, no real code
+ changes
+
+2000-10-27 18:41 millert
+
+ * sudo.c: Fix a coredump in the logging functions if gethostname(2)
+ fails by deferring the call to log_error() until things are
+ better setup.
+
+ Fix return value of set_loginclass() in non-BSD-auth case.
+
+ Hard-code 'sudo' in the usage message so we can fit more options
+ on a line
+
+2000-10-27 18:35 millert
+
+ * logging.c: Fix errant ';' (typo) that broken MSG_ONLY
+
+2000-10-26 13:03 millert
+
+ * sudo.cat, sudo.man.in: regen
+
+2000-10-26 13:01 millert
+
+ * sudo.pod: Document -a flag
+
+2000-10-26 12:42 millert
+
+ * Makefile.in, config.h.in, configure, configure.in, getspwuid.c,
+ sudo.c, auth/sudo_auth.h, auth/bsdauth.c: Add support for BSD
+ authentication.
+
+2000-10-19 10:09 millert
+
+ * sudoers.pod: Fix typo; from sato@complex.eng.hokudai.ac.jp
+
+2000-10-12 09:49 millert
+
+ * sudoers.pod: Mention negating umask
+
+2000-10-12 01:30 millert
+
+ * defaults.c: Allow user to specify umask of 0777 (same as !umask)
+
+2000-10-08 21:46 millert
+
+ * sudo.pod, visudo.pod: Fix a typo and give a URL for the sudo
+ history.
+
+2000-10-08 12:25 millert
+
+ * defaults.c, sudo.pod: fix typos; pepper@reppep.com
+
+2000-09-14 16:48 millert
+
+ * sudo.c, sudo.h, sudo_setenv.c: sudo_setenv() now exits on memory
+ alloc failure instead of returning -1.
+
+2000-09-07 17:41 millert
+
+ * sudo.c: Strip out NLSPATH and PATH_LOCALE from the environment
+ for FreeBSD and possibly others.
+
+2000-09-07 10:43 millert
+
+ * logging.c: Don't use vsyslog(3) since HP-UX (and others?) lack
+ it. This means that "%m" won't be expanded but we don't use that
+ anyway since the logging routines may splat to stderr as well.
+
+2000-09-06 21:35 millert
+
+ * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
+ sudoers.pod: Add always_set_home variable
+
+2000-09-06 21:24 millert
+
+ * configure, configure.in: Have to hard code default values in help
+ since the defaults are set _after_ the help stuff.
+
+2000-08-31 13:08 millert
+
+ * lex.yy.c, parse.lex: Allow special characters (including '#') to
+ be embedded in pathnames if quoted by a '\\'. The quoted chars
+ will be dealt with by fnmatch(). Unfortunately, 'sudo -l' still
+ prints the '\\'.
+
+2000-08-13 17:10 millert
+
+ * install-sh: Better path searching for programs we need.
+
+2000-08-13 17:10 millert
+
+ * TROUBLESHOOTING: Add section on "C compiler cannot create
+ executables" errors.
+
+2000-08-13 17:10 millert
+
+ * Makefile.binary, Makefile.in, version.h: Crank version
+
+2000-08-13 17:09 millert
+
+ * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
+ sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
+ visudo.man.in, visudo.pod: Substitute values from configure into
+ man pages.
+
+2000-08-12 16:48 millert
+
+ * parse.c, sudo.c: The listpw and verifypw sudoers options would
+ not take effect because the value of the default was checked
+ *before* sudoers was parsed. Instead of passing in the value of
+ PWCHECK_* to sudoers_lookup(), pass in the arg for def_ival() so
+ the check can be deferred until after sudoers is parsed.
+
+2000-08-11 15:41 millert
+
+ * tgetpass.c: When writing prompt, no need to write the NUL as
+ well; hag@linnaean.org
+
+2000-06-09 12:25 millert
+
+ * install-sh: When looking for chown, check in /sbin too
+
+2000-06-04 22:57 millert
+
+ * visudo.c: Remove extraneous call to init_defaults() and set
+ runas_user to NULL betweem parses so init_defaults will reset it
+ each time, thus avoiding a reference to free()d data.
+
+2000-06-04 19:57 millert
+
+ * config.h.in, interfaces.c, interfaces.h, sudo.c: Add support for
+ using getifaddrs() to get the list of ip addr / netmask pairs.
+ Currently IPv4-only.
+
+2000-06-04 19:51 millert
+
+ * visudo.c: Add a missing check for UserEditor == NULL Add missing
+ '+' before line number when invoking editor to fix a syntax error
+
+2000-05-12 16:55 millert
+
+ * sudo.c: Call clean_env very early in main() for paranoia's sake.
+ Idea from Marc Esipovich.
+
+2000-05-10 01:11 millert
+
+ * sudo.h: Update proto for evasprintf and easprintf
+
+2000-05-10 01:10 millert
+
+ * alloc.c: Make easprintf() and evasprintf() return an int.
+
+2000-05-10 00:56 millert
+
+ * check.c: If the targetpw flag is set, use target username as part
+ of the timestamp path. If tty tickets are in effect cat the tty
+ and the target username with a ':' as the separator.
+
+2000-05-09 12:05 millert
+
+ * auth/pam.c: Backout part of last change; setting PAM_USER to the
+ invoking user breaks things like targetpw.
+
+2000-05-09 11:52 millert
+
+ * auth/pam.c: set tty and username via pam_set_item
+
+2000-05-09 11:42 millert
+
+ * check.c, getspwuid.c, sudo.c, sudo.h, auth/sudo_auth.c: Fix root,
+ runas, and target authentication for non-passwd file auth
+ methods.
+
+2000-04-22 14:15 millert
+
+ * sudo.pod, sudo.man.in, sudoers.man.in, sudoers.pod, visudo.pod,
+ sudo.cat, sudoers.cat, visudo.man.in, visudo.cat: Use B<-Z> not
+ C<-Z> for command line flags in all places. This is more
+ consistent and works around a bug in Pod::Man.
+
+2000-04-22 13:59 millert
+
+ * sudoers.cat, sudoers.man.in, sudoers.pod: Fix an occurence of
+ 'semicolon' that should be 'colon'
+
+2000-04-19 15:30 millert
+
+ * configure, configure.in: Fix --with-badpri help line
+
+2000-04-17 14:01 millert
+
+ * defaults.c, logging.c, sudo.c: Bracket calls to syslog with an
+ openlog() and closelog() since some authentication methods (like
+ PAM) may do their own logging via syslog. Since we don't use
+ syslog much (usually just once per session) this doesn't really
+ incur a performance penalty. It also Fixes a SEGV with pam_kafs.
+
+2000-04-15 16:32 millert
+
+ * sudo.c: Fix -H flag. runas_homedir is only valid after
+ set_perms(PERM_RUNAS, mode)
+
+2000-04-12 18:56 millert
+
+ * INSTALL: Clarify the fact that insults are not enabled just by
+ including them in the binary.
+
+2000-04-07 10:39 millert
+
+ * sudo.man.in, sudoers.man.in, visudo.man.in, sudo.cat,
+ sudoers.cat, visudo.cat: Regenerated with perl 5.6.0 pod2man
+
+2000-04-07 10:38 millert
+
+ * Makefile.in: Give date string to pod2man since its default is
+ ugly and it ain't got no alibi.
+
+2000-04-07 10:27 millert
+
+ * Makefile.in: Do section substitution on the output of pod2man and
+ remove hack needed for old pod2man.
+
+2000-04-07 10:26 millert
+
+ * sudo.pod, sudoers.pod, visudo.pod: Put back real man sections, we
+ will do the substitution later.
+
+2000-04-02 11:44 millert
+
+ * configure, configure.in: Don't bother checking for the path to vi
+ if user specified --with-editor
+
+2000-04-01 17:25 millert
+
+ * CHANGES, visudo.c: Visudo now does its own fork/exec instead of
+ calling system(3).
+
+2000-04-01 16:23 millert
+
+ * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
+ sudoers.pod, visudo.c: Visudo now checks for the existence of an
+ editor and gives a sensible error if it does not exist.
+
+ The path to the editor for visudo is now a colon-separated list
+ of allowable editors. If the user has $EDITOR set and it matches
+ one of the allowed editors that editor will be used. If not, the
+ first editor in the list that actually exists is used.
+
+2000-04-01 16:22 millert
+
+ * sudo.pod, sudo.cat, sudo.man.in: Clear up confusion wrt sudo's
+ return value.
+
+2000-03-27 12:08 millert
+
+ * Makefile.in: Strip sudo and visudo for bindist target
+
+2000-03-26 22:26 millert
+
+ * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
+ sudoers.pod, visudo.cat, visudo.man.in, visudo.pod: Use
+ @mansectsu@ and @mansectform@ in the man page bodies as well.
+
+2000-03-26 22:07 millert
+
+ * visudo.cat, visudo.man.in, visudo.pod: Typo: @sysconf@ ->
+ @sysconfdir@
+
+2000-03-26 21:57 millert
+
+ * Makefile.in: 'make dist' should not cause any files to be
+ modified so remove its dependencies.
+
+2000-03-26 21:43 millert
+
+ * CHANGES: Whoops, forgot to add release marker
+
+2000-03-26 11:57 millert
+
+ * CHANGES: Final change for 1.6.3 (or so I hope)
+
+2000-03-26 11:57 millert
+
+ * sudo.cat, sudoers.cat, visudo.cat: Use SYSV man sections since
+ BSD systems will have nroff...
+
+2000-03-24 18:58 millert
+
+ * parse.yacc: When checking to see if the host/user matches in a
+ defaults spec, check against TRUE, not just non-zero since it
+ might be -1.
+
+2000-03-24 15:14 millert
+
+ * configure.in, configure: OSF/1 puts file formats in section 4,
+ not 5.
+
+2000-03-24 15:13 millert
+
+ * CHANGES, INSTALL, sudo.c: Make login class support work on BSD/OS
+
+2000-03-23 20:24 millert
+
+ * RUNSON: Update for 1.6.3
+
+2000-03-23 20:23 millert
+
+ * configure, configure.in: If there is no inet_addr but there *is*
+ an __inet_addr that's ok since inet_addr is probably just a macro
+ then. The better thing to do would be to look for the macro, but
+ this is fine for now.
+
+2000-03-23 19:50 millert
+
+ * configure, configure.in: Don't use shlicc for BSD/OS 4.x
+
+2000-03-23 19:40 millert
+
+ * Makefile.in, configure, configure.in: *.man lives in cwd, *.cat
+ lives in $(srcdir), add a @mansrcdir@ configure variable so we
+ can deal with this. Also, only remove *.man for 'distclean' not
+ 'clean'.
+
+2000-03-23 19:16 millert
+
+ * sudo.c: set_loginclass() should be static like the proto says
+
+2000-03-23 14:14 millert
+
+ * fnmatch.c: Add #ifdef __STDC__ around the rangematch function
+ header to avoid promotion of test to int, thus violating the
+ prototype. Gcc handles this gracefully but more std ANSI
+ compilers will complain.
+
+2000-03-23 10:11 millert
+
+ * emul/fnmatch.h: Pull in newer fnmatch(3) that supports
+ FNM_CASEFOLD
+
+2000-03-23 10:11 millert
+
+ * aclocal.m4, configure, fnmatch.3, fnmatch.c: Pull in newer
+ fnmatch(3) that supports FNM_CASEFOLD Check for FNM_CASEFOLD in
+ configure
+
+2000-03-22 23:41 millert
+
+ * CHANGES, TODO: update for 1.6.3
+
+2000-03-22 23:38 millert
+
+ * lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc, sudo.tab.h,
+ testsudoers.c, visudo.c: Fully qualified hosts w/ wildcards were
+ not matching the FQHOST token type. There's really no need for a
+ separate token for fully-qualified vs. unqualified anymore so
+ FQHOST is now history and hostname_matches now decides which
+ hostname (short or long) to check based on whether or not the
+ pattern contains a '.'.
+
+2000-03-22 23:09 millert
+
+ * parse.c, parse.h, parse.yacc, sudoers.pod, testsudoers.c,
+ visudo.c, sudoers.cat, sudoers.man.in: Add support for wildcards
+ in the hostname.
+
+2000-03-22 22:50 millert
+
+ * Makefile.in: Add targets for *.man.in, using config.status to
+ generate *.man from *.man.in
+
+2000-03-22 22:20 millert
+
+ * sudoers.cat, sudoers.man.in, sudoers.pod: Document set_logname
+ option and enbolden refs to sudo and visudo.
+
+2000-03-22 19:35 millert
+
+ * INSTALL, Makefile.in, aclocal.m4, configure, configure.in,
+ sudo.cat, sudo.pod, sudo.man.in, sudoers.cat, sudoers.pod,
+ visudo.cat, visudo.pod, sudoers.man.in, visudo.man.in: Add
+ FreeBSD login.conf support (untested on BSD/OS) based on a patch
+ from Michael D. Marchionna. configure now does substitution on
+ the man pages, allowing us to fix up the paths and set the
+ section correctly. Based on an idea from Michael D. Marchionna.
+
+2000-03-22 19:27 millert
+
+ * auth/passwd.c: Better fix for handling HP-UX aging info.
+
+2000-03-22 19:20 millert
+
+ * sudo.c: Add support for set_logname run-time default
+
+2000-03-22 19:17 millert
+
+ * sudo.man.in, sudoers.man.in, visudo.man.in: configure does
+ substitution on these to produce *.man
+
+2000-03-22 19:16 millert
+
+ * sudo.man, sudoers.man, visudo.man: These files now get generated
+ from *.man.in at configure time.
+
+2000-03-22 18:40 millert
+
+ * defaults.c, defaults.h: Add set_logname option so users can turn
+ off setting of LOGNAME/USER environment variables.
+
+2000-03-22 10:53 millert
+
+ * testsudoers.c, lsearch.c, parse.c: kill register
+
+2000-03-13 15:52 millert
+
+ * auth/passwd.c: HP-UX adds extra info at the end for password
+ aging so when comparing the result of crypt to pw_passwd we only
+ compare the first len(epass) bytes *unless* the user entered an
+ empty string for a password.
+
+2000-03-13 11:05 millert
+
+ * logging.c: Get rid of grandchild hack, it was causing problems
+ and there is really no need for it. This fixes a bug where we
+ spin eating up CPU when the user runs a long-running process like
+ a shell.
+
+2000-03-07 14:26 millert
+
+ * sudo.c: User can always specify a login class if he/she is
+ already root.
+
+2000-03-06 23:29 millert
+
+ * config.h.in, configure, configure.in, defaults.c, defaults.h,
+ sudo.c, sudo.h: FreeBSD login class (login.conf) support.
+
+2000-03-06 14:42 millert
+
+ * auth/sudo_auth.c: HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes
+ secureware support
+
+2000-03-03 18:04 millert
+
+ * auth/passwd.c: Truncate unencrypted password to 8 chars if
+ encrypted password is exactly 13 characters (indicateing standard
+ a DES password). Many versions of crypt() do this for you, but
+ not all (like HP-UX's).
+
+2000-03-01 21:01 millert
+
+ * INSTALL, RUNSON: Mention that gcc on dynix may have problems
+
+2000-02-29 17:46 millert
+
+ * Makefile.in: Link visudo with NET_LIBS since we now call syslog
+ via defaults.c
+
+2000-02-29 17:41 millert
+
+ * defaults.c: Use Argv[0] as the first arg to openlog() since
+ visudo uses this too.
+
+2000-02-28 18:58 millert
+
+ * sudo.c: Stash coredumpsize resource limit and retsore it before
+ the exec() Otherwise the child ends up with a coredumpsize of 0.
+
+2000-02-26 22:56 millert
+
+ * sudo.cat, sudo.man, sudo.pod: document -S flag
+
+2000-02-26 22:54 millert
+
+ * sudo.c: fix usage string
+
+2000-02-26 22:48 millert
+
+ * CHANGES, RUNSON, TODO, sudo.c, sudo.h, tgetpass.c,
+ auth/aix_auth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c: Added
+ -S flag (read passwd from stdin) and tgetpass_flags global that
+ holds flags to be passed in to tgetpass(). Change echo_off param
+ to tgetpass() into a flags field. There are currently 2 possible
+ flags for tgetpass(): TGP_ECHO and TGP_STDIN. In tgetpass(),
+ abstract the echo set/clear via macros and if (flags & TGP_ECHO)
+ but echo is not set on the terminal, but sure to set it.
+
+2000-02-26 22:11 millert
+
+ * tgetpass.c: Fixed a bug that caused an infinite loop when the
+ password timeout was disabled.
+
+2000-02-18 12:56 millert
+
+ * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
+ sudoers.cat, sudoers.man, sudoers.pod, visudo.c: Add rootpw,
+ runaspw, and targetpw options.
+
+2000-02-18 12:11 millert
+
+ * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
+ visudo.c: enveditor -> env_editor
+
+2000-02-15 19:07 millert
+
+ * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
+ sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h,
+ visudo.cat, visudo.man: crank versino to 1.6.3
+
+2000-02-15 19:03 millert
+
+ * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
+ sudoers.pod, visudo.c: Add 'editor' and 'enveditor' sudoers
+ defaults and make visudo honor them. This means that visudo will
+ now parse the sudoers file *before* it is edited so a bogus
+ sudoers file will cause a warning to go to stderr. Also, visudo
+ checks the variables once--it does not check them after each
+ editor run since that could be confusing.
+
+2000-02-15 18:49 millert
+
+ * RUNSON: 1.6.2 -> 1.6.2p1
+
+2000-02-15 18:36 millert
+
+ * check.c, sudo.c, sudo.h: Move user_is_exempt prototype into
+ sudo.h
+
+2000-02-13 13:38 millert
+
+ * configure, configure.in: Fix thinko, some && should have been ||
+ in the last commit
+
+2000-02-13 13:28 millert
+
+ * configure, configure.in: Don't initialized Makefile variables to
+ be NULL since the user may want to import variables from their
+ environment.
+
+2000-02-03 21:09 millert
+
+ * configure, configure.in: typo
+
+2000-01-27 15:01 millert
+
+ * INSTALL, RUNSON, configure, configure.in: Make pam work on HP-UX
+ 11.0;jaearick@colby.edu
+
+2000-01-27 15:01 millert
+
+ * CHANGES: recent changes; prepare for 1.6.2p1
+
+2000-01-26 23:31 millert
+
+ * find_path.c: Don't apply SECURE_PATH if user is example;
+ jmknoble@pobox.com
+
+2000-01-26 16:21 millert
+
+ * sudoers.cat, sudoers.man, sudoers.pod: Expanded docs on sudoers
+ 'defaults' options based on INSTALL file info.
+
+2000-01-26 16:21 millert
+
+ * INSTALL: Fix some while lies
+
+2000-01-24 10:48 millert
+
+ * Makefile.in: When making a bindist, link FAQ to TROUBLESHOOTING
+ instead of copying.
+
+2000-01-23 22:57 millert
+
+ * sudoers.cat, sudoers.man, sudoers.pod: Add netgroup caveat
+
+2000-01-23 22:42 millert
+
+ * RUNSON: Last minute updates
+
+2000-01-23 22:26 millert
+
+ * TROUBLESHOOTING: PAM entry
+
+2000-01-23 22:23 millert
+
+ * auth/pam.c: correct a comment
+
+2000-01-23 22:03 millert
+
+ * CHANGES, RUNSON: update for 1.6.2
+
+2000-01-23 21:59 millert
+
+ * auth/pam.c: Better detection of PAM errors and fix custom prompts
+ with PAM. Based on patches from "Cloyce D. Spradling"
+ <cloyce@headgear.org>
+
+2000-01-20 11:15 millert
+
+ * snprintf.c: Cast ULONG_MAX to unsigned long long when comparing
+ to an unsigned long long value.
+
+2000-01-19 14:07 millert
+
+ * CHANGES, config.h.in, configure, configure.in, visudo.c: Fix
+ sudoers locking in visudo. We now lock the sudoers file itself,
+ not the temp file (since locking the temp file can foul up
+ editors). The previous locking scheme didn't work because the fd
+ was closed too early.
+
+2000-01-19 13:37 millert
+
+ * configure, config.h.in, configure.in: Don't need test for
+ ftruncate() any more.
+
+2000-01-18 21:23 millert
+
+ * configure, configure.in: Add a test for the -Aa flag w/ HP-UX's
+ cc. Fixes compilation with the unbundled HP-UX cc.
+
+2000-01-18 17:00 millert
+
+ * sudoers.cat, sudoers.man, sudoers.pod: "a a" -> "a"; Aaron
+ Campbell <aaron@cs.dal.ca>
+
+2000-01-17 18:46 millert
+
+ * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
+ parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c,
+ tgetpass.c, version.h, visudo.c: update copyright year on changed
+ files
+
+2000-01-17 18:45 millert
+
+ * RUNSON: updates
+
+2000-01-17 18:45 millert
+
+ * CHANGES: aix fix
+
+2000-01-17 18:42 millert
+
+ * INSTALL: Crank version to 1.6.2
+
+2000-01-17 18:11 millert
+
+ * configure: Crank version to 1.6.2
+
+2000-01-17 17:46 millert
+
+ * sudo.c: When using rlimit check for RLIM_INFINITY When computing
+ the value of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
+
+2000-01-17 12:32 millert
+
+ * CHANGES: recent changes
+
+2000-01-17 12:28 millert
+
+ * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
+ sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
+ Crank version to 1.6.2
+
+2000-01-17 12:25 millert
+
+ * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod: Add
+ 'shell_noargs' runtime option back in. We have to defer checking
+ until after the sudoers file has been parsed but since there are
+ now other options that operate that way this one can too. Based
+ on a patch from bguillory@email.com.
+
+2000-01-16 23:05 millert
+
+ * defaults.c, defaults.h, parse.c, sudo.c, sudo.h: Add "listpw" and
+ "verifypw" options.
+
+2000-01-16 22:57 millert
+
+ * sudoers.cat, sudoers.man, sudoers.pod: o Fix some typos/omissions
+ o Add section on verifypw and listpw o Define how NOPASSWD
+ interacts with the -v and -l flags
+
+2000-01-14 12:39 millert
+
+ * configure, configure.in: For HP-UX cc, add -Aa to CPPFLAGS. For
+ HP-UX always add -D_HPUX_SOURCE to CPPFLAGS.
+
+2000-01-14 12:29 millert
+
+ * defaults.c, defaults.h: In struct sudo_defs_types, move the union
+ to the end and don't initialize the union member since that only
+ works with an ANSI compiler. We set the value of the union by
+ hand in init_defaults() anyway. This allows sudo to compile on a
+ K&R compiler again.
+
+2000-01-11 13:20 millert
+
+ * parse.c, parse.h, parse.yacc, testsudoers.c, visudo.c:
+ netgr_matches needs to check shost as well as host since they may
+ be different.
+
+2000-01-11 13:17 millert
+
+ * tgetpass.c: End on \r as well as \n
+
+2000-01-02 23:53 millert
+
+ * sudo.c: Update statbuf.st_mode based on SUDOERS_MODE when we are
+ chaning from 0400 to whatever SUDOERS_MODE is (converting from
+ the old sudoers mode). Assumes that SUDOERS_MODE is less
+ restrictive than 0400 which should always be the case.
+
+2000-01-02 23:43 millert
+
+ * parse.c, parse.yacc, sudo.c, sudo.h: Make treatment of -l and -v
+ sane wrt NOPASSWD flags. Now allow -l w/o a passwd if there is
+ *any* entry for the user on the host with a NOPASSWD flag. For
+ -v, only allow w/o a passwd if *all* entries for the user on the
+ host w/ the specified runas user have the NOPASSWD flag set.
+
+2000-01-02 23:26 millert
+
+ * Makefile.in: add check target
+
+1999-12-16 13:02 millert
+
+ * visudo.c: Treat EOF at whatnow prompt like 'x' instead of
+ looping.
+
+1999-12-10 00:09 millert
+
+ * CHANGES: recent changes
+
+1999-12-08 23:04 millert
+
+ * config.h.in, configure, configure.in, sudo.c: Add check for
+ initgroups() since old SYSV lacks this.
+
+1999-12-08 22:54 millert
+
+ * CHANGES, RUNSON, aclocal.m4, config.h.in, configure,
+ configure.in, parse.c, testsudoers.c: o Kill HAVE_FNMATCH_H o
+ Only define HAVE_FNMATCH if <fnmatch.h> exists.
+
+1999-12-06 01:47 millert
+
+ * CHANGES, RUNSON, insults.h, auth/sudo_auth.c: Don't allow insults
+ to be enabled if the insults[] array is empty. Otherwise there
+ would be division by zero.
+
+1999-12-06 01:25 millert
+
+ * insults.h: Don't care about USE_INSULTS #define since the insult
+ stuff may be overridden at runtime.
+
+1999-12-06 01:23 millert
+
+ * auth/sudo_auth.c: Honor insults flag.
+
+1999-12-05 19:14 millert
+
+ * CHANGES, parse.c: Don't ask the user for a password if the user
+ is not allowed to run the command and the authenticate flag (in
+ sudoers) is false.
+
+1999-12-05 19:05 millert
+
+ * CHANGES, RUNSON, lex.yy.c, parse.lex: o Whenever we get a bare
+ newline we change to the INITIAL state. o Enter GOTRUNAS when we
+ see Runas_Alias
+
+ This allows #uid to work in a RunasAlias.
+
+1999-12-05 14:06 millert
+
+ * CHANGES, parse.yacc: fix parsing of runas lists: o oprunasuser
+ and runaslist now return a value o in a runasspec, if a runaslist
+ does not return TRUE, set runas_matches to FALSE. Normally, a
+ runaslist only returns FALSE for explicitly denied users. o
+ since runaslist does not modify the stack there is no need for a
+ push/pop in runasalias.
+
+1999-12-04 21:54 millert
+
+ * check.c, sudo.c: Don't kill the user's tickets until after
+ sudoers has been parsed since tty_tickets and ticket_dir could be
+ set in sudoers.
+
+1999-12-04 21:18 millert
+
+ * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
+ configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
+ sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man: crank
+ version to 1.6
+
+1999-12-04 21:18 millert
+
+ * testsudoers.c: add set_fqdn() stub
+
+1999-12-02 15:31 millert
+
+ * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
+ sudoers.man, sudoers.pod, visudo.c: o Kill shell_noargs option,
+ it cannot work since the command needs to be set before sudoers
+ is parsed. o Fix the "set_home" sudoers option (only worked at
+ compile time). o Fix "fqdn" sudoers option. We now set
+ host/shost via set_fqdn which gets called when the "fqdn"
+ option is set in sudoers. o Move the openlog() to
+ store_syslogfac() so this gets overridden correctly from the
+ sudoers file.
+
+1999-12-02 15:21 millert
+
+ * auth/securid.c: SecurID support should compile now.
+
+1999-11-28 20:56 millert
+
+ * sudo.pod, visudo.pod, sudo.cat, sudo.man, sudoers.man,
+ visudo.man, sudoers.cat, visudo.cat: fix some syntactic goofs
+
+1999-11-28 18:51 millert
+
+ * sudo.html, sudoers.html, Makefile.in, visudo.html: No longer need
+ the .html files as they are generated automatically on the web
+ site.
+
+1999-11-28 18:49 millert
+
+ * CHANGES, LICENSE: kill characters that made wml unhappy
+
+1999-11-28 18:34 millert
+
+ * HISTORY: typo
+
+1999-11-25 12:05 millert
+
+ * README: majordomo@cs.colorado.edu -> majordomo@courtesan.com
+
+1999-11-24 19:43 millert
+
+ * Makefile.in, configure: Wrap script execution w/ /bin/sh for the
+ benefit of ctm
+
+1999-11-23 22:52 millert
+
+ * sudo.c: Make the -s flag be exclusive too. Also reorder the
+ flags in the exclusive usage message so they are alphabetical.
+
+1999-11-23 13:27 millert
+
+ * auth/pam.c: make pam errors other than PAM_PERM_DENIED fatal
+
+1999-11-23 13:07 millert
+
+ * auth/API: fix typo
+
+1999-11-23 13:07 millert
+
+ * INSTALL: make it clear that /etc/pam.d/sudo is required on linux
+
+1999-11-23 13:06 millert
+
+ * auth/pam.c: fix a warning on redhat and spew an error if
+ pam_authenticate() returns an error other than AUTH_SUCCESS or
+ PAM_PERM_DENIED
+
+1999-11-23 00:43 millert
+
+ * sudo.cat, sudo.html, sudo.man, sudo.pod: Be very clear that the
+ password required is the user's not root's
+
+1999-11-19 21:04 millert
+
+ * Makefile.in: add sample.syslog.conf to DISTFILES and BINFILES
+
+1999-11-18 19:13 millert
+
+ * RUNSON: updates from Brian Jackson + some formatting
+
+1999-11-17 21:39 millert
+
+ * INSTALL.binary, Makefile.binary, README, RUNSON: o One RUNSon
+ update o Changes for automating real binary releases
+
+1999-11-17 21:38 millert
+
+ * Makefile.in: Add bindist target
+
+1999-11-16 16:26 millert
+
+ * TROUBLESHOOTING: talk about run-time options in addition to
+ compile-time options
+
+1999-11-16 01:16 millert
+
+ * CHANGES: fix typos
+
+1999-11-16 01:09 millert
+
+ * sudo.c: need sys/time.h if HAVE_SETRLIMIT
+
+1999-11-16 00:42 millert
+
+ * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
+ sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod: get
+ rid of references to sudo-bugs. Now mention the web site or the
+ sudo@ alias
+
+1999-11-16 00:35 millert
+
+ * sudoers.html: repair pod2html damage
+
+1999-11-16 00:28 millert
+
+ * RUNSON, TODO: Update for 1.6 release
+
+1999-11-16 00:23 millert
+
+ * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: Add warning
+ about using ALL in a command context.
+
+1999-11-09 15:12 millert
+
+ * visudo.c: Call yyrestart() on a parse error to reset the lexer
+ state.
+
+1999-11-09 15:06 millert
+
+ * parse.lex, lex.yy.c: Don't need YY_FLUSH_BUFFER after all Move
+ yyrestart() into visudo.c since it might not get called in yywrap
+ if we get a parse error (and we only reread the file on error
+ anyway).
+
+1999-11-09 14:32 millert
+
+ * parse.lex, lex.yy.c: Call YY_FLUSH_BUFFER macro in yywrap() to
+ clean up any buffers that might still exist. Call yyrestart()
+ instead of using the deprecated YY_NEW_FILE macro.
+
+1999-11-09 12:13 millert
+
+ * lex.yy.c, parse.lex: flex doesn't need %N table size declarations
+
+1999-11-08 19:00 millert
+
+ * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: Mention what
+ characters need to be escaped in names.
+
+1999-11-08 18:59 millert
+
+ * configure: regen
+
+1999-11-08 18:59 millert
+
+ * INSTALL: clarify Mac OS X entry
+
+1999-11-08 18:59 millert
+
+ * RUNSON: update
+
+1999-11-08 17:45 millert
+
+ * configure.in: o Use AC_MSG_ERROR throughout o Check syslog
+ configure options for danity
+
+1999-11-05 17:11 millert
+
+ * defaults.c: Fix printing of type T_MODE in dump_defaults()
+
+1999-11-05 12:00 millert
+
+ * strcasecmp.c: missing sys/types.h
+
+1999-11-05 00:42 millert
+
+ * INSTALL: Break out options that may be overridden at run time
+ into their own section. Add a not about Max OS X and correct
+ some lies.
+
+1999-11-04 14:01 millert
+
+ * CHANGES, config.h.in, configure, configure.in, sudo.c: o Now use
+ getrlimit to find the highest fd when closing all non-std fd's o
+ Turn off core dumps via setrlimit for the sake of paranoia
+
+1999-11-04 13:57 millert
+
+ * RUNSON: updates
+
+1999-11-01 10:59 millert
+
+ * CHANGES: updates
+
+1999-11-01 10:58 millert
+
+ * tgetpass.c: When read()'ing, do a single character at a time to
+ be sure we don't go oast the newline.
+
+1999-11-01 10:43 millert
+
+ * sudo.c: For the sudo_root option, check against user_uid, not
+ getuid() since at this point, ruid == euid == 0.
+
+1999-10-31 23:14 millert
+
+ * RUNSON: some updates
+
+1999-10-31 23:14 millert
+
+ * logging.h: Fix compilation problem when --with-logging=file was
+ specified. This means that syslog is now required to build sudo
+ but that should not be a problem. If it is it can be fixed
+ trivially with a configure check for syslog() or syslog.h.
+
+1999-10-31 23:00 millert
+
+ * tgetpass.c: Make this work again for things like "sudo echo hi |
+ more" where the tty gets put into character at a time mode. We
+ read until we read end of line or we run out of space (similar to
+ fgets(3)).
+
+1999-10-20 11:23 millert
+
+ * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: change ital
+ to bold
+
+1999-10-20 11:23 millert
+
+ * RUNSON: update
+
+1999-10-16 13:56 millert
+
+ * defaults.c: Error out if syslog parameters are given without a
+ value. For Ultrix or 4.2BSD "syslog" is allowed without a value
+ since there are no facilities in the 4.2BSD syslog.
+
+1999-10-15 16:37 millert
+
+ * defaults.c: Ignore the syslog facility for systems w/ old syslog
+ like Ultrix.
+
+1999-10-15 12:51 millert
+
+ * TROUBLESHOOTING: people with "." early in their path can have
+ problems running sudo from the build dir ;-)
+
+1999-10-13 00:18 millert
+
+ * sudo.man, sudo.pod, sudo.cat, sudo.html: Remove -r realm option
+
+1999-10-12 22:34 millert
+
+ * configure, configure.in, sudo.c, auth/kerb5.c, auth/sudo_auth.c,
+ auth/sudo_auth.h: New krb5 code from Frank Cusack
+ <fcusack@iconnet.net>.
+
+1999-10-12 22:33 millert
+
+ * CHANGES: update to reality
+
+1999-10-11 20:53 millert
+
+ * auth/fwtk.c: include <auth.h> to get function prototypes.
+
+1999-10-11 20:05 millert
+
+ * sudo.cat, sudo.html, sudo.man, sudo.pod: document -L flag
+
+1999-10-11 19:42 millert
+
+ * sudo.c: in set_perms(), always call setuid(0) before changing the
+ ruid/euid so we always know it will succeed.
+
+1999-10-11 12:24 millert
+
+ * defaults.h: #undef T_FOO to avoid conflicts with system defines
+ (like on ULTRIX).
+
+1999-10-11 11:55 millert
+
+ * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
+ sudoers.pod: Docuement "Defaults" lines in /etc/sudoers. Still
+ needs some fleshing out but this is a start.
+
+1999-10-10 17:21 millert
+
+ * defaults.c: use strtol, not strtoul since not everyone has not
+ strtoul
+
+1999-10-10 15:01 millert
+
+ * lex.yy.c, parse.lex: last {WORD} rule should only apply in the
+ INITIAL state
+
+1999-10-10 14:38 millert
+
+ * lex.yy.c, parse.lex: o Add support for escaped characters in the
+ WORD macro o Modify fill() to squash escape chars
+
+1999-10-10 13:56 millert
+
+ * defaults.c, defaults.h: o Add T_PATH flag to allow simple sanity
+ checks for default values that are supposed to be pathnames. o
+ Fix a duplicate free when visudo finds an error.
+
+1999-10-09 01:01 millert
+
+ * defaults.c, defaults.h, logging.c: mail_if_foo -> mail_foo
+
+1999-10-07 21:12 millert
+
+ * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c: o Add
+ requiretty option o Move O_NOCTTY to compat.h
+
+1999-10-07 21:12 millert
+
+ * logging.c: The exit() in log_error() was mistakenly removed in a
+ previous version. Put it back...
+
+1999-10-07 17:20 millert
+
+ * INSTALL, TODO, check.c, config.h.in, configure, configure.in,
+ defaults.c, defaults.h, find_path.c, getspwuid.c, lex.yy.c,
+ logging.c, parse.yacc, sudo.c, auth/aix_auth.c, auth/fwtk.c,
+ auth/pam.c, auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c: o
+ Change defaults stuff to put the value right in the struct. o
+ Implement mailer_flags o Store syslog stuff both in int and
+ string form. Setting the string form magically updates the int
+ version. o Add boolean attribute to strings where it makes sense
+ to say !foo
+
+1999-10-07 17:13 millert
+
+ * tgetpass.c: add O_NOCTTY when opening /dev/tty just in case
+
+1999-10-06 00:48 millert
+
+ * auth/API: cleanup function no longer takes a status arg
+
+1999-10-06 00:48 millert
+
+ * INSTALL: the the
+
+1999-09-15 05:15 millert
+
+ * TODO, config.h.in, configure, configure.in, logging.c: Use
+ strftime() instead of ctime() if it is available.
+
+1999-09-14 12:58 millert
+
+ * defaults.c: fix copyright date
+
+1999-09-14 12:57 millert
+
+ * RUNSON: update ReliantUNIX entry
+
+1999-09-14 12:56 millert
+
+ * defaults.c, defaults.h, logging.c: add log_year option
+
+1999-09-14 04:01 millert
+
+ * configure, configure.in: add --without-sendmail to help output
+
+1999-09-14 03:42 millert
+
+ * configure, configure.in: enforce an otctal arg for
+ --with-suoders-mode
+
+1999-09-08 04:06 millert
+
+ * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, check.c,
+ config.h.in, configure, configure.in, defaults.c, defaults.h,
+ find_path.c, lex.yy.c, logging.c, parse.h, parse.lex, parse.yacc,
+ sudo.c, sudo.h, sudo.tab.h, testsudoers.c, version.c, visudo.c,
+ auth/aix_auth.c, auth/fwtk.c, auth/kerb5.c, auth/pam.c,
+ auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c: Add support for
+ "Defaults" line in sudoers to make configuration variables
+ changable at runtime (and on a global, per-host and per-user
+ basis). Both the names and the internal representation are still
+ subject to change. It was necessary to make sudo_user.runas but
+ a char ** instead of a char * since this value can be changed by
+ a Defaults line. There is a similar (but more complicated) issue
+ with sudo_user.prompt but it is handled differently at the
+ moment.
+
+ Add a "-L" flag to list the name of options with their
+ descriptions. This may only be temporary.
+
+ Move some prototypes to parse.h
+
+ Be much less restrictive on what is allowed for a username.
+
+1999-09-08 04:01 millert
+
+ * sample.syslog.conf: Add more info
+
+1999-09-04 03:09 millert
+
+ * fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
+ strcasecmp.c, LICENSE: UCB has dropped the advertising clause
+ from their license.
+
+1999-08-31 05:39 millert
+
+ * auth/sudo_auth.h: move dce_verofy proto to correct section
+
+1999-08-31 05:39 millert
+
+ * auth/dce.c: remove XXX
+
+1999-08-28 06:00 millert
+
+ * emul/fnmatch.h: Add fnmatch() prototype
+
+1999-08-28 06:00 millert
+
+ * fnmatch.c, parse.c, testsudoers.c: Move inclusion of
+ emul/fnmatch.h to be after sudo.h for __P
+
+1999-08-28 05:59 millert
+
+ * sudo.h: add strcasecmp proto
+
+1999-08-28 05:50 millert
+
+ * auth/sudo_auth.c: add check for case where there are no auth
+ methods
+
+1999-08-28 05:36 millert
+
+ * configure, configure.in: Define _XOPEN_EXTENDED_SOURCE on AIX and
+ __USE_FIXED_PROTOTYPES__ on SunOS4 w/ gcc
+
+1999-08-28 05:24 millert
+
+ * getspwuid.c, lex.yy.c, parse.lex, parse.yacc: include strings.h
+ everywhere we include string.h
+
+1999-08-28 05:22 millert
+
+ * version.c: nicer output when showing auth methods
+
+1999-08-28 05:00 millert
+
+ * version.c: Add support for SEND_MAIL_WHEN_NO_HOST
+
+1999-08-28 04:49 millert
+
+ * config.h.in, configure.in, configure: Add _GNU_SOURCE for Linux
+
+1999-08-28 04:22 millert
+
+ * parse.lex, lex.yy.c: fix definition of OCTECT
+
+1999-08-28 04:10 millert
+
+ * configure, configure.in: aix_auth.o not authenticate.o
+
+1999-08-27 17:02 millert
+
+ * sudo.c: Only block SIGINT, SIGQUIT, SIGTSTP (which can be
+ generated from the keyboard). Since we run with ruid/euid == 0
+ the user can't really signal us in nasty ways.
+
+1999-08-27 17:01 millert
+
+ * visudo.c: Don't need to worry about catching too many signals
+ since we do locking on the tmp file. If a lockfile is really
+ stale, it will be detected and overwritten.
+
+1999-08-27 16:09 millert
+
+ * INSTALL, Makefile.in: include auth/API in tarball
+
+1999-08-27 16:09 millert
+
+ * auth/sudo_auth.c: move memset() of plaintext pw outside of verify
+ loop and only do the memset if we are *not* in standalone mode.
+
+1999-08-27 13:46 millert
+
+ * auth/: sudo_auth.c, sudo_auth.h: DCE is not a standalone method
+
+1999-08-27 11:53 millert
+
+ * sudo.c: fix --enable-noargs-shell
+
+1999-08-27 11:06 millert
+
+ * snprintf.c: "#ifdef __STDC__" not "#if __STDC__" (I missed one)
+
+1999-08-27 10:54 millert
+
+ * auth/: fwtk.c, sia.c: _cleanup() function returns an int.
+
+1999-08-27 10:50 millert
+
+ * auth/dce.c: there were still some return(0)'s hanging around,
+ make them AUTH_FAILURE
+
+1999-08-27 10:39 millert
+
+ * parse.c: typo in comment
+
+1999-08-27 10:03 millert
+
+ * version.c: add missing semicolon
+
+1999-08-27 08:31 millert
+
+ * auth/sudo_auth.h: missing backslash
+
+1999-08-26 17:24 millert
+
+ * CHANGES, config.h.in, configure, configure.in: Kill
+ _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
+
+1999-08-26 09:21 millert
+
+ * Makefile.in: add parse.h to HDRS
+
+1999-08-26 09:16 millert
+
+ * Makefile.in, configure, configure.in: Kill VISUDO_LIBS and
+ VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and LDFLAGS. Common libs go
+ in LIBS, commong ld flags go in LDFLAGS and network libs like
+ -lsocket, -lnsl go in NET_LIBS. This allows testsudoers to build
+ on Solaris and is a bit cleaner in general.
+
+1999-08-26 06:56 millert
+
+ * UPGRADE: mention ptmp -> sudoers.tmp
+
+1999-08-26 06:12 millert
+
+ * configure.in, configure, config.h.in: Define
+ _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
+
+1999-08-26 05:37 millert
+
+ * RUNSON: add 2 reports
+
+1999-08-26 05:20 millert
+
+ * auth/kerb5.c: Minor changes, mostly cosmetic.
+ verify_krb_v5_tgt() changed to return a value more like a system
+ function
+
+1999-08-26 05:19 millert
+
+ * auth/dce.c: Add an XXX
+
+1999-08-26 05:19 millert
+
+ * TODO: more things todo!
+
+1999-08-26 05:18 millert
+
+ * sample.sudoers: update based on what is in the man page
+
+1999-08-26 05:10 millert
+
+ * parse.yacc: minor change to first line printed in -l mode
+
+1999-08-26 05:10 millert
+
+ * sudo.cat, sudo.html, sudo.man, sudo.pod: rename "ENVIRONMENT
+ VARIABLES" section to "ENVIRONMENT" to be more standard and add
+ "EXAMPLES" section
+
+1999-08-26 05:08 millert
+
+ * visudo.cat, visudo.html, visudo.man, visudo.pod: rename
+ "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
+ standard
+
+1999-08-26 05:06 millert
+
+ * logging.c, parse.c, sudo.h: add FLAG_NO_CHECK
+
+1999-08-26 05:05 millert
+
+ * parse.lex, lex.yy.c: make an OCTET really be limited to 0-255
+
+1999-08-26 05:04 millert
+
+ * UPGRADE: mention timestamp changes
+
+1999-08-26 05:04 millert
+
+ * PORTING: cosmetic cleanup
+
+1999-08-26 05:00 millert
+
+ * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: new
+ sudoers(8) man page
+
+1999-08-24 13:45 millert
+
+ * version.c: Update comments about syslog name tables
+
+1999-08-24 13:37 millert
+
+ * CHANGES, LICENSE, Makefile.in, configure, strcasecmp.c,
+ configure.in, parse.yacc: include strcasecmp() for those without
+ it
+
+1999-08-24 12:43 millert
+
+ * sample.sudoers: Use the : operator some more and fix a typo
+
+1999-08-24 12:43 millert
+
+ * HISTORY: update the history of sudo
+
+1999-08-24 12:42 millert
+
+ * parse.c, parse.lex, testsudoers.c: CIDR-style netmask support
+
+1999-08-24 12:41 millert
+
+ * CHANGES: recent changes
+
+1999-08-24 12:40 millert
+
+ * sudo.tab.h: these should be generated with byacc, not bison
+
+1999-08-24 12:40 millert
+
+ * lex.yy.c: regen
+
+1999-08-24 11:58 millert
+
+ * parse.h, parse.yacc, sudo.tab.h: In "sudo -l" mode, the type of
+ the stored (expanded) alias was not stored with the contents.
+ This could lead to incorrect output if the sudoers file had
+ different alias types with the same name. Normal parsing (ie:
+ not in '-l' mode) is unaffected.
+
+1999-08-23 12:47 millert
+
+ * configure, configure.in: define _XOPEN_SOURCE to get at crypt()
+ proto on some systems
+
+1999-08-22 13:10 millert
+
+ * snprintf.c: fix comment
+
+1999-08-22 13:09 millert
+
+ * tgetpass.c: don't need limits.h
+
+1999-08-22 07:36 millert
+
+ * snprintf.c: kill bogus reference to vfprintf
+
+1999-08-22 07:26 millert
+
+ * sample.sudoers, sudoers: better examples
+
+1999-08-22 07:23 millert
+
+ * snprintf.c: Add some const in the K&R defs. This is safe since
+ we define const away if the compiler doesn't grok it.
+
+1999-08-22 07:22 millert
+
+ * aclocal.m4, configure: Better test for working long long support.
+ Ultrix compiler supports basic long long but not all operations
+ on them.
+
+1999-08-22 05:59 millert
+
+ * aclocal.m4, config.h.in, configure, getspwuid.c, snprintf.c,
+ sudo.c, auth/secureware.c: Add check for LONG_IS_QUAD #undef
+ MAXINT before including hpsecurity.h to silence an HP-UX warning
+ Check for U?LONG_LONG_MAX in snprintf.c and use LONG_IS_QUAD
+
+1999-08-21 15:00 millert
+
+ * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
+ snprintf.c: UCB-derived snprintf + asprintf support. Supports
+ quads if the compiler does. No floating point yet, perhaps
+ later...
+
+1999-08-20 16:37 millert
+
+ * check.c, find_path.c, goodpath.c, logging.c, parse.c, sudo.c,
+ auth/API, auth/sudo_auth.c, auth/sudo_auth.h: Run most of the
+ code as root, not the invoking user. It doesn't really gain us
+ anything to run as the user since an attacker can just have an
+ setuid(0) in their egg. Running as root solves potential
+ problems wrt signalling.
+
+1999-08-19 13:45 millert
+
+ * logging.c, sudo.c: Don't wait for child to finish in log_error(),
+ let the signal handler get it if we are still running, else let
+ init reap it for us. The extra time it takes to wait lets the
+ user know that mail is being sent.
+
+ Install SIGCHLD handler in main() and for POSIX signals, block
+ everything *except* SIGCHLD.
+
+1999-08-19 12:30 millert
+
+ * logging.c, parse.c, parse.yacc, sudo.c, configure, sudo.h,
+ INSTALL, config.h.in, configure.in: sudoers_lookup() now returns
+ a bitmap instead of an int. This makes it possible to express
+ things like "failed to validate because user not listed for this
+ host". Some thigns that were previously VALIDATE_FOO are now
+ FLAG_FOO. This may change later on.
+
+ Reorganized code in log_auth() and sudo.c to deal with above
+ changes.
+
+ Safer versions of push/pushcp with in the do { ... } while (0)
+ style
+
+ parse.yacc now saves info on the stack to allow parse.c to
+ determine if a user was listed, but not for the host he/she tried
+ to run on.
+
+ Added --with-mail-if-no-host option
+
+1999-08-17 11:29 millert
+
+ * parse.yacc, sudo.h, visudo.c, visudo.cat, visudo.html,
+ visudo.man, visudo.pod: o NewArgv and NewArgc don't need to be
+ externally visible. o If pedantic > 1, it is a parse error. o
+ Add -s (strict) option to visudo which sets pedantic to 2.
+
+1999-08-17 11:26 millert
+
+ * HISTORY, INSTALL: Just have sudo-bugs contact info in one place
+
+1999-08-17 11:20 millert
+
+ * sudo.cat, sudo.html, sudo.man, sudo.pod: Add BUGS section
+
+1999-08-17 10:29 millert
+
+ * configure, configure.in, Makefile.in: Add testsudoers to default
+ build target if --with-devel Don't clean generated parser files
+ unless "distclean".
+
+1999-08-17 08:47 millert
+
+ * parse.yacc: In pedantic mode we need to save *all* the aliases,
+ not just those that match, or we get spurious warnings.
+
+1999-08-17 05:32 millert
+
+ * TROUBLESHOOTING: reference samples.sylog.conf
+
+1999-08-14 11:50 millert
+
+ * sample.syslog.conf: Sample entries for syslog.conf
+
+1999-08-14 11:40 millert
+
+ * CHANGES: recent changes
+
+1999-08-14 11:36 millert
+
+ * auth/: API, afs.c, aix_auth.c, dce.c, fwtk.c, kerb4.c, kerb5.c,
+ pam.c, passwd.c, rfc1938.c, secureware.c, securid.c, sia.c,
+ sudo_auth.c, sudo_auth.h: In struct sudo_auth, turn need_root and
+ configured into flags and add a flag to specify an auth method is
+ running alone (the only one). Pass auth methods their sudo_auth
+ pointer, not the data pointer. This allows us to get at the
+ flags and tell if we are the only auth method. That, in turn,
+ allows the method to be able to decide what should/should not be
+ a fatal error. Currently only rfc1938 uses it this way, which
+ allows us to kill the OTP_ONLY define and te hackery that went
+ with it. With access to the sudo_auth struct, methods can also
+ get at a string holding their cannonical name (useful in error
+ messages).
+
+1999-08-14 11:34 millert
+
+ * Makefile.in, INSTALL, README, config.h.in, configure,
+ configure.in, getspwuid.c, lex.yy.c, parse.lex, parse.yacc,
+ sudo.tab.h: o --with-otp deprecated, use --without-passwd instead
+ o real dependencies in the Makefile o --with-devel option to
+ enable yacc, lex, and -Wall o style -- "foo -> bar" becomes
+ "foo->bar" o ALL goes back to being a token, not a string but
+ don't leak memory o rename hsotspec -> host in parse.yacc
+
+1999-08-12 12:26 millert
+
+ * BUGS, CHANGES: recent changes
+
+1999-08-12 12:24 millert
+
+ * configure, configure.in, interfaces.c, snprintf.c, sudo.c,
+ sudo.h, auth/sudo_auth.c: o Digital UNIX needs to check for
+ *snprintf() before -ldb is added to LIBS since -ldb includes a
+ bogus snprintf(). o Add forward refs for struct mbuf and struct
+ rtentry for Digital UNIX. o Reorder some functions in snprintf.c
+ to fix -Wall o Add missing includes to fix more -Wall
+
+1999-08-12 10:37 millert
+
+ * INSTALL, check.c, config.h.in, configure, configure.in,
+ parse.yacc, testsudoers.c, version.c, visudo.c, auth/sudo_auth.c:
+ o Add a "pedentic" flag to the parser. This makes sudo warn in
+ cases where an alias may be used before it is defined. Only
+ turned on for visudo and testsudoers. o Add
+ --disable-authentication option that makes sudo not require
+ authentication by default. The PASSWD tag can be used to require
+ authentication for an entry. We no longer overload
+ --without-passwd.
+
+1999-08-12 10:29 millert
+
+ * lex.yy.c, parse.lex: Break 'WORD' regexp def into HOSTNAME and
+ USERNAME. These days a username can contain just about anything
+ so be very permissive. Also drop the unused \. punctuation.
+
+1999-08-09 18:25 millert
+
+ * parse.yacc: o add a 'val' element to aliasinfo struct and move ->
+ parse.h o find_alias() now returns an aliasinfo * instead of
+ boolean o add_alias() now takes a value parameter to store in the
+ aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
+ return: 1) positive match 0) negative match (due to '!') -1) no
+ match This means setting $$ explicitly in all cases, which I
+ should have done in the first place. It also means that we
+ always store a value that is != -1 and when we see a '!' we can
+ set *_matches to !rv if rv != -1. The upshot of all of this is
+ that '!' now works the way it should in lists and some of the
+ rules are more uniform and sensible.
+
+1999-08-09 18:17 millert
+
+ * Makefile.in: add parse.h dependency
+
+1999-08-09 18:17 millert
+
+ * parse.h: kill unused *_matched macros
+
+1999-08-09 10:35 millert
+
+ * parse.yacc: Allow a list of users as the first thing in a user
+ spec, not just a single entry. This makes things more uniform,
+ though it does allow you to write user specs that are hard to
+ read.
+
+1999-08-09 10:08 millert
+
+ * configure: regen
+
+1999-08-09 10:08 millert
+
+ * configure.in: fix check for crypt() in libufc
+
+1999-08-07 14:03 millert
+
+ * README: sudo-users list now exists
+
+1999-08-07 07:46 millert
+
+ * INSTALL, PORTING, README, TODO, TROUBLESHOOTING: Update to
+ reality.
+
+1999-08-07 05:59 millert
+
+ * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
+ config.h.in, configure.in, logging.c, sudo.h, version.c,
+ visudo.c, configure, fileops.c: o Move lock_file() and touch()
+ into fileops.c so visudo can use them o Visudo now locks the
+ sudoers temp file instead of bailing when the temp file already
+ exists. This fixes the problem of stale temp files but it does
+ *require* that you not try to put the temp file in a
+ world-writable directory. This shoud not be an issue as the temp
+ file should live in the same dir as sudoers. o Visudo now only
+ installs the temp file as sudoers if it changed.
+
+1999-08-06 09:49 millert
+
+ * logging.c: add fcntl locking
+
+1999-08-06 09:33 millert
+
+ * configure, config.h.in, configure.in, logging.c: Lock the log
+ file.
+
+1999-08-06 05:36 millert
+
+ * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
+ visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod: o
+ /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
+ temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and
+ _PATH_SUDO_STMP -> _PATH_SUDOERS_TMP
+
+1999-08-05 17:38 millert
+
+ * INSTALL, check.c, config.h.in, configure, configure.in,
+ version.c: o Kill *_MESSAGE and replace with NO_LECTURE o Add
+ more things to root sudo -V config reporting
+
+1999-08-05 10:56 millert
+
+ * configure, configure.in: aix_auth.o not authenticate.o
+
+1999-08-05 10:48 millert
+
+ * config.h.in: Add --with-goodpri and --with-badpri configure
+ options to specify the syslog priority to use.
+
+1999-08-05 10:30 millert
+
+ * INSTALL, configure.in, logging.h, configure: Add --with-goodpri
+ and --with-badpri configure options to specify the syslog
+ priority to use.
+
+1999-08-05 10:25 millert
+
+ * compat.h: kill crufty AIX stuff
+
+1999-08-05 06:55 millert
+
+ * Makefile.in: Sigh, some versions of make (like Solaris's) don't
+ deal with $< like I would expect. Both GNU and BSD makes get
+ this right but... So, we just expand $< inline at the cost of
+ some ugliness.
+
+1999-08-05 06:52 millert
+
+ * version.c: If the invoking user is root, sudo will now print
+ configure info in -V mode. Currently just prints logging info,
+ to be expanded later.
+
+1999-08-05 06:51 millert
+
+ * logging.c, logging.h, sudo.c, sudo.h: o new defines for syslog
+ facility and priority o use new print_version() functino for -V
+ mode
+
+1999-08-05 06:49 millert
+
+ * check.c: Don't need version.c
+
+1999-08-05 06:21 millert
+
+ * configure, configure.in, aclocal.m4, config.h.in: Add check for
+ syslog facilities and priorities tables in syslog.h
+
+1999-08-05 05:23 millert
+
+ * Makefile.in: o authenticate -> aix_auth o add version.c
+
+1999-08-05 05:21 millert
+
+ * auth/sudo_auth.c: Missed a prompt -> user_prompt conversion
+
+1999-08-04 13:32 millert
+
+ * TODO: sudo should lock its logfile
+
+1999-08-04 13:28 millert
+
+ * parse.yacc: o Add '!' correctly when expanding Aliases. o Add
+ shortcut macros for append() to make things more readable. o The
+ separator in append() is now a string instead of a char. o In
+ append(), only prepend the separator if the last char is not a
+ '!'. This is a hack but it greatly simplifies '!' handling. o
+ In -l mode, Runas lists and NOPASSWD/PASSWD tags are now
+ inherited across entries in a list (matches current behavior).
+ o Fix formatting in -l mode such that items in a list are
+ separated by a space. Greatlt improves readability. o Space
+ for name field in struct aliasinfo is now allocated dyanically
+ instead of using a (big) buffer. o In add_alias(), only search
+ the list once (lsearch instead of lfind + lsearch)
+
+1999-08-04 11:31 millert
+
+ * lex.yy.c, sudo.tab.h: regen
+
+1999-08-04 10:54 millert
+
+ * configure, configure.in: Solais pam doesn't require anye xtra
+ setup
+
+1999-08-04 05:35 millert
+
+ * parse.yacc: o Simpler '!' support now that the lexer deals with
+ multiple !'s for us. o In the case of opFOO, have FOO give a
+ boolean return value and set foo_matches in opFOO, not FOO. o
+ Treat 'ALL' as a string since it gets fill()'d in
+ parse.lex--fixes a small memory leak. In the long run it may
+ be better to just fix parse.lex and make ALL back into a token.
+ However, having it be a string is useful since it can be
+ easily passed back to the parent rule if we so desire.
+
+1999-08-04 03:54 millert
+
+ * parse.lex: o Remove some unnecessary backslashes o collapse
+ multiple !'s by using !+ and checking if yyleng is even or odd.
+ this allows us to simplify ! handling in parse.yacc
+
+1999-08-04 03:53 millert
+
+ * sudo.c: -u flag was being ignored
+
+1999-08-01 13:04 millert
+
+ * Makefile.in: correct fix
+
+1999-08-01 12:37 millert
+
+ * Makefile.in: work around pod2man stupididy
+
+1999-08-01 12:35 millert
+
+ * Makefile.in: correct dependencies for .cat
+
+1999-08-01 12:26 millert
+
+ * sudo.cat, sudo.man, visudo.cat, visudo.man: regen
+
+1999-08-01 12:25 millert
+
+ * sudo.pod, visudo.pod: Add copyright Update to reality
+
+1999-08-01 11:42 millert
+
+ * parse.c, sudo.c, sudo.h: rename validate() to the more
+ descriptive sudoers_lookup()
+
+1999-08-01 06:49 millert
+
+ * auth/aix_auth.c: use tgetpass
+
+1999-07-31 12:32 millert
+
+ * CHANGES: updates
+
+1999-07-31 12:31 millert
+
+ * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
+ configure, configure.in, sudo.c: Sudo, not CU Sudo
+
+1999-07-31 12:19 millert
+
+ * Makefile.in, alloc.c, check.c, compat.h, config.h.in,
+ find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
+ ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
+ lex.yy.c, logging.c, logging.h, parse.c, parse.h, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
+ auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
+ auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
+ auth/sudo_auth.c, auth/sudo_auth.h, emul/search.h, emul/utime.h,
+ LICENSE: add 4th term to license similar to term 5 in the apache
+ license
+
+1999-07-31 12:02 millert
+
+ * LICENSE, aclocal.m4, check.c, configure.in, insults.h, logging.c,
+ sudo.c, sudo.h, auth/rfc1938.c: there was a 1995 release too
+
+1999-07-28 05:24 millert
+
+ * CHANGES: updates
+
+1999-07-28 05:21 millert
+
+ * check.c: Use dirs instead of files for timestamp. This allows
+ tty and non-tty schemes to coexist reasonably. Note, however,
+ that when you update a tty ticket, the mtime on the user dir gets
+ updated as well.
+
+1999-07-28 05:17 millert
+
+ * configure.in, configure: Fix getprpwnam() checking on SCO. Need
+ to link with "-lprot -lx" when linking test program, not just
+ -lprot. Also add check for getspnam(). The SCO docs indicate
+ that /etc/shadow can be used but this may be a lie.
+
+1999-07-24 03:35 millert
+
+ * auth/API: first cut at auth API description
+
+1999-07-22 15:48 millert
+
+ * auth/: fwtk.c, kerb4.c, kerb5.c, pam.c, rfc1938.c, secureware.c,
+ securid.c, sudo_auth.c, sudo_auth.h: auth API change. There is
+ now an init method that gets run before the main loop. This
+ allows auth routines to differentiate between initialization that
+ happens once vs. setup that needs to run each time through the
+ loop.
+
+1999-07-22 12:23 millert
+
+ * logging.c, auth/kerb5.c: use easprintf() and evasprintf()
+
+1999-07-22 12:22 millert
+
+ * alloc.c, sudo.h: add easprintf() and evasprintf(), error checking
+ versions of asprintf() and vasprintf()
+
+1999-07-22 09:14 millert
+
+ * TODO: remove 2 items. One done, one won't do.
+
+1999-07-22 09:10 millert
+
+ * sudo.man, visudo.man, sudo.cat, sudo.html, sudoers.html,
+ visudo.cat, visudo.html, configure, lex.yy.c: regen
+
+1999-07-22 09:06 millert
+
+ * CHANGES: new changes
+
+1999-07-22 09:01 millert
+
+ * sudo.pod: o Document -K flag and update meaning of -k flag. o
+ BSD-style copyright o Document clearing of BIND resolver
+ environment variables o Clarify bit about shared libs o suggest
+ rc files create /tmp/.odus if your OS gives away files
+
+1999-07-22 08:59 millert
+
+ * visudo.pod: BSD license
+
+1999-07-22 08:58 millert
+
+ * tgetpass.c: o BSD copyright o no need to block signals, we now do
+ that in main() o cosmetic changes
+
+1999-07-22 08:57 millert
+
+ * testsudoers.c, visudo.c: o BSD-style copyright o Use "struct
+ sudo_user" instead of old globals. o some cometic cleanup
+
+1999-07-22 08:56 millert
+
+ * sudo_setenv.c, version.h: BSD-style copyright
+
+1999-07-22 08:56 millert
+
+ * sudo.h: o BSD copyright o logging and parser bits moved to their
+ own .h files o new "struct sudo_user" to encapsulate many of the
+ old globals.
+
+1999-07-22 08:55 millert
+
+ * sudo.c: o no longer contains sudo 1.1/1.2 code o BSD copyright o
+ use new logging routines o simplified flow of control o BIND
+ resolver additions to badenv_table
+
+1999-07-22 08:53 millert
+
+ * strerror.c: BSD-style copyright
+
+1999-07-22 08:53 millert
+
+ * snprintf.c: Now compiles on more K&R compilers
+
+1999-07-22 08:52 millert
+
+ * putenv.c: BSD-style copyright, cosmetic changes
+
+1999-07-22 08:51 millert
+
+ * parse.c, parse.yacc, parse.h, parse.lex: BSD-style copyright.
+ Move parser-specific defines and structs into parse.h + other
+ cosmetic changes
+
+1999-07-22 08:51 millert
+
+ * logging.h: defines for logging routines
+
+1999-07-22 08:49 millert
+
+ * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.h, pathnames.h.in: BSD-style copyright
+
+1999-07-22 08:48 millert
+
+ * find_path.c, getspwuid.c, goodpath.c, interfaces.c: BSD-style
+ copyright, cosmetic changes
+
+1999-07-22 08:46 millert
+
+ * configure.in: o tgetpass.c is no longer optional o kill DCE_OBJS,
+ add AUTH_OBJS o kill --disable-tgetpass o add --without-passwd o
+ changes to fill in AUTH_OBJS for new auth api o check for
+ strerror(), v?snprintf() and v?asprintf() o replace
+ --with-AuthSRV with --with-fwtk
+
+1999-07-22 08:43 millert
+
+ * config.h.in: BSD-style copyright. Remove USE_GETPASS and
+ HAVE_UTIME_NULL. Add HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF,
+ HAVE_VSNPRINTF, HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and
+ NO_PASSWD
+
+1999-07-22 08:42 millert
+
+ * compat.h: BSD-style copyright; Add S_IFLNK and MIN/MAX id they
+ are missing.
+
+1999-07-22 08:39 millert
+
+ * alloc.c: BSD-style copyright
+
+1999-07-22 08:38 millert
+
+ * TROUBLESHOOTING: no more --with-getpass
+
+1999-07-22 08:34 millert
+
+ * TODO: Take out things I've done...
+
+1999-07-22 08:34 millert
+
+ * README: Refer to LICENSE
+
+1999-07-22 08:34 millert
+
+ * PORTING: --with-getpass no longer exists
+
+1999-07-22 08:33 millert
+
+ * Makefile.in: BSD-style copyright. Update to reflect reality wrt
+ new files and new auth modules.
+
+1999-07-22 08:32 millert
+
+ * INSTALL: Remove --with-AuthSRV and --disable-tgetpass. Add
+ --with-fwtk and --without-passwd.
+
+1999-07-22 08:31 millert
+
+ * HISTORY: Update history a bit
+
+1999-07-22 08:29 millert
+
+ * COPYING, LICENSE: Now distributed under a BSD-style license
+
+1999-07-22 08:28 millert
+
+ * auth/sudo_auth.c: o BSD-style copyright o Add support for
+ NO_PASSWD/WITHOUT_PASSWD options. o skey/opie replaced by
+ rfc1938 code o new struct sudo_user global
+
+1999-07-22 08:25 millert
+
+ * auth/: pam.c, sia.c: BSD-style copyright and use new log
+ functions
+
+1999-07-22 08:24 millert
+
+ * auth/kerb5.c: o BSD-style copyright o Use new log functiongs o
+ Use asprintf() and snprintf() where sensible.
+
+1999-07-22 08:19 millert
+
+ * check.c: Rewrote all the old sudo 1.1/1.2 code. Timestamp
+ handling is now done more reasonably--better sanity checks and
+ tty-based stamps are now done as files in a directory with the
+ same name as the invoking user, eg. /var/run/sudo/millert/ttyp1.
+ It is not currently possible to mix tty and non-tty based ticket
+ schemes but this may change in the future (it requires sudo to
+ use a directory instead of a file in the non-tty case). Also,
+ ``sudo -k'' now sets the ticket back to the epoch and ``sudo -K''
+ really deletes the file. That way you don't get the lecture
+ again just because you killed your ticket in .logout. BSD-style
+ copyright now.
+
+1999-07-22 08:13 millert
+
+ * logging.c: o rewritten logging routines. log_error() now takes
+ printf-style varargs and log_auth() for the return value of
+ validate(). o BSD-style copyright
+
+1999-07-22 07:04 millert
+
+ * auth.c, check_sia.c, dce_pwent.c, secureware.c: superceded by new
+ auth API
+
+1999-07-22 07:02 millert
+
+ * auth/fwtk.c: Use snprintf() where it makes sense and add a
+ BSD-style copyright
+
+1999-07-22 07:00 millert
+
+ * auth/: afs.c, aix_auth.c, dce.c, passwd.c, rfc1938.c,
+ secureware.c, securid.c, sudo_auth.h, kerb4.c: BSD-style
+ copyright
+
+1999-07-22 06:57 millert
+
+ * emul/utime.h, utime.c: BSD-style copyright
+
+1999-07-22 06:57 millert
+
+ * emul/search.h: this has been rewritten so use my BSD-style
+ copyright
+
+1999-07-15 11:21 millert
+
+ * snprintf.c: include malloc.h if no stdlib.h
+
+1999-07-15 10:21 millert
+
+ * snprintf.c: KTH snprintf()/asprintf() for systems w/o them
+
+1999-07-15 10:20 millert
+
+ * strerror.c: strerror() for systems w/o it
+
+1999-07-12 06:53 millert
+
+ * visudo.c: stylistic changes
+
+1999-07-12 06:25 millert
+
+ * parse.c, parse.lex, parse.yacc: Add contribution info in the main
+ comment
+
+1999-07-11 16:10 millert
+
+ * auth/pam.c: remove missed ref to PAM_nullpw
+
+1999-07-11 16:10 millert
+
+ * auth/sudo_auth.h: pasto
+
+1999-07-11 15:19 millert
+
+ * auth/kerb5.c: more or less complete now--still untested
+
+1999-07-11 15:09 millert
+
+ * auth/: afs.c, pam.c: don't use user_name macro, it will go away
+
+1999-07-11 14:42 millert
+
+ * auth/: opie.c, rfc1938.c, sudo_auth.h, skey.c: combine skey/opie
+ code into rfc1938.c
+
+1999-07-11 07:22 millert
+
+ * auth/: dce.c, sudo_auth.h: DCE authentication method; basically
+ unchanged from dce_pwent.c
+
+1999-07-11 06:44 millert
+
+ * auth/: aix_auth.c, sudo_auth.h: AIX authenticate() support.
+ Could probably be much better
+
+1999-07-11 06:43 millert
+
+ * auth/sia.c: Fix an uninitialized variable and some cleanup. Now
+ works (tested)
+
+1999-07-11 05:37 millert
+
+ * auth/: sia.c, sudo_auth.h: SIA support for digital unix
+
+1999-07-11 05:33 millert
+
+ * auth/pam.c: don't use prompt global, it will go away
+
+1999-07-11 05:32 millert
+
+ * auth/secureware.c: correct copyright years
+
+1999-07-10 20:32 millert
+
+ * auth/: afs.c, fwtk.c, kerb4.c, sudo_auth.h, kerb5.c, opie.c,
+ pam.c, passwd.c, secureware.c, securid.c, skey.c, sudo_auth.c:
+ New authentication API and methods
+
+1999-07-08 06:46 millert
+
+ * parse.yacc: only save an entry if user_matches && host_matches,
+ even if the stack is empty (fix for previous commit)
+
+1999-07-08 06:35 millert
+
+ * parse.yacc: 1) Always save an entry on the stack if it is empty.
+ This fixes the -l and -v flags that were broken by earlier parser
+ changes.
+
+ 2) In a Runas list, don't negate FALSE -> TRUE since that would
+ make !foo match any time the user specified a runas user (via -u)
+ other than foo.
+
+1999-07-08 05:45 millert
+
+ * testsudoers.c: interfaces and num_interfaces are now auto, not
+ extern
+
+1999-07-07 14:09 millert
+
+ * auth.c: use a static global to keep stae about empty passwords
+
+1999-07-07 14:08 millert
+
+ * check_sia.c: make PASSWORD_NOT_CORRECT logging consistent with
+ other modules
+
+1999-07-05 16:53 millert
+
+ * auth.c: PAM prompt code was wrong, looks like we have to kludge
+ it after all.
+
+1999-07-05 16:35 millert
+
+ * auth.c: In the PAM code, when a user hits return at the first
+ password prompt, exit without a warning just like the normal auth
+ code
+
+1999-07-05 16:15 millert
+
+ * configure, configure.in: kludge around cross-compiler false
+ positives
+
+1999-07-05 16:14 millert
+
+ * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c: New
+ (correct) PAM code Tgetpass now takes an echo flag for use with
+ PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
+ useless umask setting Change error from BAD_ALLOCATION ->
+ BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to
+ auth.c for consistency
+
+1999-07-05 16:11 millert
+
+ * sudo.c: Some -Wall and kill some trailing spaces
+
+1999-07-05 16:10 millert
+
+ * configure.in: define -D__EXTENSIONS__ for solaris so we get
+ crypt() proto
+
+1999-06-22 09:42 millert
+
+ * RUNSON: add Dynix 4.4.4
+
+1999-06-22 09:30 millert
+
+ * INSTALL, config.h.in, configure.in, configure: for kerberos V <
+ version, fall back on old kerb4 auth code
+
+1999-06-22 06:41 millert
+
+ * INSTALL: clarify some things
+
+1999-06-22 06:38 millert
+
+ * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod: typos
+
+1999-06-14 19:47 millert
+
+ * sudo.c: mention why DONT_LEAK_PATH_INFO is not the default
+
+1999-06-03 12:34 millert
+
+ * tgetpass.c: Fix open(2) return value checking, was NULL for
+ fopen, should be -1 for open
+
+1999-06-03 12:06 millert
+
+ * configure: regen
+
+1999-06-03 12:06 millert
+
+ * configure.in: better wording for solaris pam notice
+
+1999-06-03 11:52 millert
+
+ * CHANGES: document recent changes
+
+1999-06-03 11:52 millert
+
+ * TROUBLESHOOTING: Update shadow password section
+
+1999-06-03 11:51 millert
+
+ * auth.c: move authentication code from check.c to auth.c
+
+1999-06-03 11:51 millert
+
+ * Makefile.in, check.c, sudo.h: move authentication code to auth.c
+
+1999-05-16 21:36 millert
+
+ * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
+ getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
+ logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
+ sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, visudo.c: Move
+ interface-related defines to interfaces.h so we don't have to
+ include <netinet/in.h> everywhere.
+
+1999-05-14 12:30 millert
+
+ * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c,
+ logging.c, parse.yacc, sudo.c, tgetpass.c: o Replace _PASSWD_LEN
+ braindeath with our own SUDO_MAX_PASS.
+ It turns out the old DES crypt does the right thing with
+ passwords
+ longert than 8 characters.
+ o Fix common typo (necesary -> necessary)
+ o Update TODO list
+
+1999-05-03 12:00 millert
+
+ * sudo.c: set $LOGNAME when we set $USER
+
+1999-04-27 00:00 millert
+
+ * INSTALL: add comment about digital unix and interfaces.c warning
+ with gcc
+
+1999-04-15 01:12 millert
+
+ * sample.sudoers: use modern paths and give examples for some of
+ the new parser features
+
+1999-04-10 13:03 millert
+
+ * parse.c: fix comment
+
+1999-04-10 00:49 millert
+
+ * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
+ getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c,
+ parse.c, parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
+ Function names should be flush with the start of the line so they
+ can be found trivially in an editor and with grep
+
+1999-04-10 00:40 millert
+
+ * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex,
+ parse.yacc, sudo.c, testsudoers.c, tgetpass.c, visudo.c: free(3)
+ is already void, no need to cast it
+
+1999-04-10 00:37 millert
+
+ * logging.c, sudo.c, sudo.h: catch case where cmnd_safe is not set
+ (this should not be possible)
+
+1999-04-10 00:10 millert
+
+ * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h,
+ testsudoers.c, visudo.c: Stash the "safe" path (ie: the one
+ listed in sudoers) to the command instead of stashing the struct
+ stat. Should be safer.
+
+1999-04-08 19:56 millert
+
+ * INSTALL, Makefile.in, UPGRADE: notes on updating from an earlier
+ release
+
+1999-04-07 20:20 millert
+
+ * CHANGES: updated
+
+1999-04-07 19:18 millert
+
+ * parse.yacc, sudo.tab.h, sudoers.cat, sudoers.html, sudoers.man,
+ sudoers.pod: You can now specifiy a host list instead of just a
+ host or alias. Ie: user = host1,host2,ALIAS,!host3 my_command
+ now works.
+
+1999-04-07 02:59 millert
+
+ * testsudoers.c: Quiet -Wall
+
+1999-04-07 02:50 millert
+
+ * parse.yacc: Move the push from the beginning of cmndspec to the
+ end. This means we no longer have to do a push at the end of
+ privilege, just reset some values.
+
+1999-04-06 20:24 millert
+
+ * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: runas-lists
+ and NOPASSWD/PASSWD modifiers are now sticky and you can use "!"
+ most everywhere
+
+1999-04-06 14:12 millert
+
+ * sudoers.pod: modernize paths and update su example based on
+ sample.sudoers one
+
+1999-04-06 14:06 millert
+
+ * sample.sudoers: New runas semantics
+
+1999-04-06 13:54 millert
+
+ * CHANGES, Makefile.in, alloc.c, config.h.in, configure,
+ configure.in, strdup.c, sudo.h: In estrdup(), do the malloc
+ ourselves so we don't need to rely on the system strdup(3) which
+ may or may not exist. There is now no need to provide strdup()
+ for those w/o it. Also, the prototype for estrdup() was wrong,
+ it returns char * and its param is const.
+
+1999-04-06 13:40 millert
+
+ * getcwd.c: $Sudo tag
+
+1999-04-06 13:20 millert
+
+ * check.c: buf should be prompt; Michael Robokoff
+ <mrobo@networkcs.com>
+
+1999-04-06 01:40 millert
+
+ * CHANGES, TODO, parse.yacc: It is now possible to use the '!'
+ operator in a runas list as well as in a Cmnd_Alias, Host_Alias
+ and User_Alias.
+
+1999-04-06 01:38 millert
+
+ * logging.c, sudo.h: Kill GLOBAL_NO_SPW_ENT (not used) and crank
+ GLOBAL_PROBLEM
+
+1999-04-06 01:08 millert
+
+ * sudo.h: Definitions of *_matched were wrong--user top, not top-2
+ as subscript.
+
+1999-04-06 01:00 millert
+
+ * logging.c, parse.c, parse.yacc, sudo.c, sudo.h: Add
+ VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
+ command but the NOPASSWD flag was set. Make runasspec,
+ runaslist, runasuser, and nopasswd typeless in parse.yacc Add
+ support for '!' in the runas list Fix double printing of '%' and
+ '+' for groups and netgroups respectively Add *_matched macros
+ (no need for local stack variable). Should only be used directly
+ after a pop (since top must be >= 2).
+
+1999-04-05 23:25 millert
+
+ * aclocal.m4, configure.in: Add copyright, somewhat silly
+
+1999-04-05 16:57 millert
+
+ * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c,
+ check_sia.c, compat.h, config.h.in, configure, configure.in,
+ dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
+ pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c,
+ sudo.cat, sudo.h, sudo.man, sudo_setenv.c, sudoers.cat,
+ sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c, visudo.cat, visudo.man, emul/utime.h: Crank version to
+ 1.6 and combine copyright statements
+
+1999-04-05 16:30 millert
+
+ * sample.sudoers: Use ! not ^ to do negation
+
+1999-04-05 16:29 millert
+
+ * lex.yy.c: regen
+
+1999-04-05 16:28 millert
+
+ * parse.yacc, parse.lex: Make runas and NOPASSWD tags persistent
+ across entris in a command list. Add a PASSWD tag to reverse
+ NOPASSWD. When you override a runas or *PASSWD tag the value
+ given becomes the new default for the rest of the command list.
+
+1999-04-02 16:03 millert
+
+ * CHANGES, RUNSON: update for 1.5.9
+
+1999-04-02 16:02 millert
+
+ * visudo.c: Shift return value of system(3) by 8 to get real exit
+ value and if it is not 1 or 0 print the retval along with the
+ error message.
+
+1999-03-30 16:45 millert
+
+ * Makefile.in: testsudoers needs LIBOBJS too
+
+1999-03-30 12:17 millert
+
+ * parse.c, parse.yacc: Fix another parser bug. For a sudoers entry
+ like this: millert ALL=/bin/ls,(daemon) !/bin/ls sudo
+ would not allow millert to run ls as root.
+
+1999-03-30 01:08 millert
+
+ * CHANGES: new change
+
+1999-03-30 01:03 millert
+
+ * parse.yacc: Save entries that match a ! command on the matching
+ stack too
+
+1999-03-30 01:01 millert
+
+ * sudo.c: Make sudo's usage info better when mutually exclusive
+ args are given and don't rely on argument order to detect this;
+ nick@zeta.org.au
+
+1999-03-29 15:03 millert
+
+ * CHANGES, Makefile.in, RUNSON: updates from CU
+
+1999-03-28 23:38 millert
+
+ * Makefile.in: use gzip
+
+1999-03-28 23:31 millert
+
+ * parse.yacc: Fix off by one error introduced in *alloc changes
+
+1999-03-28 23:05 millert
+
+ * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
+ check_sia.c, compat.h, config.h.in, configure, configure.in,
+ dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
+ pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c,
+ sudo.cat, sudo.h, sudo.man, sudo_setenv.c, sudoers.cat,
+ sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod,
+ emul/utime.h: ++version
+
+1999-03-28 21:59 millert
+
+ * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
+ interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex,
+ parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, utime.c, visudo.c: Use
+ emalloc/erealloc/estrdup
+
+1999-03-28 20:29 millert
+
+ * alloc.c: error checking memory allocation routines
+
+1999-03-28 19:23 millert
+
+ * parse.yacc: Still not right, this fixes it for real
+
+1999-03-28 19:08 millert
+
+ * parse.yacc: Fix for previous commit
+
+1999-03-28 19:05 millert
+
+ * CHANGES, INSTALL, parse.yacc: Fix a parser bug that was exposed
+ when mixing different runas specs and ! commands. For example:
+ millert ALL=(daemon) /usr/bin/whoami,!/bin/ls would
+ allow millert to run whoami as root as well as daemon when it
+ should just allow daemon. The problem was that comma-separated
+ commands in a list shared the same entry on the matching stack.
+ Now they get their own entry iff there is a full match. It may
+ be better to just make the runas spec persistent across all
+ commands in a list like the user and host entries of the matching
+ stack. However, since that is a fairly major change it should
+ gets its own minor rev increase.
+
+1999-03-28 13:50 millert
+
+ * check.c, config.h.in: Simplify PAM code and fix a PAM-related
+ warning on Linux
+
+1999-03-26 13:17 millert
+
+ * CHANGES: updates
+
+1999-03-26 13:12 millert
+
+ * sample.sudoers: better su entry
+
+1999-03-26 13:10 millert
+
+ * configure: regen
+
+1999-03-26 13:09 millert
+
+ * check.c, configure.in: new pam code that works on solaris, should
+ work on linux too; aelberg@home.com
+
+1999-03-19 14:44 millert
+
+ * RUNSON: more entries
+
+1999-03-19 14:43 millert
+
+ * config.h.in: only include strings.h if there is no string.h
+
+1999-03-17 15:25 millert
+
+ * config.guess: Sinix is now being called ReliantUNIX;
+ bjjackso@us.oracle.com
+
+1999-03-13 13:37 millert
+
+ * sudo.c: shost must be set before log functions are called #ifdef
+ HOST_IN_LOG
+
+1999-03-07 18:34 millert
+
+ * CHANGES, lex.yy.c, parse.lex: Fix a bug wrt quoting characters in
+ command args. Stop processing an arg when you hit a backslash so
+ the quoted-character detection can catch it.
+
+1999-02-26 01:19 millert
+
+ * interfaces.c: include sys/time.h; aparently AIX needs it.
+ ppz@cdu.elektra.ru
+
+1999-02-23 19:43 millert
+
+ * configure, configure.in: add missing case statement so
+ --without-sendmail works
+
+1999-02-22 21:51 millert
+
+ * CHANGES: more
+
+1999-02-22 15:10 millert
+
+ * configure, configure.in: only search for -lsun in irix <= 4.x
+
+1999-02-22 15:01 millert
+
+ * configure, configure.in: back out last configure.in change now
+ that I've hacked autoconf to fix the real problem and add a
+ missing newline
+
+1999-02-22 14:32 millert
+
+ * CHANGES: updated
+
+1999-02-22 14:05 millert
+
+ * getcwd.c: add def of dirfd() for those without it
+
+1999-02-22 10:58 millert
+
+ * configure.in, configure: When falling back to checking for
+ socket() when linking with "-lsocket -lnsl" check for main()
+ instead since autoconf has already cached the results of checking
+ for socket() in -lsocket. This is really an autoconf bug as it
+ should use the extra libs as part of the cache variable name.
+
+1999-02-22 10:47 millert
+
+ * configure.in: typo
+
+1999-02-21 15:18 millert
+
+ * configure.in: fix occurrence of $with_timeout that should be
+ $with_password_timeout;
+ Michael.Neef@neuroinformatik.ruhr-uni-bochum.de
+
+1999-02-17 11:40 millert
+
+ * sudo.cat, sudo.html, sudo.man, sudo.pod: fix grammar;
+ espie@openbsd.org
+
+1999-02-11 01:41 millert
+
+ * parse.yacc, sudo.c, testsudoers.c: add cast for strdup in places
+ it does not have it
+
+1999-02-09 13:11 millert
+
+ * configure, configure.in: define for_BSD_TYPES irix
+
+1999-02-06 19:47 millert
+
+ * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod: Make it
+ clear that it is the user's password, not root's, that we want.
+
+1999-02-06 19:43 millert
+
+ * check.c, sudo.h: If the user enters an empty password and really
+ has no password, accept the empty password they entered.
+ Perviously, they could enter anything *but* an empty password.
+ Also, add GETPASS macro that calls either tgetpass() or getpass()
+ depending on how sudo was configured. Problem noted by
+ jdg@maths.qmw.ac.uk
+
+1999-02-02 23:32 millert
+
+ * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
+ putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
+ testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c,
+ emul/utime.h: add explicate copyright
+
+1999-02-02 23:16 millert
+
+ * CHANGES: mention -lsocket, -lnsl configure changes
+
+1999-02-02 17:54 millert
+
+ * sudo.c: Don't clobber errno after calling check_sudoers().
+
+1999-01-31 19:46 millert
+
+ * configure.in, configure: When linking with both -lsocket and
+ -lnsl be sure to do so in that order. Also, when we can't find
+ socket() or inet_addr() and have to try linking with both libs,
+ issue a warning.
+
+1999-01-31 19:45 millert
+
+ * sudo.cat, sudo.man, sudo.pod: clarify bad timestamp and fmt
+
+1999-01-23 12:18 millert
+
+ * INSTALL, RUNSON: be clear that pam is linux-only and add a RUNSON
+ entry
+
+1999-01-22 13:13 millert
+
+ * configure, CHANGES, INSTALL, configure.in: fix and correctly
+ document --with-umask; problem noted by adap@adap.org
+
+1999-01-19 20:38 millert
+
+ * configure.in, configure: only use /usr/{man,catman}/local to
+ store man pages if suer didn't override prefix or mandir
+
+1999-01-19 20:24 millert
+
+ * configure, INSTALL, configure.in: fix typo, make --with-SecurID
+ take an arg
+
+1999-01-18 21:53 millert
+
+ * RUNSON: updates from users
+
+1999-01-18 21:04 millert
+
+ * CHANGES, INSTALL, check.c, configure, configure.in: FWTK
+ 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
+
+1999-01-18 20:00 millert
+
+ * configure, configure.in: better fix for the problem of unresolved
+ symbols in -lnsl or -lsocket
+
+1999-01-18 19:39 millert
+
+ * configure, configure.in: when checking for functions in -lnsl and
+ -lsocket link with both of them to avoid unresolved symbols on
+ some weirdo systems
+
+1999-01-17 20:49 millert
+
+ * BUGS, CHANGES, RUNSON, TODO: old changes that didn't make it into
+ RCS before the RCS->CVS switch
+
+1999-01-17 18:16 millert
+
+ * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
+ configure.in, dce_pwent.c, find_path.c, getspwuid.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, lex.yy.c, logging.c, lsearch.c, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, secureware.c, strdup.c,
+ sudo.c, sudo.pod, sudo_setenv.c, sudoers.pod, testsudoers.c,
+ tgetpass.c, utime.c, visudo.c, visudo.pod, emul/search.h,
+ emul/utime.h: add sudo tags
+
+1999-01-17 17:53 millert
+
+ * version.h, sudo.h: testing Sudo tag
+
+1999-01-17 17:40 millert
+
+ * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c,
+ compat.h, config.h.in, configure, configure.in, dce_pwent.c,
+ find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
+ ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
+ logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
+ putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
+ sudo.man, sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c,
+ tgetpass.c, utime.c, version.h, visudo.c, visudo.cat, visudo.man,
+ emul/utime.h: crank version and regen files
+
+1999-01-17 17:27 millert
+
+ * Makefile.in: kill rcs goop in update_version and fix now that
+ version is a const
+
+1999-01-17 17:08 millert
+
+ * INSTALL, check.c, config.h.in, configure, configure.in,
+ logging.c, sudo.c, sudo.h, sudo.pod: kerb5 support from
+ fcusack@iconnet.net
+
+1999-01-17 16:45 millert
+
+ * realpath.c, sudo_realpath.c: we no longer use realpath
+
+1999-01-17 16:44 millert
+
+ * qualify.c: replaced by find_path.c
+
+1999-01-17 16:43 millert
+
+ * options.h: all options are now configure flags
+
+1999-01-17 16:42 millert
+
+ * lex.yy.c: regen
+
+1999-01-17 16:41 millert
+
+ * getwd.c: superceded by getcwd.c
+
+1999-01-17 16:36 millert
+
+ * getpass.c: superceded by tgetpass.c
+
+1999-01-17 16:36 millert
+
+ * SUPPORTED: superceded by RUNSON
+
+1999-01-17 16:33 millert
+
+ * OPTIONS: No longer used now that we have configure options for
+ everything.
+
+1999-01-17 16:32 millert
+
+ * configure: regen based on configure.in
+
+1999-01-17 16:31 millert
+
+ * sudo.man, sudoers.man, visudo.man, sudo.cat, sudo.html,
+ sudoers.cat, visudo.cat, sudoers.html, visudo.html: regen based
+ on sudo.pod, sudoers.pod, and visudo.pod
+
+1998-12-11 12:16 millert
+
+ * check.c: fix tty tickets in remove_timestamp (didn't use ':')
+
+1998-12-07 16:16 millert
+
+ * interfaces.c: close sock when we are done with it
+
+1998-11-27 19:37 millert
+
+ * parse.yacc: never say "error on line -1"
+
+1998-11-23 23:38 millert
+
+ * configure.in: check for -lnsl before -lsocket
+
+1998-11-23 23:29 millert
+
+ * configure.in: quote '[', ']' used in ranges correctly
+
+1998-11-21 17:54 millert
+
+ * config.h.in: add missing NO_ROOT_SUDO noted by drno@tsd.edu
+
+1998-11-20 18:33 millert
+
+ * version.h: 1.5.7
+
+1998-11-20 18:33 millert
+
+ * INSTALL: more info for 1.5.7
+
+1998-11-20 18:30 millert
+
+ * README: update for 1.5.7
+
+1998-11-20 14:26 millert
+
+ * parse.yacc: make increases of cm_list_size and ga_list_size be
+ similar to increases of stacksize (ie: >= not > in initial
+ compare).
+
+1998-11-20 14:22 millert
+
+ * parse.yacc: when we get a syntax error, report it for the
+ previous line since that's generally where the error occurred.
+
+1998-11-18 15:31 millert
+
+ * config.h.in, configure.in, interfaces.c: add back check for
+ sys/sockio.h but only use it if SIOCGIFCONF is not defined
+
+1998-11-18 15:25 millert
+
+ * config.h.in: define BSD_COMP for svr4
+
+1998-11-17 23:16 millert
+
+ * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
+ goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c,
+ parse.lex, parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c: more
+ -Wall
+
+1998-11-17 23:10 millert
+
+ * configure.in: kill check for sockio,h
+
+1998-11-17 23:10 millert
+
+ * config.h.in: no more HAVE_SYS_SOCKIO_H
+
+1998-11-17 22:51 millert
+
+ * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
+ goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c,
+ parse.lex, parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
+ -Wall
+
+1998-11-16 17:38 millert
+
+ * sudo.c: add missing inform_user()
+
+1998-11-13 19:21 millert
+
+ * find_path.c: return NOT_FOUND if given fully qualified path and
+ it does not exist previously it would perror(ENOENT) which
+ bypasses the option to not leak path info
+
+1998-11-13 19:20 millert
+
+ * configure.in: for kerb5, check for -lkerb4, fall back on -lkrb
+ for kerb, check for -ldes
+
+1998-11-13 14:19 millert
+
+ * INSTALL: tty tickets are user:tty now
+
+1998-11-13 14:10 millert
+
+ * check.c: when using tty tickets make it user:tty not user.tty as
+ a username could have a '.' in it
+
+1998-11-09 19:15 millert
+
+ * sudo.c: add "ignoring foo found in ." for auth successful case
+
+1998-11-09 17:57 millert
+
+ * sudo.c: add missing printf param
+
+1998-11-08 15:56 millert
+
+ * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
+ go back to printing "command not found" unless
+ --disable-path-info specified. Also, tell user when we ignore
+ '.' in their path and it would have been used but for
+ --with-ignore-dot.
+
+1998-11-08 13:51 millert
+
+ * check.c, sudo.c: Only one space after a colon, not two, in
+ printf's
+
+1998-11-05 12:59 millert
+
+ * sudo.pod: document setting $USER
+
+1998-11-04 22:24 millert
+
+ * check.c: fix bugs with prompt expansion
+
+1998-11-04 21:21 millert
+
+ * sudo.c: set $USER for root too
+
+1998-11-04 17:13 millert
+
+ * getspwuid.c: typo
+
+1998-11-04 17:07 millert
+
+ * configure.in: HP-UX's iscomsec is in -lsec, not libc
+
+1998-11-03 22:24 millert
+
+ * configure.in: remove some entries in the OS case statement that
+ did nothing
+
+1998-11-03 22:19 millert
+
+ * TROUBLESHOOTING: add "cd" section and flush out syslog section
+
+1998-11-03 20:51 millert
+
+ * Makefile.in: no more sudo-lex.yy.c
+
+1998-11-03 20:50 millert
+
+ * check_sia.c: add custom prompt support
+
+1998-11-03 20:40 millert
+
+ * sudo.c: kill perror("malloc") since we already have a good error
+ messages pw_ent -> pw for brevity set $USER if -u specified
+
+1998-11-03 20:39 millert
+
+ * parse.c: kill perror("malloc") since we already have a good error
+ messages pw_ent -> pw for brevity when checking if %group
+ matches, look up user in password file so that %groups works in a
+ RunAs spec.
+
+1998-11-03 20:39 millert
+
+ * logging.c, parse.yacc: kill perror("malloc") since we already
+ have a good error messages
+
+1998-11-03 20:38 millert
+
+ * check.c, getspwuid.c, interfaces.c, testsudoers.c: kill
+ perror("malloc") since we already have a good error messages
+ pw_ent -> pw for brevity
+
+1998-11-03 15:03 millert
+
+ * tgetpass.c: the prompt is expanded before tgetpass is called
+
+1998-11-03 15:03 millert
+
+ * sudo.h: tgetpass now has the same args as getpass again
+
+1998-11-03 15:02 millert
+
+ * getspwuid.c: add iscomsec, issecure support
+
+1998-11-03 15:02 millert
+
+ * check.c: we now expand any %h or %u in the prompt before passing
+ to tgetpass
+
+1998-11-03 14:58 millert
+
+ * configure.in: add check for syslog(3) in -lsocket, -lnsl, -linet
+
+1998-11-03 14:56 millert
+
+ * config.h.in: add HAVE_ISCOMSEC and HAVE_ISSECURE
+
+1998-11-03 14:55 millert
+
+ * configure.in: add check for iscomsec in HP-UX
+
+1998-11-03 14:51 millert
+
+ * configure.in: check for issecure if we have getpwanam on SunOS
+ some options are incompatible with DUNIX SIA check for dispcrypt
+ on DUNIX
+
+1998-10-25 15:21 millert
+
+ * config.h.in: add HAVE_DISPCRYPT
+
+1998-10-25 15:21 millert
+
+ * secureware.c: add back support for non-dispcrypt based checking
+ for older DUNIX
+
+1998-10-25 00:51 millert
+
+ * INSTALL: sia changes
+
+1998-10-25 00:48 millert
+
+ * configure.in: SIA becomes the default on Digital UNIX now havbe
+ --disable-sia to turn it off...
+
+1998-10-24 23:52 millert
+
+ * check.c: move local includes after system ones
+
+1998-10-24 19:28 millert
+
+ * check.c, check_sia.c, sudo.h: add pass_warn() which prints out
+ INCORRECT_PASSWORD or an insult to stderr
+
+1998-10-24 19:07 millert
+
+ * check_sia.c: fix while loop in sia_attempt_auth() that checks the
+ password. Only the first iteration was working.
+
+1998-10-21 21:00 millert
+
+ * aclocal.m4: don't trust UID_MAX or MAXUID
+
+1998-10-21 20:35 millert
+
+ * configure.in: fix two pastos
+
+1998-10-21 20:30 millert
+
+ * configure.in: fix typo
+
+1998-10-21 20:19 millert
+
+ * getspwuid.c, secureware.c: init crypt_type to INT_MAX since it is
+ legal to be negative in DUNX 5.0
+
+1998-10-21 20:15 millert
+
+ * configure.in: for secureware on dunix, use -lsecurity -ldb -laud
+ -lm but check for -ldb since DUNX < 4.0 lacks it
+
+1998-10-21 19:50 millert
+
+ * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
+ secureware.c, sudo.c, tgetpass.c: getprpwuid is broken in HP-UX
+ 10.20 at least (it sleeps for 2 minutes if the shadow files don't
+ exist).
+
+1998-10-20 17:22 millert
+
+ * INSTALL: updated --with-editor blurb
+
+1998-10-20 17:21 millert
+
+ * TROUBLESHOOTING: tell how to put sudoers in a different dir
+
+1998-10-20 16:22 millert
+
+ * configure.in: add missing quotes around $with_editor
+
+1998-10-20 14:00 millert
+
+ * configure.in: typo in --with-editor bits
+
+1998-10-20 01:24 millert
+
+ * INSTALL: I don't expect it to work on Solaris
+
+1998-10-20 01:24 millert
+
+ * check.c: add back security/pam_misc.h
+
+1998-10-19 17:13 millert
+
+ * INSTALL: remove dunix note since configure checks for this now
+
+1998-10-19 16:30 millert
+
+ * configure.in: add check for broken dunix prot.h (4.0 < 4.0D is
+ bad)
+
+1998-10-19 14:32 millert
+
+ * getspwuid.c, secureware.c, tgetpass.c: new dunix shadow code, use
+ dispcrypt(3)
+
+1998-10-19 14:32 millert
+
+ * config.h.in: add HAVE_INITPRIVS
+
+1998-10-19 14:31 millert
+
+ * sudo.c: call initprivs() if we have it for getprpwuid later on
+
+1998-10-19 14:30 millert
+
+ * Makefile.in: clean pathnames.h too
+
+1998-10-19 14:28 millert
+
+ * configure.in: quote "Sorry, try again." with [] since it has a
+ comma in it set LIBS when we add stuff to SUDO_LIBS set
+ SECUREWARE when we find getprpwuid() so we can check for
+ bigcrypt, set_auth_parameters, and initprivs later.
+
+1998-10-19 13:48 millert
+
+ * INSTALL: update Digital UNIX note about acl.h
+
+1998-10-18 20:26 millert
+
+ * INSTALL: add --with-sia --without-root-sudo ->
+ --disable-root-sudo some reordering
+
+1998-10-18 20:22 millert
+
+ * secureware.c: add whitespace
+
+1998-10-18 20:22 millert
+
+ * Makefile.in, check.c, config.h.in, configure.in, logging.c,
+ sudo.h: add SIA support
+
+1998-10-18 20:21 millert
+
+ * check_sia.c: Initial revision
+
+1998-10-18 19:42 millert
+
+ * configure.in: when checking for -lsocket, -lnsl, and -linet,
+ check for the specific functions we need from them.
+
+1998-10-18 19:10 millert
+
+ * config.h.in, sudo.h: move Syslog_* defs into sudo.h
+
+1998-10-18 18:15 millert
+
+ * sudo.h, Makefile.in: added check_secureware
+
+1998-10-18 18:12 millert
+
+ * configure.in: finished adding AC_MSG_CHECKING and AC_MSG_RESULT
+ bits
+
+1998-10-18 18:00 millert
+
+ * insults.h: don't define CLASSIC_INSULTS and CSOPS_INSULTS if no
+ other sets defined. configure now does that for us
+
+1998-10-18 17:45 millert
+
+ * configure.in: move some --with options around change a bunch of
+ echo's to AC_MSG_CHECKING, AC_MSG_RESULT pairs
+
+1998-10-18 01:09 millert
+
+ * configure.in: change $with_foo-bar -> $with_foo_bar kill extra "
+ that caused a syntax error add some echo verbage
+
+1998-10-17 18:08 millert
+
+ * check.c: moved SecureWare stuff into secureware.c
+
+1998-10-17 18:07 millert
+
+ * secureware.c: Initial revision
+
+1998-10-17 17:02 millert
+
+ * INSTALL: update url to solaris gcc bins
+
+1998-10-17 16:39 millert
+
+ * INSTALL: change option formatter and flesh out someentries
+
+1998-10-17 16:18 millert
+
+ * sudo.pod, visudo.pod, TROUBLESHOOTING: environmental variable ->
+ environment variable
+
+1998-10-17 16:01 millert
+
+ * BUGS: everything is now done via configure
+
+1998-10-17 16:00 millert
+
+ * README: prev rev was 1.5.6
+
+1998-10-17 00:33 millert
+
+ * Makefile.in: passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID
+ correctly
+
+1998-10-17 00:32 millert
+
+ * config.h.in: SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from
+ the Makefile
+
+1998-10-17 00:31 millert
+
+ * Makefile.in: merge OSDEFS and OPTIONS into DEFS get sudoers_uid,
+ sudoers_gid, sudoers_mode from configure
+
+1998-10-17 00:30 millert
+
+ * configure.in: SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get
+ substituted into the Makefile, not config.h
+
+1998-10-17 00:30 millert
+
+ * INSTALL: document all --with/--enable options
+
+1998-10-15 02:25 millert
+
+ * insults.h: options.h is no more
+
+1998-10-15 02:25 millert
+
+ * config.h.in: assimilated options.h
+
+1998-10-15 02:24 millert
+
+ * configure.in: moved options from options.h to configure
+
+1998-10-15 01:41 millert
+
+ * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
+ logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
+ sudo_setenv.c, visudo.c: no more options.h
+
+1998-10-15 01:39 millert
+
+ * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING: remove references
+ to options.h
+
+1998-10-15 01:32 millert
+
+ * interfaces.c, dce_pwent.c, sudo.c: kill sys/time.h
+
+1998-10-15 00:10 millert
+
+ * tgetpass.c: if select return < -1 still prompt for pw
+
+1998-10-15 00:03 millert
+
+ * options.h: convert LOGGING, LOGFAC, MAXLOGFILELEN,
+ IGNORE_DOT_PATH into configure options
+
+1998-10-14 23:57 millert
+
+ * parse.c: FAST_MATCH is no longer an optino
+
+1998-10-14 23:52 millert
+
+ * check.c: remove_timestamp() if timestamp is preposterous
+
+1998-10-14 23:36 millert
+
+ * options.h: convert more options to --with/--enable
+
+1998-10-14 23:36 millert
+
+ * INSTALL, aclocal.m4: logfile -> logpath
+
+1998-10-14 23:31 millert
+
+ * configure.in: convert more options into --with and --enable
+
+1998-10-14 23:28 millert
+
+ * tgetpass.c: catch EINTR in select and restart
+
+1998-10-14 23:15 millert
+
+ * logging.c: sys/errno -> errno
+
+1998-09-24 11:40 millert
+
+ * sudo.c: UMASK -> SUDO_UMASK.
+
+1998-09-24 11:36 millert
+
+ * check.c, logging.c: time.h, not sys/time.h
+
+1998-09-21 19:52 millert
+
+ * logging.c: MAILER -> _PATH_SENDMAIL
+
+1998-09-21 00:06 millert
+
+ * INSTALL, configure.in: no more --with-C2, now it is
+ --disable-shadow
+
+1998-09-21 00:00 millert
+
+ * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
+ getspwuid.c, sudo.c, tgetpass.c: new shadow password scheme.
+ Always include shadow support if the platform supports it and the
+ user did not disable it via configure
+
+1998-09-20 19:48 millert
+
+ * configure.in: --with-getpass -> --{enable,disable}-tgetpass
+
+1998-09-20 19:16 millert
+
+ * Makefile.in: pathnames.h -> pathnames.h.in
+
+1998-09-20 19:14 millert
+
+ * check.c: fix version string
+
+1998-09-20 19:12 millert
+
+ * check.c: move pam_conv to be static to auth function remove
+ pam_misc.h (solaris doesn't have one)
+
+1998-09-20 19:10 millert
+
+ * aclocal.m4: _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill
+ SUDO_PROG_PWD
+
+1998-09-20 19:10 millert
+
+ * configure.in: munge pathnames.h.in -> pathnames.h kill
+ SUDO_PROG_PWD
+
+1998-09-20 19:10 millert
+
+ * pathnames.h.in: convert to pathnames.h.in
+
+1998-09-18 20:20 millert
+
+ * configure.in: fix typo in sysv4 matching case /.
+
+1998-09-18 01:29 millert
+
+ * check.c: pam stuff needs to run as root, not user, for shadow
+ passwords
+
+1998-09-17 12:26 millert
+
+ * Makefile.in, emul/utime.h, check.c, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ logging.c, options.h, parse.c, parse.lex, parse.yacc,
+ pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c,
+ BUGS, INSTALL, README, configure.in: updated version
+
+1998-09-17 12:13 millert
+
+ * check.c: user version.h for long message
+
+1998-09-17 11:53 millert
+
+ * check.c: this is version 1.5.6
+
+1998-09-16 13:42 millert
+
+ * Makefile.in: remove errant backslash
+
+1998-09-14 22:25 millert
+
+ * options.h, parse.yacc, pathnames.h.in: fix version string
+
+1998-09-14 22:02 millert
+
+ * BUGS, CHANGES, TODO: updtaed for 1.5.6
+
+1998-09-14 22:02 millert
+
+ * RUNSON: updated for 1.5.6
+
+1998-09-14 11:48 millert
+
+ * interfaces.c: kill unused localhost_mask var copy if name to
+ ifr_tmp after we zero it
+
+1998-09-13 15:50 millert
+
+ * INSTALL: Better description of new vs. old sudoers modes fix some
+ typos better description of /usr/ucb/cc gotchas on slowaris
+
+1998-09-13 15:49 millert
+
+ * Makefile.in: add sample.pam
+
+1998-09-13 15:32 millert
+
+ * sudo.c: set NewArgv[0] to user_shell, not basename(user_shell)
+
+1998-09-12 11:10 millert
+
+ * README: mention TROUBLESHOOTING more fix some typos
+
+1998-09-11 20:30 millert
+
+ * configure.in: move --enable/--disable to be after --with
+
+1998-09-11 20:30 millert
+
+ * INSTALL: document --enable/--disable
+
+1998-09-11 20:26 millert
+
+ * INSTALL: document --with-pam
+
+1998-09-11 19:47 millert
+
+ * configure.in: Add message for pam users
+
+1998-09-11 19:27 millert
+
+ * sample.pam: Initial revision
+
+1998-09-11 19:23 millert
+
+ * config.h.in: fix HAVE_PAM
+
+1998-09-11 19:19 millert
+
+ * check.c, config.h.in, configure.in: pam support, from Gary Calvin
+ <GCalvin@kenwoodusa.com>
+
+1998-09-10 18:51 millert
+
+ * config.h.in: add HOST_IN_LOG and WRAP_LOG
+
+1998-09-10 18:51 millert
+
+ * logging.c: add WRAP_LOG and HOST_IN_LOG
+
+1998-09-10 18:37 millert
+
+ * configure.in: add --enable-log-host and --enable-log-wrap
+
+1998-09-10 18:32 millert
+
+ * aclocal.m4: use AC_DEFINE_UNQUOTED for --with-logfile and
+ --with-timedir
+
+1998-09-08 20:45 millert
+
+ * compat.h: add howmany macro
+
+1998-09-08 20:43 millert
+
+ * tgetpass.c: include sys/param.h to get howmany macro
+
+1998-09-07 20:42 millert
+
+ * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
+ add RUNAS_DEFAULT
+
+1998-09-07 12:51 millert
+
+ * fnmatch.c: bring in stdio.h for NULL
+
+1998-09-07 12:50 millert
+
+ * aclocal.m4: allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
+
+1998-09-07 12:43 millert
+
+ * sudo.c: use HAVE_SET_AUTH_PARAMETERS
+
+1998-09-07 12:42 millert
+
+ * config.h.in: add HAVE_SET_AUTH_PARAMETERS
+
+1998-09-07 12:41 millert
+
+ * configure.in: add *-*-hiuxmpp* add test for set_auth_parameters()
+ if secureware
+
+1998-09-07 12:39 millert
+
+ * config.sub: add support for HI-UX/MPP SR220001 02-03 0 SR2201
+
+1998-09-07 12:06 millert
+
+ * interfaces.c: initialize previfname
+
+1998-09-07 11:51 millert
+
+ * interfaces.c: Don't use SIOCGIFADDR, we don't need it Use
+ SIOCGIFFLAGS if we have it check ifr_flags against IFF_UP and
+ IFF_LOOPBACK instead of kludging it
+
+1998-09-07 11:49 millert
+
+ * configure.in: typo
+
+1998-09-07 00:01 millert
+
+ * Makefile.in: don't need special build line for sudo.tab.o
+
+1998-09-06 23:58 millert
+
+ * Makefile.in: don't clean sudo.tab.[ch]
+
+1998-09-06 23:48 millert
+
+ * sudo.c: Sudo should prompt for a password before telling the user
+ that a command could not be found.
+
+1998-09-06 23:47 millert
+
+ * BUGS: for 1.5.6
+
+1998-09-06 23:25 millert
+
+ * INSTALL, README: no longer require yacc
+
+1998-09-06 23:19 millert
+
+ * Makefile.in: typo
+
+1998-09-06 23:18 millert
+
+ * Makefile.in: y.tab -> sudo.tab include pre-yacc'd parse.yacc
+
+1998-09-06 23:09 millert
+
+ * parse.lex: include sudo.tab.h, not y.tab.h don't break out of
+ command args if you get a '='
+
+1998-09-06 22:59 millert
+
+ * insults.h: fix version ,
+
+1998-09-06 22:57 millert
+
+ * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
+ fix version
+
+1998-09-06 22:55 millert
+
+ * getcwd.c: getcwd(3) from OpenBSD for those without it.
+
+1998-09-06 22:51 millert
+
+ * sudo.h: HAVE_GETWD -> HAVE_GETCWD
+
+1998-09-06 22:49 millert
+
+ * configure.in: pretend sunos doesn't have getcwd(3) since it opens
+ a pipe to getpwd!
+
+1998-09-06 22:41 millert
+
+ * parse.c: use NAMLEN() macro
+
+1998-09-06 22:34 millert
+
+ * fnmatch.c: remove duplicate include of string.h
+
+1998-09-06 22:28 millert
+
+ * configure.in: call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
+
+1998-09-06 22:28 millert
+
+ * aclocal.m4: add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
+
+1998-09-06 22:28 millert
+
+ * config.h.in: add dev_t and ino_t
+
+1998-07-28 12:44 millert
+
+ * check.c: fix OTP_ONLY for opie
+
+1998-06-24 12:22 millert
+
+ * testsudoers.c, tgetpass.c: include stdlib.h for malloc proto
+
+1998-05-19 00:10 millert
+
+ * Makefile.in: make update_version saner
+
+1998-05-18 23:32 millert
+
+ * config.h.in: add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
+
+1998-05-18 23:32 millert
+
+ * configure.in: check for waitpid and wait3 or no waitpid
+
+1998-05-18 23:31 millert
+
+ * logging.c: used waitpid or wait3 if we have 'em
+
+1998-05-02 14:16 millert
+
+ * visudo.c: fix some fprintf args, ariel@oz.engr.sgi.com (Ariel
+ Faigon)
+
+1998-04-27 20:09 millert
+
+ * configure.in: don't need to explicately mention -lsocket -lnsl
+ for sequent
+
+1998-04-25 01:56 millert
+
+ * configure.in: dynix should not link with -linet
+
+1998-04-10 15:32 millert
+
+ * INSTALL: mention that HP-UX doesn't ship with yacc
+
+1998-04-06 22:35 millert
+
+ * check.c: ignore kerberos if we can't get the local realm
+
+1998-04-05 23:37 millert
+
+ * configure.in, BUGS, INSTALL, README: ++version
+
+1998-04-05 23:36 millert
+
+ * version.h: ++
+
+1998-04-05 23:35 millert
+
+ * Makefile.in, emul/utime.h, check.c, config.h.in, dce_pwent.c,
+ find_path.c, getspwuid.c, getcwd.c, goodpath.c, interfaces.c,
+ logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c,
+ sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
+ visudo.c: updated version
+
+1998-04-05 23:34 millert
+
+ * check.c, sudo.h: fix version
+
+1998-04-05 23:33 millert
+
+ * getcwd.c: don't use popen/pclose. Do it inline.
+
+1998-04-05 23:25 millert
+
+ * lsearch.c: add rcsid
+
+1998-04-05 23:21 millert
+
+ * sudo.c: typo
+
+1998-04-05 23:17 millert
+
+ * sudo.h, pathnames.h.in, compat.h, options.h, ins_2001.h,
+ insults.h, ins_classic.h, ins_goons.h, ins_csops.h, parse.yacc,
+ check.c: updated version
+
+1998-04-05 23:15 millert
+
+ * check.c, find_path.c, parse.c, sudo.c, testsudoers.c: MAX* + 1 ->
+ MAX*
+
+1998-04-05 23:14 millert
+
+ * Makefile.in: getwd.c -> getcwd.c
+
+1998-04-05 22:49 millert
+
+ * config.h.in: kill HAVE_GETWD
+
+1998-04-05 22:49 millert
+
+ * configure.in: getcwd, not getwd
+
+1998-04-05 22:48 millert
+
+ * getcwd.c: use MAX* not MAX* + 1 always run pwd as using getwd()
+ defeats the purpose
+
+1998-03-31 00:15 millert
+
+ * OPTIONS, options.h: add STUB_LOAD_INTERFACES
+
+1998-03-31 00:05 millert
+
+ * Makefile.in, check.c, emul/utime.h, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, logging.c, options.h, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
+ updated version
+
+1998-03-30 23:54 millert
+
+ * configure.in: support *-ccur-sysv4 and fix two typos
+
+1998-03-27 19:52 millert
+
+ * configure.in: don't echo about with_logfile and with_timedir
+
+1998-03-27 19:49 millert
+
+ * INSTALL: document --with-logfile and --with-timedir
+
+1998-03-27 19:46 millert
+
+ * aclocal.m4: support --with-logfile and --with-timedir
+
+1998-03-27 19:46 millert
+
+ * configure.in: Add --with-logfile and --with-timedir
+
+1998-03-27 19:27 millert
+
+ * sudo.c: change size computation of NewArgv for UNICOS
+
+1998-02-18 20:10 millert
+
+ * configure.in: treate -*-sysv4* like *-*-svr4
+
+1998-02-18 18:19 millert
+
+ * configure.in: fix spacing for --with-authenticate help
+
+1998-02-18 16:39 millert
+
+ * Makefile.in, check.c, emul/utime.h, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, logging.c, options.h, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
+ updated version
+
+1998-02-18 16:23 millert
+
+ * parse.yacc: fix off by one error in push macro
+
+1998-02-17 01:15 millert
+
+ * configure.in: removed bogus alloca hack
+
+1998-02-17 01:15 millert
+
+ * check.c: added AIX 4.x authenticate() support
+
+1998-02-17 01:11 millert
+
+ * parse.yacc: include alloca.h if using bison and not gcc and it
+ exists. fixes an alloca problem on hpux 10.x
+
+1998-02-17 00:39 millert
+
+ * INSTALL: mention --with-authenticate
+
+1998-02-17 00:37 millert
+
+ * configure.in: added AIX authenticate() support
+
+1998-02-17 00:22 millert
+
+ * config.h.in: add HAVE_AUTHENTICATE
+
+1998-02-16 23:58 millert
+
+ * interfaces.c: dynamically size ifconf buffer
+
+1998-02-16 23:56 millert
+
+ * configure.in: quote '[' and ']'
+
+1998-02-16 21:42 millert
+
+ * Makefile.in, emul/utime.h, check.c, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ logging.c, options.h, parse.c, parse.lex, parse.yacc,
+ pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
+ updated version
+
+1998-02-16 19:06 millert
+
+ * visudo.pod: add ERRORS section
+
+1998-02-16 18:57 millert
+
+ * TROUBLESHOOTING: add busy stmp file explanation
+
+1998-02-15 18:49 millert
+
+ * configure.in: the name of the cached var that signals whether or
+ not you are cross compiling changed. It is now
+ ac_cv_prog_cc_cross
+
+1998-02-11 16:26 millert
+
+ * INSTALL: mention glibc 2.07 is fixed wrt lsearch()\.
+
+1998-02-06 21:55 millert
+
+ * sample.sudoers, sudoers.pod: better example of su but not root su
+
+1998-02-06 15:49 millert
+
+ * Makefile.in, check.c, emul/utime.h, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, logging.c, options.h, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
+ updated version
+
+1998-02-06 15:48 millert
+
+ * Makefile.in: correct regexp for updating version
+
+1998-02-06 14:05 millert
+
+ * tgetpass.c: remove bogus flush of stderr spew prompt before
+ turning off echo. Seems to fix a weird problem where if sudo
+ complained about a bogus stamp file the user would sometimes not
+ have a chance to enter a password
+
+1998-02-06 14:05 millert
+
+ * check.c: fix bogus flush of stderr
+
+1998-02-05 19:19 millert
+
+ * sudo.c: close fd's <=2 not <=3 and move that chunk of code up
+
+1998-02-05 19:18 millert
+
+ * configure.in: support hpux1[0-9] not just hpux10
+
+1998-01-30 14:59 millert
+
+ * parse.c: set sudoers_fp to nil after closing
+
+1998-01-24 01:05 millert
+
+ * config.guess, config.sub: updated from autoconf 2.12
+
+1998-01-24 00:50 millert
+
+ * configure.in: add *-*-svr4 rule
+
+1998-01-22 22:53 millert
+
+ * tgetpass.c: fix select usage for high fd's (dynamically allocate
+ readfds)
+
+1998-01-22 22:49 millert
+
+ * check.c: kill extra whitespace
+
+1998-01-22 19:28 millert
+
+ * sudo.c: do an initgroups() before running a command, unless the
+ target user is root.
+
+1998-01-22 12:22 millert
+
+ * TROUBLESHOOTING: tell people to use tabs, not spaces, in
+ syslog.conf
+
+1998-01-21 01:56 millert
+
+ * parse.lex, Makefile.in, config.h.in, getwd.c, strdup.c, putenv.c,
+ emul/utime.h, testsudoers.c, utime.c, dce_pwent.c: updated
+ version
+
+1998-01-21 01:32 millert
+
+ * goodpath.c, sudo_setenv.c, interfaces.c, tgetpass.c, visudo.c:
+ updated version
+
+1998-01-21 01:29 millert
+
+ * sudo.h, pathnames.h.in, options.h, compat.h, insults.h,
+ ins_2001.h, ins_classic.h, ins_goons.h, ins_csops.h, parse.yacc,
+ check.c, getspwuid.c, find_path.c, logging.c, parse.c, sudo.c:
+ updated version
+
+1998-01-21 01:20 millert
+
+ * Makefile.in: more tweaks to update_version
+
+1998-01-21 01:19 millert
+
+ * Makefile.in: fixed up update_version rule
+
+1998-01-21 00:55 millert
+
+ * configure.in: ++version
+
+1998-01-21 00:53 millert
+
+ * Makefile.in: removed supe of check.c
+
+1998-01-21 00:51 millert
+
+ * INSTALL: ++version I missed
+
+1998-01-21 00:51 millert
+
+ * RUNSON: updated
+
+1998-01-21 00:48 millert
+
+ * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
+ find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ logging.c, options.h, parse.c, parse.lex, parse.yacc,
+ pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c, emul/utime.h, BUGS, INSTALL, README: updated version
+
+1998-01-21 00:47 millert
+
+ * CHANGES: updated for 1.5.5
+
+1998-01-21 00:35 millert
+
+ * Makefile.in: add rules to update version stuff in files so I
+ don't need to do it by hand
+
+1998-01-21 00:04 millert
+
+ * sudo.h: sudoers_fp is now extern
+
+1998-01-21 00:03 millert
+
+ * sudo.c: in check_sudoers, cache the sudoers file handle in
+ sudoers_fp so we don't have to open it again in the parse. This
+ may help with weird solaris problems where EAGAIN sometime
+ occurrs.
+
+1998-01-21 00:02 millert
+
+ * parse.c: sudoers file open is now done only in check_sudoers() so
+ we just do a rewind() instead of an open. May help people on
+ solaris who were getting EAGAIN.
+
+1998-01-16 11:43 millert
+
+ * INSTALL: mention that newer glibc is fixed
+
+1998-01-13 12:58 millert
+
+ * sudo.c: newer irix uses _RLDN32_* envariables for 32-bit binaries
+ so ignore _RLD* instead of _RLD_*
+
+1998-01-13 10:32 millert
+
+ * parse.c: typo
+
+1998-01-13 10:19 millert
+
+ * parse.c: fix that bug for real
+
+1998-01-13 02:39 millert
+
+ * INSTALL: document Linux's libc6 brokenness.
+
+1998-01-13 02:00 millert
+
+ * parse.yacc: -Wall
+
+1998-01-13 01:22 millert
+
+ * RUNSON: updated
+
+1998-01-13 00:50 millert
+
+ * TROUBLESHOOTING: remind people to HUP syslogd
+
+1998-01-13 00:05 millert
+
+ * Makefile.in: add -O flag to tar
+
+1998-01-13 00:00 millert
+
+ * TODO, RUNSON: updated
+
+1998-01-12 23:59 millert
+
+ * sudo.pod: remove author's email addr. people should mail
+ sudo-bugs
+
+1998-01-12 23:49 millert
+
+ * INSTALL: fix version
+
+1998-01-12 23:48 millert
+
+ * README, check.c, compat.h, config.h.in, configure.in,
+ dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, logging.c, options.h, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c: ++version
+
+1998-01-12 23:44 millert
+
+ * RUNSON: updated
+
+1998-01-12 23:42 millert
+
+ * INSTALL, Makefile.in: ++version
+
+1998-01-12 23:41 millert
+
+ * CHANGES: updated fort 1.5.4
+
+1998-01-12 23:41 millert
+
+ * check.c: exit(1) if user enters no passwd
+
+1998-01-12 23:37 millert
+
+ * BUGS: ++version
+
+1998-01-12 23:10 millert
+
+ * parse.c: commands can start with ./* not just /* -- fixes a
+ serious security hole.
+
+1997-12-21 18:17 millert
+
+ * sudo.c: Don't set the tty variable to NULL when we lack a tty,
+ leave it as "unknown".
+
+1997-11-23 13:29 millert
+
+ * sample.sudoers: fix usage of (username) in conjunction with , and
+ !
+
+1997-11-23 13:28 millert
+
+ * visudo.c: catch the case where the user is not in the passwd file
+
+1997-11-23 13:24 millert
+
+ * tgetpass.c: use fileno(input) + 1 instead of getdtablesize() as
+ the nfds arg to select(2)
+
+1997-11-23 01:53 millert
+
+ * sudo.c: define tty global to an initial value to avoid dumping
+ core in logging functions when passwd file is unavailable.
+
+1997-11-23 01:51 millert
+
+ * sudo.c: do the set_perms(PERM_USER, sudo_mode) after we have
+ gotten the passwd entry
+
+1997-11-23 00:21 millert
+
+ * sudo.pod: talk about problem of ALL
+
+1997-10-10 00:54 millert
+
+ * README: new web location
+
+1997-10-10 00:54 millert
+
+ * INSTALL: fdesc bug is fixed in Open/Net BSD
+
+1997-10-10 00:52 millert
+
+ * HISTORY: updates from Nieusma
+
+1997-10-09 18:37 millert
+
+ * dce_pwent.c: move compat.h after the system includes
+
+1997-08-06 14:58 millert
+
+ * logging.c: save errno from being clobbered by wait(). From Theo
+
+1997-05-21 11:57 millert
+
+ * compat.h: fix an occurence of setresuid -> setreuid (typo)
+
+1997-03-19 17:45 millert
+
+ * install-sh: check for path to strip
+
+1997-01-15 19:05 millert
+
+ * logging.c: deal with maxfilelen < 0 case
+
+1997-01-15 19:05 millert
+
+ * OPTIONS: fixed descriptin
+
+1996-12-11 23:10 millert
+
+ * sudo.c: correct error message if mode/owner wrong and not
+ statable by owner but is statable by root.
+
+1996-11-23 02:18 millert
+
+ * config.guess, config.sub: autoconf 2.11
+
+1996-11-16 14:42 millert
+
+ * CHANGES, RUNSON, TODO: sudo 1.5.3.
+
+1996-11-14 15:08 millert
+
+ * sudo.h, parse.yacc: command_alias -> generic_alias
+
+1996-11-13 22:50 millert
+
+ * sample.sudoers: added Runas_Alias example and fixed syntax errors
+
+1996-11-13 22:50 millert
+
+ * OPTIONS, options.h: updated MAILSUBJECT
+
+1996-11-13 22:49 millert
+
+ * logging.c: added %h expansion
+
+1996-11-13 21:37 millert
+
+ * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
+ find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
+ ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
+ logging.c, options.h, parse.c, parse.lex, parse.yacc,
+ pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c, INSTALL, README, configure.in: ++version
+
+1996-11-13 20:01 millert
+
+ * emul/utime.h, BUGS: ++version
+
+1996-11-13 19:45 millert
+
+ * sudoers.pod: document Runas_Alias
+
+1996-11-13 19:22 millert
+
+ * visudo.pod: q (uid) -> Q
+
+1996-11-13 19:21 millert
+
+ * visudo.c: buffer oflow checking q (uit) -> Q if yyparse() fails
+ drop into whatnow
+
+1996-11-13 19:05 millert
+
+ * parse.yacc: add size params to sprintf
+
+1996-11-13 19:04 millert
+
+ * parse.lex: allow trailing space after '\\' but before '\n'
+
+1996-11-13 19:04 millert
+
+ * find_path.c: off by one error in path size check
+
+1996-11-13 19:03 millert
+
+ * check.c: sprintf paranoia
+
+1996-11-12 11:59 millert
+
+ * parse.yacc: fixed more_aliases
+
+1996-11-12 11:58 millert
+
+ * visudo.c: now warns if killed by signal ./
+
+1996-11-11 10:49 millert
+
+ * parse.yacc: fix Runas_Alias stuff Alias's in runas list now get
+ expanded (but it is gross)
+
+1996-11-10 20:32 millert
+
+ * sudo.c: Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE ==
+ 0400
+
+1996-11-10 20:08 millert
+
+ * parse.yacc: add Runas_Alias support change FOO to FOO_ALIAS (ie:
+ USER_ALIAS)
+
+1996-11-10 20:02 millert
+
+ * parse.lex: Add Runas_Alias and simplify a rule.
+
+1996-11-10 19:15 millert
+
+ * parse.yacc: always store User_Alias's since they can be used
+ inside of a runas list. Sigh. Really need a Runas_Alias
+ instead.
+
+1996-10-30 18:04 millert
+
+ * visudo.c: deal with case where there is no sudoers file
+
+1996-10-11 23:01 millert
+
+ * TROUBLESHOOTING: added one
+
+1996-10-10 22:11 millert
+
+ * HISTORY, testsudoers.c: developement -> development
+
+1996-10-10 22:08 millert
+
+ * INSTALL: added a note
+
+1996-10-10 20:36 millert
+
+ * RUNSON: for 1.5.2
+
+1996-10-10 20:36 millert
+
+ * CHANGES: updated
+
+1996-10-10 00:56 millert
+
+ * PORTING: removed seteuid() notes
+
+1996-10-09 13:37 millert
+
+ * compat.h: better seteuid() emulatino
+
+1996-10-09 13:36 millert
+
+ * configure.in: added check for seteuid
+
+1996-10-09 13:36 millert
+
+ * config.h.in: added HAVE_SETEUID
+
+1996-10-08 19:22 millert
+
+ * configure.in: first stab at sequent support
+
+1996-10-08 19:21 millert
+
+ * config.h.in: added HAVE_SYS_SELECT_H
+
+1996-10-08 19:21 millert
+
+ * compat.h: sequent -> _SEQUENT_
+
+1996-10-08 19:11 millert
+
+ * compat.h: added seteuid() macro for DYNIX
+
+1996-10-08 18:54 millert
+
+ * tgetpass.c: _AIX -> HAVE_SYS_SELECT_H
+
+1996-10-07 01:05 millert
+
+ * emul/utime.h, check.c, compat.h, dce_pwent.c, find_path.c,
+ getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
+ ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
+ pathnames.h.in, version.h, BUGS, INSTALL, Makefile.in, OPTIONS,
+ README, config.h.in, logging.c, parse.c, parse.lex, parse.yacc,
+ putenv.c, strdup.c, sudo_setenv.c, testsudoers.c, utime.c,
+ visudo.c, tgetpass.c: ++version
+
+1996-10-07 00:59 millert
+
+ * sudo.pod: added -H and SUDO_PS1
+
+1996-10-07 00:55 millert
+
+ * configure.in: use SUDO_FUNC_FNMATCH
+
+1996-10-07 00:54 millert
+
+ * aclocal.m4: added SUDO_FUNC_FNMATCH
+
+1996-10-07 00:53 millert
+
+ * sudo.c: added -H flag
+
+1996-10-07 00:53 millert
+
+ * sudo.h: added MODE_RESET_HOME /
+
+1996-10-05 00:00 millert
+
+ * INSTALL: mention OPIE
+
+1996-10-04 23:59 millert
+
+ * configure.in: added opie support
+
+1996-10-04 23:59 millert
+
+ * check.c: added HAVE_OPIE and changed to *_OTP_*
+
+1996-10-04 23:58 millert
+
+ * compat.h, config.h.in: added HAVE_OPIE
+
+1996-10-04 23:58 millert
+
+ * OPTIONS, options.h: SKEY -> OTP
+
+1996-10-03 23:27 millert
+
+ * check.c: moved fclose() in skey stuff.
+
+1996-10-03 19:53 millert
+
+ * putenv.c: index -> strchr remove unnecesary stuff
+
+1996-10-03 19:43 millert
+
+ * check.c: now call skeychallenge() to get challenge instead of
+ making one up ourselves. this way, we get extra goodies in the
+ prompt.
+
+1996-09-10 00:32 millert
+
+ * CHANGES: added one
+
+1996-09-10 00:18 millert
+
+ * parse.lex: allow logins to start with a number (YUCK!)
+
+1996-09-08 15:18 millert
+
+ * TROUBLESHOOTING: added soalris 2.5 vs 2.4 note
+
+1996-09-08 15:15 millert
+
+ * configure.in: DUNIX doesn't need -lnsl
+
+1996-09-07 20:22 millert
+
+ * CHANGES: [no log message]
+
+1996-09-07 20:21 millert
+
+ * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
+ getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
+ ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
+ options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in,
+ putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c,
+ tgetpass.c, utime.c, version.h, visudo.c: courtesan
+
+1996-09-07 20:13 millert
+
+ * TROUBLESHOOTING, INSTALL, Makefile.in, PORTING, RUNSON, README:
+ courtesan
+
+1996-09-07 20:12 millert
+
+ * visudo.pod: [no log message]
+
+1996-09-07 20:00 millert
+
+ * sudo.pod, visudo.pod: courtesan
+
+1996-09-07 19:45 millert
+
+ * HISTORY: added courtesan ./
+
+1996-09-06 00:12 millert
+
+ * sudo.c: added $SUDO_PROMPT support
+
+1996-09-04 17:19 millert
+
+ * check.c: print long skey challemged to stderr, not stdout
+
+1996-08-31 23:10 millert
+
+ * CHANGES: updated for 1.5.1
+
+1996-08-31 23:07 millert
+
+ * emul/utime.h: ++version
+
+1996-08-31 12:34 millert
+
+ * RUNSON: updated for 1.5.1
+
+1996-08-30 10:49 millert
+
+ * check.c: use shost, not host for tgetpass
+
+1996-08-30 00:21 millert
+
+ * OPTIONS, sudo.pod: documented %u and %h
+
+1996-08-29 20:40 millert
+
+ * configure.in: fixed typo
+
+1996-08-29 20:37 millert
+
+ * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
+ dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, logging.c, options.h, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c: ++version
+
+1996-08-29 20:30 millert
+
+ * BUGS: ++version
+
+1996-08-29 18:32 millert
+
+ * configure.in, Makefile.in, version.h: ++version
+
+1996-08-29 17:58 millert
+
+ * sudo.h: new tgetpass() params
+
+1996-08-29 17:58 millert
+
+ * check.c: pass use and host to tgetpass
+
+1996-08-29 17:57 millert
+
+ * tgetpass.c: added %u and %h escapes
+
+1996-08-29 16:56 millert
+
+ * OPTIONS, options.h, check.c: added NO_MESSAGE
+
+1996-08-29 16:23 millert
+
+ * configure.in: added cray (unicos) support
+
+1996-08-27 11:36 millert
+
+ * OPTIONS, options.h, sudo.c: added SHELL_SETS_HOME
+
+1996-08-25 17:56 millert
+
+ * INSTALL: added note about "make install"
+
+1996-08-25 17:50 millert
+
+ * parse.yacc: changed length/size params from int to size_t
+
+1996-08-25 13:35 millert
+
+ * OPTIONS: now get CSOPS insults as well by default
+
+1996-08-25 13:33 millert
+
+ * insults.h: use csops insults too by default
+
+1996-08-25 13:31 millert
+
+ * INSTALL, Makefile.in, README, config.h.in, configure.in,
+ version.h: version = 1.5
+
+1996-08-25 13:27 millert
+
+ * sudo.c: added runas_homedir
+
+1996-08-25 13:27 millert
+
+ * TODO: updated for 1.5
+
+1996-08-25 13:23 millert
+
+ * RUNSON: updated for 1.5
+
+1996-08-25 13:19 millert
+
+ * CHANGES: 1.5 release
+
+1996-08-25 13:17 millert
+
+ * INSTALL: added "upgrading" notes
+
+1996-08-22 14:00 millert
+
+ * visudo.c: now do chmod and chown after edit of temp file and
+ before rename
+
+1996-08-18 12:52 millert
+
+ * Makefile.in: ++version added INSTALL.configure
+
+1996-08-18 12:52 millert
+
+ * version.h, configure.in: ++version
+
+1996-08-18 12:51 millert
+
+ * TROUBLESHOOTING: [no log message]
+
+1996-08-18 12:50 millert
+
+ * parse.yacc: added missing cast
+
+1996-08-17 20:37 millert
+
+ * sudo.c: sets $HOME to pw_dir of runas user
+
+1996-08-17 20:02 millert
+
+ * sudo.pod: document $HOME change
+
+1996-08-17 19:43 millert
+
+ * sudo.pod: fixed up some wording
+
+1996-08-17 19:25 millert
+
+ * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
+ goodpath.c, interfaces.c, logging.c, parse.c, parse.lex,
+ parse.yacc, putenv.c, strdup.c, sudo.c, sudo_setenv.c,
+ testsudoers.c, tgetpass.c, utime.c, visudo.c: ++version
+
+1996-08-17 19:19 millert
+
+ * emul/utime.h, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
+ ins_goons.h, insults.h, options.h, pathnames.h.in, sudo.h:
+ ++version
+
+1996-08-17 19:18 millert
+
+ * sudo.h: name nad type changes
+
+1996-08-17 19:17 millert
+
+ * testsudoers.c: now works with new sudo
+
+1996-08-17 19:07 millert
+
+ * parse.yacc: fixed some XXX
+
+1996-08-17 18:52 millert
+
+ * parse.yacc: some variable name changes + comment headers for
+ functions.
+
+1996-08-17 18:41 millert
+
+ * tgetpass.c: added extra paren's to make compilers happy
+
+1996-08-17 18:34 millert
+
+ * sudo.c: [no log message]
+
+1996-08-17 18:30 millert
+
+ * parse.c: now uses init_parser() if not in sudoers and tries
+ "list" or "validate" scold but don't be nasty.
+
+1996-08-17 18:29 millert
+
+ * TROUBLESHOOTING: now can use upper case login names
+
+1996-08-17 18:29 millert
+
+ * visudo.c: now uses init_parser()
+
+1996-08-17 18:28 millert
+
+ * PORTING: added info about PASSWORD_TIMEOUT
+
+1996-08-17 18:28 millert
+
+ * INSTALL, README: updated
+
+1996-08-17 18:28 millert
+
+ * INSTALL.configure: Initial revision
+
+1996-08-17 18:27 millert
+
+ * BUGS: fixed a bug ,
+
+1996-08-17 18:27 millert
+
+ * parse.yacc: now dynamically allocates memory for the stacks -- no
+ more overflows!
+
+1996-08-17 18:26 millert
+
+ * sudo.pod: -l now explands command aliases
+
+1996-08-17 13:22 millert
+
+ * parse.yacc: hacks to expand command aliases for `sudo -l'
+
+1996-08-17 13:22 millert
+
+ * sudo.c: remove $ENV and $BASH_ENV (dangerous in ksh, posix sh,
+ and bash)
+
+1996-08-17 13:22 millert
+
+ * sudo.h: added struct command_alias
+
+1996-08-17 13:20 millert
+
+ * sudo.pod: fixed a bug
+
+1996-08-17 13:15 millert
+
+ * lsearch.c: in compar() key should be first arg
+
+1996-08-15 15:48 millert
+
+ * BUGS: fixed some bugs
+
+1996-08-15 15:47 millert
+
+ * parse.yacc: can now deal with upcase HOST and USER names
+
+1996-08-15 15:47 millert
+
+ * sudo.c: don't yell too loudly at non-sudoers if they do "sudo -l"
+
+1996-08-15 15:46 millert
+
+ * sudo.pod: fixed thinko
+
+1996-08-15 15:46 millert
+
+ * parse.c: fix comment
+
+1996-08-09 18:07 millert
+
+ * parse.c, parse.yacc: added support for new `sudo -l' stuff
+
+1996-08-09 18:06 millert
+
+ * sudo.c: now uses list_matches()
+
+1996-08-09 18:06 millert
+
+ * sudo.h: added struct sudo_match
+
+1996-08-09 17:37 millert
+
+ * configure.in: now more -lgnumalloc
+
+1996-08-01 13:12 millert
+
+ * install-sh: added more paths for chown and whoami
+
+1996-07-31 10:41 millert
+
+ * check.c: typo
+
+1996-07-30 13:45 millert
+
+ * aclocal.m4: fixed DUNIX check for shadow pw
+
+1996-07-30 13:41 millert
+
+ * tgetpass.c: now only turn off echo if it is already on. this
+ fixes a race when you use sudo in a pipelin
+
+1996-07-30 12:53 millert
+
+ * INSTALL: updated
+
+1996-07-29 22:29 millert
+
+ * configure.in: changed "test -z $foo && do_this" to if; then
+ construct
+
+1996-07-28 22:47 millert
+
+ * configure.in: added missing defines of SHADOW_TYPE
+
+1996-07-26 14:10 millert
+
+ * check.c: protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since
+ they are only in dunix 4.x
+
+1996-07-26 14:09 millert
+
+ * getspwuid.c: added AUTH_CRYPT_C1CRYPT support
+
+1996-07-26 13:23 millert
+
+ * parse.c: no longer return VALIDATE_NOT_OK if there was a runas
+ that didn't match. Now we can have runas stuff on more than one
+ line.
+
+1996-07-25 23:45 millert
+
+ * configure.in: got rid of HAVE_C2_SECURITY SHADOW_TYPE is always
+ defined to something
+
+1996-07-25 23:45 millert
+
+ * config.h.in: removed HAVE_C2_SECURITY added SPW_BSD
+
+1996-07-25 23:44 millert
+
+ * compat.h, getspwuid.c, sudo.c, tgetpass.c: use SHADOW_TYPE
+ instead of HAVE_C2_SECURITY
+
+1996-07-25 23:44 millert
+
+ * check.c: SHADOW_TYPE is always defined so just against its value
+
+1996-07-25 23:44 millert
+
+ * aclocal.m4: added SUDO_CHECK_SHADOW_DUNIX
+
+1996-07-25 18:47 millert
+
+ * sudoers.pod: * -> ?* in one example added another instance of
+ (runas) and one of NOPASSWD:
+
+1996-07-24 13:02 millert
+
+ * configure.in: added back check for config.cache from other host
+ type
+
+1996-07-24 12:49 millert
+
+ * parse.lex: removed an instance of \"
+
+1996-07-24 12:49 millert
+
+ * sample.sudoers: added an example
+
+1996-07-24 12:44 millert
+
+ * sudoers.pod: updated wrt new wildcard matching
+
+1996-07-24 10:28 millert
+
+ * configure.in: new check for shadow passwords if we don't know
+ anything
+
+1996-07-24 10:28 millert
+
+ * aclocal.m4: new SUDO_CHECK_SHADOW_GENERIC
+
+1996-07-24 02:19 millert
+
+ * configure.in: added back check for -lsocket (oops)
+
+1996-07-24 02:16 millert
+
+ * configure.in: better (working) check for shadow passwd type if we
+ know to use C2.
+
+1996-07-24 01:59 millert
+
+ * configure.in: now uses AC_CANONICAL_HOST to figure out os type
+
+1996-07-24 01:59 millert
+
+ * Makefile.in: added config.{guess,sub}
+
+1996-07-24 01:58 millert
+
+ * aclocal.m4: removed unused stuff to figure out os type
+
+1996-07-23 22:58 millert
+
+ * config.sub: added openbsd
+
+1996-07-23 22:54 millert
+
+ * config.sub: Initial revision
+
+1996-07-23 22:40 millert
+
+ * config.guess: Initial revision
+
+1996-07-23 21:18 millert
+
+ * testsudoers.c: don't call fnmatch() with FNM_PATHNAME flag unless
+ it can only be a pathname. need to check against sudoers_args
+ even if user_args is nil
+
+1996-07-23 21:18 millert
+
+ * parse.c: don't call fnmatch() with FNM_PATHNAME flag unless it
+ can only be a pathname need to check against sudoers_args even if
+ user_args is nil
+
+1996-07-23 18:52 millert
+
+ * check.c: added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
+
+1996-07-23 01:18 millert
+
+ * testsudoers.c: now takes command line args and uses cmnd_args
+
+1996-07-23 01:10 millert
+
+ * parse.lex: fill_args was adding an extra leading space
+
+1996-07-22 15:50 millert
+
+ * visudo.c: fixed dummy command_matches()
+
+1996-07-22 15:50 millert
+
+ * parse.yacc: fixed prototype
+
+1996-07-22 15:31 millert
+
+ * sudo.h: added cmnd_args
+
+1996-07-22 15:31 millert
+
+ * parse.yacc: now uses flat args string
+
+1996-07-22 15:30 millert
+
+ * parse.c, parse.lex: now uses flat arg string
+
+1996-07-22 15:29 millert
+
+ * visudo.c: added cmnd_args def
+
+1996-07-22 14:30 millert
+
+ * sudo.c: now sets cmnd_args global
+
+1996-07-22 14:30 millert
+
+ * logging.c: cmnd_args is now exported from sudo.[ch]
+
+1996-07-21 18:41 millert
+
+ * parse.yacc: can't rely on cmnd_matches as much as I thought --
+ added some $$ stuff back in to prevent namespace pollution
+ problems.
+
+1996-07-21 18:01 millert
+
+ * parse.yacc: Simplified parse rules wrt runas and NOPASSWD (more
+ consistent).
+
+1996-07-20 00:45 millert
+
+ * parse.lex: NOPASSWD may now have blanks before the ':' '(' only
+ starts a 'runas' if in the initial state to avoid collision with
+ command args
+
+1996-07-20 00:23 millert
+
+ * configure.in: added checks for specific shadow passwd schemes
+
+1996-07-20 00:18 millert
+
+ * aclocal.m4: added routines to check for specific shadow passwd
+ types
+
+1996-07-18 18:27 millert
+
+ * configure.in: added support for ncr boxen
+
+1996-07-18 18:26 millert
+
+ * aclocal.m4: added support for detecting ncr boxen
+
+1996-07-16 14:57 millert
+
+ * configure.in: added sinix support
+
+1996-07-13 22:29 millert
+
+ * TROUBLESHOOTING: added info about "config.cache from other other"
+ error.
+
+1996-07-13 22:22 millert
+
+ * aclocal.m4: now makes sure you don't have a config.cache file
+ from another OS
+
+1996-07-13 21:36 millert
+
+ * configure.in: now sets $LIBS when needed to configure links with
+ libs when doing tests hpux10 now uses SPW_SECUREWARE for C2 added
+ check for bigcrypt(3) if SPW_SECUREWARE
+
+1996-07-13 21:30 millert
+
+ * getspwuid.c: fixed typo
+
+1996-07-13 21:05 millert
+
+ * tgetpass.c: now include stuff for SPW_SECUREWARE to get
+ AUTH_MAX_PASSWD_LENGTH
+
+1996-07-13 21:05 millert
+
+ * getspwuid.c: no more SPW_HPUX10
+
+1996-07-13 21:04 millert
+
+ * config.h.in: no more SPW_HPUX10 added HAVE_BIGCRYPT
+
+1996-07-13 21:04 millert
+
+ * compat.h: now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
+
+1996-07-13 21:04 millert
+
+ * check.c: SPW_SECUREWARE now uses bigcrypt
+
+1996-07-13 18:24 millert
+
+ * sample.sudoers: fixed 2 syntax errors
+
+1996-07-13 18:24 millert
+
+ * sudoers: root may now run ALL as ALL
+
+1996-07-11 20:59 millert
+
+ * interfaces.c: fixed a typo/thinko that broke BSD's with sa_len
+
+1996-07-08 16:08 millert
+
+ * check.c, configure.in: updated AFS support
+
+1996-07-08 16:07 millert
+
+ * TROUBLESHOOTING: added entry about /usr/ucb/cc
+
+1996-07-08 16:06 millert
+
+ * INSTALL: prep no longer holds gcc binaries
+
+1996-07-08 15:48 millert
+
+ * INSTALL: updated AFS note
+
+1996-07-08 15:43 millert
+
+ * Makefile.in: added @AFS_LIBS@
+
+1996-07-08 15:33 millert
+
+ * compat.h: AFS allows long passwords
+
+1996-07-08 14:16 millert
+
+ * testsudoers.c: fixed -u user support
+
+1996-07-08 14:16 millert
+
+ * parse.c: sudo -v now groks VALIDATE_OK_NOPASS
+
+1996-07-08 13:30 millert
+
+ * parse.yacc: fixed no_passwd vs. runas_matched
+
+1996-07-08 10:30 millert
+
+ * TROUBLESHOOTING: took out stuff about NFS-mounting since it is no
+ longer an issue
+
+1996-07-08 10:30 millert
+
+ * INSTALL: added --with-libraries > --with-libpath --with-incpath
+
+1996-07-08 10:21 millert
+
+ * parse.yacc: was setting runas_matches to -1 in wrong place
+
+1996-07-08 09:58 millert
+
+ * check.c: removed usersec.h which is not present in new AFS
+ versions
+
+1996-07-08 09:55 millert
+
+ * tgetpass.c: now deals with timeout <= 0
+
+1996-07-08 09:51 millert
+
+ * OPTIONS: updated
+
+1996-07-08 00:04 millert
+
+ * configure.in: BSD/OS >= 2.0 now uses shlicc instead of just gcc
+
+1996-07-07 22:30 millert
+
+ * sudo.c: fixed backwards compatibility with sudo 1.4 sudoers mode
+ for root readable/writable filesystems
+
+1996-07-07 20:49 millert
+
+ * Makefile.in: now gives INSTALL -c flag
+
+1996-07-07 20:34 millert
+
+ * parse.yacc: slightly simpler initialization of no_passwd and
+ runas_matches
+
+1996-07-07 20:33 millert
+
+ * testsudoers.c: added -u username support
+
+1996-07-07 20:32 millert
+
+ * configure.in: improved --with-libraries support
+
+1996-07-07 16:27 millert
+
+ * configure.in: added --with-incpath, --with-libpath,
+ --with-libraries
+
+1996-07-07 16:01 millert
+
+ * parse.yacc: now initializes some fields that weren't getting set
+ to -1 pretty gross -- need a rewrite.
+
+1996-06-25 23:19 millert
+
+ * alloca.c: removed emacs'isms
+
+1996-06-25 22:29 millert
+
+ * configure.in: no longer add -lPW to *_LIBS since we include
+ alloca.c
+
+1996-06-25 22:29 millert
+
+ * config.h.in: added HAVE_ALLOCA_H
+
+1996-06-25 22:28 millert
+
+ * Makefile.in: added alloca.c
+
+1996-06-25 22:18 millert
+
+ * alloca.c: Initial revision
+
+1996-06-25 21:58 millert
+
+ * configure.in: ++version
+
+1996-06-25 19:32 millert
+
+ * sudo.c: now set uid to 1 instead of nobody for PERM_SUDOERS since
+ nobody is not always set to a valid uid.
+
+1996-06-25 19:31 millert
+
+ * OPTIONS: fixed entry for SUDO_MODE
+
+1996-06-25 18:02 millert
+
+ * sudo.c: Fixed NFS-mounted sudoers file under solaris both uid
+ *and* gid were being set to -2. Now beat NFS to the punch and
+ set uid to "nobody" ourselves, preserving group 0 to read
+ sudoers.
+
+1996-06-25 18:02 millert
+
+ * parse.c: moved set_perms(PERM_ROOT) to be before yyparse()
+
+1996-06-25 18:00 millert
+
+ * logging.c: fixed a typo
+
+1996-06-25 18:00 millert
+
+ * configure.in: no longer need AC_PROG_INSTALL
+
+1996-06-25 17:59 millert
+
+ * Makefile.in: always use install-sh to avoid install(1)'s that use
+ get{pw,gr}nam
+
+1996-06-25 16:07 millert
+
+ * INSTALL: make clean -> make distclean
+
+1996-06-20 01:17 millert
+
+ * parse.yacc: removed some unnecsary if's
+
+1996-06-20 01:16 millert
+
+ * Makefile.in, version.h: ++version
+
+1996-06-20 01:16 millert
+
+ * parse.c, testsudoers.c: now includes netgroup.h
+
+1996-06-20 00:45 millert
+
+ * interfaces.c: removed cats of ioctl to int since they didn't shut
+ up -Wall
+
+1996-06-20 00:43 millert
+
+ * interfaces.c: explicately cast ioctl() to int since it it not
+ always declared
+
+1996-06-20 00:41 millert
+
+ * sudo.h: added declarations for yyparse() and yylex()
+
+1996-06-20 00:27 millert
+
+ * parse.yacc: fixed an occurence of '==' -> '='
+
+1996-06-20 00:22 millert
+
+ * config.h.in, configure.in: added check for netgroup.h
+
+1996-06-20 00:20 millert
+
+ * sudo.c: fixed 2 compiler warnings
+
+1996-06-20 00:08 millert
+
+ * sudo.c: SHELL_IF_NO_ARGS caused core dump since NewArg[cv]
+ weren't being initialized
+
+1996-06-19 13:53 millert
+
+ * sudo.pod: fixed a typo
+
+1996-06-17 12:19 millert
+
+ * parse.yacc: fixed a formatting thingie
+
+1996-06-17 12:16 millert
+
+ * parse.c, parse.yacc: fixed -u support with multiple user lists on
+ a line
+
+1996-06-17 10:23 millert
+
+ * configure.in: unixware needs -lgen
+
+1996-06-17 10:23 millert
+
+ * README: updated ftp location
+
+1996-06-17 00:08 millert
+
+ * sudoers.pod: add net_addr/netmask support
+
+1996-06-17 00:07 millert
+
+ * sample.sudoers: added net_addr/mask example
+
+1996-06-17 00:02 millert
+
+ * parse.lex, parse.c: added support for net_addr/netmask
+
+1996-06-15 20:13 millert
+
+ * sudoers.pod: ^ -> !
+
+1996-06-15 18:12 millert
+
+ * RUNSON: updated for 1.4.3
+
+1996-06-15 18:12 millert
+
+ * CHANGES: udpated for 1.4.3
+
+1996-06-15 18:11 millert
+
+ * TROUBLESHOOTING, TODO, BUGS: updated
+
+1996-06-15 18:11 millert
+
+ * sample.sudoers: updated with examples of new stuff
+
+1996-06-15 18:10 millert
+
+ * INSTALL, README: ++version
+
+1996-06-15 18:01 millert
+
+ * sudoers.pod: updated wrt -u and NOPASSWD
+
+1996-06-15 17:58 millert
+
+ * sudo.pod: updated wrt -u and CAVEATS
+
+1996-06-08 23:15 millert
+
+ * sudo.c: fixed usage()
+
+1996-06-08 22:57 millert
+
+ * parse.lex: now use :foo: character classes (makes no diff for
+ generated lexer)
+
+1996-06-07 14:33 millert
+
+ * check.c: fixed LONG_SKEY_PROMPT stuff
+
+1996-06-06 15:35 millert
+
+ * visudo.c: fixed a comment
+
+1996-06-06 15:03 millert
+
+ * lsearch.c: make more like NetBSD one -- now compiles w/o warnings
+
+1996-06-06 15:02 millert
+
+ * emul/search.h: fixed decls of lsearch()
+
+1996-06-05 22:20 millert
+
+ * config.h.in, configure.in, getspwuid.c: added SPW_HPUX10
+
+1996-06-05 22:20 millert
+
+ * check.c: hpux 10 uses bigcrypt() if C2
+
+1996-06-04 19:57 millert
+
+ * parse.c: now always uses fnmatch to match args
+
+1996-06-04 19:40 millert
+
+ * tgetpass.c: back to using stdio instead of raw i/o since that
+ caused some problems
+
+1996-05-28 22:14 millert
+
+ * sudo.c: now give usage warning if use -l,-v,-k with args
+
+1996-05-28 18:22 millert
+
+ * sudo.c: NewArgc is now set to 1 for -l, -v, -k
+
+1996-05-28 12:50 millert
+
+ * sudo.c: now sets sudoers to correct group if mode is 0400
+
+1996-05-28 12:02 millert
+
+ * install-sh: updated to version used by inn and bind
+
+1996-05-28 00:08 millert
+
+ * configure.in: now uses -lgnumalloc if it exists
+
+1996-05-28 00:02 millert
+
+ * Makefile.in: "make install" now sets uid/gid and mode on sudoers
+ if it exists
+
+1996-05-28 00:01 millert
+
+ * sudo.c: rmeoved debugging statements
+
+1996-05-28 00:00 millert
+
+ * parse.yacc: added a missing free()
+
+1996-05-27 23:58 millert
+
+ * sudo.c: now uses user_gid instead of getegid (which was wrong
+ anyway) to set SUDO_GID Now sets command line args in
+ SUDO_COMMAND envariabled (logging.c depends on args being in the
+ environment)
+
+1996-05-27 23:57 millert
+
+ * logging.c: now uses SUDO_COMMAND envariable to get command args
+ rather than building it up again.
+
+1996-05-27 22:42 millert
+
+ * parse.c: now uses user_gid
+
+1996-05-27 20:02 millert
+
+ * sudo.c: fixed off by one error in allocation NewArgv
+
+1996-05-27 20:01 millert
+
+ * parse.c: in sudoers, 'command ""' now means command with no args
+
+1996-05-27 20:01 millert
+
+ * configure.in: added check for fnmatch(3) and fnmatch.h
+
+1996-05-27 20:01 millert
+
+ * config.h.in: added HAVE_FNMATCH
+
+1996-05-27 20:00 millert
+
+ * Makefile.in: replaced wildcat.* with fnmatch.*
+
+1996-05-27 20:00 millert
+
+ * testsudoers.c: now uses fnmatch()
+
+1996-05-27 19:38 millert
+
+ * parse.c: now uses fnmatch() instead of wildmat a trailing star
+ (*) by itself now matches multiple args added support for
+ wildcards in the pathname in sudoers
+
+1996-05-25 19:23 millert
+
+ * fnmatch.c: now includes compat.h and config.h
+
+1996-05-25 18:09 millert
+
+ * config.h.in: added HAVE_FNMATCH_H
+
+1996-05-25 18:07 millert
+
+ * configure.in: now checks for alloca() (if needed by bison or dce)
+ and links with -lPW if it contains alloca() and libv and compiler
+ do not.
+
+1996-05-25 18:03 millert
+
+ * fnmatch.3, fnmatch.c, emul/fnmatch.h: Initial revision
+
+1996-04-28 22:38 millert
+
+ * sudo.c: now fixes mode on sudoers if set to 0400 to aid in
+ upgrade
+
+1996-04-28 17:44 millert
+
+ * Makefile.in: fixed pod2man usage
+
+1996-04-28 17:40 millert
+
+ * configure.in, Makefile.in, version.h: ++version
+
+1996-04-28 17:20 millert
+
+ * testsudoers.c, visudo.c: runas_user is now initialized to "root"
+
+1996-04-28 17:20 millert
+
+ * sudo.h: removed PERM_FULL_ROOT
+
+1996-04-28 17:18 millert
+
+ * sudo.c: runas_user defaults to "root" so no more need to
+ PERM_RUNAS
+
+1996-04-28 17:16 millert
+
+ * parse.c: will now only running commands as root if there was no
+ runas list (or if root is in the runas list)
+
+1996-04-28 17:15 millert
+
+ * logging.c: now logs "USER=%s"
+
+1996-04-28 17:12 millert
+
+ * parse.yacc: runas_matches is now set to false if we get a
+ negative match
+
+1996-04-28 15:01 millert
+
+ * parse.lex: make #uid work + some minor cleanup
+
+1996-04-27 21:04 millert
+
+ * sample.sudoers: added support for NOPASSWD and "runas" from
+ garp@opustel.com /
+
+1996-04-27 21:03 millert
+
+ * visudo.c: added support for "runas" from garp@opustel.com
+ replaced SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added
+ support for SUDOERS_MODE
+
+1996-04-27 21:03 millert
+
+ * testsudoers.c: added support for "runas" from garp@opustel.com
+
+1996-04-27 21:02 millert
+
+ * sudo.h: added support for NO_PASSWD and runas from
+ garp@opustel.com replaced SUDOERS_OWNER with SUDOERS_UID and
+ SUDOERS_GID and added support fro SUDOERS_MODE
+
+1996-04-27 21:00 millert
+
+ * sudo.c: added support for NO_PASSWD and runas from
+ garp@opustel.com replaced SUDOERS_OWNER with SUDOERS_UID and
+ SUDOERS_GID and added support fro SUDOERS_MODE
+
+1996-04-27 21:00 millert
+
+ * parse.yacc: added support for NO_PASSWD and runas from
+ garp@opustel.com
+
+1996-04-27 20:58 millert
+
+ * parse.c, parse.lex: added support for NO_PASSWD and runas from
+ garp@opustel.com
+
+1996-04-27 20:56 millert
+
+ * logging.c: added support for SUDOERS_WRONG_MODE and "runas"
+
+1996-04-27 20:40 millert
+
+ * configure.in: added --with-CC only link with -lshadow on linux
+ (with shadow pw) if libc lacks getspnam()
+
+1996-04-27 20:39 millert
+
+ * OPTIONS, options.h: removed NO_PASSWD since it is not possible to
+ do this in the sudoers file itself. Replaced SUDOERS_OWNER with
+ SUDOERS_UID and SUDOERS_GID. Added SUDOERS_MODE.
+
+1996-04-27 20:26 millert
+
+ * Makefile.in: now uses SUDOERS_UID and SUDOERS_GID
+
+1996-04-27 11:20 millert
+
+ * INSTALL: added --with-CC
+
+1996-04-06 16:31 millert
+
+ * parse.lex: added double quote support
+
+1996-04-06 16:29 millert
+
+ * sudoers.pod: documented double quoting
+
+1996-04-05 16:53 millert
+
+ * mkinstalldirs: Initial revision
+
+1996-04-05 16:53 millert
+
+ * check.c: fixed some indentation
+
+1996-04-05 16:48 millert
+
+ * Makefile.in: fixed a typo
+
+1996-04-04 19:39 millert
+
+ * Makefile.in: added install-dirs .
+
+1996-04-04 14:16 millert
+
+ * dce_pwent.c: new version from "Jeff A. Earickson"
+ <jaearick@colby.edu>
+
+1996-04-03 13:40 millert
+
+ * configure.in: $CSOPS -> $with_csops (whoops, missed one)
+
+1996-04-03 13:40 millert
+
+ * BUGS: updated
+
+1996-04-03 13:36 millert
+
+ * parse.lex: FQHOST now has same constraints as non-FQHOST
+
+1996-04-02 19:00 millert
+
+ * INSTALL: added note about OS's w/ shadow passwords turned on by
+ default
+
+1996-04-02 18:58 millert
+
+ * configure.in: fixed a typo
+
+1996-04-02 18:48 millert
+
+ * configure.in: added support for --without-THING sanitized shadow
+ pw situtation by adding support for --without-C2
+
+1996-04-02 16:42 millert
+
+ * tgetpass.c: fixed a typo wrt placement of an end paren
+
+1996-04-02 14:57 millert
+
+ * check.c: was closing an fd that may not have been opened
+
+1996-03-21 19:55 millert
+
+ * sudo.c, OPTIONS, options.h: added NO_PASSWD
+
+1996-03-19 19:40 millert
+
+ * configure.in: now always use shadow pw on some arches
+
+1996-03-19 17:07 millert
+
+ * configure.in: added pyramid support
+
+1996-03-19 17:04 millert
+
+ * configure.in: no longer check for C2 if alternate passwd method
+ is used no longer check for some libs twice
+
+1996-03-19 17:00 millert
+
+ * parse.yacc: moved fqdn stuff into parse.lex (FQHOST)
+
+1996-03-19 17:00 millert
+
+ * parse.lex: added FQHOST rules
+
+1996-03-18 20:57 millert
+
+ * tgetpass.c: now define TCSASOFT in necesary
+
+1996-03-18 20:31 millert
+
+ * tgetpass.c: now uses read/write instead of stdio string goop to
+ avoid problems with select(2)
+
+1996-03-18 19:37 millert
+
+ * OPTIONS, find_path.c, options.h: -DNO_DOT_PATH ->
+ -DIGNORE_DOT_PATH
+
+1996-03-17 16:18 millert
+
+ * INSTALL: added note about no shadow auto-detect if using
+ alternate auth schemes
+
+1996-03-17 15:33 millert
+
+ * configure.in: don't check for C2 if AFS or DCE (unless they said
+ --with-C2)
+
+1996-03-17 15:08 millert
+
+ * testsudoers.c: now groks shost
+
+1996-03-17 15:01 millert
+
+ * options.h, OPTIONS, find_path.c: added NO_DOT_PATH
+
+1996-03-16 14:43 millert
+
+ * find_path.c: checkdot now works correctly
+
+1996-03-12 18:01 millert
+
+ * configure.in: can't have DCE and C2 passwords both...
+
+1996-03-11 14:05 millert
+
+ * parse.yacc, sudo.c, sudo.h, visudo.c: now uses shost even if not
+ FQDN
+
+1996-03-11 14:04 millert
+
+ * configure.in: now looks for skey in /usr/lib and doesn't require
+ libskey to be in /usr/local/lib just because skey.h is (for my
+ netbsd box :-)
+
+1996-03-11 02:00 millert
+
+ * aclocal.m4, config.h.in, pathnames.h.in: _SUDO_PATH_ ->
+ _CONFIG_PATH_
+
+1996-03-10 21:01 millert
+
+ * aclocal.m4, sudo.pod: /var/run/.odus -> /var/run/sudo
+
+1996-03-10 20:59 millert
+
+ * pathnames.h.in: now uses _SUDO_PATH_TIMEDIR
+
+1996-03-10 20:59 millert
+
+ * OPTIONS: udpated FQDN
+
+1996-03-10 20:58 millert
+
+ * config.h.in: added _SUDO_PATH_TIMEDIR
+
+1996-03-10 20:58 millert
+
+ * aclocal.m4, configure.in: added SUDO_TIMEDIR
+
+1996-03-10 20:58 millert
+
+ * sudo.pod: updated wrt /var/run/sudo
+
+1996-03-10 20:16 millert
+
+ * sudo.c, sudo.h: added support for shost if FQDN
+
+1996-03-10 20:14 millert
+
+ * parse.yacc, visudo.c: now uses shost if FQDN
+
+1996-03-10 20:12 millert
+
+ * check.c: Now use skeylookup() instead off skeychallenge()
+
+1996-02-27 20:41 millert
+
+ * logging.c: mail_argv should not contain ALERTMAIL as it includes
+ "-t"
+
+1996-02-22 17:06 millert
+
+ * INSTALL, Makefile.in, README, version.h, configure.in: ++version
+
+1996-02-22 16:27 millert
+
+ * compat.h: added more _PASSWD_LEN stuff -- now uses PASS_MAX too
+
+1996-02-22 16:27 millert
+
+ * tgetpass.c: now includes limits.h moved _PASSWD_LEN -> compat.h
+
+1996-02-05 19:20 millert
+
+ * README, INSTALL: ++version
+
+1996-02-05 19:20 millert
+
+ * Makefile.in: ++versoin
+
+1996-02-05 19:16 millert
+
+ * Makefile.in: fixed a typo
+
+1996-02-05 19:16 millert
+
+ * configure.in: ++version
+
+1996-02-05 18:53 millert
+
+ * RUNSON: updated
+
+1996-02-05 18:47 millert
+
+ * CHANGES: done for 1.4.1 (I hope)
+
+1996-02-05 18:45 millert
+
+ * sudoers.pod: added info on wildcards
+
+1996-02-05 18:39 millert
+
+ * sample.sudoers: added wildcard example
+
+1996-02-05 17:03 millert
+
+ * Makefile.in: now uses *.pod to build *.man and *.cat & *.html
+
+1996-02-05 17:03 millert
+
+ * configure.in: addedSUDO_PROG_BSHELL !ll
+
+1996-02-05 16:10 millert
+
+ * visudo.pod: fixed up some formatting
+
+1996-02-05 16:10 millert
+
+ * sudoers.pod: redid section describing sample sudoers stuff
+
+1996-02-05 16:10 millert
+
+ * sudo.pod: fixed some formatting
+
+1996-02-04 22:50 millert
+
+ * getspwuid.c: now treats "" as bourne shell
+
+1996-02-04 22:49 millert
+
+ * Makefile.in: TESTOBJS nwo includes wildmat.o
+
+1996-02-04 22:48 millert
+
+ * testsudoers.c: now works with NewArg[cv]
+
+1996-02-04 21:59 millert
+
+ * sudo.c: removed an XXX (fixed it in getspwuid.c)
+
+1996-02-04 21:58 millert
+
+ * aclocal.m4: added check for bourne shell
+
+1996-02-04 21:58 millert
+
+ * pathnames.h.in: added _PATH_BSHELL
+
+1996-02-04 21:58 millert
+
+ * config.h.in: added _SUDO_PATH_BSHELL
+
+1996-02-04 16:36 millert
+
+ * visudo.c: unixware vi returns 256 instead of 0
+
+1996-02-04 16:24 millert
+
+ * INSTALL: added Linux note
+
+1996-02-04 16:13 millert
+
+ * logging.c: fixed up some XXX's. file log format now looks a
+ little more like real syslog(3) format.
+
+1996-02-04 16:13 millert
+
+ * README, TROUBLESHOOTING: updated wrt lex/flex
+
+1996-02-04 16:11 millert
+
+ * Makefile.in: commented out rule to build lex.yy.c from parse.lex
+ since we ship with a pre-flex'd parser
+
+1996-02-04 16:09 millert
+
+ * parse.c, parse.yacc, visudo.c: path_matches -> command_matches
+
+1996-02-04 02:28 millert
+
+ * logging.c: eliminated some strcat()'s
+
+1996-02-04 02:10 millert
+
+ * configure.in: no longer checks for lex/flex (now assumes flex)
+
+1996-02-04 02:08 millert
+
+ * configure.in: now checks for $kerb_dir_candidate/krb.h instead of
+ just kerb_dir_candidate
+
+1996-02-02 20:48 millert
+
+ * parse.yacc: now use a 'hook' expression instead of an iffy one
+ :-)
+
+1996-02-02 01:14 millert
+
+ * visudo.c: now works with new sudo arg stuff
+
+1996-02-02 01:14 millert
+
+ * parse.yacc: fixed dereferencing deadbeef
+
+1996-02-01 23:53 millert
+
+ * sudo.c: changed an occurrence of Argv to NewArgv
+
+1996-02-01 23:53 millert
+
+ * parse.lex: took out support for quoted commands since there is no
+ need...
+
+1996-02-01 23:52 millert
+
+ * parse.c: fixed a typo in a for() loop
+
+1996-02-01 23:52 millert
+
+ * logging.c: protected against dereferencing rogue pointers
+
+1996-02-01 22:34 millert
+
+ * sudo.c: now uses NewArgv amd NewArgc so cmnd_aegs is no longer
+ needed this also allows us to eliminate some kludges in
+ parse_args() and eliminate superfluous code.
+
+1996-02-01 22:34 millert
+
+ * logging.c: no longer uses cmnd_args, now uses NewArgv instead.
+
+1996-02-01 22:32 millert
+
+ * sudo.h: added struct sudo_command, NewArgc, and NewArgv removed
+ cmnd_args (no longer used)
+
+1996-02-01 22:31 millert
+
+ * Makefile.in: added wildmat.c to SRCS & SUDOBJS
+
+1996-02-01 22:30 millert
+
+ * parse.yacc: COMMAND is now a struct containing the path and args
+
+1996-02-01 22:30 millert
+
+ * parse.lex: replaced append() with fill_cmnd() and fill_args.
+ command args from a sudoers entry are now stored in an arrary for
+ easy matching.
+
+1996-02-01 22:28 millert
+
+ * parse.c: command line args from sudoers file are now in an array
+ like ones passed in from the command line
+
+1996-01-31 20:59 millert
+
+ * parse.c: wildwat stuff now works
+
+1996-01-29 00:44 millert
+
+ * version.h: ++version
+
+1996-01-29 00:44 millert
+
+ * Makefile.in: ++version added wildmat.*
+
+1996-01-28 17:55 millert
+
+ * parse.lex: added support for quoted commands (w/ or w/o args)
+
+1996-01-22 01:55 millert
+
+ * sudo.pod, visudo.pod: cleaned up formatting
+
+1996-01-21 20:53 millert
+
+ * sudo.pod, visudo.pod: Initial revision
+
+1996-01-21 02:07 millert
+
+ * sudoers.pod: looks reasonable, could be mroe readable
+
+1996-01-20 23:47 millert
+
+ * sudoers.pod: Initial revision
+
+1996-01-16 14:38 millert
+
+ * RUNSON: updated
+
+1996-01-16 14:37 millert
+
+ * OPTIONS: updated NO_ROOT_SUDO entry
+
+1996-01-15 11:37 millert
+
+ * RUNSON: [no log message]
+
+1996-01-15 11:34 millert
+
+ * sudo.c: fixed SECURE_PATH
+
+1996-01-14 20:55 millert
+
+ * RUNSON: udpa`ted for 1.4
+
+1996-01-14 20:52 millert
+
+ * configure.in: AIX aixcrypt.exp now uses $(srcdir)
+
+1996-01-14 20:32 millert
+
+ * TROUBLESHOOTING: added entry for anal ansi compilers
+
+1996-01-14 16:13 millert
+
+ * INSTALL: added info on libcrypt_i for SCO
+
+1996-01-14 16:05 millert
+
+ * TODO: [no log message]
+
+1996-01-14 15:39 millert
+
+ * sample.sudoers: added comments
+
+1996-01-14 15:25 millert
+
+ * TODO: 1.4 release
+
+1996-01-14 15:22 millert
+
+ * README, config.h.in, configure.in, CHANGES: ++version
+
+1996-01-14 15:21 millert
+
+ * BUGS: ++version and fixed ISC
+
+1996-01-14 15:19 millert
+
+ * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c,
+ getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
+ ins_goons.h, insults.h, options.h, pathnames.h.in, sudo.h,
+ logging.c, putenv.c, strdup.c, sudo.c, sudo_setenv.c,
+ testsudoers.c, tgetpass.c, utime.c, visudo.c, INSTALL, OPTIONS:
+ ++version
+
+1996-01-14 15:16 millert
+
+ * interfaces.c: added STUB_LOAD_INTERFACES ++version
+
+1996-01-14 15:14 millert
+
+ * Makefile.in, version.h, parse.c, parse.lex, parse.yacc,
+ emul/utime.h: ++version
+
+1996-01-14 15:13 millert
+
+ * PORTING: added info about fd_set in tgetpass added info on
+ interfaces.c
+
+1996-01-11 13:22 millert
+
+ * dce_pwent.c: added sudo header
+
+1996-01-11 13:04 millert
+
+ * tgetpass.c: fixed a typo
+
+1996-01-11 13:01 millert
+
+ * Makefile.in: tgetpass.o is now only linked in with sudo (not
+ visudo)
+
+1996-01-09 12:56 millert
+
+ * BUGS, INSTALL, OPTIONS, README, Makefile.in, config.h.in,
+ configure.in: ++version
+
+1996-01-09 12:54 millert
+
+ * emul/utime.h: added copyright notice
+
+1996-01-09 12:52 millert
+
+ * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
+ ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
+ interfaces.c, logging.c, options.h, parse.c, parse.lex,
+ parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
+ sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
+ visudo.c: ++version
+
+1996-01-09 12:46 millert
+
+ * tgetpass.c: minor cleanup and now includes sys/bsdtypes for
+ svr4'ish boxen
+
+1996-01-09 12:42 millert
+
+ * configure.in: ISC now gets -lcrypt now check for sys/bsdtypes.h
+
+1996-01-09 12:41 millert
+
+ * config.h.in: added check for sys/bsdtypes.h
+
+1996-01-07 16:00 millert
+
+ * parse.yacc: removed debugging stuff (setting freed ptr to NULL)
+
+1996-01-07 15:55 millert
+
+ * TROUBLESHOOTING: added 2 entries
+
+1996-01-07 15:55 millert
+
+ * Makefile.in: added FAQ
+
+1996-01-07 14:26 millert
+
+ * TROUBLESHOOTING: added section on syslog
+
+1996-01-07 14:25 millert
+
+ * configure.in: added AC_ISC_POSIX for better ISC support
+
+1996-01-07 14:25 millert
+
+ * config.h.in: fixed typo
+
+1996-01-07 14:25 millert
+
+ * config.h.in: added define for _POSIX_SOURCE
+
+1996-01-04 00:41 millert
+
+ * configure.in: fixed check for lsearch()
+
+1995-12-21 21:53 millert
+
+ * interfaces.c: fixed for AIX now deal if num_interfaces == 0
+ (should not happen)
+
+1995-12-20 17:02 millert
+
+ * configure.in: now only define HAVE_LSEARCH if there is a
+ corresponding search.h
+
+1995-12-20 15:52 millert
+
+ * interfaces.c: works on ISC again
+
+1995-12-18 17:36 millert
+
+ * configure.in: now define HAVE_LSEARCH if we find lsearch() in
+ libcompat
+
+1995-12-18 17:32 millert
+
+ * lsearch.c: char * -> const char *
+
+1995-12-18 17:29 millert
+
+ * configure.in: now looks in -lcompat for lsearch()
+
+1995-12-18 17:23 millert
+
+ * Makefile.in: remove sudo.core visudo.core for clan target
+
+1995-12-17 22:53 millert
+
+ * aclocal.m4: added UID_MAX support in check for MAX_UID_T_LEN
+
+1995-12-17 22:36 millert
+
+ * Makefile.in: fixed another occurence of sudo_getpwuid.*
+
+1995-12-17 22:30 millert
+
+ * getspwuid.c, Makefile.in: sudo_getpwuid.c -> getspwuid.c
+
+1995-12-17 22:22 millert
+
+ * configure.in: moved the "echo"
+
+1995-12-17 22:09 millert
+
+ * CHANGES, BUGS, INSTALL, Makefile.in, OPTIONS, README, check.c,
+ compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
+ getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
+ ins_goons.h, insults.h, interfaces.c, logging.c, options.h,
+ parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
+ strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c,
+ tgetpass.c, utime.c, version.h, visudo.c: ++version
+
+1995-12-17 22:04 millert
+
+ * testsudoers.c: added group support
+
+1995-12-17 22:00 millert
+
+ * sample.sudoers: added group entry
+
+1995-12-17 21:59 millert
+
+ * sudoers.man: documented group support
+
+1995-12-17 21:50 millert
+
+ * parse.c, parse.lex, visudo.c, parse.yacc: added group support
+
+1995-12-15 17:45 millert
+
+ * check.c: tkfile was too short and overflowed the kerberos realm
+
+1995-12-11 17:09 millert
+
+ * sudo.c: now copy command args directly from Argv
+
+1995-12-11 15:55 millert
+
+ * sudo.c: replaced code to copy cmnd_args so that is does not use
+ realloc since most realloc()'s really stink
+
+1995-12-08 14:11 millert
+
+ * configure.in: syslog() fixed in hpux 10.01
+
+1995-12-06 17:45 millert
+
+ * configure.in: AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS
+ if appropriate)
+
+1995-12-06 17:30 millert
+
+ * configure.in: better error if cannot find skey incs or libs
+
+1995-12-06 17:26 millert
+
+ * aclocal.m4: now use a temp file for determining max len of uid_t
+ in string form. the old hacky way broke on netbsd
+
+1995-12-05 19:02 millert
+
+ * sudo.c: added set of parens and a space
+
+1995-12-05 18:58 millert
+
+ * dce_pwent.c: fixes from Jeff Earickson <jaearick@colby.edu> ,
+
+1995-12-05 18:58 millert
+
+ * check.c: modified a comment
+
+1995-12-05 18:57 millert
+
+ * Makefile.in: fixed up testsudoers target
+
+1995-12-05 18:56 millert
+
+ * configure.in: DCE changes from Jeff Earickson
+ <jaearick@colby.edu> LIBS -> SUDO_LIBS and VISUDO_LIBS LDFLAGS ->
+ SUDO_FDFLAGS and VISUDO_LDFLAGS
+
+1995-12-05 18:17 millert
+
+ * Makefile.in: LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS ->
+ SUDO_LDFLAGS, VISUDO_LDFLAGS
+
+1995-11-27 23:32 millert
+
+ * configure.in: fix for C2 on hpux 10 now uses -linet if it exists
+
+1995-11-27 23:17 millert
+
+ * check.c: LONG_SKEY_PROMPT is less of a klusge /
+
+1995-11-27 23:17 millert
+
+ * configure.in: fixed typos w/ dce stuff
+
+1995-11-27 23:14 millert
+
+ * Makefile.in: added dce_pwent.c
+
+1995-11-26 13:48 millert
+
+ * INSTALL: amended section on combining authentication mechanisms
+
+1995-11-26 13:48 millert
+
+ * PORTING: minor updates for 1.3.6
+
+1995-11-26 13:47 millert
+
+ * TROUBLESHOOTING: added 2 more entries
+
+1995-11-26 13:39 millert
+
+ * BUGS: updated for 1.3.6
+
+1995-11-26 13:39 millert
+
+ * README: overhauled
+
+1995-11-25 21:23 millert
+
+ * INSTALL: rewrote for sudo 1.3.6
+
+1995-11-25 21:23 millert
+
+ * TROUBLESHOOTING: added 3 entries
+
+1995-11-25 13:53 millert
+
+ * find_path.c, getspwuid.c, sudo.c: added explict casts for strdup
+ since many includes don't prototype it. gag me.
+
+1995-11-25 13:23 millert
+
+ * sudo.h: removed prototype for sudo_getpwuid() since convex C
+ compiler choked on it.
+
+1995-11-25 13:23 millert
+
+ * sudo.c: added prototype for sudo_getpwuid()
+
+1995-11-25 13:23 millert
+
+ * lsearch.c: now compiles on strict ANSI compilers
+
+1995-11-24 23:56 millert
+
+ * check.c: added LONG_SKEY_PROMPT support
+
+1995-11-24 23:55 millert
+
+ * Makefile.in: added extra $'s for make to eat up, yum.
+
+1995-11-24 23:38 millert
+
+ * OPTIONS, options.h: added LONG_SKEY_PROMPT
+
+1995-11-24 18:48 millert
+
+ * check.c: s/key support now works with normal s/key as well as
+ logdaemon
+
+1995-11-24 18:46 millert
+
+ * options.h, OPTIONS: added SKEY_ONLY
+
+1995-11-24 18:46 millert
+
+ * compat.h: set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
+
+1995-11-24 00:42 millert
+
+ * INSTALL: added DCE note added more AIX notes
+
+1995-11-24 00:39 millert
+
+ * sudo.c: now include pthread.h for DCE support
+
+1995-11-23 22:22 millert
+
+ * check.c: dce_pwent() is ok after all .,
+
+1995-11-23 22:21 millert
+
+ * logging.c: now uses SYSLOG() macro that equates to either
+ syslog() or syslog_wrapper
+
+1995-11-23 21:44 millert
+
+ * dce_pwent.c: minor formatting changes. renamed check() to
+ somthing less generic
+
+1995-11-23 21:27 millert
+
+ * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
+ visudo.c: now uses user_pw_ent and simple macros to get at the
+ contents
+
+1995-11-22 20:35 millert
+
+ * check.c: simpler dec unix C2 support
+
+1995-11-22 20:35 millert
+
+ * getspwuid.c: now sets crypt_type for DEC unix C2
+
+1995-11-21 18:00 millert
+
+ * configure.in: added csops paths for skey
+
+1995-11-21 16:27 millert
+
+ * getspwuid.c: now includes string.h for strdup() prototype
+
+1995-11-21 01:47 millert
+
+ * getspwuid.c: fixed a few typos
+
+1995-11-20 22:59 millert
+
+ * check.c: now includes skey.h
+
+1995-11-20 22:10 millert
+
+ * getspwuid.c: fixed up comments
+
+1995-11-20 22:04 millert
+
+ * check.c: moved a lot of the shadow passwd crap to sudo_getpwuid()
+
+1995-11-20 22:01 millert
+
+ * sudo.c: now uses sudo_pw_ent
+
+1995-11-20 21:50 millert
+
+ * testsudoers.c: now uses sudo_pw_ent
+
+1995-11-20 21:40 millert
+
+ * visudo.c: now sets sudo_pw_ent
+
+1995-11-20 21:28 millert
+
+ * getspwuid.c: Initial revision
+
+1995-11-20 21:28 millert
+
+ * tgetpass.c: moved dce stuff into compat.h
+
+1995-11-20 21:27 millert
+
+ * sudo.h, logging.c: now uses sudo_pw_ent
+
+1995-11-20 21:27 millert
+
+ * Makefile.in: added sudo_getpwuid.c
+
+1995-11-20 21:25 millert
+
+ * compat.h: added dce support
+
+1995-11-20 21:13 millert
+
+ * parse.yacc: now uses sudo_pw_ent
+
+1995-11-20 14:40 millert
+
+ * check.c: fixed exempt_group stuff for OS's that don't put base
+ gid in group vector
+
+1995-11-20 01:39 millert
+
+ * check.c: S/Key support now works with sunos4 shadow passwords
+
+1995-11-19 22:31 millert
+
+ * Makefile.in: fixed clean rule
+
+1995-11-19 22:31 millert
+
+ * config.h.in, configure.in: added DCE support
+
+1995-11-19 22:30 millert
+
+ * tgetpass.c: DCE & KERB support
+
+1995-11-19 22:30 millert
+
+ * check.c: first stab at dce support
+
+1995-11-19 22:24 millert
+
+ * dce_pwent.c: now smells like sudo
+
+1995-11-19 22:11 millert
+
+ * dce_pwent.c: Initial revision
+
+1995-11-19 21:36 millert
+
+ * check.c: skey'd sudo now works w/ normal password as well
+
+1995-11-19 18:37 millert
+
+ * Makefile.in, OPTIONS, check.c, compat.h, config.h.in,
+ find_path.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
+ ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
+ options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in,
+ putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c,
+ tgetpass.c, utime.c, version.h, visudo.c: updated version number
+
+1995-11-19 18:32 millert
+
+ * README: updated to reflect version change
+
+1995-11-19 18:27 millert
+
+ * configure.in: --with options now line up ++version
+
+1995-11-19 18:26 millert
+
+ * sudo.h: removed unecesary S/Key stuff
+
+1995-11-19 18:25 millert
+
+ * configure.in: fixed S/Key support
+
+1995-11-19 18:24 millert
+
+ * Makefile.in: -I stuff now goes in CPPFLAGS
+
+1995-11-19 18:23 millert
+
+ * check.c: fixed SKey support
+
+1995-11-19 15:23 millert
+
+ * README: updated version
+
+1995-11-19 13:59 millert
+
+ * OPTIONS: fixed description of EXEMPTGROUP
+
+1995-11-19 10:47 millert
+
+ * sudo.c: more people use _RLD_ than just alphas...
+
+1995-11-18 21:35 millert
+
+ * Makefile.in: replaced $man_prefix with $mandir
+
+1995-11-18 21:30 millert
+
+ * configure.in: fixed a typo
+
+1995-11-18 21:28 millert
+
+ * Makefile.in: now use more GNU'ish dir names
+
+1995-11-18 21:27 millert
+
+ * configure.in: now set *dir correctly (can override from command
+ line)
+
+1995-11-18 19:17 millert
+
+ * sudo.c: now deal with situations where we getwd() fails
+
+1995-11-17 00:37 millert
+
+ * Makefile.in: added etc_dir, bin_dir, sbin_dir
+
+1995-11-17 00:37 millert
+
+ * configure.in: added sbin_dir
+
+1995-11-16 21:28 millert
+
+ * Makefile.in: now ship a flex-generated lex.yy.c
+
+1995-11-16 21:09 millert
+
+ * Makefile.in: now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP,
+ SUDOERS_OWNER
+
+1995-11-16 21:06 millert
+
+ * pathnames.h.in: _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now
+ overridden via Makefile
+
+1995-11-16 21:05 millert
+
+ * options.h: no more error for redefining SUDOERS_OWNER
+
+1995-11-16 21:05 millert
+
+ * OPTIONS: expanded SUDOERS_OWNER section
+
+1995-11-16 03:05 millert
+
+ * visudo.c: now warn if chown(2) failed
+
+1995-11-16 02:55 millert
+
+ * logging.c: better default warning for NO_SUDOERS_FILE
+
+1995-11-16 02:54 millert
+
+ * sudo.c: added missing set_perms() no more cryptic message if the
+ sudoers file is zero length, now just give a parse error
+
+1995-11-16 02:42 millert
+
+ * logging.c: better diagnostics if NO_SUDOERS_FILE
+
+1995-11-16 02:41 millert
+
+ * sudo.c: check_sudoers() now catches sudoers files that are not
+ readable (but are stat'able).
+
+1995-11-13 01:12 millert
+
+ * configure.in: now add -D__STDC__ for convex cc (not gcc)
+
+1995-11-13 00:52 millert
+
+ * configure.in: MAN_PREFIX -> man_prefix now sets prefix and
+ exec_prefix
+
+1995-11-13 00:52 millert
+
+ * Makefile.in: now uses exec_prefix & prefix from configure
+
+1995-11-13 00:16 millert
+
+ * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c,
+ parse.c, parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c,
+ tgetpass.c, utime.c, visudo.c: options.h is now <> instead of ""
+ so shadow build trees can have a custom copy of options.h
+
+1995-11-13 00:15 millert
+
+ * check.c: user_is_exempt() is no longer a hack, it now uses
+ getgrnam()
+
+1995-11-12 23:56 millert
+
+ * options.h: EXEMPTGROUP is now "sudo"
+
+1995-11-12 22:25 millert
+
+ * configure.in: MAN_POSTINSTALL now contains a leading space
+
+1995-11-12 22:25 millert
+
+ * Makefile.in: removed leading tab if @MAN_POSTINSTALL@ not defined
+ now removes testsudoers in clean:
+
+1995-11-12 22:24 millert
+
+ * tgetpass.c: includes pwd.h to get _PASSWD_LEN definition
+
+1995-10-30 15:51 millert
+
+ * sudo.c: unset the KRB_CONF envariable if using kerberos so we
+ don't get spoofed into using a bogus server
+
+1995-09-29 17:50 millert
+
+ * parse.yacc: now explicately initialize match[] tp be FALSE
+
+1995-09-23 16:48 millert
+
+ * sudo.c: removed unused variable now passes -Wall
+
+1995-09-23 16:48 millert
+
+ * parse.yacc: yyerror and dumpaliases are now void's now passes
+ -Wall
+
+1995-09-23 16:48 millert
+
+ * parse.lex: added prototype for yyerror
+
+1995-09-23 16:47 millert
+
+ * interfaces.c: rmeoved unused cruft now passes -Wall
+
+1995-09-23 16:47 millert
+
+ * check.c, logging.c, parse.c: now passes -Wall
+
+1995-09-23 16:46 millert
+
+ * Makefile.in: fixed headers that moved to emul dir
+
+1995-09-23 12:05 millert
+
+ * logging.c: fixed deref of nil pointer if no args
+
+1995-09-15 19:18 millert
+
+ * OPTIONS: added a caveat to FQDN section
+
+1995-09-13 19:48 millert
+
+ * Makefile.in: more $srcdir support for install targets
+
+1995-09-13 17:17 millert
+
+ * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc,
+ putenv.c, strdup.c, sudo.c, sudo_setenv.c, testsudoers.c,
+ visudo.c: don't include malloc.h if we include stdlib.h
+
+1995-09-12 21:44 millert
+
+ * parse.yacc: local search.h now lives in emul
+
+1995-09-12 21:41 millert
+
+ * lsearch.c: local search.h now lives in emul
+
+1995-09-12 21:41 millert
+
+ * check.c, utime.c: local utime.h now lives in emul dir
+
+1995-09-12 21:38 millert
+
+ * Makefile.in: added support for building in other than the
+ sourcedir
+
+1995-09-10 14:01 millert
+
+ * OPTIONS: annotated CSOPS_INSULTS option
+
+1995-09-10 13:56 millert
+
+ * TROUBLESHOOTING: updated shadow passwords blurb
+
+1995-09-09 21:00 millert
+
+ * sudo.c: if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a
+ shell and passes along foo as the arguments
+
+1995-09-09 18:52 millert
+
+ * parse.lex: collapsed pathname and dir sections into one -- its
+ now less expensive
+
+1995-09-09 18:34 millert
+
+ * parse.lex: fixed spacing quoting [,:\\=] now works correctly
+ append() and fill() now take args to make the above work
+
+1995-09-08 20:51 millert
+
+ * sudo.c: fixed a typo that caused commands with no tty on fd 0 but
+ a tty on fd 1 to erroneously have "none" as their tty
+
+1995-09-04 15:35 millert
+
+ * check.c: timestampfile is now a global static removed decl of
+ timestampfile in remove_timestamp since we can just use the
+ global one
+
+1995-09-04 15:28 millert
+
+ * check.c: created touch() to update timestamps added
+ USE_TTY_TICKETS support (bit of a kludge)
+
+1995-09-04 15:28 millert
+
+ * compat.h: added _S_IFDIR and S_ISDIR
+
+1995-09-04 15:22 millert
+
+ * OPTIONS, options.h: added USE_TTY_TICKETS
+
+1995-09-04 00:38 millert
+
+ * parse.yacc: removed const from casts for lsearch() & lfind() to
+ placate irix 4.x C compiler
+
+1995-09-03 14:12 millert
+
+ * sudo.c: now only strip '/dev/' off of a tty if it starts with
+ '/dev/'
+
+1995-09-03 14:12 millert
+
+ * pathnames.h.in: added _PATH_DEV
+
+1995-09-03 14:11 millert
+
+ * configure.in: AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for
+ tcgetattr only if have termios.h
+
+1995-09-03 14:09 millert
+
+ * tgetpass.c: fixed incorrect #ifdef termio uses "unsigned short"
+ not int for c_?flag
+
+1995-09-03 13:19 millert
+
+ * parse.lex, parse.yacc: fixed a spelling error
+
+1995-09-03 13:17 millert
+
+ * Makefile.in: fixed typo
+
+1995-09-02 12:55 millert
+
+ * Makefile.in: fixed a comment
+
+1995-09-02 12:54 millert
+
+ * parse.yacc: added dotcat() to cat 2 strings w/ a dot effeciently
+ now that we dynamically allocate strings they need to be free()'d
+
+1995-09-02 12:46 millert
+
+ * parse.lex: dynamically allocates space for strings
+
+1995-09-02 12:34 millert
+
+ * sudo.h: no more MAXCOMMANDLENGTH
+
+1995-09-01 22:25 millert
+
+ * sudo.h: added decl of tty
+
+1995-09-01 22:25 millert
+
+ * logging.c, sudo.c: moved tty stuff into sudo.c
+
+1995-09-01 14:18 millert
+
+ * parse.c: fixed a logic bug. Was denying a command if user gave
+ command line args but there were none in the sudoers file which
+ is wrong.
+
+1995-09-01 01:18 millert
+
+ * sudo.h: MAXCOMMMANDLEN dropped down to 1K
+
+1995-09-01 01:13 millert
+
+ * parse.lex: return foo; -> return(foo);
+
+1995-09-01 01:03 millert
+
+ * parse.yacc: fixed netgr_matches() prototype
+
+1995-09-01 01:02 millert
+
+ * parse.lex: added support for escaping "termination" characters
+
+1995-09-01 00:55 millert
+
+ * parse.c: buf is now of size MAXPATHLEN+1 since it never holds
+ command args
+
+1995-09-01 00:50 millert
+
+ * sudo.c: fixed comments
+
+1995-09-01 00:49 millert
+
+ * goodpath.c: fixed negation problem (doh!)
+
+1995-09-01 00:25 millert
+
+ * parse.yacc: fixed 2nd parameter to lfind()
+
+1995-09-01 00:24 millert
+
+ * parse.lex: now do bounds checking in fill() and append()
+
+1995-09-01 00:23 millert
+
+ * sudo.c: include netdb.h as we should added a missing void cast
+ added SHELL_IF_NO_ARGS support now use realloc() properly. would
+ fail if realloc actually moved the string instead of shrinking it
+
+1995-09-01 00:17 millert
+
+ * sample.sudoers: updated with examples of new features
+
+1995-09-01 00:05 millert
+
+ * goodpath.c: now set errno to EACCES if not a regular file or not
+ executable
+
+1995-09-01 00:04 millert
+
+ * find_path.c: if given a fully-qualified or relative path we now
+ check it with sudo_goodpath() and error out with the appropriate
+ error message if the file does not exist or is not executable
+
+1995-09-01 00:03 millert
+
+ * lsearch.c, emul/search.h: now use correct args for lfind
+
+1995-09-01 00:03 millert
+
+ * logging.c: added a comment
+
+1995-08-31 23:52 millert
+
+ * insults.h: added in CSOps insults
+
+1995-08-31 23:51 millert
+
+ * ins_csops.h: Initial revision
+
+1995-08-31 23:35 millert
+
+ * tgetpass.c: added RCS id
+
+1995-08-31 22:56 millert
+
+ * sudo.h: increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD ->
+ HAVE_GETWD
+
+1995-08-31 22:55 millert
+
+ * OPTIONS: added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
+
+1995-08-31 22:54 millert
+
+ * sudo.c: fixed -k load_interfaces() now gets called if FQDN is set
+ -p now works with -s
+
+1995-08-31 22:54 millert
+
+ * parse.c: don't try to stat() "pseudo commands" like "validate"
+
+1995-08-31 22:53 millert
+
+ * options.h: added CLASSIC_INSULTS added CSOPS_INSULTS added
+ SHELL_IF_NO_ARGS
+
+1995-08-31 22:53 millert
+
+ * configure.in: added SecurID support added other insults to
+ --with-csops
+
+1995-08-31 22:52 millert
+
+ * config.h.in: added HAVE_SECURID
+
+1995-08-31 22:52 millert
+
+ * Makefile.in: added clobber target added ins_csops.h now gets
+ CFLAGS from configure
+
+1995-08-31 22:46 millert
+
+ * aclocal.m4: relaxed SUDO_FULL_VOID
+
+1995-08-31 22:44 millert
+
+ * visudo.c: function comment blocks are now in same style as rest
+ of code
+
+1995-08-31 22:44 millert
+
+ * testsudoers.c: added support for command line args in
+ /etc/sudoers
+
+1995-08-31 22:43 millert
+
+ * sudoers.man: updated to have command args in the sudoers file
+
+1995-08-31 22:42 millert
+
+ * sudo.man: added -s and -- flags added SHELL to ENVIRONMENT
+ VARIABLES section
+
+1995-08-19 19:32 millert
+
+ * parse.yacc: PATH renamed to COMMAND
+
+1995-08-19 19:31 millert
+
+ * parse.lex: it is now a parse error for directories to have args
+ attached to them
+
+1995-08-19 19:30 millert
+
+ * logging.c: now say command args if telling user to buzz off
+
+1995-08-19 19:30 millert
+
+ * sudo.c: -s no longer indicates end of args sped up loading on
+ cmnd_args in load_cmnd()
+
+1995-08-19 19:29 millert
+
+ * parse.c: removed an unreachable statement
+
+1995-08-19 17:53 millert
+
+ * parse.lex: made more efficient by pulling out the terminators
+ when in GOTCMND state and making them their own rule
+
+1995-08-14 00:07 millert
+
+ * sudo.h: removed MAXLOGLEN since it is no longer used
+
+1995-08-14 00:07 millert
+
+ * parse.lex: now allows command args
+
+1995-08-14 00:06 millert
+
+ * parse.c: now groks command arguments
+
+1995-08-13 23:39 millert
+
+ * logging.c: now sets tty correctly when piped input
+
+1995-08-13 23:35 millert
+
+ * sudo.c: fixed loading of cmnd_args (was including command name
+ too)
+
+1995-08-13 23:34 millert
+
+ * logging.c: fixed a core dump due to incorrect if construct
+
+1995-08-13 00:33 millert
+
+ * configure.in: only add -lsun is irix < 5 don't look for -lnsl or
+ -lsocket if irix
+
+1995-08-13 00:33 millert
+
+ * aclocal.m4: fixed check for ISC
+
+1995-08-13 00:32 millert
+
+ * sudo.c: now sets cmnd_args used by log_error() and that will be
+ used by the parse to check against command args
+
+1995-08-13 00:32 millert
+
+ * sudo.h: added cmnd_args
+
+1995-08-13 00:31 millert
+
+ * logging.c: now dynamically allocate logline since we can guess at
+ its size
+
+1995-08-05 13:52 millert
+
+ * logging.c: cleaned up a bunch of unnecesary #ifdef's eliminated a
+ buffer remove "register" since the compiler knows more than I do
+ now do a "basename" of the tty
+
+1995-07-31 18:20 millert
+
+ * configure.in: ++version
+
+1995-07-30 22:37 millert
+
+ * sudo.h: added shell extern changed MODE_* to be bit masks to
+ allow for several options together
+
+1995-07-30 22:36 millert
+
+ * sudo.c: added -s (shell) option made MODE_* masks so we can do
+ bitwise & and | to see if multiple flags are set.
+
+1995-07-30 22:01 millert
+
+ * check.c: added securid support
+
+1995-07-30 14:38 millert
+
+ * logging.c: removed a bunch of unnecesary strncpy()'s and replaced
+ with strcat()
+
+1995-07-29 17:17 millert
+
+ * Makefile.in, version.h: ++version
+
+1995-07-27 06:52 millert
+
+ * parse.yacc: fixed free() of an uninitialized pointer (yuck)
+
+1995-07-26 22:00 millert
+
+ * testsudoers.c: added netgr_matches
+
+1995-07-26 21:29 millert
+
+ * parse.c: cleaned up netgr_matches
+
+1995-07-26 00:26 millert
+
+ * RUNSON: updated for 1.3.4
+
+1995-07-24 21:51 millert
+
+ * Makefile.in: now installs sudoers.man -- really should clean this
+ up though.
+
+1995-07-24 21:18 millert
+
+ * Makefile.in: added sudoers.cat and sudoers.man
+
+1995-07-24 21:15 millert
+
+ * sudo.man: pulled out stuff on the sudoers file format into a
+ separate man page
+
+1995-07-24 21:14 millert
+
+ * sudoers.man: Initial revision
+
+1995-07-24 21:04 millert
+
+ * HISTORY: fixed up my email address
+
+1995-07-24 20:03 millert
+
+ * configure.in: added checks for innetgr and getdomainname
+
+1995-07-24 20:02 millert
+
+ * visudo.c: added dummy netgr_matches function
+
+1995-07-24 20:01 millert
+
+ * parse.c: added netgr_matches
+
+1995-07-24 20:01 millert
+
+ * parse.lex, parse.yacc: added NETGROUP support
+
+1995-07-24 20:01 millert
+
+ * config.h.in: added HAVE_INNETGR & HAVE_GETDOMAINNAME
+
+1995-07-24 18:07 millert
+
+ * sudo.c: rewrote clean_env() that has rm_env() builtin
+
+1995-07-23 19:58 millert
+
+ * check.c: now cast uid to long in sprintf
+
+1995-07-23 19:58 millert
+
+ * OPTIONS: added _INSULTS suffix to HAL & GOONS end
+
+1995-07-23 19:57 millert
+
+ * options.h: added _INSULTS suffix to HAL & GOONS
+
+1995-07-23 19:35 millert
+
+ * ins_2001.h, ins_classic.h, ins_goons.h, insults.h: converted to
+ new scheme of insult "unions" end
+
+1995-07-23 17:48 millert
+
+ * sudo.c: now uses MAX_UID_T_LEN
+
+1995-07-23 17:48 millert
+
+ * configure.in: added SUDO_UID_T_LEN !l
+
+1995-07-23 17:48 millert
+
+ * config.h.in: added MAX_UID_T_LEN
+
+1995-07-23 17:47 millert
+
+ * check.c: now use MAX_UID_T_LEN
+
+1995-07-23 17:47 millert
+
+ * aclocal.m4: added check for max len of uid_t fixed sco vs. isc
+ check
+
+1995-07-19 19:05 millert
+
+ * configure.in: corrected version
+
+1995-07-19 17:29 millert
+
+ * configure.in: added sco support
+
+1995-07-19 17:29 millert
+
+ * aclocal.m4: hack to check for sco
+
+1995-07-18 21:27 millert
+
+ * interfaces.c: removed #include <net/route.h> since it was hosing
+ some OS's
+
+1995-07-18 13:35 millert
+
+ * find_path.c: fixed prreadlink() prototype
+
+1995-07-17 23:54 millert
+
+ * check.c: added parens in #if's
+
+1995-07-17 23:53 millert
+
+ * configure.in: added SPW_ prefix
+
+1995-07-17 23:20 millert
+
+ * sudo.h: moved SPW_* to config.h.in
+
+1995-07-17 23:19 millert
+
+ * sudo.c: added a set of parens
+
+1995-07-17 23:19 millert
+
+ * config.h.in: added SPW_*
+
+1995-07-17 22:50 millert
+
+ * sudo.h: added SPW_* reordered error codes
+
+1995-07-17 22:49 millert
+
+ * check.c: moved SPW_* to sudo.h
+
+1995-07-17 14:29 millert
+
+ * logging.c: GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
+
+1995-07-17 14:29 millert
+
+ * configure.in: AUTH -> SECUREWARE
+
+1995-07-17 14:29 millert
+
+ * check.c, sudo.c: SPW_AUTH -> SPW_SECUREWARE
+
+1995-07-17 00:22 millert
+
+ * check.c: now uses SHADOW_TYPE to make shadow pw support more
+ readable and modular. It's a start...
+
+1995-07-17 00:21 millert
+
+ * configure.in: added autodetection of shadow passwords
+
+1995-07-17 00:20 millert
+
+ * sudo.c: now uses SHADOW_TYPE define
+
+1995-07-17 00:19 millert
+
+ * config.h.in: added SHADOW_TYPE which replaces SUNOS4 & __svr4__
+ defines
+
+1995-07-17 00:19 millert
+
+ * aclocal.m4: added SUDO_CHECK_SHADOW
+
+1995-07-12 17:09 millert
+
+ * configure.in: define SVR4 for ISC define BROKEN_SYSLOG for hpux
+ took out test for memmove() since we dno longer use it...
+
+1995-07-12 17:08 millert
+
+ * CHANGES: updated
+
+1995-07-12 17:05 millert
+
+ * logging.c: added BROKEN_SYSLOG support
+
+1995-07-12 17:05 millert
+
+ * config.h.in: added BROKEN_SYSLOG
+
+1995-07-12 17:04 millert
+
+ * check.c: now only bitch it timestamp > time_now + 2 * timeout to
+ allow for a machine udpating its time from a server
+
+1995-07-12 17:04 millert
+
+ * sudo.man: added 2 security notes updated Nieusma's email addr
+
+1995-07-12 14:18 millert
+
+ * lsearch.c: changed a memmove() to memcpy() since we don't have to
+ worry about overlapping segments.
+
+1995-07-11 15:41 millert
+
+ * interfaces.c: cleanup up the loop when interfaces are groped in
+ so that it is readable
+
+1995-07-11 14:52 millert
+
+ * Makefile.in, version.h: ++version
+
+1995-07-09 18:17 millert
+
+ * CHANGES: annotated 124-126
+
+1995-07-07 16:06 millert
+
+ * check.c: fixed permissions check on /tmp/.odus
+
+1995-07-06 19:35 millert
+
+ * check.c: fixed some comments
+
+1995-07-06 14:49 millert
+
+ * check.c: now checks owner & mode of timedir also checks for bogus
+ dates on timestamp file
+
+1995-07-06 14:49 millert
+
+ * OPTIONS: updated TIMEOUT info
+
+1995-07-06 14:48 millert
+
+ * logging.c, sudo.h: added BAD_STAMPDIR and BAD_STAMPFILE
+
+1995-07-06 14:47 millert
+
+ * compat.h: added definition of S_IRWXU
+
+1995-07-06 14:47 millert
+
+ * CHANGES: updated
+
+1995-07-03 14:16 millert
+
+ * interfaces.c: added #ifdef to make it compile on strange arches
+
+1995-07-02 18:13 millert
+
+ * aclocal.m4: fixed check for fulkl void impl.
+
+1995-07-02 09:56 millert
+
+ * check.c: added mssing "static"
+
+1995-07-01 20:41 millert
+
+ * insults.h: replaced #elif with #else #if constructs for ancient C
+ compilers
+
+1995-07-01 20:18 millert
+
+ * INSTALL: updated irix c2 & kerb5 info
+
+1995-07-01 20:15 millert
+
+ * configure.in: added shadow pw support for irix
+
+1995-07-01 16:07 millert
+
+ * CHANGES: last changes for sudo 1.3.3
+
+1995-07-01 16:07 millert
+
+ * TODO, BUGS: updated
+
+1995-07-01 16:04 millert
+
+ * configure.in: now calls SUDO_SOCK_SA_LEN
+
+1995-07-01 16:04 millert
+
+ * config.h.in: added HAVE_SA_LEN
+
+1995-07-01 16:04 millert
+
+ * aclocal.m4: added SUDO_SOCK_SA_LEN
+
+1995-07-01 15:49 millert
+
+ * interfaces.c: now works with ip implementations that use sa_len
+ in sockaddr
+
+1995-07-01 14:26 millert
+
+ * INSTALL: added note about buggy AIX compiler
+
+1995-07-01 14:24 millert
+
+ * interfaces.c: now include sys/time.h for AIX
+
+1995-06-27 22:35 millert
+
+ * Makefile.in: getcwd -> getwd
+
+1995-06-27 21:28 millert
+
+ * interfaces.c: now works for ISC and others. yay.
+
+1995-06-26 14:24 millert
+
+ * Makefile.in, version.h: version++
+
+1995-06-22 20:26 millert
+
+ * aclocal.m4: fixed test for full void impl
+
+1995-06-22 20:25 millert
+
+ * sudo.c: now check to see that st_dev is non-zero before assuming
+ that we are being spoofed
+
+1995-06-20 16:56 millert
+
+ * aclocal.m4, configure.in: SUDO_FUNC_UTIME_NULL ->
+ AC_FUNC_UTIME_NULL
+
+1995-06-19 16:32 millert
+
+ * aclocal.m4: fixed include file order for SUDO_FUNC_UTIME_POSIX
+
+1995-06-19 16:10 millert
+
+ * logging.c: added cast for ttyname()
+
+1995-06-19 15:23 millert
+
+ * configure.in: fixed typo
+
+1995-06-19 15:19 millert
+
+ * check.c: now deal correctly with all known variation of utime()
+ -- yippe
+
+1995-06-19 15:19 millert
+
+ * configure.in: added SUDO_FUNC_UTIME_POSIX
+
+1995-06-19 15:19 millert
+
+ * aclocal.m4: added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
+
+1995-06-19 15:14 millert
+
+ * config.h.in: added HAVE_UTIME_POSIX
+
+1995-06-19 13:38 millert
+
+ * check.c: fixed a typo
+
+1995-06-19 13:29 millert
+
+ * check.c: no longer assume !HAVE_UTIME_NULL means old BSD utime()
+
+1995-06-19 13:20 millert
+
+ * check.c: fixed fascist C compiler warning
+
+1995-06-18 23:14 millert
+
+ * interfaces.c: now set strioctl.ic_timout in STRSET() now
+ initialize num_interfaces to 0 (just to be anal)
+
+1995-06-18 18:06 millert
+
+ * sudo.h: increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
+
+1995-06-18 18:05 millert
+
+ * logging.c: added tty logging
+
+1995-06-18 16:04 millert
+
+ * interfaces.c: reworked the ISC code
+
+1995-06-18 15:27 millert
+
+ * Makefile.in, version.h: updated version
+
+1995-06-18 15:24 millert
+
+ * check.c: now expect old-style utime(3) if utime() can't take NULL
+ as an arg
+
+1995-06-18 15:08 millert
+
+ * configure.in: added check for utime.h
+
+1995-06-18 15:08 millert
+
+ * config.h.in: added HAVE_UTIME_H
+
+1995-06-18 14:48 millert
+
+ * Makefile.in: added CPPFLAGS STATIC_FLAGS -> LDFLAGS
+
+1995-06-18 13:58 millert
+
+ * configure.in: now search for kerb libs and includes
+
+1995-06-18 13:03 millert
+
+ * check.c: added support for utime(2)'s that can't take a NULL
+ parameter
+
+1995-06-18 13:03 millert
+
+ * utime.c: moved HAVE_UTIME_NULL stuff to update_timestamp() where
+ t belongs
+
+1995-06-17 20:46 millert
+
+ * configure.in: added utime(s) stuff
+
+1995-06-17 20:46 millert
+
+ * check.c: now use utime()
+
+1995-06-17 20:46 millert
+
+ * config.h.in: added HAVE_UTIME and HAVE_UTIME_NULL
+
+1995-06-17 19:12 millert
+
+ * utime.c: now use HAVE_UTIME_NULL
+
+1995-06-17 19:02 millert
+
+ * utime.c, emul/utime.h: Initial revision
+
+1995-06-17 18:24 millert
+
+ * check.c: need to setuid(0) to make kerb4 stuff work.
+
+1995-06-17 18:14 millert
+
+ * tgetpass.c: no more special case for kerberos
+
+1995-06-17 18:13 millert
+
+ * config.h.in: took out setreuid and setresuid stuff added kerb5
+ stuff (use kerb4 emulation)
+
+1995-06-17 18:13 millert
+
+ * compat.h: no longer need setreuid() emulation now set _PASSWD_LEN
+ to 128 if kerberos
+
+1995-06-17 18:12 millert
+
+ * check.c: now use private ticket file for kerberos support to
+ avoid trouncing on system one
+
+1995-06-15 00:48 millert
+
+ * sudo.h: added SPOOF_ATTEMPT & cmnd_st
+
+1995-06-15 00:47 millert
+
+ * sudo.c: added anti-spoofing support
+
+1995-06-15 00:47 millert
+
+ * parse.c: now use global cmnd_st
+
+1995-06-15 00:47 millert
+
+ * logging.c: added SPOOF_ATTEMPT suypport
+
+1995-06-14 23:41 millert
+
+ * testsudoers.c, visudo.c: added void casts where appropriate
+
+1995-06-14 23:40 millert
+
+ * parse.yacc: fixed up spacing and added void casts where
+ appropriate
+
+1995-06-14 23:27 millert
+
+ * sudo.c: fixed problem with "-p prompt" but no args
+
+1995-06-14 04:43 millert
+
+ * sudo.man: added BUGS and annotated -l description
+
+1995-06-14 04:43 millert
+
+ * sudo.h: validate() now takes a flag
+
+1995-06-14 04:43 millert
+
+ * sudo.c: validate() now takes a flag added -l
+
+1995-06-14 04:42 millert
+
+ * parse.yacc: added support for -l
+
+1995-06-14 04:41 millert
+
+ * parse.c: validate() now takes a flag that says whether or not to
+ check the command
+
+1995-06-07 21:36 millert
+
+ * logging.c: now deals with Argv == 1
+
+1995-06-07 21:34 millert
+
+ * sudo.man: added -p option
+
+1995-06-07 21:27 millert
+
+ * sudo.c: added prompt support reworked parse_args()
+
+1995-06-07 20:49 millert
+
+ * sudo.h: added prompt
+
+1995-06-07 20:49 millert
+
+ * options.h: added PASSPROMPT
+
+1995-06-07 20:48 millert
+
+ * check.c: now use BUFSIZ as length of kerb password added kpass so
+ pass is always a char * now use prompt global when asking for a
+ password
+
+1995-06-07 20:47 millert
+
+ * tgetpass.c: now use BUFSIZ as _PASSWD_LEN if using kerberos
+
+1995-06-07 20:43 millert
+
+ * OPTIONS: added PASSPROMPT
+
+1995-06-07 01:44 millert
+
+ * configure.in: only look for -lufc or -lcrypt if crypt() not in
+ libc
+
+1995-06-07 01:43 millert
+
+ * check.c: don't exit on kerb error, just warn if k_errno ==
+ KDC_PR_UNKNOWN (unknown user) silently fail
+
+1995-06-06 22:44 millert
+
+ * INSTALL: added kerb4 note
+
+1995-06-06 22:43 millert
+
+ * tgetpass.c: HAVE_KERBEROS -> HAVE_KERB4
+
+1995-06-06 22:41 millert
+
+ * check.c: removed debugging printf
+
+1995-06-06 22:33 millert
+
+ * configure.in: KERBEROS -> KERB4 added checks for setreuid &
+ setresuid
+
+1995-06-06 22:32 millert
+
+ * config.h.in: HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and
+ HAVE_SETRESUID
+
+1995-06-06 22:32 millert
+
+ * compat.h: added deif of UID_NO_CHANGE & GID_NO_CHANGE added
+ setreuid emulation with setresuid if applic
+
+1995-06-06 22:31 millert
+
+ * check.c: HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid
+ chown() hack if no setreuid() or a broken one
+
+1995-06-05 23:44 millert
+
+ * config.h.in: added HAVE_KERBEROS
+
+1995-06-05 23:43 millert
+
+ * tgetpass.c: added KERBEROS support (long passwords)
+
+1995-06-05 23:42 millert
+
+ * check.c, configure.in: added kerberos support
+
+1995-06-03 19:36 millert
+
+ * sudo.h: added MODE_BACKGROUND
+
+1995-06-03 19:36 millert
+
+ * sudo.man: escaped dashes added -b option
+
+1995-06-03 19:34 millert
+
+ * sudo.c: added -b option
+
+1995-06-03 18:52 millert
+
+ * check.c: added crypt() for osf/1 3.x enhanced secuiry
+
+1995-06-03 18:18 millert
+
+ * configure.in: now check for -lcrypt
+
+1995-06-03 18:00 millert
+
+ * interfaces.c: added ENXIO like EADDRNOTAVAIL
+
+1995-05-07 23:14 millert
+
+ * configure.in: now emulate getwd(), not getcwd()
+
+1995-05-07 23:13 millert
+
+ * sudo.c: getcwd() -> getwd()
+
+1995-05-07 23:12 millert
+
+ * getwd.c: getcwd -> getwd
+
+1995-05-02 01:34 millert
+
+ * ins_2001.h, ins_classic.h, ins_goons.h: Initial revision
+
+1995-05-02 01:34 millert
+
+ * insults.h: broke out insults into separate include files
+
+1995-05-02 01:32 millert
+
+ * options.h, OPTIONS: added GOONS
+
+1995-05-02 01:32 millert
+
+ * Makefile.in: added ins_2001.h ins_classic.h ins_goons.h
+
+1995-05-01 23:34 millert
+
+ * Makefile.in, version.h: ++version
+
+1995-05-01 23:34 millert
+
+ * visudo.c: moved signal handler setup to setup_signals()
+
+1995-05-01 23:33 millert
+
+ * sudo.h: added load_interfaces()
+
+1995-05-01 23:33 millert
+
+ * sudo.c: moved load_interfaces to interfaces.c
+
+1995-05-01 23:33 millert
+
+ * parse.yacc: added clearaliases
+
+1995-05-01 23:33 millert
+
+ * OPTIONS, options.h: added FAST_MATCH
+
+1995-05-01 23:32 millert
+
+ * parse.lex: now uses clearaliases variable
+
+1995-05-01 23:31 millert
+
+ * interfaces.c: Initial revision
+
+1995-05-01 23:31 millert
+
+ * Makefile.in: added interfaces.[co]
+
+1995-05-01 23:30 millert
+
+ * testsudoers.c: now uses ip addrs and netmasks via
+ load_interfaces()
+
+1995-05-01 22:47 millert
+
+ * sudo.c: now remove IFS instead of setting to "sane" value
+
+1995-05-01 16:30 millert
+
+ * parse.c: added FAST_MATCH
+
+1995-04-29 20:19 millert
+
+ * Makefile.in: sudo_goodpath.c-> goodpath.c
+
+1995-04-29 20:15 millert
+
+ * sudo.c: added Andy's new ISC changes
+
+1995-04-14 14:06 millert
+
+ * OPTIONS: added a sentence to SECURE_PATH info
+
+1995-04-14 13:57 millert
+
+ * BUGS: added one
+
+1995-04-14 13:54 millert
+
+ * RUNSON, CHANGES: updated
+
+1995-04-13 17:04 millert
+
+ * RUNSON: updated for beta3
+
+1995-04-13 14:32 millert
+
+ * Makefile.in, version.h: ++version
+
+1995-04-13 13:56 millert
+
+ * aclocal.m4: sendmail is now looked for in /usr/ucblib
+
+1995-04-13 13:54 millert
+
+ * sudo.c: fixed indentation
+
+1995-04-13 13:35 millert
+
+ * aclocal.m4: fixed a typo
+
+1995-04-13 13:19 millert
+
+ * sudo.c: updated ISC mods
+
+1995-04-13 13:19 millert
+
+ * configure.in: added unixware case
+
+1995-04-13 13:19 millert
+
+ * check.c: user_is_exempt is no longer hidden
+
+1995-04-13 13:19 millert
+
+ * RUNSON: updated
+
+1995-04-13 13:19 millert
+
+ * aclocal.m4: isc and riscos changes
+
+1995-04-13 13:18 millert
+
+ * OPTIONS: added NOTE about new interaction of EXEMPTGROUP and
+ SECURE_PATH
+
+1995-04-13 13:18 millert
+
+ * Makefile.in: fixed a typo and added testsudoers stuff
+
+1995-04-13 12:34 millert
+
+ * testsudoers.c: Initial revision
+
+1995-04-12 19:31 millert
+
+ * parse.yacc: applied fixed patch from Chris
+
+1995-04-11 14:30 millert
+
+ * Makefile.in: fixed a typo
+
+1995-04-11 14:14 millert
+
+ * parse.yacc: added a set of braces for bison
+
+1995-04-11 14:01 millert
+
+ * parse.yacc: merged in Chris' changes to dekludge the parser.
+
+1995-04-11 00:38 millert
+
+ * logging.c: send_mail() was calling find_path() which is wrong
+ since find_path() stores cmnd in a static var. Anyhow, it
+ doesn't make much sense since MAILER should always be fully
+ qualified
+
+1995-04-10 19:51 millert
+
+ * sample.sudoers: added User_Alias stuff
+
+1995-04-10 19:50 millert
+
+ * aclocal.m4: SUDO_NEXT now looks for
+ /usr/lib/NextStep/software_version
+
+1995-04-10 19:50 millert
+
+ * RUNSON: added DEC UNIX 3.0 w/ gcc
+
+1995-04-10 19:49 millert
+
+ * visudo.c: Exit was being used in places where exit should be used
+
+1995-04-10 19:44 millert
+
+ * sudoers: added "User alias specification"
+
+1995-04-10 18:04 millert
+
+ * parse.yacc: fixed probs caused by making nslots and naliases a
+ size_t
+
+1995-04-10 15:09 millert
+
+ * RUNSON: added KSR, upped rev to 1.3.1b2
+
+1995-04-10 15:07 millert
+
+ * logging.c, parse.yacc: 1024 -> BUFSIZ
+
+1995-04-10 15:05 millert
+
+ * parse.yacc: void * -> VOID * naliases and nslots are now size_t
+ to appease lsearch on 64-bit machines
+
+1995-04-09 19:30 millert
+
+ * TODO: did a bunch of things and added a bunch :-)
+
+1995-04-09 19:30 millert
+
+ * PORTING: updated
+
+1995-04-09 19:24 millert
+
+ * visudo.man: closer to BSD manpage style
+
+1995-04-09 19:15 millert
+
+ * sudo.man: closer to standard BSD man format
+
+1995-04-09 18:58 millert
+
+ * compat.h, config.h.in, insults.h, options.h, pathnames.h.in,
+ sudo.h, version.h, emul/search.h: added RCS id
+
+1995-04-09 17:35 millert
+
+ * sudo.h: removed crufty #defines that are no longer used
+
+1995-04-09 17:13 millert
+
+ * BUGS: fixed a bug
+
+1995-04-09 17:12 millert
+
+ * sudo.man: updated based on sudo changes
+
+1995-04-09 17:11 millert
+
+ * parse.yacc: now allow ALL keyword in User_Aliases now allow ALL
+ keyword as well as a NAME or ALIAS
+
+1995-04-09 17:11 millert
+
+ * CHANGES: updated
+
+1995-04-09 17:04 millert
+
+ * sudo.c: now sets SUDO_COMMAND and SUDO_GID envariables.
+
+1995-04-09 15:24 millert
+
+ * aclocal.m4: fixed bug with full void impl check
+
+1995-04-08 23:11 millert
+
+ * parse.yacc: fixed User_Alias supoprt
+
+1995-04-08 22:27 millert
+
+ * parse.yacc: added stubs for User_Alias support
+
+1995-04-08 22:27 millert
+
+ * sudo.c: now sets removes # bogus interfaces from num_interfaces
+
+1995-04-08 22:26 millert
+
+ * parse.lex: added User_Alias support
+
+1995-04-07 21:10 millert
+
+ * Makefile.in: removed extraneous TODO
+
+1995-04-07 19:48 millert
+
+ * visudo.c: ntwk_matches -> addr_matches
+
+1995-04-07 15:38 millert
+
+ * parse.yacc: ntwk_matches -> addr_matches
+
+1995-04-07 15:37 millert
+
+ * parse.c: ntwk_matches -> addr_matches now use inet_addr() not
+ inet_network() (which expects octet boundaries) fixes for OSF
+ (sizeof(int) != sizeof(long))
+
+1995-04-07 15:08 millert
+
+ * sudo.c: took out debugging info
+
+1995-04-06 23:45 millert
+
+ * aclocal.m4: OS was being set to unknown before non-uname based
+ host checks. This caused no checks to happen since $OS was not
+ zero-length.
+
+1995-04-06 23:30 millert
+
+ * sudo.c: fixed loading of interfaces struct still has debugging
+ info in though
+
+1995-04-06 22:23 millert
+
+ * parse.c: fixed typo
+
+1995-04-06 16:17 millert
+
+ * Makefile.in: ++version
+
+1995-04-06 16:16 millert
+
+ * version.h: ++
+
+1995-04-06 16:16 millert
+
+ * visudo.c: removed extraneous extern decl of "top
+
+1995-04-06 16:14 millert
+
+ * visudo.c: now zeros "top"
+
+1995-04-06 16:13 millert
+
+ * parse.yacc: removed parser_cleanup (no need for it now)
+
+1995-04-06 16:13 millert
+
+ * parse.lex: now calls reset_aliases() directly
+
+1995-04-04 18:21 millert
+
+ * OPTIONS: added a sentence to SECURE_PATH description
+
+1995-04-04 18:17 millert
+
+ * parse.c: fixed my stupid bug where I used NAMLEN on something I
+ wanted to just get the name from. argh.
+
+1995-04-03 16:58 millert
+
+ * lsearch.c: fixed argument order of memmove() that i hosed when
+ converting from bcopy(). arghh.
+
+1995-04-03 15:33 millert
+
+ * Makefile.in: finally fixed DISTFILES line
+
+1995-04-03 15:21 millert
+
+ * Makefile.in: tabs -> spaces
+
+1995-04-03 15:15 millert
+
+ * Makefile.in: added missing files to DISTFILES
+
+1995-04-03 14:50 millert
+
+ * Makefile.in: SUPPORTED -> RUNSON
+
+1995-04-01 03:12 millert
+
+ * TODO: updated
+
+1995-04-01 01:54 millert
+
+ * RUNSON: updated for pl5b1 release
+
+1995-04-01 01:53 millert
+
+ * BUGS, TODO: updated
+
+1995-04-01 01:52 millert
+
+ * check.c: fixed bug where if you hit return at first sudo prompt
+ it would still log as a failure
+
+1995-04-01 01:29 millert
+
+ * CHANGES: updated
+
+1995-04-01 01:25 millert
+
+ * aclocal.m4: better test for bogus void * implementation
+
+1995-03-31 20:33 millert
+
+ * logging.c: added PASSWORDS_NOT_CORRECT
+
+1995-03-31 20:32 millert
+
+ * check.c: added PASSWORDS_NOT_CORRECT stuff]
+
+1995-03-31 20:30 millert
+
+ * sudo.h: added PASSWORDS_NOT_CORRECT
+
+1995-03-31 19:16 millert
+
+ * tgetpass.c: moved pathnames.h
+
+1995-03-31 19:16 millert
+
+ * sudo.c: removed some unused vars and fixed up uid2str
+
+1995-03-31 19:15 millert
+
+ * putenv.c: moved compat.h
+
+1995-03-31 19:14 millert
+
+ * getcwd.c, getwd.c: added pathnames.h
+
+1995-03-31 18:18 millert
+
+ * parse.yacc: fixed a typo I introduced in the last checkin :-(
+
+1995-03-31 18:11 millert
+
+ * parse.lex: can't have #ifdef's where N is defined so just do this
+ the broken way for AIX
+
+1995-03-31 18:08 millert
+
+ * parse.yacc: better hack from Chris (but still a hack)
+
+1995-03-31 18:05 millert
+
+ * parse.lex: stupid hack for broken aix lex
+
+1995-03-31 17:47 millert
+
+ * tgetpass.c: now includes compat.h 
+
+1995-03-31 17:27 millert
+
+ * visudo.c: now includes fcntl.h
+
+1995-03-31 17:27 millert
+
+ * compat.h: added FD_SET and FD_ZERO for 4.2BSD
+
+1995-03-31 16:12 millert
+
+ * parse.yacc: dirty hack to fix parser bug. i don't really like
+ this but it works for now...
+
+1995-03-31 16:12 millert
+
+ * sudo.c: uid2str is now static like the prototype says
+
+1995-03-29 23:48 millert
+
+ * RUNSON: Initial revision
+
+1995-03-29 23:47 millert
+
+ * TODO, CHANGES, SUPPORTED, TROUBLESHOOTING: updated
+
+1995-03-29 23:46 millert
+
+ * sudo.c: check_sudoers now returns an error code and sudo calls
+ inform_user and log_error based on the return value.
+
+1995-03-29 23:45 millert
+
+ * logging.c, sudo.h: added entries for new errors
+
+1995-03-29 23:03 millert
+
+ * parse.c: now set uid to that of SUDOERS_OWNER while parsing
+ sudoers file
+
+1995-03-29 22:52 millert
+
+ * Makefile.in: took out testsudoers 
+
+1995-03-29 22:36 millert
+
+ * sudo.c: now explicately checks that it is setuid root
+
+1995-03-29 22:28 millert
+
+ * sudo.c: If a user has no passwd entry sudo would segv (writing to
+ a garbage pointer). Now allocate space before writing :-)
+
+1995-03-29 22:06 millert
+
+ * configure.in: reordered AC_CHECK_FUNCS
+
+1995-03-29 22:06 millert
+
+ * config.h.in: fixed memset macro
+
+1995-03-29 21:47 millert
+
+ * logging.c: bzero -> memset when a parse error is logged the line
+ number of the error is now logged too
+
+1995-03-29 21:46 millert
+
+ * tgetpass.c, visudo.c: bzero -> memset
+
+1995-03-29 21:46 millert
+
+ * INSTALL: added Sunos to blurb about c2 security
+
+1995-03-29 21:45 millert
+
+ * configure.in: added a SUN4 define for C2 security
+
+1995-03-29 21:44 millert
+
+ * config.h.in: bcopy -> memmove bzero -> memset
+
+1995-03-29 21:43 millert
+
+ * lsearch.c: bcopy -> memmove char * -> VOID *
+
+1995-03-29 21:30 millert
+
+ * check.c: added support for sunos with C2 security
+
+1995-03-29 21:12 millert
+
+ * OPTIONS, options.h: reordered
+
+1995-03-29 21:12 millert
+
+ * pathnames.h.in: _PATH_SUDO_LOGFILE now set based on configure
+
+1995-03-29 21:12 millert
+
+ * configure.in: added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
+
+1995-03-29 21:12 millert
+
+ * config.h.in: added _SUDO_PATH_LOGFILE
+
+1995-03-29 21:11 millert
+
+ * aclocal.m4: added SUDO_LOGFILE to find where to put sudo.log
+ added SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h
+ too) added SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
+
+1995-03-29 18:17 millert
+
+ * TROUBLESHOOTING: Initial revision
+
+1995-03-29 17:59 millert
+
+ * sudo.c: now do set_perms(PERM_ROOT) before the getpwuid() in
+ load_global() to work around a problem is trusted hpux shadow
+ passwords. yuck.
+
+1995-03-29 17:41 millert
+
+ * parse.yacc: backed out a change in malloc/realloc
+
+1995-03-29 17:38 millert
+
+ * parse.yacc: now include stdlib.h
+
+1995-03-29 17:22 millert
+
+ * visudo.c: now do an freopen() of the stmp file so that yyin will
+ always point to the same thing. This is important for flex since
+ we are doing a YY_NEWFILE
+
+1995-03-29 17:20 millert
+
+ * parse.yacc: replaced yywrap() with parser_cleanup() since
+ yywrap() needs to be in parse.lex to be able to use YY_NEW_FILE.
+ sigh.
+
+1995-03-29 17:18 millert
+
+ * parse.lex: now have a rule that matches anything that doesn't
+ match an explicite rule. well, you know what i mean (. matches
+ anything not yet matched). However, this means that there is
+ input still queued up so we need to do a YY_NEW_FILE; in yywrap.
+ So, yywrap has moved into parse.lex and it calls parser_cleanup()
+ which is most of the old yywrap() sigh.
+
+1995-03-29 17:17 millert
+
+ * SUPPORTED: no longer used
+
+1995-03-29 16:13 millert
+
+ * getcwd.c, getwd.c: moved compat.h to be the last include file
+
+1995-03-29 16:11 millert
+
+ * parse.yacc: fixed type of aliascmp() args
+
+1995-03-29 15:58 millert
+
+ * find_path.c: NULL -> '\0'
+
+1995-03-29 15:42 millert
+
+ * parse.yacc: added casts to lfind and lsearch args for irix
+
+1995-03-29 08:20 millert
+
+ * Makefile.in: bsdinstall -> install-sh
+
+1995-03-29 08:20 millert
+
+ * INSTALL: added info about make realclean
+
+1995-03-29 08:17 millert
+
+ * Makefile.in: updated VERSION added dependencies for visudo.cat
+
+1995-03-29 08:17 millert
+
+ * version.h: -> pl5b1
+
+1995-03-29 08:16 millert
+
+ * sudo.c: took out -l
+
+1995-03-29 00:03 millert
+
+ * Makefile.in: now there is a real visudo.man and visudo.cat
+
+1995-03-28 23:54 millert
+
+ * sudo.man: took out visudo stuff
+
+1995-03-28 23:54 millert
+
+ * visudo.man: Initial revision
+
+1995-03-28 23:12 millert
+
+ * parse.c, parse.lex, parse.yacc: updated copyright
+
+1995-03-28 23:05 millert
+
+ * README: updated for pl5
+
+1995-03-28 20:02 millert
+
+ * sudo.man: updated Nieusma & Hieb email addresses
+
+1995-03-28 19:57 millert
+
+ * INSTALL: updated to include options.h and OPTIONS
+
+1995-03-28 19:35 millert
+
+ * CHANGES, TODO: updated
+
+1995-03-28 19:35 millert
+
+ * BUGS: eliminated bug #1 (yay)
+
+1995-03-28 19:31 millert
+
+ * configure.in: sunos no longer gets linked statically
+
+1995-03-28 18:58 millert
+
+ * parse.lex: prototype now uses __P()
+
+1995-03-28 18:49 millert
+
+ * parse.lex: make fill() non-ansi
+
+1995-03-28 15:26 millert
+
+ * parse.c: made -v (validate) work
+
+1995-03-28 15:26 millert
+
+ * logging.c: now gives host
+
+1995-03-28 10:34 millert
+
+ * find_path.c: don't check for execute/statable if fq or relative
+ path given
+
+1995-03-28 01:07 millert
+
+ * parse.c: added a cast
+
+1995-03-28 00:49 millert
+
+ * visudo.c: now include ctype.h for islower and tolower macros
+
+1995-03-28 00:48 millert
+
+ * goodpath.c: moved _S_IFMT & _S_ISREG to compat.h
+
+1995-03-28 00:48 millert
+
+ * sudo.c: moved a set of parens
+
+1995-03-28 00:48 millert
+
+ * strdup.c: now include compat.h
+
+1995-03-28 00:47 millert
+
+ * parse.yacc: now cast malloc & realloc return vals added search
+ for HAVE_LSEARCH now use strcmp if no strcasecmp available
+
+1995-03-28 00:46 millert
+
+ * lsearch.c, emul/search.h: void * -> VOID *
+
+1995-03-28 00:45 millert
+
+ * config.h.in: removed HAVE_FLEX added VOID added HAVE_DIRENT_H,
+ HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
+
+1995-03-28 00:44 millert
+
+ * compat.h: added _S_IFMT, _S_IFREG, and S_ISREG
+
+1995-03-28 00:44 millert
+
+ * aclocal.m4: took out SUDO_PROG_INSTALL 1.x to 2.x changes added
+ echo and results to most SUDO_* macros
+
+1995-03-28 00:43 millert
+
+ * Makefile.in: no more -I.
+
+1995-03-28 00:22 millert
+
+ * configure.in: various 1.x ro 2.x autoconf changes now check for
+ strcasecmp now use AC_INSTALL_PROG instead of custom one added
+ check for fully woorking void implementation
+
+1995-03-28 00:02 millert
+
+ * Makefile.in: added lsearch & search.h visudo links into
+ $(LIBOBJS)
+
+1995-03-27 23:43 millert
+
+ * aclocal.m4: partial 1.x to 2.x changes added SUDO_FULL_VOID
+
+1995-03-27 23:40 millert
+
+ * visudo.c: whatnow_help was prototyped to be static be was not
+ declared as such
+
+1995-03-27 21:15 millert
+
+ * configure.in: autoconf 2.x changes took out HAVE_FLEX (no longer
+ used) added check for dirent/dir/ndir.h
+
+1995-03-27 21:09 millert
+
+ * parse.c: now use groovy gnu autoconf macro AC_HEADER_DIRENT
+
+1995-03-27 20:38 millert
+
+ * getcwd.c, getwd.c: MAXPATHLEN -> MAXPATHLEN+1
+
+1995-03-27 20:23 millert
+
+ * emul/search.h, lsearch.c: Initial revision
+
+1995-03-27 18:26 millert
+
+ * parse.yacc: eliminated bison warnings
+
+1995-03-27 17:10 millert
+
+ * parse.lex: added missing case
+
+1995-03-27 17:04 millert
+
+ * visudo.c: now iincludes signal.h
+
+1995-03-27 15:16 millert
+
+ * parse.yacc: only clear data structures on a parse error
+
+1995-03-27 15:01 millert
+
+ * visudo.c: whatnow() now gives help on invalid input
+
+1995-03-27 14:54 millert
+
+ * visudo.c: added a whatnow() function (sort of like mh)
+
+1995-03-27 14:53 millert
+
+ * parse.yacc: kill_aliases -> reset_aliases yywrap() now cleans up
+ by calling reset_aliases() and clearing top took reset stuff out
+ of yyerror() since it doesn't beling there (and doesn't work
+ anyway). errorlineno is now initially set to -1 so we can set it
+ to the first error that occurrs (it was getting set to the last)
+
+1995-03-27 14:53 millert
+
+ * parse.lex: added a void cast
+
+1995-03-27 13:26 millert
+
+ * visudo.c: rewrote from scratch based on 4.3BSD vipw.c
+
+1995-03-26 01:33 millert
+
+ * sudo.c, sudo.h: removed ocmnd
+
+1995-03-26 01:19 millert
+
+ * sudo.h: no more sudo_realpath() and find_path() changed params
+
+1995-03-26 01:19 millert
+
+ * sudo.c: find_path() changed since no more realpath()
+
+1995-03-26 01:18 millert
+
+ * parse.yacc: on error, errorlineno is set to the line where the
+ error occurred added kill_aliases() to free the aliases struct
+ now clean up in yyerror() so we can reparse cleanly
+
+1995-03-26 01:17 millert
+
+ * logging.c: changed to use new find_path()
+
+1995-03-26 01:17 millert
+
+ * options.h, parse.c: no more USE_REALPATH
+
+1995-03-26 01:16 millert
+
+ * find_path.c: removed all the realpath() stuff
+
+1995-03-26 01:16 millert
+
+ * Makefile.in: sudo_realpath.c -> sudo_goodpath.c
+
+1995-03-26 01:12 millert
+
+ * visudo.c: now works correctly with utk parser
+
+1995-03-26 00:04 millert
+
+ * goodpath.c: Initial revision
+
+1995-03-25 23:23 millert
+
+ * sudo_realpath.c: eliminated a compiler warning
+
+1995-03-25 21:56 millert
+
+ * sudo.c: elinated compiler warning
+
+1995-03-25 20:40 millert
+
+ * sudo_realpath.c: added sudo_goodpath()
+
+1995-03-25 20:40 millert
+
+ * sudo.h: added prototype for sudo_goodpath
+
+1995-03-25 20:39 millert
+
+ * parse.c: added support for /sys/dir.h
+
+1995-03-25 20:39 millert
+
+ * options.h: USE_REALPATH turned off
+
+1995-03-25 20:39 millert
+
+ * find_path.c: added calls to sudo_goodpath()
+
+1995-03-25 20:39 millert
+
+ * configure.in: added check for dirent.h
+
+1995-03-25 20:38 millert
+
+ * config.h.in: added HAVE_DIRENT_H
+
+1995-03-25 19:27 millert
+
+ * configure.in: added in linux shadow pass stuff 
+
+1995-03-24 14:43 millert
+
+ * visudo.c: added back host, user, cmnd, parse_error
+
+1995-03-24 14:19 millert
+
+ * visudo.c: added in utk changes plus some minor cosmetic changes
+
+1995-03-24 14:17 millert
+
+ * sudo.c, sudo_realpath.c: added void casts for printf's
+
+1995-03-24 14:17 millert
+
+ * options.h: added a define of USE_REALPATH
+
+1995-03-24 14:17 millert
+
+ * configure.in: there is no more visudoers/Makefile
+
+1995-03-24 14:16 millert
+
+ * Makefile.in: added in utk changes (visudo is now built from the
+ toplevel)
+
+1995-03-24 14:15 millert
+
+ * find_path.c: added (void) casts to printf's
+
+1995-03-23 22:32 millert
+
+ * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c: merged
+ in utk changes
+
+1995-03-22 23:13 millert
+
+ * find_path.c: now check to see that what we are trying to run is a
+ file (or a link to a file, we do a stat(2) so there is no diff)
+
+1995-03-13 15:56 millert
+
+ * CHANGES: updated
+
+1995-03-13 15:56 millert
+
+ * Makefile.in: aclocal.m4 -> acsite.m4 make realclean updated for
+ new autoconf 
+
+1995-03-13 15:11 millert
+
+ * sudo.man: added myself as maintainer
+
+1995-02-16 23:31 millert
+
+ * sudo.c: changed setegid -> setgid
+
+1995-02-06 17:43 millert
+
+ * configure.in: fixed the test for irix 5.x to skip bad libs
+
+1995-02-06 17:43 millert
+
+ * aclocal.m4: now initialize OS and OSREV
+
+1995-01-26 20:52 millert
+
+ * configure.in: irix5 changes
+
+1995-01-26 20:28 millert
+
+ * configure.in: AC_WITH -> AC_ARG_WITH changes other misc changes
+ for autoconf 2.1 compatibility
+
+1995-01-18 19:49 millert
+
+ * visudo.c: use YY_NEW_FILE, not yyrestart since OSF flex doesn't
+ do the righ thing wrt yyrestart (grrrr)
+
+1995-01-16 18:44 millert
+
+ * Makefile.in: added visudoers/compat.h to DISTFILES
+
+1995-01-16 17:01 millert
+
+ * configure.in: fixed an echo
+
+1995-01-16 16:36 millert
+
+ * sudo.c: added ocmnd declaration adjusted for find_path()'s new
+ parameters
+
+1995-01-16 16:35 millert
+
+ * sudo.h: added ocmnd extern adjusted find_path() prototype
+
+1995-01-16 16:34 millert
+
+ * parse.c: cmndcmp() now takes 3 arguments and checks against the
+ qualified as well as the unqualified pathname. more code that
+ should use cmndcmp() but did not, now does
+
+1995-01-16 16:34 millert
+
+ * options.h: added to a comment
+
+1995-01-16 16:33 millert
+
+ * logging.c: changed to use new find_path() parameter passing
+
+1995-01-16 16:32 millert
+
+ * find_path.c: find_path() now takes 2 copyout parameters (one for
+ the qualified pathname and one for the unqualified pathname).
+ The third parameter may be NULL.
+
+1995-01-16 16:31 millert
+
+ * configure.in: no longer munge pathnames.h
+
+1995-01-16 16:30 millert
+
+ * pathnames.h.in: changed _PATH_* to use _SUDO_PATH_* (which are
+ defined in config.h) as a result, pathnames.h does not need to be
+ run through configure and the user can override the configured
+ values easily.
+
+1995-01-16 16:30 millert
+
+ * config.h.in: added _SUDO_PATH_* entries
+
+1995-01-16 16:30 millert
+
+ * aclocal.m4: _PATH* -> _SUDO_PATH_*
+
+1995-01-16 16:28 millert
+
+ * Makefile.in: updated DISTFILES and HDRS .o's now depend on
+ config.h
+
+1995-01-13 12:52 millert
+
+ * compat.h: removed extraneous #endif
+
+1995-01-13 12:48 millert
+
+ * aclocal.m4: added SUDO_PROG_MV
+
+1995-01-13 12:47 millert
+
+ * configure.in: added SUDO_PROG_MV added riscos and isc os types
+ took out -DSHORT_MESSAGE from --with-csops since it is now the
+ default
+
+1995-01-13 12:46 millert
+
+ * sudo.c: move the include of id.h to compat.h now includes
+ options.h
+
+1995-01-13 12:45 millert
+
+ * sudo.h: moved compatibility #defines to compat.h
+
+1995-01-13 12:45 millert
+
+ * pathnames.h.in: added _PATH_MV
+
+1995-01-13 12:43 millert
+
+ * config.h.in: move __P to compat.h
+
+1995-01-13 12:39 millert
+
+ * getcwd.c, getwd.c, putenv.c: now includes compat.h
+
+1995-01-13 12:39 millert
+
+ * compat.h: Initial revision
+
+1995-01-11 19:11 millert
+
+ * sudo.h: pull user-configurable stuff out and put in options.h
+
+1995-01-11 18:43 millert
+
+ * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
+ sudo_setenv.c, parse.lex, parse.yacc, visudo.c: now includes
+ options.h
+
+1995-01-11 18:41 millert
+
+ * Makefile.in: added visudoers/options.h
+
+1995-01-11 18:40 millert
+
+ * options.h, OPTIONS: Initial revision
+
+1995-01-11 18:39 millert
+
+ * Makefile.in: added OPTIONS and options.h
+
+1995-01-11 18:36 millert
+
+ * logging.c: changed #ifdef's to use LOGGING and
+ SLOG_SYSLOG/SLOG_FILE
+
+1995-01-11 11:02 millert
+
+ * check.c, sudo.h: changed PASSWORD_TIMEOUT to minutes
+
+1994-12-17 18:18 millert
+
+ * visudo.c: now only do Editor +line_num if line_num != 0
+
+1994-12-15 21:06 millert
+
+ * visudo.c: now use mv if rename(2) fails
+
+1994-12-15 20:32 millert
+
+ * BUGS: added a visudo bug
+
+1994-12-15 19:46 millert
+
+ * check.c: expanded comment
+
+1994-11-12 18:33 millert
+
+ * check.c: fixed user_is_exempt to return 0 if EXEMPTGROUP is not
+ set
+
+1994-11-09 19:49 millert
+
+ * sudo.c: added mips & isc support
+
+1994-11-09 19:49 millert
+
+ * parse.c: added support for non-root owned sudoers file
+
+1994-11-09 19:48 millert
+
+ * check.c: added exempt group support
+
+1994-11-09 19:47 millert
+
+ * sudo.h: added set_perms() support added SUDOERS_OWNER so can have
+ non-root own sudoers file added exempt group support added isc
+ support
+
+1994-11-09 19:46 millert
+
+ * visudo.c: now copy sudoers to temp file via read/write (not
+ stdio) now chown new sudoers file to SUDOERS_OWNER
+
+1994-11-07 20:40 millert
+
+ * configure.in: added skey support
+
+1994-11-07 20:39 millert
+
+ * sudo.h: fixed typo added set_perms support added skey support
+ added seteuid()/setegid() emulation for AIX
+
+1994-11-07 20:38 millert
+
+ * sudo.c: be_* -> setperms() now check to make sure sudoers file is
+ owned by root nread/write by only root
+
+1994-11-07 20:38 millert
+
+ * logging.c, parse.c, sudo_realpath.c: be_* -> setperms()
+
+1994-11-07 20:38 millert
+
+ * check.c: be_* -> set_perms() added skey support
+
+1994-11-06 18:59 millert
+
+ * Makefile.in: ++version
+
+1994-11-06 18:59 millert
+
+ * version.h: ++
+
+1994-10-21 13:16 millert
+
+ * sudo.c: now sets IFS
+
+1994-10-21 12:02 millert
+
+ * insults.h: fixed typo
+
+1994-10-15 15:48 millert
+
+ * config.h.in: added HAVE_SKEY
+
+1994-10-04 13:00 millert
+
+ * CHANGES: updated
+
+1994-10-04 12:57 millert
+
+ * Makefile.in: ++version
+
+1994-10-04 12:57 millert
+
+ * version.h: ++
+
+1994-10-04 12:56 millert
+
+ * sudo.c: now bail if ARgv[1] > MAXPATHLEN
+
+1994-10-04 12:56 millert
+
+ * configure.in: added function check for tcgetattr(3)
+
+1994-10-04 12:55 millert
+
+ * config.h.in: only define HAVE_TERMIOS_H if you have tcgetattr(3)
+
+1994-10-04 12:53 millert
+
+ * config.h.in: added check for tcgetattr
+
+1994-09-26 17:38 millert
+
+ * CHANGES: updated
+
+1994-09-22 13:30 millert
+
+ * parse.lex: now only include unistd.h for linux
+
+1994-09-21 14:29 millert
+
+ * Makefile.in: added visudo.8 generation
+
+1994-09-21 14:07 millert
+
+ * configure.in: added -Wl,-bI:./aixcrypt.exp to aix flags
+
+1994-09-20 19:39 millert
+
+ * BUGS: added one
+
+1994-09-20 19:39 millert
+
+ * CHANGES: updated
+
+1994-09-20 19:38 millert
+
+ * README: added mailing list info
+
+1994-09-20 19:37 millert
+
+ * parse.yacc: now use sudolineno instead of yylineno fixed bison
+ warnings
+
+1994-09-20 19:37 millert
+
+ * configure.in: now use -no_library_replacement for osf don't make
+ a static binary for hpux >= 9.0
+
+1994-09-20 19:21 millert
+
+ * tgetpass.c: added string.h/strings.h inclusion
+
+1994-09-20 19:21 millert
+
+ * config.h.in: added ssize_t def
+
+1994-09-20 19:18 millert
+
+ * parse.lex: added inclusion of string.h/strings.h
+
+1994-09-20 18:48 millert
+
+ * aclocal.m4: fixed uname | sed (needed to quote the '[')
+
+1994-09-20 18:42 millert
+
+ * parse.lex: replaced yylineno with sudolineno fixed bison syntax
+ errors
+
+1994-09-20 18:13 millert
+
+ * visudo.c: changed yylineno to sudolineno since yylineno cannot be
+ counted upon.
+
+1994-09-20 18:10 millert
+
+ * TODO: updated
+
+1994-09-20 17:52 millert
+
+ * parse.c: added code to support command listings
+
+1994-09-20 17:36 millert
+
+ * sudo.c: added code for -l flag
+
+1994-09-20 17:35 millert
+
+ * sudo.man: fixed typo added info for -l flag
+
+1994-09-20 14:45 millert
+
+ * configure.in: AC_SSIZE_T -> SUDO_SSIZE_T
+
+1994-09-20 14:45 millert
+
+ * aclocal.m4: added SUDO_SSIZE_T
+
+1994-09-20 14:44 millert
+
+ * sudo.h: added MODE_LIST
+
+1994-09-20 14:43 millert
+
+ * configure.in: added AC_SSIZE_T
+
+1994-09-19 20:53 millert
+
+ * find_path.c, sudo_realpath.c: readlink() is now declared as
+ returning ssize~_t
+
+1994-09-19 20:44 millert
+
+ * configure.in: added -laud for OSF c2
+
+1994-09-02 15:55 millert
+
+ * config.h.in, parse.lex, parse.yacc, pathnames.h.in, visudo.c,
+ Makefile.in: changed sudo-bugs.cs.colorado.edu ->
+ sudo-bugs@cs.colorado.edu
+
+1994-09-02 15:54 millert
+
+ * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
+ parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
+ sudo_setenv.c, tgetpass.c, version.h: changed
+ sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
+
+1994-09-01 15:56 millert
+
+ * Makefile.in: ++version
+
+1994-09-01 15:55 millert
+
+ * version.h: ++
+
+1994-09-01 15:55 millert
+
+ * logging.c: added host to alertmail messages
+
+1994-09-01 15:55 millert
+
+ * CHANGES, TODO: udpated
+
+1994-09-01 15:26 millert
+
+ * logging.c: fixed logging problem where mail would not say which
+ user it was
+
+1994-09-01 13:45 millert
+
+ * configure.in: added -laud for gcc if osf & c2
+
+1994-09-01 13:39 millert
+
+ * check.c: moved set_auth_parameters to sudo.c
+
+1994-09-01 13:38 millert
+
+ * sudo.c: added set_auth_parameters for osf
+
+1994-09-01 13:22 millert
+
+ * configure.in: cleaned up -static stuff
+
+1994-09-01 13:15 millert
+
+ * Makefile.in: ++version
+
+1994-09-01 13:15 millert
+
+ * version.h: ++
+
+1994-09-01 13:15 millert
+
+ * sudo.c: changed setenv() to sudo_setenv()
+
+1994-09-01 13:12 millert
+
+ * check.c: fixed osf problem
+
+1994-08-31 22:17 millert
+
+ * configure.in: added OSF C2 stuff
+
+1994-08-31 22:00 millert
+
+ * CHANGES: updated
+
+1994-08-31 21:56 millert
+
+ * check.c: added osf auth support & removed some extra spaces
+
+1994-08-31 21:52 millert
+
+ * INSTALL, SUPPORTED: added osf C2 stuff
+
+1994-08-31 19:52 millert
+
+ * TODO: added 2 suggestions
+
+1994-08-31 19:33 millert
+
+ * Makefile.in: removed README.v1.3.1 and added VERSION stuff
+
+1994-08-31 18:48 millert
+
+ * version.h: pl1
+
+1994-08-30 18:31 millert
+
+ * version.h: 1.3.1final
+
+1994-08-30 18:30 millert
+
+ * Makefile.in: added HISTORY
+
+1994-08-30 18:30 millert
+
+ * sudo.man: mention HISTPRY file
+
+1994-08-30 18:30 millert
+
+ * sudo.c: use sizeof instead of a constant in 1 place
+
+1994-08-30 18:30 millert
+
+ * parse.yacc: added unistd.h
+
+1994-08-30 18:29 millert
+
+ * parse.lex: added unistd.h
+
+1994-08-30 18:27 millert
+
+ * README: udpated
+
+1994-08-30 18:15 millert
+
+ * HISTORY: Initial revision
+
+1994-08-17 12:45 millert
+
+ * version.h: ++
+
+1994-08-17 12:39 millert
+
+ * CHANGES: updated
+
+1994-08-17 12:36 millert
+
+ * sudo_setenv.c: added unistd.h include
+
+1994-08-16 15:46 millert
+
+ * sudo.c: added sys/time.h for AIX
+
+1994-08-14 21:22 millert
+
+ * configure.in: added check for -lsocket and sys/sockio.h
+
+1994-08-14 21:21 millert
+
+ * config.h.in: took out libshadow check and added in sys/sockio.h
+ check
+
+1994-08-14 21:21 millert
+
+ * sudo.c: now include sockio.h instead of ioctl.h if it exists
+ "sudo -" now gets a better error message
+
+1994-08-14 20:47 millert
+
+ * sample.sudoers: now has a dir and subnet entry
+
+1994-08-13 18:15 millert
+
+ * sudo.c: removed if_ether.h
+
+1994-08-13 17:16 millert
+
+ * TODO: added an item
+
+1994-08-13 17:15 millert
+
+ * sudo.man: added network and ip addresses to man page
+
+1994-08-13 17:09 millert
+
+ * sudo.c: no error if can't get interfaces or netmask since
+ networking may not be in the kernel.
+
+1994-08-13 17:08 millert
+
+ * parse.c: nwo check for interfaces == NULL
+
+1994-08-12 21:22 millert
+
+ * parse.c: fixed a bug that caused directory specs in a Cmnd_Alias
+ to fail if the last entry in the spec failed (ie: it was only
+ looking at the last entry). CLeaned things up by adding the
+ cmndcmp() function--all neat & tidy
+
+1994-08-12 21:21 millert
+
+ * CHANGES: added one
+
+1994-08-11 23:42 millert
+
+ * sudo.c: now do two passes to skip bogus interfaces (lo0, etc)
+
+1994-08-11 21:58 millert
+
+ * logging.c, sudo_realpath.c, sudo_setenv.c: added ninclude of
+ netinet/in.h
+
+1994-08-11 21:58 millert
+
+ * check.c, find_path.c, getcwd.c, getwd.c, parse.lex, parse.yacc,
+ visudo.c: added include of netinet/in.h
+
+1994-08-11 21:57 millert
+
+ * version.h: ++
+
+1994-08-11 21:57 millert
+
+ * sudo.h: added interfaces global
+
+1994-08-11 21:56 millert
+
+ * parse.c: now uses new interfaces global
+
+1994-08-11 21:56 millert
+
+ * sudo.c: now ip addresses are gleaned fw/o dns
+
+1994-08-10 19:21 millert
+
+ * sudo.c: added load_ip_addrs() to load the ip_addrs global var
+
+1994-08-10 19:21 millert
+
+ * parse.c: added hostcmp() to compare hostnames, ip addrs, and
+ network addrs
+
+1994-08-10 19:20 millert
+
+ * sudo.h: added ip_addrs def added load_ip_addrs prototype
+
+1994-08-08 16:03 millert
+
+ * CHANGES: updated
+
+1994-08-08 15:57 millert
+
+ * Makefile.in: removed multiple entries in DISTFILES
+
+1994-08-08 13:05 millert
+
+ * visudo.c: ansified the !STDC_HEADERS decls
+
+1994-08-08 13:05 millert
+
+ * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c: don't do
+ malloc decl if gnuc
+
+1994-08-08 13:04 millert
+
+ * sudo.c: can't use getopt(3) since it munges args to the command
+ to be run as root don't do malloc decl if gnuc
+
+1994-08-08 00:41 millert
+
+ * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
+ sudo_realpath.c, sudo_setenv.c: ansi-fied !STDC_HEADER function
+ prottypes
+
+1994-08-08 00:27 millert
+
+ * getcwd.c, getwd.c: added missing paren
+
+1994-08-08 00:23 millert
+
+ * Makefile.in: added putenv.c to DISTFILES
+
+1994-08-08 00:08 millert
+
+ * sudo_setenv.c: added params to func decls when STDC_HEADERS is
+ not defined now can count on putenv() being there
+
+1994-08-08 00:08 millert
+
+ * sudo_realpath.c: took out errno decl since sudo.h does it for us
+ fixed up a next cc warning added params to func decls when
+ STDC_HEADERS is not defined
+
+1994-08-08 00:07 millert
+
+ * sudo.h: took out environ extern added local declaratio of
+ putenv() if local version is needed
+
+1994-08-08 00:05 millert
+
+ * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c: added params to
+ func decls when STDC_HEADERS is not defined
+
+1994-08-08 00:04 millert
+
+ * config.h.in: added memcpy check check to see that ansi vs bsd
+ macros are ntot already defiend before defining (ie: avoid
+ redefinition)
+
+1994-08-08 00:03 millert
+
+ * configure.in: removed fluff setenv check plus check w/ replace
+ for putenv if also no setenv
+
+1994-08-08 00:01 millert
+
+ * putenv.c: Initial revision
+
+1994-08-06 19:19 millert
+
+ * sudo_setenv.c: Initial revision
+
+1994-08-06 19:19 millert
+
+ * sudo.h: rm'd s realp[ath added sudo_realpath and sudo_setenv
+
+1994-08-06 19:19 millert
+
+ * sudo.c: now use sudo_setenvc
+
+1994-08-06 19:18 millert
+
+ * configure.in: added puteenv and setenv, removed realpath
+
+1994-08-06 19:18 millert
+
+ * config.h.in: added putenv & setenv
+
+1994-08-06 19:18 millert
+
+ * Makefile.in: added sudo_setenv
+
+1994-08-06 19:16 millert
+
+ * version.h: ++
+
+1994-08-05 19:43 millert
+
+ * configure.in: added MAN_POSTINSTALL and /usr/share/catman for
+ irix
+
+1994-08-05 19:43 millert
+
+ * Makefile.in: added MAN_POSTINSTALL
+
+1994-08-05 19:43 millert
+
+ * CHANGES: added
+
+1994-08-05 19:10 millert
+
+ * sudo.man: added SUDO_* plus new options
+
+1994-08-05 19:10 millert
+
+ * CHANGES: added one
+
+1994-08-05 19:07 millert
+
+ * configure.in: took out shadow lib
+
+1994-08-05 18:35 millert
+
+ * TODO: adde done
+
+1994-08-05 17:52 millert
+
+ * visudo.c: now use yyrestart() if flex now reset yylineno to 0
+
+1994-08-05 17:49 millert
+
+ * Makefile.in: support for installing a cat page instead of a man
+ page if no nroff
+
+1994-08-05 17:48 millert
+
+ * configure.in: now defines HAVE_FLEX fixed up man stuff so that it
+ looks for nroff to determine whether or not to install a cat or
+ man page
+
+1994-08-05 17:48 millert
+
+ * config.h.in: added HAVE_FLEX
+
+1994-08-05 16:14 millert
+
+ * sudo.c: not set ret to MODE_RUN initially
+
+1994-08-05 16:12 millert
+
+ * find_path.c: made command (and therefor cmnd dynamically
+ allocated)
+
+1994-08-04 20:25 millert
+
+ * TODO: did #8
+
+1994-08-04 20:24 millert
+
+ * version.h: ++
+
+1994-08-04 20:24 millert
+
+ * sudo_realpath.c: changed bufs from MAXPATHLEN to MAXPATHLEN+1
+
+1994-08-04 20:24 millert
+
+ * sudo.h: added MODE_ removed validate_only and added
+ remove_timestamp()
+
+1994-08-04 20:22 millert
+
+ * sudo.c: usage() now takes an int (exit value) added parse_args()
+ to parse command line arguments moved call to find_path() from
+ load_globals to new function load_cmnd() removed validate_only
+ global -- now use the concept of "modes" added -h and -k options
+
+1994-08-04 20:21 millert
+
+ * parse.c: no longer use global validate_only now checks for
+ command called "validate" removed check for non-fully qualified
+ commands since that is done by find_path
+
+1994-08-04 20:20 millert
+
+ * find_path.c: changed MAXPATHLEN r to MAXPATHLEN+1
+
+1994-08-04 20:17 millert
+
+ * find_path.c: fixed off by one error with MAXPATHLEN and fixed a
+ comment
+
+1994-08-04 20:17 millert
+
+ * check.c: check_timestamp no longer runs reminder(), it is implied
+ in the return val added remove_timestamp()
+
+1994-08-04 20:16 millert
+
+ * CHANGES: updated
+
+1994-08-04 16:38 millert
+
+ * BUGS: fixed on
+
+1994-08-04 16:38 millert
+
+ * sudo_realpath.c: took out old_errno
+
+1994-08-04 16:37 millert
+
+ * CHANGES: updated
+
+1994-08-03 12:08 millert
+
+ * logging.c: moved send_mail to after syslog
+
+1994-08-02 22:41 millert
+
+ * sudo.c: now set SUDO_ envariables
+
+1994-08-01 13:40 millert
+
+ * version.h: ++
+
+1994-08-01 13:39 millert
+
+ * sudo_realpath.c: now print error if chdir fails
+
+1994-08-01 13:39 millert
+
+ * find_path.c: removed an XXX
+
+1994-07-25 20:40 millert
+
+ * CHANGES: updated
+
+1994-07-25 20:36 millert
+
+ * configure.in: no more static binaries for aix
+
+1994-07-25 18:37 millert
+
+ * INSTALL: fixed typo
+
+1994-07-25 18:33 millert
+
+ * sudo_realpath.c: took out stuff not needed for sudo now does
+ be_root/be_user itself now uses cwd global
+
+1994-07-25 18:32 millert
+
+ * version.h: +=2
+
+1994-07-25 18:31 millert
+
+ * logging.c, sudo.c: be_root/be_user is now down in sudo_realpath()
+
+1994-07-25 18:26 millert
+
+ * logging.c, sudo.h: now works with 4.2BSD syslog (blech)
+
+1994-07-25 18:25 millert
+
+ * find_path.c: now use sudo_realpath()
+
+1994-07-25 18:25 millert
+
+ * config.h.in: took out realpth() stuff since we now use
+ sudo_realpath()
+
+1994-07-25 18:25 millert
+
+ * configure.in: ultrix enhanced sec
+
+1994-07-25 18:25 millert
+
+ * SUPPORTED: added ultrix enhanced sec.
+
+1994-07-25 18:24 millert
+
+ * INSTALL: updated
+
+1994-07-25 18:21 millert
+
+ * check.c: ultrix enhanced security suport
+
+1994-07-25 18:20 millert
+
+ * Makefile.in: added sudo_realpath.c
+
+1994-07-25 18:18 millert
+
+ * CHANGES: updated
+
+1994-07-25 14:28 millert
+
+ * tgetpass.c: increased passwd len to 24 for c2 security
+
+1994-07-25 13:17 millert
+
+ * BUGS: updated BUGS
+
+1994-07-15 11:49 millert
+
+ * check.c: now use user global var
+
+1994-07-15 11:48 millert
+
+ * configure.in: took out -ls
+
+1994-07-14 19:11 millert
+
+ * configure.in: added AFS libs
+
+1994-07-14 17:45 millert
+
+ * sudo.h: user is now a char * added epasswd
+
+1994-07-14 17:43 millert
+
+ * sudo.c: added tzset() to load_globals added epasswd (encrypted
+ password) global made user dynamically allocated
+
+1994-07-14 17:43 millert
+
+ * configure.in: added tzset test
+
+1994-07-14 17:43 millert
+
+ * config.h.in: added HAVE_TZSET
+
+1994-07-14 17:42 millert
+
+ * check.c: cleaned up encrypted passwd grab somewhat
+
+1994-07-14 12:34 millert
+
+ * configure.in: fixed AFS typo
+
+1994-07-14 12:34 millert
+
+ * INSTALL: added AFS not
+
+1994-07-14 12:34 millert
+
+ * CHANGES: udpated
+
+1994-07-14 12:33 millert
+
+ * logging.c: can now log to both syslog & a file
+
+1994-07-14 12:12 millert
+
+ * sudo.h: added BOTH_LOGS
+
+1994-07-14 11:34 millert
+
+ * CHANGES: updated
+
+1994-07-14 11:32 millert
+
+ * configure.in: --with-AFS
+
+1994-07-14 11:32 millert
+
+ * config.h.in: added HAVE_AFS
+
+1994-07-14 11:31 millert
+
+ * check.c: added afs changes
+
+1994-07-14 11:21 millert
+
+ * sudo.h: removed AFS stuff :-)
+
+1994-07-14 11:19 millert
+
+ * tgetpass.c: include sys/select for AIX
+
+1994-07-14 11:17 millert
+
+ * sudo.h: added AFS
+
+1994-07-14 11:16 millert
+
+ * version.h: ++
+
+1994-07-07 14:45 millert
+
+ * SUPPORTED, CHANGES: updated
+
+1994-07-07 14:44 millert
+
+ * logging.c: can now have MAILER undefined
+
+1994-07-07 14:37 millert
+
+ * INSTALL: new sub-note about MAILER
+
+1994-07-06 23:11 millert
+
+ * sudo.man: added blurb about password timeout
+
+1994-07-06 20:52 millert
+
+ * configure.in: convex c2 changes
+
+1994-07-06 20:52 millert
+
+ * aclocal.m4: took out duplicate define of _CONVEX_SOURCE
+
+1994-07-06 20:51 millert
+
+ * Makefile.in: added OSDEFS
+
+1994-07-06 20:46 millert
+
+ * config.h.in: added spaces
+
+1994-07-06 20:08 millert
+
+ * tgetpass.c: added a goto if fgets fails
+
+1994-07-06 20:08 millert
+
+ * sudo.h: use __hpux not hpux convex c2 stuff
+
+1994-07-06 20:08 millert
+
+ * sudo.c: use __hpux not hpux
+
+1994-07-06 20:08 millert
+
+ * logging.c: convex c2 stuff
+
+1994-07-06 20:07 millert
+
+ * config.h.in: define ansi-ish cpp os defines if non-ansi are
+ defined for hpux & convex
+
+1994-07-06 20:07 millert
+
+ * INSTALL: updated to say we support sonvex C2
+
+1994-07-06 20:05 millert
+
+ * check.c: added convex c2 support
+
+1994-07-01 12:06 millert
+
+ * tgetpass.c: no more ioctl never returns NULL uses fgets() and
+ select() to timeout
+
+1994-06-29 17:04 millert
+
+ * configure.in: things were testing -n "$GCC" instead of -z "$GCC"
+
+1994-06-29 16:39 millert
+
+ * tgetpass.c: now works + uses fgets()
+
+1994-06-28 18:25 millert
+
+ * tgetpass.c: select doesn't seem to recognize a single '\n' as
+ input waiting so we can;t use it, sigh.
+
+1994-06-26 16:38 millert
+
+ * PORTING: updated tgetpass() blurb
+
+1994-06-26 16:35 millert
+
+ * configure.in: added --with-getpass
+
+1994-06-26 16:35 millert
+
+ * Makefile.in: added tgetpass stuff
+
+1994-06-26 15:25 millert
+
+ * tgetpass.c: now uses stdio
+
+1994-06-26 15:17 millert
+
+ * version.h: ++
+
+1994-06-24 19:48 millert
+
+ * PORTING: updated ,.
+
+1994-06-24 19:46 millert
+
+ * config.h.in: added USE_GETPASS && HAVE_C2_SECURITY
+
+1994-06-24 19:45 millert
+
+ * configure.in: fixed a test aded --with-C2 and --with-tgetpass
+
+1994-06-24 19:45 millert
+
+ * check.c: added hpux C2 shit
+
+1994-06-24 19:45 millert
+
+ * Makefile.in: took out tgetpass.*
+
+1994-06-24 19:45 millert
+
+ * INSTALL: added C2 blurb
+
+1994-06-13 15:54 millert
+
+ * configure.in: no termio(s) for ultrix since it is broken
+
+1994-06-13 15:41 millert
+
+ * check.c: added a space (yeah, anal)
+
+1994-06-13 15:17 millert
+
+ * realpath.c, sudo_realpath.c: fixed it (duh, rtfm)
+
+1994-06-08 14:34 millert
+
+ * config.h.in: took out bsd signal stuff for irix
+
+1994-06-08 14:26 millert
+
+ * visudo.c: comments in #endif
+
+1994-06-08 14:09 millert
+
+ * configure.in: don't define BSD signals for irix
+
+1994-06-08 12:57 millert
+
+ * TODO: did some...
+
+1994-06-08 12:57 millert
+
+ * CHANGES: updated
+
+1994-06-08 12:56 millert
+
+ * realpath.c, sudo_realpath.c: took out unneeded code by changing
+ where a strings was terminated
+
+1994-06-07 19:21 millert
+
+ * realpath.c, sudo_realpath.c: fix bug where /dirname would return
+ NULL
+
+1994-06-07 17:40 millert
+
+ * sudo.h: move __P to config.h
+
+1994-06-07 17:40 millert
+
+ * getcwd.c, getwd.c, realpath.c, sudo_realpath.c: added errno
+ definition
+
+1994-06-07 17:40 millert
+
+ * config.h.in: added __P
+
+1994-06-07 17:21 millert
+
+ * config.h.in: added HAVE_FCHDIR
+
+1994-06-07 17:18 millert
+
+ * strdup.c: now include stdio
+
+1994-06-07 14:55 millert
+
+ * realpath.c, sudo_realpath.c: now works if no fchdir
+
+1994-06-07 14:55 millert
+
+ * visudo.c: define SA_RESETHAND to null if not defined
+
+1994-06-07 14:54 millert
+
+ * configure.in: added check & replace
+
+1994-06-06 20:05 millert
+
+ * configure.in: took out -static for nextstep -- it doesn't work
+
+1994-06-06 19:59 millert
+
+ * logging.c: moved #endif to where it belongs
+
+1994-06-06 19:54 millert
+
+ * SUPPORTED: correction
+
+1994-06-06 19:42 millert
+
+ * configure.in: now checks for strdup realpath getcwd bzero
+
+1994-06-06 19:31 millert
+
+ * config.h.in: emulate bzero
+
+1994-06-06 16:57 millert
+
+ * visudo.c: added posic signals
+
+1994-06-06 16:57 millert
+
+ * tgetpass.c: bzero cast
+
+1994-06-06 16:57 millert
+
+ * logging.c: added posix signals
+
+1994-06-06 16:56 millert
+
+ * configure.in: removed BROKEN_GETPASS added new srcs toreplace
+ missing functions
+
+1994-06-06 16:56 millert
+
+ * config.h.in: added posix signal stuff
+
+1994-06-06 16:56 millert
+
+ * Makefile.in: added new srcs
+
+1994-06-06 12:53 millert
+
+ * visudo.c: updated useag
+
+1994-06-06 12:39 millert
+
+ * tgetpass.c: now uses posix signals
+
+1994-06-05 20:17 millert
+
+ * PORTING: updated sto reflect major changes
+
+1994-06-05 20:05 millert
+
+ * TODO, CHANGES: updated
+
+1994-06-05 20:04 millert
+
+ * tgetpass.c: uses sysconf() if available
+
+1994-06-05 20:04 millert
+
+ * sudo.h: added PASSWORD_TIMEOUT + prototypes for new functions
+
+1994-06-05 20:04 millert
+
+ * realpath.c, sudo_realpath.c: for those w/o this in libc
+
+1994-06-05 20:03 millert
+
+ * getcwd.c, getwd.c: Initial revision
+
+1994-06-05 20:03 millert
+
+ * find_path.c: rewrote to use realpath(3) - nis now all my code
+
+1994-06-05 20:02 millert
+
+ * config.h.in: added HAVE_REALPATH
+
+1994-06-05 20:02 millert
+
+ * check.c: now use tgetpass
+
+1994-06-05 20:02 millert
+
+ * Makefile.in: added LIBOBJS use tgetpass.c
+
+1994-06-05 18:55 millert
+
+ * tgetpass.c: works now :-)
+
+1994-06-05 18:27 millert
+
+ * tgetpass.c: Initial revision
+
+1994-06-05 17:17 millert
+
+ * pathnames.h.in: added /dev/tty
+
+1994-06-04 17:12 millert
+
+ * version.h: incremented
+
+1994-06-04 15:29 millert
+
+ * sudo.c: always use getcwd
+
+1994-06-04 14:49 millert
+
+ * config.h.in: added check for getwd
+
+1994-06-04 14:48 millert
+
+ * configure.in: replace strdup & realpath & getcwd if missing
+
+1994-06-04 14:47 millert
+
+ * pathnames.h.in: added _PATH_PWD
+
+1994-06-04 14:46 millert
+
+ * aclocal.m4: added SUDO_PROG_PWD
+
+1994-06-04 14:37 millert
+
+ * realpath.c, sudo_realpath.c, strdup.c: Initial revision
+
+1994-06-03 11:31 millert
+
+ * configure.in: quoted quare brackets
+
+1994-06-02 17:49 millert
+
+ * sudo.c: no need to strdup() a constant
+
+1994-06-02 15:45 millert
+
+ * CHANGES: updated
+
+1994-06-02 15:44 millert
+
+ * sudo.man: added validate
+
+1994-06-02 15:42 millert
+
+ * sudo.c: added -v to usage
+
+1994-06-02 15:41 millert
+
+ * parse.c, sudo.c, sudo.h: added validate_only stuff
+
+1994-05-29 21:29 millert
+
+ * configure.in: now finds sed
+
+1994-05-29 21:28 millert
+
+ * aclocal.m4: $OSREV is now an int
+
+1994-05-29 19:13 millert
+
+ * configure.in: added mtxinu to caser
+
+1994-05-29 18:37 millert
+
+ * sudo.h: added EXEC macro
+
+1994-05-29 18:36 millert
+
+ * sudo.c: now use the EXEC nmacro now only do a gethostbyname() if
+ FQDN is set
+
+1994-05-29 18:36 millert
+
+ * logging.c: changed mail_argv[] def now use EXEC() macro
+
+1994-05-29 18:35 millert
+
+ * check.c: took out crypt() definition
+
+1994-05-29 17:23 millert
+
+ * version.h: upped the version
+
+1994-05-29 15:52 millert
+
+ * configure.in: always look for -lnsl
+
+1994-05-29 15:29 millert
+
+ * aclocal.m4: added an echo
+
+1994-05-29 15:25 millert
+
+ * sudo.h: SHORT_MESSAGE is now the default
+
+1994-05-29 15:18 millert
+
+ * config.h.in: fixed typo
+
+1994-05-29 01:29 millert
+
+ * configure.in: added missing AC_DEFINE(SVR4) for solaris
+
+1994-05-28 20:42 millert
+
+ * sudo.man: documented the -v flag
+
+1994-05-28 20:34 millert
+
+ * SUPPORTED: updated
+
+1994-05-28 20:31 millert
+
+ * check.c: proto-ized crypt()
+
+1994-05-28 20:28 millert
+
+ * config.h.in: added LIBSHADOW undef
+
+1994-05-28 20:18 millert
+
+ * configure.in: nwo set OS to be lowercase
+
+1994-05-28 19:36 millert
+
+ * configure.in: now use SUDO_OSTYPE to set $OS
+
+1994-05-28 19:36 millert
+
+ * aclocal.m4: now use uname to determine os
+
+1994-05-28 16:23 millert
+
+ * visudo.c: added prototypes & moved sig handler around
+
+1994-05-28 15:13 millert
+
+ * sudo.h: added prototyppes
+
+1994-05-28 15:13 millert
+
+ * parse.c: added comment
+
+1994-05-28 15:12 millert
+
+ * config.h.in: nwo use _BSD_SIGNALS not _BSD_COMPAT
+
+1994-05-28 15:11 millert
+
+ * check.c, logging.c, sudo.c: added prototypes
+
+1994-05-28 15:11 millert
+
+ * aixcrypt.exp: Initial revision
+
+1994-05-28 15:11 millert
+
+ * Makefile.in: added aixcrypt.exp
+
+1994-05-28 13:21 millert
+
+ * parse.lex, parse.yacc: moved config.h to top of includes
+
+1994-05-25 15:48 millert
+
+ * find_path.c: now don't bitch if get EACCESS (treat like EPERM)
+
+1994-05-24 23:08 millert
+
+ * visudo.c: added -v flag and usage()
+
+1994-05-24 23:08 millert
+
+ * version.h: fixed a typo
+
+1994-05-24 23:08 millert
+
+ * sudo.c: cast Argv to a const for exec added -v flag
+
+1994-05-24 23:07 millert
+
+ * logging.c: mail_argv is now a const
+
+1994-05-24 23:07 millert
+
+ * configure.in: only set RETSIGTYPE if it is not set already
+
+1994-05-24 23:07 millert
+
+ * aclocal.m4: now defines & STDC_HEADERS for Irix
+
+1994-05-24 23:07 millert
+
+ * Makefile.in: added version.h
+
+1994-05-24 21:25 millert
+
+ * insults.h, sudo.h: prevent multiple inclusion
+
+1994-05-24 21:20 millert
+
+ * version.h: Initial revision
+
+1994-05-24 21:09 millert
+
+ * parse.lex, parse.yacc: now includes config.h
+
+1994-05-24 20:54 millert
+
+ * aclocal.m4: now talks about sunos 4.x
+
+1994-05-24 20:23 millert
+
+ * visudo.c: calls to Exit now pass an arg
+
+1994-05-24 18:00 millert
+
+ * visudo.c: signal handler now takes an int argument
+
+1994-05-24 18:00 millert
+
+ * CHANGES: updated
+
+1994-05-24 17:44 millert
+
+ * sudo.c: ok, the getcwd() is now *really* done as the user
+
+1994-05-24 17:44 millert
+
+ * configure.in: changed AIX STATIC_FLAGS
+
+1994-05-24 16:27 millert
+
+ * aclocal.m4: solaris now defines SVR4
+
+1994-05-24 16:18 millert
+
+ * sudo.h: added cwd and fixed stupid core dump that makes no sense.
+ sigh.
+
+1994-05-24 16:18 millert
+
+ * sudo.c: moved getcwd stuff into load_globals
+
+1994-05-24 16:18 millert
+
+ * parse.c: took out externs that are in suod.h
+
+1994-05-24 16:18 millert
+
+ * logging.c: moved cwd into load_globals
+
+1994-05-24 16:17 millert
+
+ * find_path.c: moved cwd stuff
+
+1994-05-24 15:55 millert
+
+ * Makefile.in: fixed make distclean & realclean
+
+1994-05-24 12:51 millert
+
+ * TODO: updated .,
+
+1994-05-24 12:51 millert
+
+ * CHANGES: added solaris changes
+
+1994-05-24 12:51 millert
+
+ * aclocal.m4: added solaris changes, need to rework
+
+1994-05-24 12:50 millert
+
+ * configure.in: cleaned up for solaris
+
+1994-05-24 12:13 millert
+
+ * logging.c: reinstall reapchild signal handler for non-bsd signals
+
+1994-05-24 12:03 millert
+
+ * sudo.h: took out getdtablesize() emulation for HP-UX (no longer
+ needed)
+
+1994-05-24 12:03 millert
+
+ * sudo.c: support for HAVE_SYSCONF
+
+1994-05-24 12:02 millert
+
+ * visudo.c: added <fcntl.h> for solaris & reorg'd the includes +
+ minor prettying up /
+
+1994-05-23 20:26 millert
+
+ * config.h.in: added HAVE_SYSCONF
+
+1994-05-16 18:57 millert
+
+ * configure.in: now tells you what os you are running /.
+
+1994-05-16 18:56 millert
+
+ * aclocal.m4: took out extra ','
+
+1994-05-14 17:56 millert
+
+ * config.h.in: added _BSD_COMPAT
+
+1994-05-14 17:56 millert
+
+ * aclocal.m4: fixed for irix5
+
+1994-05-14 17:55 millert
+
+ * CHANGES: updated
+
+1994-05-14 17:27 millert
+
+ * sudo.c: uid seinitialized to -2
+
+1994-04-28 12:36 millert
+
+ * sudo.c: now removes LIBPATH for AIX
+
+1994-03-12 20:41 millert
+
+ * configure.in: now uses ufc if it finds it
+
+1994-03-12 17:42 millert
+
+ * sudo.h: no longer define yyval & yylval since yacc does it
+
+1994-03-12 17:42 millert
+
+ * parse.lex: now defines yylval as extenr
+
+1994-03-12 17:41 millert
+
+ * configure.in: BROKEN_GETPASS is now an OPTION
+
+1994-03-12 17:41 millert
+
+ * config.h.in: took out BROKEN_GETPASS
+
+1994-03-12 17:20 millert
+
+ * Makefile.in: took out big comment
+
+1994-03-12 16:24 millert
+
+ * README: updated
+
+1994-03-12 16:20 millert
+
+ * Makefile.in: took out README.beta
+
+1994-03-12 16:19 millert
+
+ * SUPPORTED: Initial revision
+
+1994-03-12 16:19 millert
+
+ * INSTALL: now reference SUPPORTED .,
+
+1994-03-12 16:17 millert
+
+ * config.h.in: now check for convex OR __convex__
+
+1994-03-12 16:16 millert
+
+ * aclocal.m4: now check for convex or __convex__
+
+1994-03-12 16:15 millert
+
+ * Makefile.in: added dist target
+
+1994-03-12 15:19 millert
+
+ * aclocal.m4: use __convex__
+
+1994-03-12 14:33 millert
+
+ * find_path.c: now use _S_* stat stuff to be ansi-like
+
+1994-03-12 14:11 millert
+
+ * INSTALL: updated for configure directions
+
+1994-03-12 14:05 millert
+
+ * Makefile.in: distclean now removes config.h and pathnames.h
+
+1994-03-12 14:03 millert
+
+ * CHANGES: updated
+
+1994-03-12 14:00 millert
+
+ * TODO: fixed typoe
+
+1994-03-12 13:57 millert
+
+ * Makefile.in, visudo.c: updated version
+
+1994-03-12 13:57 millert
+
+ * config.h.in, pathnames.h.in: added copyright header
+
+1994-03-12 13:55 millert
+
+ * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
+ parse.yacc, sudo.c, sudo.h: udpated version
+
+1994-03-12 13:39 millert
+
+ * visudo.c: udpated to use configure + pathnames.h
+
+1994-03-12 13:37 millert
+
+ * Makefile.in, config.h.in, configure.in, aclocal.m4: updated
+
+1994-03-12 13:37 millert
+
+ * sudo.h: now works with configure
+
+1994-03-12 13:36 millert
+
+ * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
+ updated to work with configure + pathnames.h
+
+1994-03-12 10:40 millert
+
+ * Makefile.in: added LEXLIB
+
+1994-03-10 03:18 millert
+
+ * COPYING: updated gnu general licence to versio 2
+
+1994-03-10 02:44 millert
+
+ * pathnames.h.in, config.h.in: Initial revision
+
+1994-03-10 01:43 millert
+
+ * sudo.h: changed to work with configure
+
+1994-03-09 18:51 millert
+
+ * Makefile.in, aclocal.m4, configure.in: Initial revision
+
+1994-03-09 17:36 millert
+
+ * visudo.c: now uses defines used by configure
+
+1994-03-01 16:31 millert
+
+ * find_path.c: sudo won't bitch about EPERM now, for real
+
+1994-02-28 00:36 millert
+
+ * logging.c: renamed exec_argv to eliminate a libc name clash with
+ ksros
+
+1994-02-28 00:28 millert
+
+ * CHANGES: corrected
+
+1994-02-28 00:27 millert
+
+ * logging.c, sudo.c, sudo.h: execve -> execv
+
+1994-02-27 23:27 millert
+
+ * TODO: upated
+
+1994-02-27 23:19 millert
+
+ * PORTING: added 2 mroe items
+
+1994-02-27 23:12 millert
+
+ * CHANGES: updated
+
+1994-02-27 23:11 millert
+
+ * sudo.h: added UMASK and mode_t declaration
+
+1994-02-27 23:11 millert
+
+ * sudo.c: added UMASK
+
+1994-02-27 20:55 millert
+
+ * logging.c: now opens log file with mode 077
+
+1994-02-27 20:55 millert
+
+ * check.c: saved current umask ans restores it
+
+1994-02-27 20:36 millert
+
+ * sudo.h: added MAXLOGFILELEN
+
+1994-02-27 20:35 millert
+
+ * logging.c: split long log lines. FOr syslog, split into multiple
+ entries, for a log file, indent the extra for readability
+
+1994-02-27 17:22 millert
+
+ * CHANGES: added changes
+
+1994-02-27 17:18 millert
+
+ * sudo.h: MAXLOGLEN & MAXSYSLOGLEN are now different (as they
+ should be)
+
+1994-02-25 16:04 millert
+
+ * TODO: added input from Brett M Hogden <hogden@rge.com>
+
+1994-02-16 13:35 millert
+
+ * sudo.c: added rmenv() to remove stuff from environ. can now uses
+ execvp() OR execve() becuase of this.
+
+1994-02-16 13:35 millert
+
+ * logging.c: now uses execvp() OR execve()
+
+1994-02-16 13:31 millert
+
+ * sudo.h: added USE_EXECVE
+
+1994-02-16 13:27 millert
+
+ * sudo.h: added environ
+
+1994-02-16 12:53 millert
+
+ * find_path.c: now ignore EPERM
+
+1994-02-15 23:52 millert
+
+ * sudo.h: moved some func decls out of sudo.h and into sudo.c as
+ statics /.
+
+1994-02-15 23:52 millert
+
+ * CHANGES: updated
+
+1994-02-15 23:40 millert
+
+ * sudo.h: took out Envp
+
+1994-02-14 12:28 millert
+
+ * BUGS: Initial revision
+
+1994-02-10 14:29 millert
+
+ * sudo.c, sudo.h, CHANGES: added SECURE_PATH
+
+1994-02-10 14:05 millert
+
+ * sudo.h: added SECURE_PATH
+
+1994-02-10 13:50 millert
+
+ * INSTALL: added sample.sudoers note
+
+1994-02-10 13:47 millert
+
+ * sudoers: Initial revision
+
+1994-02-09 14:54 millert
+
+ * find_path.c: fixed typo
+
+1994-02-08 23:06 millert
+
+ * PORTING: took out SAVED_UID garbage
+
+1994-02-08 22:55 millert
+
+ * INSTALL: mentioned HAL
+
+1994-02-08 22:50 millert
+
+ * sudo.h: added HAL line
+
+1994-02-08 22:48 millert
+
+ * insults.h: added HAL insults
+
+1994-02-08 22:48 millert
+
+ * TODO: updated
+
+1994-02-08 22:02 millert
+
+ * logging.c: more verbose error if mailer not found
+
+1994-02-08 22:02 millert
+
+ * check.c: now do getpwent as root for soem shadow password systems
+ (bsdi)
+
+1994-02-08 13:22 millert
+
+ * sudo.h: took out SAVED_UID garbade
+
+1994-02-08 13:21 millert
+
+ * sudo.c: took out SAVED_UID garbage since it don't work
+
+1994-02-06 17:43 millert
+
+ * README: updated
+
+1994-02-06 17:40 millert
+
+ * insults.h: added a missing space :-)
+
+1994-02-05 19:48 millert
+
+ * sudo.c, sudo.h: took out multimax cruft
+
+1994-02-05 19:30 millert
+
+ * INSTALL: minor update
+
+1994-02-05 19:30 millert
+
+ * PORTING: finished
+
+1994-02-05 19:19 millert
+
+ * sudo.c: fixed a typo + indentation
+
+1994-02-05 18:43 millert
+
+ * sudo.h: took outumoved some defines to the config file ,. ,.
+
+1994-02-05 15:17 millert
+
+ * PORTING: Initial revision
+
+1994-02-05 15:17 millert
+
+ * TODO: did #6
+
+1994-02-05 15:16 millert
+
+ * sudo.h: added HAS_SAVED_UID
+
+1994-02-05 15:16 millert
+
+ * sudo.c: put back AIX cruft
+
+1994-02-03 00:44 millert
+
+ * sudo.c: aix changes
+
+1994-02-02 01:31 millert
+
+ * CHANGES: updated
+
+1994-02-02 01:30 millert
+
+ * check.c, logging.c, parse.c, sudo.c, sudo.h: now is only root
+ when abs necesary
+
+1994-02-01 22:21 millert
+
+ * check.c: added missing %s\n
+
+1994-01-31 02:06 millert
+
+ * install-sh: Initial revision
+
+1994-01-31 01:58 millert
+
+ * CHANGES, TODO: updated
+
+1994-01-31 01:56 millert
+
+ * sudo.c: now removed _RLD_* for alphas
+
+1994-01-31 01:50 millert
+
+ * INSTALL: updated for new config scheme
+
+1994-01-30 19:42 millert
+
+ * find_path.c: more verbose eror messages
+
+1994-01-27 14:08 millert
+
+ * TODO: now have solaris
+
+1994-01-27 14:07 millert
+
+ * sudo.h: define __svr4__ for SOLARIS
+
+1994-01-27 14:07 millert
+
+ * check.c: added svr4 junk for shadow pws for solaris 2.x
+
+1994-01-27 13:19 millert
+
+ * check.c, sudo.c: took out setuid(0) and setreuid(udi) garbage.
+ Its not needed since we start out setuid with the correct perms.
+
+1994-01-26 19:51 millert
+
+ * check.c, sudo.c, sudo.h: now use setreuid()
+
+1994-01-26 18:58 millert
+
+ * sudo.man: revised AUTHORS secrtion & added ENV_EDITOR stuff to
+ VARIABLES sectoin
+
+1994-01-26 18:52 millert
+
+ * visudo.c: now uses ENV_EDITOR if you want to use the EDITOR envar
+
+1994-01-26 18:52 millert
+
+ * sudo.h: now uses ENV_EDITOR if you want to use the EDITOR envar
+ >> .
+
+1993-12-07 01:33 millert
+
+ * README: minor update + spell fix
+
+1993-12-07 01:33 millert
+
+ * INSTALL: rewrote most of this
+
+1993-12-07 01:13 millert
+
+ * sudo.h: added all options that are in the Makefile
+
+1993-12-07 00:23 millert
+
+ * getpass.c: now use USE_TERMIO #define for sgi & hpux
+
+1993-12-06 23:19 millert
+
+ * TODO: todo: posix sigs
+
+1993-12-06 01:12 millert
+
+ * check.c, find_path.c: always include strings.h
+
+1993-12-05 20:34 millert
+
+ * visudo.c: added STATICEDITOR
+
+1993-12-05 20:30 millert
+
+ * sudo.h: sgi has vi in /usr/bin too
+
+1993-12-05 20:23 millert
+
+ * sudo.man: added VISUAL
+
+1993-12-02 22:20 millert
+
+ * sudo.h: sue /usr/bin/vi on some systems
+
+1993-12-02 22:19 millert
+
+ * sudo.c: fixed warning (include strings.h)
+
+1993-12-02 22:06 millert
+
+ * sudo.man: added John_Rouillard@dl5000.bc.edu's changes (new
+ features)
+
+1993-12-02 21:38 millert
+
+ * CHANGES: changes from John_Rouillard@dl5000.bc.edu
+
+1993-12-02 21:35 millert
+
+ * visudo.c: added EDITOR envar
+
+1993-12-02 21:34 millert
+
+ * check.c, find_path.c, parse.c, sudo.c: added patches from
+ John_Rouillard directory spec uses EDITOR
+
+1993-12-01 19:32 millert
+
+ * getpass.c: added flush for hpux
+
+1993-11-30 13:37 millert
+
+ * sudo.c: no longer assume malloc returns a char *
+
+1993-11-29 20:35 millert
+
+ * sudo.c: alpha change to remove LD_-like thing fixed SHLIB_PATH
+ stuff -- now gets removed correctly
+
+1993-11-29 19:31 millert
+
+ * sudo.h: added STD_HEADERS macro
+
+1993-11-29 19:14 millert
+
+ * sudo.c: now uses STD_HEADERS macor for ansi
+
+1993-11-29 19:14 millert
+
+ * find_path.c: now uses STD_HEADERS macro
+
+1993-11-29 19:13 millert
+
+ * check.c: niceties for C compiler bitches -- no real change
+
+1993-11-29 13:04 millert
+
+ * visudo.c: now doesn't fclose a file never opened.
+
+1993-11-28 16:35 millert
+
+ * sudo.man: added visudo line
+
+1993-11-28 16:31 millert
+
+ * sudo.man: added error stuff added me in there...
+
+1993-11-28 03:12 millert
+
+ * CHANGES: noted insults
+
+1993-11-28 03:01 millert
+
+ * INSTALL: added blurb about reading stuff
+
+1993-11-28 03:00 millert
+
+ * sudo.h: added insults
+
+1993-11-28 03:00 millert
+
+ * insults.h: corrected somments and removed newlines
+
+1993-11-28 03:00 millert
+
+ * check.c: now uses insults
+
+1993-11-28 02:45 millert
+
+ * insults.h: Initial revision
+
+1993-11-27 19:46 millert
+
+ * INSTALL: added dec syslog note
+
+1993-11-27 19:25 millert
+
+ * sample.sudoers: added real stuff in there
+
+1993-11-27 19:24 millert
+
+ * TODO: added a todo
+
+1993-11-27 19:10 millert
+
+ * TODO: added one
+
+1993-11-27 18:59 millert
+
+ * sample.sudoers: Initial revision
+
+1993-11-27 18:59 millert
+
+ * sudo.man: updated with changes
+
+1993-11-27 18:52 millert
+
+ * sudo.man: Initial revision
+
+1993-11-27 18:48 millert
+
+ * CHANGES, COPYING, INSTALL, README, TODO, indent.pro: Initial
+ revision
+
+1993-11-27 18:46 millert
+
+ * visudo.c: updated version number and took out jeff's old addr
+ since it is no good
+
+1993-11-27 18:42 millert
+
+ * sudo.h, check.c, find_path.c, logging.c, parse.c, parse.lex,
+ parse.yacc, sudo.c: updated version number and took out jeff's
+ email (since it is invalid)
+
+1993-10-28 09:36 millert
+
+ * check.c: added fflush()
+
+1993-10-22 20:46 millert
+
+ * find_path.c: now return NULL instead pfof exiting for
+ nopnn-fatal errors
+
+1993-10-21 16:57 millert
+
+ * check.c: new banner
+
+1993-10-21 16:42 millert
+
+ * parse.lex: now sudo.h gets included first
+
+1993-10-17 20:31 millert
+
+ * parse.lex: now can use flex
+
+1993-10-17 20:31 millert
+
+ * sudo.h: linux patch
+
+1993-10-17 20:30 millert
+
+ * sudo.c: hpux 9 fix, removes SHLIB_PATH linux patch
+
+1993-10-17 20:30 millert
+
+ * check.c: linux diff
+
+1993-10-15 16:03 millert
+
+ * find_path.c: stat now ignores EINVAL
+
+1993-10-05 21:48 millert
+
+ * find_path.c, sudo.c: now declare strdup as extern
+
+1993-10-04 15:23 millert
+
+ * visudo.c: reformatted with indent + by hand
+
+1993-10-04 15:10 millert
+
+ * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c,
+ sudo.h: used indent to "fix" coding style
+
+1993-10-03 20:12 millert
+
+ * find_path.c: now checks '.' or '.' or '' in PATH -- but does it
+ LAST should maybe move the code that does this into the loop
+ body. makes it messier tho. hmmm.
+
+1993-09-08 11:53 millert
+
+ * find_path.c: redid the fix for non-executable files in an easier
+ to read way plus some minor aethetic changes
+
+1993-09-08 11:39 millert
+
+ * find_path.c: fixed bug with non-executable tings of same name in
+ path introduced by checkig errno after stat(2).
+
+1993-09-05 10:02 millert
+
+ * sudo.c: fixed off by one error
+
+1993-09-05 09:55 millert
+
+ * find_path.c: now handles decending below '/' correctly
+
+1993-09-05 08:35 millert
+
+ * sudo.c: now actually builds Envp instead of munging envp
+
+1993-09-04 15:42 millert
+
+ * parse.yacc: now includes sys/param.h
+
+1993-09-04 15:41 millert
+
+ * visudo.c: now includes sys/param.h
+
+1993-09-04 15:30 millert
+
+ * sudo.h: fixed ifndef -> ifdef
+
+1993-09-04 15:19 millert
+
+ * qualify.c: make more like find_path.c
+
+1993-09-04 15:18 millert
+
+ * find_path.c: rewritten by millert
+
+1993-09-04 15:17 millert
+
+ * sudo.h: fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP
+ added info about new defines in the comment
+
+1993-09-04 15:15 millert
+
+ * logging.c: now uses USE_CWD
+
+1993-09-04 14:10 millert
+
+ * sudo.h: added delc for clean_envp() and Envp
+
+1993-09-04 14:09 millert
+
+ * sudo.c: now rips LD_* env vars out of envp and passed sanitized
+ Envp to exec
+
+1993-09-04 14:09 millert
+
+ * logging.c: now uses execve()
+
+1993-09-04 14:08 millert
+
+ * find_path.c: ENOTDIR is ok now too (in case part of the path is
+ bogus)
+
+1993-09-04 08:17 millert
+
+ * qualify.c: now works correctly (ttaltotal rewrite)
+
+1993-09-04 07:59 millert
+
+ * parse.lex: now includes sys/param.h didn't match trailing / --
+ fix from rouilj@cs.umb.edu
+
+1993-06-11 18:04 millert
+
+ * sudo.c: moved around the #ifndef _AIX
+
+1993-06-11 18:03 millert
+
+ * check.c, logging.c, parse.c: Initial revision
+
+1993-03-20 07:57 millert
+
+ * qualify.c: Initial revision
+
+1993-03-13 15:09 millert
+
+ * find_path.c: now works if you do sudo bin/test
+
+1993-03-13 14:20 millert
+
+ * find_path.c: works
+
+1993-03-02 18:28 millert
+
+ * sudo.h: Initial revision
+
+1993-03-02 11:35 millert
+
+ * visudo.c: Initial revision
+
+1993-03-02 11:32 millert
+
+ * parse.lex, parse.yacc: Initial revision
+
+1993-02-16 13:24 millert
+
+ * sudo.c: took out errno.h
+
+1993-02-16 13:22 millert
+
+ * sudo.c: now spews error if exec fails and exits with -1
+
+1993-02-16 12:07 millert
+
+ * sudo.c: Initial revision
+
+1993-02-15 22:27 millert
+
+ * find_path.c: now only execs files with (an) executable bit set.
+
+1993-02-15 22:01 millert
+
+ * find_path.c: Initial revision
+
+1993-02-15 14:32 millert
+
+ * getpass.c: added nice comment
+
+1993-02-15 14:19 millert
+
+ * getpass.c: now works on sgi's
+
+1993-02-15 13:57 millert
+
+ * getpass.c: Initial revision
+
diff --git a/usr.bin/sudo/HISTORY b/usr.bin/sudo/HISTORY
index 17d0b79416a..f9a12b2c38a 100644
--- a/usr.bin/sudo/HISTORY
+++ b/usr.bin/sudo/HISTORY
@@ -1,47 +1,49 @@
-A Brief history of sudo(8):
-
-Sudo was first conceived and implemented by Bob Coggeshall and Cliff
-Spencer around 1980 at the Department of Computer Science at
-SUNY/Buffalo. It ran on a VAX-11/750 running 4.1BSD. An updated
-version, credited to Phil Betchel, Cliff Spencer, Gretchen Phillips,
-John LoVerso and Don Gworek, was posted to the net.sources newsgroup
-in December of 1985.
-
-In the Summer of 1986, Garth Snyder released an enhanced version
-of sudo. For the next 5 years, sudo was fed and watered by a handful
-of folks at CU-Boulder, including Bob Coggeshall, Bob Manchek, and
-Trent Hein.
-
-In 1991, Dave Hieb and Jeff Nieusma wrote a new version of sudo
-with an enhanced sudoers format under contract to a consulting firm
-called "The Root Group". This version was later released under the
-GNU public license.
-
-In 1994, after maintaining sudo informally within CU-Boulder for
-some time, Todd Miller made a public release of "CU sudo" (version
-1.3) with bug fixes and support for more operating systems. The
-"CU" was added to differentiate it from the "official" version from
-"The Root Group".
-
-In 1996, Todd, who had been maintaining sudo for several years in
-his spare time, brought sudo development under the umbrella of his
-consulting firm, Courtesan Consulting. Courtesan remains committed
-to a free sudo and is sponsoring another sudo rewrite as well as
-continued development of the sudo 1.x code base.
-
-In 1999, the "CU" prefix was dropped from the name since there has
-been no formal release of sudo from "The Root Group" since 1991
-(the original authors now work elsewhere). As of version 1.6, Sudo
-no longer contains any of the original "Root Group" code and is
-available under an ISC-style license.
-
-In 2004, Todd incorporated as GratiSoft, Inc. to provide commercial
-support and enhancements to the sudo community.
-
-In 2005, GratiSoft was put on hold.
+A brief history of sudo:
+
+Sudo was first conceived and implemented by Bob Coggeshall and Cliff Spencer
+around 1980 at the Department of Computer Science at SUNY/Buffalo. It ran on
+a VAX-11/750 running 4.1BSD. An updated version, credited to Phil Betchel,
+Cliff Spencer, Gretchen Phillips, John LoVerso and Don Gworek, was posted to
+the net.sources Usenet newsgroup in December of 1985.
+
+In the Summer of 1986, Garth Snyder released an enhanced version of sudo.
+For the next 5 years, sudo was fed and watered by a handful of folks at
+CU-Boulder, including Bob Coggeshall, Bob Manchek, and Trent Hein.
+
+In 1991, Dave Hieb and Jeff Nieusma wrote a new version of sudo with an
+enhanced sudoers format under contract to a consulting firm called "The Root
+Group". This version was later released under the GNU public license.
+
+In 1994, after maintaining sudo informally within CU-Boulder for some time,
+Todd Miller made a public release of "CU sudo" (version 1.3) with bug fixes
+and support for more operating systems. The "CU" was added to differentiate
+it from the "official" version from "The Root Group".
+
+In 1995, a new parser for the sudoers file was contributed by Chris Jepeway.
+The new parser was a proper grammar (unlike the old one) and could work with
+both sudo and visudo (previously they had slightly different parsers).
+
+In 1996, Todd, who had been maintaining sudo for several years in his spare
+time, moved distribution of sudo from a CU-Boulder ftp site to his domain,
+courtesan.com.
+
+In 1999, the "CU" prefix was dropped from the name since there has been no
+formal release of sudo from "The Root Group" since 1991 (the original
+authors now work elsewhere). As of version 1.6, Sudo no longer contains any
+of the original "Root Group" code and is available under an ISC-style
+license.
+
+In 2001, the sudo web site, ftp site and mailing lists were moved from
+courtesan.com to the sudo.ws domain (sudo.org was already taken).
+
+In 2005, Todd rewrote the sudoers parser to better support the features that
+had been added in the past ten years. This new parser removes some
+limitations of the previous one, removes ordering constraints and adds
+support for including multiple sudoers files.
sudo, in its current form, is maintained by:
- Todd Miller <Todd.Miller@courtesan.com>
+ Todd Miller <Todd.Miller@courtesan.com>
Todd continues to enhance sudo and fix bugs.
+
diff --git a/usr.bin/sudo/INSTALL b/usr.bin/sudo/INSTALL
index 1692887912e..2ffb8f214b1 100644
--- a/usr.bin/sudo/INSTALL
+++ b/usr.bin/sudo/INSTALL
@@ -1,5 +1,5 @@
-Installation instructions for Sudo 1.6.9
-========================================
+Installation instructions for Sudo 1.7
+======================================
Sudo uses a `configure' script to probe the capabilities and type
of the system in question. In this release, `configure' takes many
@@ -189,6 +189,12 @@ Special features/options:
this file instead of /etc/ldap.secret to read the secret password
when rootbinddn is specified in the ldap config file.
+ --with-nsswitch[=filename]
+ Path to nsswitch.conf or "no" to disable nsswitch support.
+ If specified, sudo uses this file instead of /etc/nsswitch.conf.
+ If nsswitch is disabled but LDAP is enabled, sudo will check
+ LDAP first, then the sudoers file.
+
--with-aixauth
Enable support for the AIX 4.x general authentication function.
This will use the authentication scheme specified for the user
@@ -200,7 +206,7 @@ Special features/options:
Linux, Solaris and HP-UX (version 11 and higher).
NOTE: on RedHat Linux and Fedora you *must* have an /etc/pam.d/sudo
- file installed. You may either use the sample.pam file included with
+ file install. You may either use the sample.pam file included with
sudo or use /etc/pam.d/su as a reference. The sample.pam file
included with sudo may or may not work with other Linux distributions.
On Solaris and HP-UX 11 systems you should check (and understand)
@@ -228,10 +234,6 @@ Special features/options:
unless the 'use_loginclass' option is defined in sudoers or the user
specifies a class on the command line.
- --with-project
- Enable support for Solaris project resource limits.
- This option is only available on Solaris 9 and above.
-
--with-bsdauth
Enable support for BSD authentication. This is the default
for BSD/OS and OpenBSD systems that support it.
@@ -241,6 +243,10 @@ Special features/options:
is supported. If you don't have /usr/include/bsd_auth.h
then you cannot use this.
+ --with-project
+ Enable support for Solaris project resource limits.
+ This option is only available on Solaris 9 and above.
+
--with-noexec[=PATH]
Enable support for the "noexec" functionality which prevents
a dynamically-linked program being run by sudo from executing
@@ -522,6 +528,13 @@ The following options are also configurable at runtime:
option. visudo will then only use the VISUAL or EDITOR variables
if they match a value specified via --with-editor.
+ --with-askpass=PATH
+ Set PATH as the "askpass" program to use when no tty is
+ available. Typically, this is a graphical password prompter,
+ similar to the one used by ssh. The program must take a
+ prompt as an argument and print the received password to
+ the standard output.
+
--disable-authentication
By default, sudo requires the user to authenticate via a
password or similar means. This options causes sudo to
@@ -533,6 +546,13 @@ The following options are also configurable at runtime:
"chaining" sudo commands to get a root shell by doing something
like "sudo sudo /bin/sh".
+ --enable-gss-krb5-ccache-name
+ Use the gss_krb5_ccache_name() function to set the Kerberos
+ V credential cache file name. By default, sudo will use
+ the KRB5CCNAME environment variable to set this. While
+ gss_krb5_ccache_name() provides a better API to do this it
+ is not supported by all Kerberos V and SASL combinations.
+
--enable-log-host
Log the hostname in the log file.
@@ -702,6 +722,11 @@ HP-UX:
noexec to work. Binary packages of gcc are available from
http://hpux.connect.org.uk/ and http://hpux.cs.utah.edu/.
+ To prevent PAM from overriding the value of umask on HP-UX 11,
+ you will need to add a line like the following to /etc/pam.conf:
+
+ sudo session required libpam_hpsec.so.1 bypass_umask
+
SunOS 4.x:
The /bin/sh shipped with SunOS blows up while running configure.
You can work around this by installalling bash or zsh. If you
diff --git a/usr.bin/sudo/LICENSE b/usr.bin/sudo/LICENSE
index 69266beec3e..786b7a096ee 100644
--- a/usr.bin/sudo/LICENSE
+++ b/usr.bin/sudo/LICENSE
@@ -1,6 +1,7 @@
Sudo is distributed under the following ISC-style license:
- Copyright (c) 1994-1996,1998-2005 Todd C. Miller <Todd.Miller@courtesan.com>
+ Copyright (c) 1994-1996, 1998-2008
+ Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -18,11 +19,11 @@ Sudo is distributed under the following ISC-style license:
Agency (DARPA) and Air Force Research Laboratory, Air Force
Materiel Command, USAF, under agreement number F39502-99-1-0512.
-Additionally, fnmatch.c, fnmatch.h, getcwd.c, glob.c, glob.h, mkstemp.c
-and snprintf.c bear the following UCB license:
+Additionally, fnmatch.c, fnmatch.h, getcwd.c, glob.c, glob.h and snprintf.c
+bear the following UCB license:
Copyright (c) 1987, 1989, 1990, 1991, 1992, 1993, 1994
- The Regents of the University of California. All rights reserved.
+ The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/usr.bin/sudo/Makefile.in b/usr.bin/sudo/Makefile.in
index 1650803fe2a..264f4e0d5c6 100644
--- a/usr.bin/sudo/Makefile.in
+++ b/usr.bin/sudo/Makefile.in
@@ -1,5 +1,6 @@
#
-# Copyright (c) 1996, 1998-2007 Todd C. Miller <Todd.Miller@courtesan.com>
+# Copyright (c) 1996, 1998-2005, 2007-2008
+# Todd C. Miller <Todd.Miller@courtesan.com>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -20,21 +21,21 @@
#
# @configure_input@
#
-# $Sudo: Makefile.in,v 1.246.2.32 2008/06/22 20:29:03 millert Exp $
+# $Sudo: Makefile.in,v 1.325 2008/11/03 18:19:14 millert Exp $
#
#### Start of system configuration section. ####
srcdir = @srcdir@
+devdir = @devdir@
authdir = $(srcdir)/auth
top_builddir = .
-VPATH = @srcdir@
# Compiler & tools to use
CC = @CC@
LEX = flex
YACC = @YACC@
-NROFF = nroff
+NROFF = nroff -Tascii
LIBTOOL = @LIBTOOL@
# Our install program supports extra flags...
@@ -61,11 +62,11 @@ exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
sysconfdir = @sysconfdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
mandir = @mandir@
noexecfile = @NOEXECFILE@
noexecdir = @NOEXECDIR@
-libexecdir = @libexecdir@
-datarootdir = @datarootdir@
# Directory in which to install sudo.
sudodir = $(bindir)
@@ -93,7 +94,7 @@ sudoers_gid = @SUDOERS_GID@
sudoers_mode = @SUDOERS_MODE@
# Pass in paths and uid/gid + OS dependent defined
-DEFS = @OSDEFS@ -D_PATH_SUDOERS=\"$(sudoersdir)/sudoers\" -D_PATH_SUDOERS_TMP=\"$(sudoersdir)/sudoers.tmp\" -DSUDOERS_UID=$(sudoers_uid) -DSUDOERS_GID=$(sudoers_gid) -DSUDOERS_MODE=$(sudoers_mode)
+DEFS = @OSDEFS@ -D_PATH_SUDOERS=\"$(sudoersdir)/sudoers\" -DSUDOERS_UID=$(sudoers_uid) -DSUDOERS_GID=$(sudoers_gid) -DSUDOERS_MODE=$(sudoers_mode)
#### End of system configuration section. ####
@@ -101,60 +102,68 @@ SHELL = /bin/sh
PROGS = @PROGS@
-SRCS = alloc.c alloca.c check.c closefrom.c def_data.c defaults.c env.c err.c \
- fileops.c find_path.c fnmatch.c getcwd.c getprogname.c getspwuid.c \
- gettime.c glob.c goodpath.c interfaces.c ldap.c lex.yy.c lsearch.c \
- logging.c memrchr.c mkstemp.c parse.c parse.lex parse.yacc set_perms.c \
- sigaction.c snprintf.c strcasecmp.c strerror.c strlcat.c strlcpy.c \
- sudo.c sudo_noexec.c sudo.tab.c sudo_edit.c testsudoers.c tgetpass.c \
- utimes.c visudo.c zero_bytes.c selinux.c sesh.c $(AUTH_SRCS)
+SRCS = aix.c alias.c alloc.c check.c closefrom.c def_data.c defaults.c env.c \
+ error.c fileops.c find_path.c fnmatch.c getcwd.c getprogname.c \
+ getspwuid.c gettime.c glob.c goodpath.c gram.c gram.y interfaces.c \
+ isblank.c lbuf.c ldap.c list.c logging.c match.c mkstemp.c memrchr.c \
+ parse.c pwutil.c set_perms.c sigaction.c snprintf.c strcasecmp.c \
+ strerror.c strlcat.c strlcpy.c sudo.c sudo_noexec.c sudo_edit.c \
+ sudo_nss.c testsudoers.c tgetpass.c toke.c toke.l tsgetgrpw.c utimes.c \
+ visudo.c zero_bytes.c redblack.c selinux.c sesh.c $(AUTH_SRCS)
AUTH_SRCS = auth/afs.c auth/aix_auth.c auth/bsdauth.c auth/dce.c auth/fwtk.c \
auth/kerb4.c auth/kerb5.c auth/pam.c auth/passwd.c auth/rfc1938.c \
auth/secureware.c auth/securid.c auth/securid5.c auth/sia.c \
auth/sudo_auth.c
-HDRS = compat.h def_data.h defaults.h ins_2001.h ins_classic.h ins_csops.h \
- ins_goons.h insults.h interfaces.h logging.h parse.h sudo.h sudo.tab.h \
- version.h auth/sudo_auth.h emul/err.h emul/fnmatch.h emul/search.h \
- emul/utime.h emul/glob.h emul/timespec.h
+HDRS = compat.h def_data.h defaults.h error.h ins_2001.h ins_classic.h \
+ ins_csops.h ins_goons.h insults.h interfaces.h lbuf.h list.h \
+ logging.h parse.h sudo.h sudo_nss.h gram.h version.h auth/sudo_auth.h \
+ emul/charclass.h emul/fnmatch.h emul/glob.h emul/timespec.h \
+ emul/utime.h redblack.h
AUTH_OBJS = sudo_auth.o @AUTH_OBJS@
-PARSEOBJS = sudo.tab.o lex.yy.o alloc.o defaults.o
+# Note: gram.o must come first here
+COMMON_OBJS = gram.o alias.o alloc.o defaults.o error.o list.o match.o \
+ toke.o redblack.o zero_bytes.o
-SUDOBJS = check.o env.o getspwuid.o gettime.o goodpath.o fileops.o find_path.o \
- interfaces.o logging.o parse.o set_perms.o sudo.o sudo_edit.o \
- tgetpass.o zero_bytes.o @SUDO_OBJS@ $(AUTH_OBJS) $(PARSEOBJS)
+SUDO_OBJS = $(COMMON_OBJS) $(AUTH_OBJS) @SUDO_OBJS@ check.o env.o \
+ getspwuid.o gettime.o goodpath.o fileops.o find_path.o \
+ interfaces.o lbuf.o logging.o parse.o pwutil.o set_perms.o \
+ sudo.o sudo_edit.o sudo_nss.o tgetpass.o
-VISUDOBJS = visudo.o fileops.o gettime.o goodpath.o find_path.o $(PARSEOBJS)
+VISUDO_OBJS = $(COMMON_OBJS) visudo.o fileops.o gettime.o goodpath.o \
+ find_path.o pwutil.o
-TESTOBJS = interfaces.o testsudoers.o $(PARSEOBJS)
+TEST_OBJS = $(COMMON_OBJS) interfaces.o testsudoers.o tsgetgrpw.o tspwutil.o
-LIBOBJS = @LIBOBJS@ @ALLOCA@
+LIB_OBJS = @LIBOBJS@
-VERSION = 1.6.9p17
+VERSION = 1.7.0
-DISTFILES = $(SRCS) $(HDRS) BUGS CHANGES HISTORY INSTALL INSTALL.configure \
- LICENSE Makefile.in PORTING README README.LDAP \
- TROUBLESHOOTING UPGRADE aclocal.m4 acsite.m4 aixcrypt.exp \
- config.guess config.h.in config.sub configure configure.in \
- def_data.in fnmatch.3 indent.pro install-sh ltmain.sh \
- mkdefaults mkinstalldirs pathnames.h.in sample.pam \
- sample.syslog.conf sample.sudoers schema.OpenLDAP \
- schema.iPlanet sudo.cat sudo.man.in sudo.pod sudoers \
- sudoers.cat sudoers.man.in sudoers.pod sudoers2ldif \
- visudo.cat visudo.man.in visudo.pod auth/API
+DISTFILES = $(SRCS) $(HDRS) ChangeLog HISTORY INSTALL INSTALL.configure \
+ LICENSE Makefile.in PORTING README README.LDAP TROUBLESHOOTING \
+ UPGRADE WHATSNEW aclocal.m4 acsite.m4 aixcrypt.exp config.guess \
+ config.h.in config.sub configure configure.in def_data.in \
+ indent.pro install-sh ltmain.sh mkdefaults mkinstalldirs \
+ pathnames.h.in sample.pam sample.syslog.conf sample.sudoers \
+ schema.ActiveDirectory schema.OpenLDAP schema.iPlanet sudo.cat \
+ sudo.man.in sudo.pod sudo.psf sudo_usage.h.in sudoers sudoers.cat \
+ sudoers.man.in sudoers.pod sudoers.ldap.cat sudoers.ldap.man.in \
+ sudoers.ldap.pod sudoers2ldif visudo.cat visudo.man.in visudo.pod \
+ auth/API
-BINFILES= BUGS CHANGES HISTORY LICENSE README TROUBLESHOOTING \
+BINFILES= ChangeLog HISTORY LICENSE README TROUBLESHOOTING \
UPGRADE install-sh mkinstalldirs sample.syslog.conf sample.sudoers \
sudo sudo.cat sudo.man sudo.pod sudoers sudoers.cat sudoers.man \
sudoers.pod visudo visudo.cat visudo.man visudo.pod
-BINSPECIAL= INSTALL.binary Makefile.binary libtool
+BINSPECIAL= INSTALL.binary Makefile.binary.in libtool
SUDODEP = $(srcdir)/sudo.h $(srcdir)/compat.h $(srcdir)/defaults.h \
- $(srcdir)/logging.h config.h def_data.h pathnames.h
+ $(srcdir)/error.h $(srcdir)/list.h $(srcdir)/logging.h \
+ $(srcdir)/sudo_nss.h $(devdir)/def_data.h pathnames.h config.h
AUTHDEP = $(SUDODEP) $(authdir)/sudo_auth.h
@@ -163,7 +172,7 @@ INSDEP = $(srcdir)/ins_2001.h $(srcdir)/ins_classic.h $(srcdir)/ins_csops.h \
all: $(PROGS)
-.SUFFIXES: .o .c .h .lex .yacc .man .cat .lo
+.SUFFIXES: .o .c .h .l .y .man .cat .lo
.c.o:
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
@@ -173,16 +182,16 @@ all: $(PROGS)
.man.cat:
@rm -f $(srcdir)/$@
- $(NROFF) -man $< > $(srcdir)/$@
+ sed '1s/^/.if n .ll 78n/' $< | $(NROFF) -man > $(srcdir)/$@
-sudo: $(SUDOBJS) $(LIBOBJS)
- $(CC) -o $@ $(SUDOBJS) $(LIBOBJS) $(SUDO_LDFLAGS) $(SUDO_LIBS)
+sudo: $(SUDO_OBJS) $(LIB_OBJS)
+ $(CC) -o $@ $(SUDO_OBJS) $(LIB_OBJS) $(SUDO_LDFLAGS) $(SUDO_LIBS)
-visudo: $(VISUDOBJS) $(LIBOBJS)
- $(CC) -o $@ $(VISUDOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
+visudo: $(VISUDO_OBJS) $(LIB_OBJS)
+ $(CC) -o $@ $(VISUDO_OBJS) $(LIB_OBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
-testsudoers: $(TESTOBJS) $(LIBOBJS)
- $(CC) -o $@ $(TESTOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
+testsudoers: $(TEST_OBJS) $(LIB_OBJS)
+ $(CC) -o $@ $(TEST_OBJS) $(LIB_OBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
sudo_noexec.lo: $(srcdir)/sudo_noexec.c
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_noexec.c
@@ -191,61 +200,129 @@ sudo_noexec.la: sudo_noexec.lo
$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ sudo_noexec.lo -avoid-version -rpath $(noexecdir)
# Uncomment the following if you want "make distclean" to clean the parser
-@DEV@PARSESRCS = sudo.tab.h sudo.tab.c lex.yy.c def_data.c def_data.h
+@DEV@GENERATED = gram.h gram.c toke.c def_data.c def_data.h
-# Uncomment the following if you intend to modify parse.yacc
-@DEV@sudo.tab.c sudo.tab.h: parse.yacc
-@DEV@ rm -f sudo.tab.h sudo.tab.c
-@DEV@ $(YACC) -d -b sudo $(srcdir)/parse.yacc
+# Uncomment the lines before -@true if you intend to modify gram.y
+$(devdir)/gram.c: $(srcdir)/gram.y
+@DEV@ $(YACC) -d $(srcdir)/gram.y
+@DEV@ mv -f y.tab.c gram.c
+@DEV@ if cmp -s y.tab.h gram.h; then rm -f y.tab.h; else mv -f y.tab.h gram.h; fi
+ -@true
-# Uncomment the following if you intend to modify parse.lex
-@DEV@lex.yy.c: parse.lex
-@DEV@ rm -f lex.yy.c
-@DEV@ $(LEX) $(srcdir)/parse.lex
+# Uncomment the lines before -@true if you intend to modify toke.l
+$(devdir)/toke.c: $(srcdir)/toke.l
+@DEV@ $(LEX) $(srcdir)/toke.l
+@DEV@ mv -f lex.yy.c toke.c
+ -@true
# Uncomment the following if you intend to modify def_data.in
-@DEV@def_data.h def_data.c: def_data.in
+@DEV@$(devdir)/def_data.h $(devdir)/def_data.c: $(srcdir)/def_data.in
@DEV@ perl $(srcdir)/mkdefaults -o def_data $(srcdir)/def_data.in
# Dependencies (not counting auth functions)
-alloc.o: alloc.c $(SUDODEP)
-check.o: check.c $(SUDODEP)
-closefrom.o: closefrom.c config.h
-env.o: env.c $(SUDODEP)
-err.o: err.c config.h compat.h emul/err.h
-fileops.o: fileops.c $(SUDODEP)
-find_path.o: find_path.c $(SUDODEP)
-getprogname.o: getprogname.c config.h
-getspwuid.o: getspwuid.c $(SUDODEP)
-goodpath.o: goodpath.c $(SUDODEP)
-logging.o: logging.c $(SUDODEP)
-set_perms.o: set_perms.c $(SUDODEP)
-tgetpass.o: tgetpass.c $(SUDODEP)
-visudo.o: visudo.c $(SUDODEP) version.h
-sudo.o: sudo.c $(SUDODEP) interfaces.h version.h
-interfaces.o: interfaces.c $(SUDODEP) interfaces.h
-testsudoers.o: testsudoers.c $(SUDODEP) parse.h interfaces.h
-parse.o: parse.c $(SUDODEP) parse.h interfaces.h
-lex.yy.o: lex.yy.c $(SUDODEP) parse.h sudo.tab.h
-sudo.tab.o: sudo.tab.c $(SUDODEP) parse.h sudo.tab.c sudo.tab.h
-defaults.o: defaults.c $(SUDODEP) def_data.c auth/sudo_auth.h
-fnmatch.o: fnmatch.c config.h compat.h emul/fnmatch.h
-getcwd.o: getcwd.c config.h compat.h
-glob.o: glob.c config.h compat.h emul/glob.h
-lsearch.o: lsearch.c config.h compat.h emul/search.h
-memrchr.o: memrchr.c config.h compat.h
-mkstemp.o: mkstemp.c config.h compat.h
-selinux.o: selinux.c $(SUDODEP)
-snprintf.o: snprintf.c config.h compat.h
-strcasecmp.o: strcasecmp.c config.h
-strlcat.o: strlcat.c config.h
-strlcpy.o: strlcpy.c config.h
-strerror.o: strerror.c config.h
-utime.o: utime.c config.h pathnames.h compat.h emul/utime.h
-ldap.o: ldap.c $(SUDODEP) parse.h
-sudo_edit.o: sudo_edit.c $(SUDODEP)
-
-# Authentication functions live in "auth" dir and so need extra care
+aix.o: $(srcdir)/aix.c
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/aix.c
+alias.o: $(srcdir)/alias.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(srcdir)/redblack.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/alias.c
+alloc.o: $(srcdir)/alloc.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/alloc.c
+check.o: $(srcdir)/check.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/check.c
+closefrom.o: $(srcdir)/closefrom.c config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/closefrom.c
+defaults.o: $(srcdir)/defaults.c $(SUDODEP) $(srcdir)/def_data.c $(authdir)/sudo_auth.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/defaults.c
+env.o: $(srcdir)/env.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/env.c
+error.o: $(srcdir)/error.c $(srcdir)/compat.h $(srcdir)/error.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/error.c
+fileops.o: $(srcdir)/fileops.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/fileops.c
+find_path.o: $(srcdir)/find_path.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/find_path.c
+fnmatch.o: $(srcdir)/fnmatch.c $(srcdir)/emul/fnmatch.h $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/fnmatch.c
+getcwd.o: $(srcdir)/getcwd.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getcwd.c
+getprogname.o: $(srcdir)/getprogname.c config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getprogname.c
+getspwuid.o: $(srcdir)/getspwuid.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getspwuid.c
+gettime.o: $(srcdir)/gettime.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/gettime.c
+glob.o: $(srcdir)/glob.c $(srcdir)/emul/glob.h $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/glob.c
+goodpath.o: $(srcdir)/goodpath.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/goodpath.c
+gram.o: $(devdir)/gram.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(devdir)/gram.c
+interfaces.o: $(srcdir)/interfaces.c $(SUDODEP) $(srcdir)/interfaces.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/interfaces.c
+isblank.o: $(srcdir)/isblank.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/isblank.c
+lbuf.o: $(srcdir)/lbuf.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/lbuf.c
+ldap.o: $(srcdir)/ldap.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/ldap.c
+list.o: $(srcdir)/list.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/list.c
+logging.o: $(srcdir)/logging.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/logging.c
+match.o: $(srcdir)/match.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(srcdir)/interfaces.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/match.c
+memrchr.o: $(srcdir)/memrchr.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/memrchr.c
+mkstemp.o: $(srcdir)/mkstemp.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/mkstemp.c
+parse.o: $(srcdir)/parse.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/parse.c
+pwutil.o: $(srcdir)/pwutil.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/pwutil.c
+redblack.o: $(srcdir)/redblack.c $(SUDODEP) $(srcdir)/redblack.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/redblack.c
+set_perms.o: $(srcdir)/set_perms.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/set_perms.c
+sigaction.o: $(srcdir)/sigaction.c $(srcdir)/compat.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sigaction.c
+snprintf.o: $(srcdir)/snprintf.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/snprintf.c
+strcasecmp.o: $(srcdir)/strcasecmp.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strcasecmp.c
+strerror.o: $(srcdir)/strerror.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strerror.c
+strlcat.o: $(srcdir)/strlcat.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strlcat.c
+strlcpy.o: $(srcdir)/strlcpy.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strlcpy.c
+selinux.o: $(srcdir)/selinux.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/selinux.c
+sudo.o: $(srcdir)/sudo.c $(SUDODEP) sudo_usage.h $(srcdir)/interfaces.h $(srcdir)/version.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo.c
+sudo_edit.o: $(srcdir)/sudo_edit.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_edit.c
+sudo_noexec.o: $(srcdir)/sudo_noexec.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_noexec.c
+sudo_nss.o: $(srcdir)/sudo_nss.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_nss.c
+testsudoers.o: $(srcdir)/testsudoers.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(srcdir)/interfaces.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/testsudoers.c
+tgetpass.o: $(srcdir)/tgetpass.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/tgetpass.c
+toke.o: $(devdir)/toke.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(devdir)/toke.c
+tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/tsgetgrpw.c
+utimes.o: $(srcdir)/utimes.c $(srcdir)/compat.h $(srcdir)/emul/utime.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/utimes.c
+visudo.o: $(srcdir)/visudo.c $(SUDODEP) $(srcdir)/version.h $(devdir)/gram.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/visudo.c
+zero_bytes.o: $(srcdir)/zero_bytes.c $(srcdir)/compat.h config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/zero_bytes.c
+
+# Private copy of pwutil.o with MYPW defined for testsudoers
+tspwutil.o: $(srcdir)/pwutil.c $(SUDODEP)
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) -DMYPW -o tspwutil.o $(srcdir)/pwutil.c
+
sudo_auth.o: $(authdir)/sudo_auth.c $(AUTHDEP) $(INSDEP)
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sudo_auth.c
afs.o: $(authdir)/afs.c $(AUTHDEP)
@@ -304,6 +381,24 @@ sudoers.man:: sudoers.man.in
sudoers.cat: sudoers.man
+sudoers.ldap.man.in: $(srcdir)/sudoers.ldap.pod
+ @rm -f $(srcdir)/$@
+ ( cd $(srcdir); mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e '/^=pod/q' -e 's/^/.\\" /p' sudoers.ldap.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectform --release=$(VERSION) --center="MAINTENANCE COMMANDS" sudoers.ldap.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" >> $@ )
+
+sudoers.ldap.man:: sudoers.ldap.man.in
+ CONFIG_FILES=$@ CONFIG_HEADERS= sh ./config.status
+
+sudoers.ldap.cat: sudoers.ldap.man
+
+@DEV@HISTORY: history.pod
+@DEV@ pod2text -l -i0 $> > $@
+@DEV@
+@DEV@LICENSE: license.pod
+@DEV@ pod2text -l -i0 $> | sed '1,2d' > $@
+
+ChangeLog:
+ cvs2cl --follow-only trunk
+
install: install-dirs install-binaries @INSTALL_NOEXEC@ install-sudoers install-man
install-dirs:
@@ -333,27 +428,23 @@ install-man:
ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
+ @LDAP@$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
@MAN_POSTINSTALL@
check:
@echo nothing to check
-tags: $(SRCS)
- ctags $(SRCS)
-
-TAGS: $(SRCS)
- etags $(SRCS)
-
clean:
- -rm -f *.o $(PROGS) testsudoers core sudo.core visudo.core \
+ -rm -f *.o *.lo $(PROGS) testsudoers core sudo.core visudo.core \
testsudoers.core
mostlyclean: clean
distclean: clean
-rm -rf Makefile pathnames.h config.h config.status config.cache \
- config.log libtool sudo_noexec.lo .libs $(PARSESRCS) \
- sudo.man sudoers.man visudo.man
+ config.log libtool sudo_noexec.lo .libs $(GENERATED) \
+ sudo.man sudoers.man sudoers.ldap.man visudo.man sudo_usage.h \
+ Makefile.binary
clobber: distclean
@@ -394,9 +485,43 @@ bindist:
fi ; \
cp $(srcdir)/INSTALL.binary $$tdir/INSTALL ; \
sh ./config.status --file=Makefile.binary && cp Makefile.binary $$tdir/Makefile ; \
- strip sudo ; \
- strip visudo ; \
+ strip $$tdir/sudo ; \
+ strip $$tdir/visudo ; \
cd tmp.$$ARCH && tar Ocf ../sudo-$(VERSION)-$$ARCH.tar sudo-$(VERSION) && cd .. ; \
- gzip --best sudo-$(VERSION)-$$ARCH.tar ; \
+ gzip -f --best sudo-$(VERSION)-$$ARCH.tar ; \
rm -rf tmp.$$ARCH ; \
)
+
+depot:
+ ( \
+ tdir=tmp.depot ; \
+ mkdir $$tdir ; \
+ for i in sudo visudo sudo.man visudo.man sudoers.man sudoers ChangeLog HISTORY LICENSE README TROUBLESHOOTING UPGRADE sample.syslog.conf sample.sudoers; do \
+ if [ -f $$i ]; then \
+ cp $$i $$tdir ; \
+ elif [ -f $(srcdir)/$$i ]; then \
+ cp $(srcdir)/$$i $$tdir ; \
+ else \
+ echo cannot find $$i ; \
+ exit 1 ; \
+ fi ; \
+ done ; \
+ if [ -f sudo_noexec.la ]; then \
+ cp libtool $$tdir ; \
+ $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la `pwd`/$$tdir ; \
+ fi ; \
+ sed 's/@VERSION@/$(VERSION)/g' <$(srcdir)/sudo.psf >$$tdir/sudo.psf ; \
+ printf '#!/sbin/sh\nrm -f /usr/local/bin/sudoedit\nln /usr/local/bin/sudo /usr/local/bin/sudoedit\n' > $$tdir/sudo-exec.postinstall ; \
+ printf '#!/sbin/sh\nrm -f /usr/local/man/man1m/sudoedit.1m\nln /usr/local/man/man1m/sudo.1m /usr/local/man/man1m/sudoedit.1m\n' > $$tdir/sudo-man.postinstall ; \
+ printf '#!/sbin/sh\nif [ ! -s /etc/sudoers ]; then\n\techo installing /usr/local/doc/sudo/sudoers as /etc/sudoers\n\techo use /usr/local/sbin/visudo to configure sudo\n\tcp /usr/local/doc/sudo/sudoers /etc/sudoers\n\tchmod 440 /etc/sudoers\n\tchown root:root /etc/sudoers\nfi\n' > $$tdir/sudo-config.postinstall ; \
+ chmod 755 $$tdir/sudo-exec.postinstall $$tdir/sudo-man.postinstall $$tdir/sudo-config.postinstall ; \
+ strip $$tdir/sudo ; \
+ strip $$tdir/visudo ; \
+ cd $$tdir ; \
+ swpackage -x target_type=tape -d ../sudo-$(VERSION).depot -s sudo.psf ; \
+ cd .. ; \
+ gzip -f --best sudo-$(VERSION).depot; \
+ rm -rf tmp.depot ; \
+ )
+
+.PHONY: ChangeLog
diff --git a/usr.bin/sudo/README b/usr.bin/sudo/README
index 4986b56aaf2..301ca551758 100644
--- a/usr.bin/sudo/README
+++ b/usr.bin/sudo/README
@@ -1,4 +1,4 @@
-This is Sudo version 1.6.9
+This is Sudo version 1.7.0
The sudo philosophy
===================
@@ -80,15 +80,14 @@ for the appropriate links.
Web page
========
-There is a sudo `web page' at http://www.sudo.ws/sudo/
-that contains an overview of sudo as well as pointers to BETA versions
-and other useful info.
+There is a sudo web page at http://www.sudo.ws/sudo/ that contains
+an overview of sudo, documentation, downloads, information about
+beta versions and other useful info.
Bug reports
===========
-A list of known bugs may be found in the `BUGS' file. If you have
-found what you believe to be a bug, you can file a bug report with
-the sudo bug database, on at web at http://www.sudo.ws/bugs/.
+If you have found what you believe to be a bug, you can file a bug
+report with the sudo bug database, on at web at http://www.sudo.ws/bugs/.
Please read over the `TROUBLESHOOTING' file *before* submitting a
bug report. When reporting bugs, please be sure to include the
diff --git a/usr.bin/sudo/README.LDAP b/usr.bin/sudo/README.LDAP
index df4ad2107ec..85f05f54994 100644
--- a/usr.bin/sudo/README.LDAP
+++ b/usr.bin/sudo/README.LDAP
@@ -1,16 +1,27 @@
-This file explains how to use the optional LDAP functionality of SUDO to
+This file explains how to build the optional LDAP functionality of SUDO to
store /etc/sudoers information. This feature is distinct from LDAP passwords.
+For general sudo LDAP configuration details, see the sudoers.ldap manual that
+comes with the sudo distribution. A pre-formatted version of the manual may
+be found in the sudoers.ldap.cat file.
+
+The sudo binary compiled with LDAP support should be totally backward
+compatible and be syntactically and source code equivalent to its
+non LDAP-enabled build.
+
LDAP philosophy
===============
As times change and servers become cheap, an enterprise can easily have 500+
UNIX servers. Using LDAP to synchronize Users, Groups, Hosts, Mounts, and
others across an enterprise can greatly reduce the administrative overhead.
-Sudo in the past has only used a single local configuration file /etc/sudoers.
-Some have attempted to workaround this by synchronizing changes via
-RCS/CVS/RSYNC/RDIST/RCP/SCP and even NFS. Many have asked for a Hesiod, NIS,
-or LDAP patch for sudo, so here is my attempt at LDAP'izing sudo.
+In the past, sudo has used a single local configuration file, /etc/sudoers.
+While the same sudoers file can be shared among machines, no built-in
+mechanism exists to distribute it. Some have attempted to workaround this
+by synchronizing changes via CVS/RSYNC/RDIST/RCP/SCP and even NFS.
+
+By using LDAP for sudoers we gain a centrally administered, globally
+available configuration source for sudo.
For information on OpenLDAP, please see http://www.openldap.org/.
@@ -22,75 +33,6 @@ server, structure and contents.
Many times 'options' are used in this document to refer to sudoer 'defaults'.
They are one and the same.
-Design Features
-===============
-
- * Sudo no longer needs to read sudoers in its entirety. Parsing of
- /etc/sudoers requires the entire file to be read. The LDAP feature of sudo
- uses two (sometimes three) LDAP queries per invocation. It never reads all
- the sudoer entries in the LDAP store. This makes it especially fast and
- particularly usable in LDAP environments. The first query is to parse
- default options (see below). The second is to match against the username or
- groups a user belongs to. (The special ALL tag is matched in this query
- too.) If no match is made against the username, the third query pulls the
- entries that match against user netgroups to compare back to the user.
-
- * Sudo no longer blows up if there is a typo. Parsing of /etc/sudoers can
- still blow up when sudo is invoked. However when using the LDAP feature of
- sudo, LDAP syntax rules are applied before the data is uploaded into the
- LDAP server, so proper syntax is always guaranteed! One can of course still
- insert a bogus hostname or username, but sudo will not care.
-
- * Options inside of entries now override global default options.
- /etc/sudoers allowed for only default options and limited options associated
- with user/host/command aliases. The syntax can be difficult for the newbie.
- The LDAP feature attempts to simplify this and yet still provide maximum
- flexibility.
-
- Sudo first looks for an entry called 'cn=default' in the SUDOers container.
- If found, the multi-valued sudoOption attribute is parsed the same way the
- global 'Defaults' line in /etc/sudoers is parsed.
-
- If on the second or third query, a response contains a sudoRole which
- matches against the user, host, and command, then the matched object is
- scanned for a additional options to override the top-level defaults. See
- the example LDAP content below for more information.
-
- * Visudo is no longer needed. Visudo provides locking and syntax checking
- against the /etc/sudoers file. Since LDAP updates are atomic, locking is no
- longer necessary. Because syntax is checked when the data is inserted into
- LDAP, the sudoers syntax check becomes unnecessary.
-
- * Aliases are no longer needed. User, Host, and Command Aliases were setup
- to allow simplification and readability of the sudoers files. Since the
- LDAP sudoer entry allows multiple values for each of its attributes and
- since most LDAP browsers are graphical and easy to work with, original
- aliases are no longer needed.
-
- If you want to specify lots of users into an entry or want to have similar
- entries with identical users, then use either groups or user netgroups.
- Thats what groups and netgroups are for and Sudo handles this well.
- Alternately, one can just paste them all into the LDAP record.
-
- If you want to specify lots of hosts into an entry, use netgroups or IP
- address matches (10.2.3.4/255.255.0.0). Thats what netgroups are for and
- Sudo handles this well. Or just past them all into the LDAP record.
-
- If you want to specify lots of commands, use directories or wildcards, or
- just paste them all into LDAP. That's what it's for.
-
- * The /etc/sudoers file can be disabled. Paranoid security administrators
- can now disallow parsing of any local /etc/sudoers file by an LDAP
- sudoOption 'ignore_local_sudoers'. This way all sudoers can be controlled
- and audited in one place because local entries are not allowed.
- In fact, if this option is included in the cn=defaults object of LDAP,
- sudo won't even look for a /etc/sudoers file.
-
- * The sudo binary compiled with LDAP support should be totally backward
- compatible and be syntactically and source code equivalent to its non
- LDAP-enabled build.
-
-
Build instructions
==================
The most simplest way to build sudo with LDAP support is to include the
@@ -103,33 +45,56 @@ to specify them at configure time. E.g.
$ ./configure --with-ldap=/usr/local/ldapsdk
-Sudo is developed using OpenLDAP. Other LDAP implementations may
-require adding '-lldif' to SUDO_LIBS in the Makefile.
+Sudo is developed using OpenLDAP but Netscape-based LDAP libraries
+(such as those present in Solaris) are also known to work.
Your Mileage may vary. Please let the sudo workers mailing list
-<sudo-workers@sudo.ws> know what combinations worked best for your
-OS and LDAP Combinations so we can improve sudo.
-
-More Build Notes:
-HP-UX 11.23 (gcc3) Galen Johnson <Galen.Johnson@sas.com>
- CFLAGS="-D__10_10_compat_code" LDFLAGS="-L/opt/ldapux/lib"
+<sudo-workers@sudo.ws> know if special configuration was required
+to build an LDAP-enabled sudo so we can improve sudo.
Schema Changes
==============
-Add the appropriate schema to your LDAP server so that it may contain
-sudoers content.
+You must add the appropriate schema to your LDAP server before it
+can store sudoers content.
+
+For OpenLDAP, copy the file schema.OpenLDAP to the schema directory
+(e.g. /etc/openldap/schema). You must then edit your slapd.conf and
+add an include line the new schema, e.g.
+
+ # Sudo LDAP schema
+ include /etc/openldap/schema/sudo.schema
+
+In order for sudoRole LDAP queries to be efficient, the server must index
+the attribute 'sudoUser', e.g.
+
+ # Indices to maintain
+ index sudoUser eq
+
+After making the changes to slapd.conf, restart slapd.
-For OpenLDAP, simply copy schema.OpenLDAP to the schema directory
-(e.g. /etc/openldap/schema) and 'include' it in your slapd.conf and
-restart slapd. For other LDAP servers, provide this to your LDAP
-Administrator. Make sure to index the attribute 'sudoUser'.
+For Netscape-derived LDAP servers such as SunONE, iPlanet or Fedora Directory,
+copy the schema.iPlanet file to the schema directory with the name 99sudo.ldif.
-For netscape-derived LDAP servers such as SunONE, iPlanet or Fedora
-Directory, use the schema.iPlanet file.
+On Solaris, schemas are stored in /var/Sun/mps/slapd-`hostname`/config/schema/.
+For Fedora Directory Server, they are stored in /etc/dirsrv/schema/.
-Importing /etc/sudoers to LDAP
-==============================
-Importing is a two step process.
+After copying the schema file to the appropriate directory, restart
+the LDAP server.
+
+Finally, using an LDAP browser/editor, enable indexing by editing the
+client profile to provide a Service Search Descriptor (SSD) for sudoers,
+replacing example.com with your domain:
+
+ serviceSearchDescriptor: sudoers: ou=sudoers,dc=example,dc=com
+
+If using an Active Directory server, copy schema.ActiveDirectory
+to your Windows domain controller and run the following command:
+
+ ldifde -i -f schema.ActiveDirectory -c dc=X dc=example,dc=com
+
+Importing /etc/sudoers into LDAP
+================================
+Importing sudoers is a two-step process.
Step 1:
Ask your LDAP Administrator where to create the ou=SUDOers container.
@@ -150,28 +115,12 @@ options.
# ./sudoers2ldif /etc/sudoers > /tmp/sudoers.ldif
Step 2:
-Import into your directory server. If you are using OpenLDAP, do the following
-if you are using another directory, provide the LDIF file to your LDAP
-Administrator. An example is shown below.
+Import into your directory server. The following example is for
+OpenLDAP. If you are using another directory, provide the LDIF
+file to your LDAP Administrator.
# ldapadd -f /tmp/sudoers.ldif -h ldapserver \
- > -D cn=Manager,dc=example,dc=com -W -x
-
-Example sudoers Entries in LDAP
-===============================
-The equivalent of a sudoer in LDAP is a 'sudoRole'. It contains sudoUser(s),
-sudoHost, sudoCommand and optional sudoOption(s) and sudoRunAs(s).
-
-The following example allows users in group wheel to run any
-command on any host through sudo:
-
-dn: cn=%wheel,ou=SUDOers,dc=example,dc=com
-objectClass: top
-objectClass: sudoRole
-cn: %wheel
-sudoUser: %wheel
-sudoHost: ALL
-sudoCommand: ALL
+ -D cn=Manager,dc=example,dc=com -W -x
Managing LDAP entries
=====================
@@ -198,168 +147,32 @@ I recommend using any of the following LDAP browsers to administer your SUDOers.
There are dozens of others, some Open Source, some free, some not.
-
-Configure your /etc/ldap.conf
-=============================
+Configure your /etc/ldap.conf and /etc/nsswitch.conf
+====================================================
The /etc/ldap.conf file is meant to be shared between sudo, pam_ldap, nss_ldap
and other ldap applications and modules. IBM Secureway unfortunately uses
the same filename but has a different syntax. If you need to rename where
this file is stored, re-run configure with the --with-ldap-conf-file=filename
option.
-Make sure you sudoers_base matches exactly with the location you specified
-when you imported the sudoers. Below is an example /etc/ldap.conf
-
- # Either specify one or more URIs or one or more host:port pairs.
- # If neither is specified sudo will default to localhost, port 389.
- #
- #host ldapserver
- #host ldapserver1 ldapserver2:390
- #
- # Default port if host is specified without one, defaults to 389.
- #port 389
- #
- # URI will override the host and port settings.
- uri ldap://ldapserver
- #uri ldaps://secureldapserver
- #uri ldaps://secureldapserver ldap://ldapserver
- #
- # The amount of time, in seconds, to wait while trying to connect to
- # an LDAP server.
- bind_timelimit 30
- #
- # The amount of time, in seconds, to wait while performing an LDAP query.
- timelimit 30
- #
- # must be set or sudo will ignore LDAP
- sudoers_base ou=SUDOers,dc=example,dc=com
- #
- # verbose sudoers matching from ldap
- #sudoers_debug 2
- #
- # optional proxy credentials
- #binddn <who to search as>
- #bindpw <password>
- #rootbinddn <who to search as, uses /etc/ldap.passwd for bindpw>
- #
- # LDAP protocol version, defaults to 3
- #ldap_version 3
- #
- # Define if you want to use an encrypted LDAP connection.
- # Typically, you must also set the port to 636 (ldaps).
- #ssl on
- #
- # Define if you want to use port 389 and switch to
- # encryption before the bind credentials are sent.
- # Only supported by LDAP servers that support the start_tls
- # extension such as OpenLDAP.
- #ssl start_tls
- #
- # Additional TLS options follow that allow tweaking of the
- # SSL/TLS connection.
- #
- #tls_checkpeer yes # verify server SSL certificate
- #tls_checkpeer no # ignore server SSL certificate
- #
- # If you enable tls_checkpeer, specify either tls_cacertfile
- # or tls_cacertdir. Only supported when using OpenLDAP.
- #
- #tls_cacertfile /etc/certs/trusted_signers.pem
- #tls_cacertdir /etc/certs
- #
- # For systems that don't have /dev/random
- # use this along with PRNGD or EGD.pl to seed the
- # random number pool to generate cryptographic session keys.
- # Only supported when using OpenLDAP.
- #
- #tls_randfile /etc/egd-pool
- #
- # You may restrict which ciphers are used. Consult your SSL
- # documentation for which options go here.
- # Only supported when using OpenLDAP.
- #
- #tls_ciphers <cipher-list>
- #
- # Sudo can provide a client certificate when communicating to
- # the LDAP server.
- # Tips:
- # * Enable both lines at the same time.
- # * Do not password protect the key file.
- # * Ensure the keyfile is only readable by root.
- #
- # For OpenLDAP:
- #tls_cert /etc/certs/client_cert.pem
- #tls_key /etc/certs/client_key.pem
- #
- # For SunONE or iPlanet LDAP, the file specified by tls_cert may
- # contain CA certs and/or the client's cert. If the client's
- # cert is included, tls_key should be specified as well.
- # For backward compatibility, sslpath may be used in place of tls_cert.
- #tls_cert /var/ldap/cert7.db
- #tls_key /var/ldap/key3.db
+See the "Configuring ldap.conf" section in the sudoers.ldap manual
+for a list of supported ldap.conf parameters and an example ldap.conf
+
+Make sure you sudoers_base matches the location you specified when you
+imported the sudoers ldif data.
+
+After configuring /etc/ldap.conf, you must add a line in /etc/nsswitch.conf
+to tell sudo to look in LDAP for sudoers. See the "Configuring nsswitch.conf"
+section in the sudoers.ldap manual for details. Note that sudo will use
+/etc/nsswitch.conf even if the underlying operating system does not support it.
+To disable nsswitch support, run configure with the --with-nsswitch=no option.
+This will cause sudo to consult LDAP first and /etc/sudoers second, unless the
+ignore_sudoers_file flag is set in the global LDAP options.
Debugging your LDAP configuration
=================================
Enable debugging if you believe sudo is not parsing LDAP the way you think it
-it should. A value of 1 shows moderate debugging. A value of 2 shows the
-results of the matches themselves. Make sure to set the value back to zero
-so that other users don't get confused by the debugging messages. This value
-is 'sudoers_debug' in the /etc/ldap.conf.
-
-Parsing Differences between /etc/sudoers and LDAP
-=================================================
-There are some subtle differences in the way sudoers is handled once in LDAP.
-Probably the biggest is that according to the RFC, LDAP's ordering is
-arbitrary and you cannot expect that Attributes & Entries are returned in
-any order. If there are conflicting command rules on an entry, the negative
-takes precedence. This is called paranoid behavior (not necessarily the
-most specific match).
-
-Here is an example:
-
- # /etc/sudoers:
- # Allow all commands except shell
- johnny ALL=(root) ALL,!/bin/sh
- # Always allows all commands because ALL is matched last
- puddles ALL=(root) !/bin/sh,ALL
-
- # LDAP equivalent of Johnny
- # Allows all commands except shell
- dn: cn=role1,ou=Sudoers,dc=my-domain,dc=com
- objectClass: sudoRole
- objectClass: top
- cn: role1
- sudoUser: johnny
- sudoHost: ALL
- sudoCommand: ALL
- sudoCommand: !/bin/sh
-
- # LDAP equivalent of Puddles
- # Notice that even though ALL comes last, it still behaves like
- # role1 since the LDAP code assumes the more paranoid configuration
- dn: cn=role2,ou=Sudoers,dc=my-domain,dc=com
- objectClass: sudoRole
- objectClass: top
- cn: role2
- sudoUser: puddles
- sudoHost: ALL
- sudoCommand: !/bin/sh
- sudoCommand: ALL
-
-Another difference is that negations on the Host, User or Runas are
-currently ignorred. For example, these attributes do not work how
-they first seem.
-
- # does not match all but joe
- # rather, does not match anyone
- sudoUser: !joe
-
- # does not match all but joe
- # rather, matches everyone including Joe
- sudoUser: ALL
- sudoUser: !joe
-
- # does not match all but web01
- # rather, matches all hosts including web01
- sudoHost: ALL
- sudoHost: !web01
+should. Setting the 'sudoers_debug' parameter to a value of 1 shows moderate
+debugging. A value of 2 shows the results of the matches themselves. Make
+sure to set the value back to zero so that other users don't get confused by
+the debugging messages.
diff --git a/usr.bin/sudo/TROUBLESHOOTING b/usr.bin/sudo/TROUBLESHOOTING
index 4bf571bf31d..a90b5eb9ff6 100644
--- a/usr.bin/sudo/TROUBLESHOOTING
+++ b/usr.bin/sudo/TROUBLESHOOTING
@@ -158,9 +158,12 @@ A) "cd" is a shell built-in command, you can't run it as a command
Q) When I try to use "cd" with sudo the command completes without
errors but nothing happens.
-A) Some SVR4-derived OS's include a /usr/bin/cd command for reasons
- unfathomable. A "cd" command is totally useless since a child process
- cannot affect the current working directory of the parent (your shell).
+A) Even though "cd" is a shell built-in command, some operating systems
+ include a /usr/bin/cd command for some reason. A standalone
+ "cd" command is totally useless since a child process (cd) cannot
+ affect the current working directory of the parent (your shell).
+ Thus, "sudo cd /foo" will start a child process, change the
+ directory and immediately exit without doing anything useful.
Q) When I run sudo it says I am not allowed to run the command as root
but I don't want to run it as root, I want to run it as another user.
diff --git a/usr.bin/sudo/UPGRADE b/usr.bin/sudo/UPGRADE
index 5d8591fa264..86e646f353b 100644
--- a/usr.bin/sudo/UPGRADE
+++ b/usr.bin/sudo/UPGRADE
@@ -1,6 +1,33 @@
Notes on upgrading from an older release
========================================
+o Upgrading from a version prior to 1.7.0:
+
+ Starting with sudo 1.7.0 comments in the sudoers file must not
+ have a digit or minus sign immediately after the comment character
+ ('#'). Otherwise, the comment may be interpreted as a user or
+ group ID.
+
+ When sudo is build with LDAP support the /etc/nsswitch.conf file is
+ now used to determine the sudoers seach order. sudo will default to
+ only using /etc/sudoers unless /etc/nsswitch.conf says otherwise.
+ This can be changed with an nsswitch.conf line, e.g.:
+ sudoers: ldap files
+ Would case LDAP to be searched first, then the sudoers file.
+ To restore the pre-1.7.0 behavior, run configure with the
+ --with-nsswitch=no flag.
+
+ Sudo now ignores user .ldaprc files as well as system LDAP defaults.
+ All LDAP configuration is now in /etc/ldap.conf (or whichever file
+ was specified by configure's --with-ldap-conf-file option).
+ If you are using TLS, you may now need to specify:
+ tls_checkpeer no
+ in sudo's ldap.conf unless ldap.conf references a valid certificate
+ authority file(s).
+
+ Please also see the WHATSNEW file for a list of new features in
+ sudo 1.7.0.
+
o Upgrading from a version prior to 1.6.9:
Starting with sudo 1.6.9, if an OS supports a modular authentication
diff --git a/usr.bin/sudo/WHATSNEW b/usr.bin/sudo/WHATSNEW
new file mode 100644
index 00000000000..2d36f065289
--- /dev/null
+++ b/usr.bin/sudo/WHATSNEW
@@ -0,0 +1,79 @@
+What's new in Sudo 1.7.0?
+
+ * Rewritten parser that converts sudoers into a set of data structures.
+ This eliminates a number of ordering issues and makes it possible to
+ apply sudoers Defaults entries before searching for the command.
+ It also adds support for per-command Defaults specifications.
+
+ * Sudoers now supports a #include facility to allow the inclusion of other
+ sudoers-format files.
+
+ * Sudo's -l (list) flag has been enhanced:
+ o applicable Defaults options are now listed
+ o a command argument can be specified for testing whether a user
+ may run a specific command.
+ o a new -U flag can be used in conjunction with "sudo -l" to allow
+ root (or a user with "sudo ALL") list another user's privileges.
+
+ * A new -g flag has been added to allow the user to specify a
+ primary group to run the command as. The sudoers syntax has been
+ extended to include a group section in the Runas specification.
+
+ * A uid may now be used anywhere a username is valid.
+
+ * The "secure_path" run-time Defaults option has been restored.
+
+ * Password and group data is now cached for fast lookups.
+
+ * The file descriptor at which sudo starts closing all open files is now
+ configurable via sudoers and, optionally, the command line.
+
+ * Visudo will now warn about aliases that are defined but not used.
+
+ * The -i and -s command line flags now take an optional command
+ to be run via the shell. Previously, the argument was passed
+ to the shell as a script to run.
+
+ * Improved LDAP support. SASL authentication may now be used in
+ conjunction when connecting to an LDAP server. The krb5_ccname
+ parameter in ldap.conf may be used to enable Kerberos.
+
+ * Support for /etc/nsswitch.conf. LDAP users may now use nsswitch.conf
+ to specify the sudoers order. E.g.:
+ sudoers: ldap files
+ to check LDAP, then /etc/sudoers. The default is "files", even
+ when LDAP support is compiled in. This differs from sudo 1.6
+ where LDAP was always consulted first.
+
+ * Support for /etc/environment on AIX and Linux. If sudo is run
+ with the -i flag, the contents of /etc/environment are used to
+ populate the new environment that is passed to the command being
+ run.
+
+ * If no terminal is available or if the new -A flag is specified,
+ sudo will use a helper program to read the password if one is
+ configured. Typically, this is a graphical password prompter
+ such as ssh-askpass.
+
+ * A new Defaults option, "mailfrom" that sets the value of the
+ "From:" field in the warning/error mail. If unspecified, the
+ login name of the invoking user is used.
+
+ * A new Defaults option, "env_file" that refers to a file containing
+ environment variables to be set in the command being run.
+
+ * A new flag, -n, may be used to indicate that sudo should not
+ prompt the user for a password and, instead, exit with an error
+ if authentication is required.
+
+ * If sudo needs to prompt for a password and it is unable to disable
+ echo (and no askpass program is defined), it will refuse to run
+ unless the "visiblepw" Defaults option has been specified.
+
+ * Prior to version 1.7.0, hitting enter/return at the Password: prompt
+ would exit sudo. In sudo 1.7.0 and beyond, this is treated as
+ an empty password. To exit sudo, the user must press ^C or ^D
+ at the prompt.
+
+ * visudo will now check the sudoers file owner and mode in -c (check)
+ mode when the -s (strict) flag is specified.
diff --git a/usr.bin/sudo/aclocal.m4 b/usr.bin/sudo/aclocal.m4
index b751eeb8fcd..13089f09012 100644
--- a/usr.bin/sudo/aclocal.m4
+++ b/usr.bin/sudo/aclocal.m4
@@ -1,6 +1,6 @@
dnl Local m4 macros for autoconf (used by sudo)
dnl
-dnl Copyright (c) 1994-1996,1998-2007 Todd C. Miller <Todd.Miller@courtesan.com>
+dnl Copyright (c) 1994-1996,1998-2004 Todd C. Miller <Todd.Miller@courtesan.com>
dnl
dnl XXX - should cache values in all cases!!!
dnl
@@ -156,15 +156,6 @@ fi
])dnl
dnl
-dnl check for fullly working void
-dnl
-AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation)
-AC_TRY_COMPILE(, [void *foo;
-foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].)
-AC_MSG_RESULT(yes), AC_DEFINE(VOID, char)
-AC_MSG_RESULT(no))])
-
-dnl
dnl SUDO_CHECK_TYPE(TYPE, DEFAULT)
dnl XXX - should require the check for unistd.h...
dnl
@@ -234,6 +225,8 @@ AC_DEFUN([SUDO_FUNC_ISBLANK],
] [
if test "$sudo_cv_func_isblank" = "yes"; then
AC_DEFINE(HAVE_ISBLANK, 1, [Define if you have isblank(3).])
+ else
+ AC_LIBOBJ(isblank)
fi
])