Sudo version 1.6.4 now available

Todd C. Miller Todd.Miller at
Mon Jan 14 09:44:02 EST 2002

Sudo version 1.6.4 is now available (ftp sites listed at the end).

There are some thing I had promised for the next release that are
not in 1.6.4 due to the large changes in the parser that these
changes require to work properly.  Nonetheless this release does
fix the majority of problems in the sudo bugs database and adds
features a number of people have asked for.  I hope to make more
frequent releases in the near future (it has been quite a while
since 1.6.3 was originally released).

 - todd

Major changes since 1.6.3p7:

 o Visudo now checks for the existence of an editor and gives a sensible
   error if it does not exist.

 o 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.

 o 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 '\\'.

 o Added the always_set_home option.

 o Strip NLSPATH and PATH_LOCALE out from the environment to prevent
   reading of protected files by a less privileged user.

 o Added support for BSD authentication and associated -a flag.

 o Added stay_setuid option for systems that have libraries that perform
   extra paranoia checks in system libraries for setuid programs.

 o 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).

 o Added a class of environment variables that are only cleared if they
   contain '/' or '%' characters.

 o 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.

 o Regenerated configure script with autoconf-2.52 (required some
   tweaking of and friends).

 o Added mail_badpass option to send mail when the user does not
   authenticate successfully.

 o 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

 o Added env_check and env_delete Defaults options to allow the admin
   to modify the builtin list of environment variables to remove.

 o 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.

 o Authentication routines that use sudo's tgetpass() now accept
   ^C or ^Z at the password prompt and sudo will act appropriately.

 o Added a check-only mode to visudo to check an existing sudoers
   file for sanity.

 o Visudo can now edit an alternate sudoers file.

 o 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.

 o Fixed CIDR handling in sudoers.

 o Fixed a segv if the local hostname is not resolvable and
   the 'fqdn' option is set.

 o "listpw=never" was not having an effect for users who did not
   appear in sudoers--now it does.

 o The --without-sendmail option now works on systems with
   a /usr/include/paths.h file that defines _PATH_SENDMAIL.

 o Removed the "secure_path" Defaults option as it does not work and
   cannot work until the parser is overhauled.

 o 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.

 o If find_path() fails as root, try again as the invoking user (useful
   for NFS).  Idea from Chip Capelik.

 o Use setpwent()/endpwent() and its shadow equivalents to be sure
   the passwd/shadow file gets closed.

 o Use getifaddrs(3) to get the list of network interfaces if it is

 o Dump list of local IP addresses and environment variables to clear
   when 'sudo -V' is run as root.

 o Wrap each call to syslog() with openlog()/closelog() since some
   things (such as PAM) may call closelog(3) behind sudo's back.

 o The LOGNAME and USER environment variables are now set if the user
   specified a target uid and that uid exists in the password database.

 o Now call pam_setcreds() to setup creds for the target user when
   PAM is in use.  On Linux this often sets resource limits.

[ Note that I'm now using the domain instead of
  for sudo-related things.  This is just a cosmetic change as the addresses still point to the same machine they always have. ]

Master WWW site:

WWW Mirrors:</a> (Los Angeles, California, USA)</a> (Fanwood, New Jersey, USA)</a> (Edmonton, Canada)</a> (Russia)

Master FTP sites:

FTP Mirrors: (Boulder, Colorado, USA) (Los Angeles, California, USA) (Falls Church, Virginia, USA) (Beltsville, Maryland, USA) (West Lafayette, Indiana, USA) (Bloomington, Indiana, USA) (Ypsilanti, Michigan, USA) (College Station, Texas, USA) (Rochester, New York, USA) (Fanwood, New Jersey, USA) (Australia) (Austria) (Alberta, Canada) (Hong Kong, China) (Czechoslovakia) (Great Britain) (Finland) (France) (France) (Germany) (Japan) (Japan) (Japan) (Japan) (Japan) (Japan) (Japan) (Japan) (Japan) (Japan) (Makati City, Philippines) (Poland) (Romania) (Russia) (Russia) (Sweden) (Sweden) (Taiwan) (Turkey)

More information about the sudo-announce mailing list