Imported Upstream version 1.7.2p6 upstream/1.7.2p6
authorBdale Garbee <bdale@gag.com>
Mon, 19 Apr 2010 16:43:24 +0000 (10:43 -0600)
committerBdale Garbee <bdale@gag.com>
Mon, 19 Apr 2010 16:43:24 +0000 (10:43 -0600)
106 files changed:
ChangeLog
Makefile.in
aix.c
alias.c
alloc.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
check.c
closefrom.c
compat.h
configure
configure.in
defaults.c
defaults.h
emul/charclass.h
emul/timespec.h
env.c
error.c
error.h
fileops.c
find_path.c
getcwd.c
getprogname.c
getspwuid.c
gettime.c
goodpath.c
gram.c
gram.y
ins_2001.h
ins_classic.h
ins_csops.h
ins_goons.h
install-sh
insults.h
interfaces.c
interfaces.h
isblank.c
lbuf.c
lbuf.h
ldap.c
list.c
list.h
logging.c
logging.h
match.c
memrchr.c
mkinstalldirs
mkstemp.c
parse.c
parse.h
pathnames.h.in
pwutil.c
redblack.c
redblack.h
sample.pam
sample.sudoers
sample.syslog.conf
selinux.c
sesh.c
set_perms.c
sigaction.c
snprintf.c
strcasecmp.c
strerror.c
strlcat.c
strlcpy.c
sudo.c
sudo.cat
sudo.h
sudo.man.in
sudo.pod
sudo_edit.c
sudo_noexec.c
sudo_nss.c
sudo_nss.h
sudo_usage.h.in
sudoers.cat
sudoers.ldap.cat
sudoers.ldap.man.in
sudoers.ldap.pod
sudoers.man.in
sudoers.pod
sudoers2ldif
term.c
testsudoers.c
tgetpass.c
utimes.c
visudo.c
visudo.cat
visudo.man.in
visudo.pod
zero_bytes.c

index 6ed7972e89a201ae7d144dc33605dc08e1e76951..a8d71a2dfe0464686b00165b7b73dc970bb50f46 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
+
+        * configure, configure.in: Fix installation of sudoers.ldap
+          in "make install" when --with-ldap was specified without a
+          directory. From Prof. Dr. Andreas Mueller
+
+2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
+
+        * find_path.c: Qualify the command even if it is in the
+          current working directory, e.g. "./foo" instead of just
+          returning "foo". This removes an ambiguity between real
+          commands and possible pseudo-commands in command matching.
+
+2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
+
+        * sudoers.cat, sudoers.man.in, sudoers.pod: Add a note about
+          the security implications of the fast_glob option.
+
+       * memrchr.c: Remove duplicate includes
+
+2010-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
+
+        * sudo.c: Fix a bug introduced with def_closefrom. The value
+          of def_closefrom already includes the +1.
+
+2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
+
+        * match.c: When doing a glob match, short circuit if
+          gl.gl_pathc is 0. From Mark Kettenis.
+
 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
 
         * match.c: Check for pseudo-command by looking at the first
index 245e77e28a961654128a7ca1e8ac73de050ed948..8d69f81907499a7dcf4a5592a151b22a6b075833 100644 (file)
@@ -21,8 +21,6 @@
 #
 # @configure_input@
 #
-# $Sudo: Makefile.in,v 1.340 2009/06/15 21:18:53 millert Exp $
-#
 
 #### Start of system configuration section. ####
 
@@ -405,9 +403,6 @@ sudoers.ldap.cat: sudoers.ldap.man
 @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:
@@ -462,11 +457,9 @@ realclean: distclean
 cleandir: realclean
 
 dist:
-       rm -f ../sudo-$(VERSION).tar.gz
-       ( cd .. ; TF="/tmp/sudo.dist$$$$" ; rm -f $$TF ; for i in $(DISTFILES) ; \
-         do echo sudo-$(VERSION)/$$i >> $$TF ; done ; \
-         tar Ocf sudo-$(VERSION).tar \
-         `cat $$TF` && gzip --best sudo-$(VERSION).tar && rm -f $$TF)
+       pax -w -x ustar -s '/^/sudo-$(VERSION)\//' -f ../sudo-$(VERSION).tar \
+               $(DISTFILES)
+       gzip -9f ../sudo-$(VERSION).tar
        ls -l ../sudo-$(VERSION).tar.gz
 
 bindist:
@@ -531,5 +524,3 @@ depot:
          gzip -f --best sudo-$(VERSION).depot; \
          rm -rf tmp.depot ; \
        )
-
-.PHONY:        ChangeLog
diff --git a/aix.c b/aix.c
index 0b604f5393b8c238315baf034f917190a2895907..aa615681937b2e89d88bfc455ca39321724cce2f 100644 (file)
--- a/aix.c
+++ b/aix.c
 
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: aix.c,v 1.7 2008/11/06 00:42:37 millert Exp $";
-#endif /* lint */
-
 #ifdef HAVE_GETUSERATTR
 
 #ifndef HAVE_SETRLIMIT64
diff --git a/alias.c b/alias.c
index e8fec56c07e59dfda2b28f3ab6ffc3e261882022..e389c7113935751831425e86d03f1ba288bc59aa 100644 (file)
--- a/alias.c
+++ b/alias.c
 #include "redblack.h"
 #include <gram.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: alias.c,v 1.18 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 /*
  * Globals
  */
diff --git a/alloc.c b/alloc.c
index c2405bf1c69d2578cd08351f90e4c1ccd1464eee..d8bd857cee2e31df2f36e2cf530ed8c3613eaf27 100644 (file)
--- a/alloc.c
+++ b/alloc.c
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: alloc.c,v 1.33 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 /*
  * If there is no SIZE_MAX or SIZE_T_MAX we have to assume that size_t
  * could be signed (as it is on SunOS 4.x).  This just means that
index fed48ba06738340cfb4f216ebb4e91c323535f02..337cd4d2069ced61defe24da83bae771a88fcc54 100644 (file)
 #include <afs/stds.h>
 #include <afs/kautils.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: afs.c,v 1.15 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 int
 afs_verify(pw, pass, auth)
     struct passwd *pw;
index 853ceb8b1acc9390886b044fe35d84a35ccf7a02..919fa9981969d71775300cc701a911851d00c2df 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: aix_auth.c,v 1.27 2009/05/25 12:02:42 millert Exp $";
-#endif /* lint */
-
 /*
  * For a description of the AIX authentication API, see
  * http://publib16.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/basetrf1/authenticate.htm
index aae7fd6899141861b9eadfef1b81c897ae571a09..f70e90b004ad11dcf87ce3a67ba2e06ebe86210d 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: bsdauth.c,v 1.23 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 extern char *login_style;              /* from sudo.c */
 
 int
index f8ddcbae5d9db3223170949897312ae4624cad3c..943e064c838369dbad9de5b9e5e4fdc64b85be96 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: dce.c,v 1.14 2005/02/12 22:56:07 millert Exp $";
-#endif /* lint */
-
 static int check_dce_status __P((error_status_t, char *));
 
 int
index d09b132d7fa81d15db2679de33dc74ce2b33d9b5..853fc3ba346e6fadf5f36ac9caeaa78915543fa3 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: fwtk.c,v 1.29 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 int
 fwtk_init(pw, promptp, auth)
     struct passwd *pw;
index 2f6c1099c9c1d07ccc5a85ae3d7b26ca83280146..4b3e38147a1983d2d211baa1c1a5eb18a20486aa 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: kerb4.c,v 1.16 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 int
 kerb4_init(pw, promptp, auth)
     struct passwd *pw;
index fd43950d55bd5539f1a1987219953ed8eab650ee..d03bd9a791c81125dafabe736018931eaa0dca1c 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: kerb5.c,v 1.37 2009/11/03 14:51:20 millert Exp $";
-#endif /* lint */
-
 #ifdef HAVE_HEIMDAL
 # define extract_name(c, p)            krb5_principal_get_comp_string(c, p, 1)
 # define krb5_free_data_contents(c, d) krb5_data_free(d)
index b03a1f75b1272dee331fed2a94a1e97e9a36540a..f4269b841bfd969161fd82ab540be57e4191c8c2 100644 (file)
 # define PAM_CONST
 #endif
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: pam.c,v 1.69 2009/08/07 14:21:51 millert Exp $";
-#endif /* lint */
-
 static int sudo_conv __P((int, PAM_CONST struct pam_message **,
                          struct pam_response **, void *));
 static char *def_prompt = "Password:";
index 7746a7016aa5db1f94e0096f34117dc3d0812dc8..e35130664c98e8ca34bd4c418982d2b8b6320c94 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: passwd.c,v 1.17 2005/02/12 22:56:07 millert Exp $";
-#endif /* lint */
-
 #define DESLEN                 13
 #define HAS_AGEINFO(p, l)      (l == 18 && p[DESLEN] == ',')
 
index 8da824b32a22b498b90a6df72b95d1761324d339..1769e6f7fd8d392a0203b2ae69c0bb2c3a769c01 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: rfc1938.c,v 1.20 2005/02/12 22:56:07 millert Exp $";
-#endif /* lint */
-
 int
 rfc1938_setup(pw, promptp, auth)
     struct passwd *pw;
index d398a60d5de8c88620bf65b4a7468f27c6251ec1..d2171270646e941dca82ba94436d6d963f8e58f5 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: secureware.c,v 1.13 2005/02/12 22:56:07 millert Exp $";
-#endif /* lint */
-
 int
 secureware_init(pw, promptp, auth)
     struct passwd *pw;
index 8ec7bbeff7c8d6ddae8d7c671ef2d5719101791d..4edddb4e515053f013ab9bd2dadb473ff8f2296b 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: securid.c,v 1.18 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 union config_record configure;
 
 int
index db254c2f51a3b50f420a4237d44bd079ad3c9bb9..b59bf8f5d83b8d2ce88a1f144829d2d24b0889fb 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: securid5.c,v 1.13 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 /*
  * securid_init - Initialises communications with ACE server
  * Arguments in:
index 852e8c77dc5fc9fe5ce4a400ed13cf9883e4fab0..1f919f481085d831fbefa604000133688548fa15 100644 (file)
 #include "sudo.h"
 #include "sudo_auth.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sia.c,v 1.19 2008/11/09 14:13:13 millert Exp $";
-#endif /* lint */
-
 static int sudo_collect        __P((int, int, uchar_t *, int, prompt_t *));
 
 static char *def_prompt;
index fa1419f28c56e4210de1324e5e1bcf47c7fecfd2..58a079bb0981b3cf1ccdf16dcdbda9d88f4592c2 100644 (file)
 #include "sudo_auth.h"
 #include "insults.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sudo_auth.c,v 1.40 2009/05/25 12:02:42 millert Exp $";
-#endif /* lint */
-
 sudo_auth auth_switch[] = {
 #ifdef AUTH_STANDALONE
     AUTH_STANDALONE
index 42ac49b167d1617021dbf56819baab15233f3cb0..a4efe1412376347f0ce9095ec4c87cb274c988fd 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: sudo_auth.h,v 1.29 2009/05/25 12:02:42 millert Exp $
  */
 
 #ifndef SUDO_AUTH_H
diff --git a/check.c b/check.c
index bdce34e23b7d719266399ebdd23552f151797325..817e406eb8c263a415423d0aa054a22fa8cb9770 100644 (file)
--- a/check.c
+++ b/check.c
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: check.c,v 1.247 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 /* Status codes for timestamp_status() */
 #define TS_CURRENT             0
 #define TS_OLD                 1
index 0f043f4807b9c2e44584681c9729c71457ac3639..fb9958ebc2f3e559e5160dc2beaa5f58fe2ff37c 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: closefrom.c,v 1.14 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 #ifndef HAVE_FCNTL_CLOSEM
 # ifndef HAVE_DIRFD
 #   define closefrom_fallback  closefrom
index 39fcdd7e9bf6e8a1a1a0a1fa974fa37c9b13beb7..2d5f76ad082123c077106b7e1714d67ed1114457 100644 (file)
--- a/compat.h
+++ b/compat.h
@@ -17,8 +17,6 @@
  * Sponsored in part by the Defense Advanced Research Projects
  * Agency (DARPA) and Air Force Research Laboratory, Air Force
  * Materiel Command, USAF, under agreement number F39502-99-1-0512.
- *
- * $Sudo: compat.h,v 1.90 2008/11/09 14:13:12 millert Exp $
  */
 
 #ifndef _SUDO_COMPAT_H
index 06d55dcdd319ef05fbfda81de9e797236b02e13e..95f96c44095c799d8e12683364bf4f072f338e27 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for sudo 1.7.2p5.
+# Generated by GNU Autoconf 2.61 for sudo 1.7.2p6.
 #
 # Report bugs to <http://www.sudo.ws/bugs/>.
 #
@@ -724,8 +724,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='sudo'
 PACKAGE_TARNAME='sudo'
-PACKAGE_VERSION='1.7.2p5'
-PACKAGE_STRING='sudo 1.7.2p5'
+PACKAGE_VERSION='1.7.2p6'
+PACKAGE_STRING='sudo 1.7.2p6'
 PACKAGE_BUGREPORT='http://www.sudo.ws/bugs/'
 
 # Factoring default headers for most tests.
@@ -1417,7 +1417,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures sudo 1.7.2p5 to adapt to many kinds of systems.
+\`configure' configures sudo 1.7.2p6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1482,7 +1482,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of sudo 1.7.2p5:";;
+     short | recursive ) echo "Configuration of sudo 1.7.2p6:";;
    esac
   cat <<\_ACEOF
 
@@ -1684,7 +1684,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-sudo configure 1.7.2p5
+sudo configure 1.7.2p6
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1698,7 +1698,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by sudo $as_me 1.7.2p5, which was
+It was created by sudo $as_me 1.7.2p6, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -15831,6 +15831,7 @@ LIBS=$ac_save_LIBS
 
 
 
+
 for ac_func in strchr strrchr memchr memcpy memset sysconf tzset \
               strftime setrlimit initgroups getgroups fstat gettimeofday \
               setlocale getaddrinfo setsid setenv setrlimit64
@@ -22883,9 +22884,9 @@ if test ${with_ldap-'no'} != "no"; then
 
        CPPFLAGS="${CPPFLAGS} -I${with_ldap}/include"
        with_ldap=yes
-       LDAP=""
     fi
     SUDO_OBJS="${SUDO_OBJS} ldap.o"
+    LDAP=""
 
     { echo "$as_me:$LINENO: checking for LDAP libraries" >&5
 echo $ECHO_N "checking for LDAP libraries... $ECHO_C" >&6; }
@@ -24558,7 +24559,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by sudo $as_me 1.7.2p5, which was
+This file was extended by sudo $as_me 1.7.2p6, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24607,7 +24608,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-sudo config.status 1.7.2p5
+sudo config.status 1.7.2p6
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
index 81302b5d7cc8ff272f32daec3158ee4785e9f2ce..0c08180d552c1076d9daffeadcfa2372e4417a95 100644 (file)
@@ -1,10 +1,9 @@
 dnl
 dnl Process this file with GNU autoconf to produce a configure script.
-dnl $Sudo: configure.in,v 1.549 2009/06/13 20:52:50 millert Exp $
 dnl
 dnl Copyright (c) 1994-1996,1998-2010 Todd C. Miller <Todd.Miller@courtesan.com>
 dnl
-AC_INIT([sudo], [1.7.2p5], [http://www.sudo.ws/bugs/], [sudo])
+AC_INIT([sudo], [1.7.2p6], [http://www.sudo.ws/bugs/], [sudo])
 AC_CONFIG_HEADER(config.h pathnames.h)
 dnl
 dnl This won't work before AC_INIT
@@ -2445,9 +2444,9 @@ if test ${with_ldap-'no'} != "no"; then
        SUDO_APPEND_LIBPATH(LDFLAGS, [${with_ldap}/lib])
        CPPFLAGS="${CPPFLAGS} -I${with_ldap}/include"
        with_ldap=yes
-       LDAP=""
     fi
     SUDO_OBJS="${SUDO_OBJS} ldap.o"
+    LDAP=""
 
     AC_MSG_CHECKING([for LDAP libraries])
     LDAP_LIBS=""
index 376fef79843a359318120097e6ee9a6be46c5c9e..3b076618d7712d637d62fd9c65288fa468171a75 100644 (file)
 #include "parse.h"
 #include <gram.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: defaults.c,v 1.73 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 /*
  * For converting between syslog numbers and strings.
  */
index aac0136a36705a3eda27945c0c2603bbd3a2a231..0035e9582f15b7e91be235b068571071999a106b 100644 (file)
@@ -17,8 +17,6 @@
  * Sponsored in part by the Defense Advanced Research Projects
  * Agency (DARPA) and Air Force Research Laboratory, Air Force
  * Materiel Command, USAF, under agreement number F39502-99-1-0512.
- *
- * $Sudo: defaults.h,v 1.33 2008/11/09 14:13:12 millert Exp $
  */
 
 #ifndef _SUDO_DEFAULTS_H
index bbe1d9e86526dfeb8b92c1b7000df800fd40a6b6..15463ff2cdcf9944cf01b37945a1983f7cc56b9f 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: charclass.h,v 1.3 2008/12/09 20:55:50 millert Exp $
  */
 
 /*
index 295184270565c66743506fff967293dc4a96c821..681c5239a08690f9630c1851deca49b1c7b0f288 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: timespec.h,v 1.1 2005/06/23 03:04:35 millert Exp $
  */
 
 #ifndef _SUDO_TIMESPEC_H
diff --git a/env.c b/env.c
index 3049dff93308329d357e87b80e8601289ec3d85b..88e6553ea66e9d6fa97b6f4dccea5146375fd79e 100644 (file)
--- a/env.c
+++ b/env.c
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: env.c,v 1.106 2009/06/23 18:24:42 millert Exp $";
-#endif /* lint */
-
 /*
  * Flags used in rebuild_env()
  */
diff --git a/error.c b/error.c
index 6f8149bfadedd8c8426f7e53bfb29661d2af4dbf..317f10561cbecfba55bfd6c2eee842a3ae688da9 100644 (file)
--- a/error.c
+++ b/error.c
 #include <compat.h>
 #include "error.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: error.c,v 1.7 2005/11/18 01:39:58 millert Exp $";
-#endif /* lint */
-
 static void _warning   __P((int, const char *, va_list));
        void cleanup    __P((int));
 
diff --git a/error.h b/error.h
index e8d7b77f763611bbdd199be2b783c8fabac8adfb..5ac3076005e0ac638c9e0cecf21ebc617a526899 100644 (file)
--- a/error.h
+++ b/error.h
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: error.h,v 1.2 2004/11/19 17:32:25 millert Exp $
  */
 
 #ifndef _SUDO_ERROR_H_
index 40cc86023a453c5eff07302687a203f10a305dad..5e9d31dd67c6323c5a7ebf5da58f40735f7929fb 100644 (file)
--- a/fileops.c
+++ b/fileops.c
 # define LINE_MAX 2048
 #endif
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: fileops.c,v 1.19 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 /*
  * Update the access and modify times on an fd or file.
  */
index 673cd0df55913b3618b00e08706b23e5f0745ccf..22ff607df9562ce49c0d8d80c8b2c3638e5dd3c4 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: find_path.c,v 1.115 2005/03/29 14:29:46 millert Exp $";
-#endif /* lint */
-
 /*
  * This function finds the full pathname for a command and
  * stores it in a statically allocated array, filling in a pointer
@@ -126,7 +122,10 @@ find_path(infile, outfile, sbp, path)
      * Check current dir if dot was in the PATH
      */
     if (!result && checkdot) {
-       result = sudo_goodpath(infile, sbp);
+       len = snprintf(command, sizeof(command), "./%s", infile);
+       if (len <= 0 || len >= sizeof(command))
+           errorx(1, "%s: File name too long", infile);
+       result = sudo_goodpath(command, sbp);
        if (result && def_ignore_dot)
            return(NOT_FOUND_DOT);
     }
index 6b5588a330a79c345a3b3a40c938c7bad57bf021..daa6b4da34ac75b3b50cb1a27cda0810269c0c15 100644 (file)
--- a/getcwd.c
+++ b/getcwd.c
        (dp->d_name[0] == '.' && (dp->d_name[1] == '\0' || \
            (dp->d_name[1] == '.' && dp->d_name[2] == '\0')))
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: getcwd.c,v 1.28 2005/02/08 03:55:42 millert Exp $";
-#endif /* lint */
-
 char *
 getcwd(pt, size)
        char *pt;
index bd06d0ea76b51a6caf49eb852dc1b4cdb7d3b11f..f269405d0cdb271031de0e5e4565d29ea39b2e3f 100644 (file)
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: getprogname.c,v 1.7 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 const char *
 getprogname()
 {
index c6848a75a457f30f6339d31539f43ec1f4363958..8c07d15167859be38316157562b3883f59130ac8 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: getspwuid.c,v 1.78 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 /*
  * Exported for auth/secureware.c
  */
index c864c9b08ad1d54791e534a764853419f9b776e4..f6de4753269cc79ea3ea67c56ab33c8255a6df34 100644 (file)
--- a/gettime.c
+++ b/gettime.c
 
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: gettime.c,v 1.8 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 /*
  * Get the current time via gettimeofday() for systems with
  * timespecs in struct stat or, otherwise, using time().
index 1529404555b4e53e5fed91e6c2a627de102b74ef..258bc899a250046e82c57d7c76ea865b077539ae 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: goodpath.c,v 1.44 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 /*
  * Verify that path is a normal file and executable by root.
  */
diff --git a/gram.c b/gram.c
index bcbf25e8e771e47f472f589990fd3844e5196fa6..775a3586979d2a4f405838a6dd2a05ef68661ba8 100644 (file)
--- a/gram.c
+++ b/gram.c
@@ -72,10 +72,6 @@ static char yyrcsid[]
 #include "sudo.h"
 #include "parse.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: gram.c,v 1.35 2009/04/18 23:25:08 millert Exp $";
-#endif /* lint */
-
 /*
  * We must define SIZE_MAX for yacc's skeleton.c.
  * If there is no SIZE_MAX or SIZE_T_MAX we have to assume that size_t
diff --git a/gram.y b/gram.y
index 9ab395bfbd45594d9ce3f38823cba1a6ef46e006..dce99b05c3b4bcba109ecab3cd42d16181bb17a4 100644 (file)
--- a/gram.y
+++ b/gram.y
 #include "sudo.h"
 #include "parse.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: gram.y,v 1.36 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 /*
  * We must define SIZE_MAX for yacc's skeleton.c.
  * If there is no SIZE_MAX or SIZE_T_MAX we have to assume that size_t
index 8e3ff46b8e1478188034dc8b921ab20310d7eff1..63a5d6400b8ade703b8ea1ae4ec96ca87cee0f90 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: ins_2001.h,v 1.29 2004/02/13 21:36:43 millert Exp $
  */
 
 #ifndef _SUDO_INS_2001_H
index 4321f64d18f50437e14561089bb40e2d7f96562e..b1942bd78397d5c9d1327071d47a64a1428dfc08 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: ins_classic.h,v 1.30 2004/02/13 21:36:43 millert Exp $
  */
 
 #ifndef _SUDO_INS_CLASSIC_H
index e94d8ae531d80587fff50dea2a080eee084e31d3..20e9b02d8c9bcbe2082a0480dc344ea8590c1330 100644 (file)
@@ -13,8 +13,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: ins_csops.h,v 1.30 2008/11/09 14:13:12 millert Exp $
  */
 
 #ifndef _SUDO_INS_CSOPS_H
index d938321ec6de86386cdbffdb3b3f5f6828ea8680..16a262acc8e02d5dbf2433d3e48616178ea56ab6 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: ins_goons.h,v 1.29 2004/02/13 21:36:43 millert Exp $
  */
 
 #ifndef _SUDO_INS_GOONS_H
index 6dcd300a7bb3c45f0dfb55f756396d31a596e9e0..cf3081f065f2a2e58de8d37e0a8974c57195d712 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 ## (From INN-1.4, written by Rich Salz)
-##  $Revision: 1.10 $
+##  $Revision$
 ##  A script to install files and directories.
 
 PROGNAME=`basename $0`
index 113fe3611501edd032e01febfd12dee06c3360fd..bdb3fc66a56ebbc1d0210c262c5dd4467a1c6b8a 100644 (file)
--- a/insults.h
+++ b/insults.h
@@ -13,8 +13,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: insults.h,v 1.47 2008/11/09 14:13:12 millert Exp $
  */
 
 #ifndef _SUDO_INSULTS_H
index 6272704c94a94f32efe99f6f360745b7508929a7..eed07530150ea66bac0814cbedeb014a1e409d5b 100644 (file)
@@ -84,10 +84,6 @@ struct rtentry;
 #include "sudo.h"
 #include "interfaces.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: interfaces.c,v 1.87 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 /* Minix apparently lacks IFF_LOOPBACK */
 #ifndef IFF_LOOPBACK
 # define IFF_LOOPBACK  0
index d4d4dd0d204ba81aca3d6f6019f4428a823ad3ea..b9591af45e020d9ac0683b1e26be4d163cee2e48 100644 (file)
@@ -17,8 +17,6 @@
  * Sponsored in part by the Defense Advanced Research Projects
  * Agency (DARPA) and Air Force Research Laboratory, Air Force
  * Materiel Command, USAF, under agreement number F39502-99-1-0512.
- *
- * $Sudo: interfaces.h,v 1.12 2008/11/09 14:13:12 millert Exp $
  */
 
 #ifndef _SUDO_INTERFACES_H
index 02b15fe9b6c33b5a1afb8b00d005b87259ff515c..e6ad58d4951c86fe39ce640e834c706507af7c20 100644 (file)
--- a/isblank.c
+++ b/isblank.c
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: isblank.c,v 1.1 2008/11/06 00:05:24 millert Exp $";
-#endif /* lint */
-
 #undef isblank
 int
 isblank(ch)
diff --git a/lbuf.c b/lbuf.c
index 9e6bf0d10b000058d4500526c71e2be194a00761..5f9d766d89c3819faeb99c3d106de863c3d9f9cd 100644 (file)
--- a/lbuf.c
+++ b/lbuf.c
 #include "sudo.h"
 #include "lbuf.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: lbuf.c,v 1.9 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 #if !defined(TIOCGSIZE) && defined(TIOCGWINSZ)
 # define TIOCGSIZE     TIOCGWINSZ
 # define ttysize       winsize
diff --git a/lbuf.h b/lbuf.h
index 4633dee3de312b24ca58512d7bce759c70b391f3..fbc9fdc004814c98b6bd059236578b254e662bd7 100644 (file)
--- a/lbuf.h
+++ b/lbuf.h
@@ -14,8 +14,6 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Sudo: lbuf.h,v 1.2 2007/08/22 22:31:07 millert Exp $"
  */
 
 #ifndef _SUDO_LBUF_H
diff --git a/ldap.c b/ldap.c
index 33e65067c163e123f9a74ec13ee66e00f714cbe0..94ea4cbe4ad1afc9069893d06d85e38d7b188a45 100644 (file)
--- a/ldap.c
+++ b/ldap.c
 #include "parse.h"
 #include "lbuf.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: ldap.c,v 1.108 2009/05/29 13:43:12 millert Exp $";
-#endif /* lint */
-
 #ifndef LDAP_OPT_SUCCESS
 # define LDAP_OPT_SUCCESS LDAP_SUCCESS
 #endif
diff --git a/list.c b/list.c
index 2e6482ad2a875af77b5bcce8be4a0e0866977a3d..60c1138026ac7ad0c84858cbd4ad959820abc385 100644 (file)
--- a/list.c
+++ b/list.c
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: list.c,v 1.6 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 struct list_proto {
     struct list_proto *prev;
     struct list_proto *next;
diff --git a/list.h b/list.h
index ddf610a1066ae33ccb8f4a82b6b200836dd56aed..17aab415b1cc19189260f20e73fe6a1c4b546be9 100644 (file)
--- a/list.h
+++ b/list.h
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: list.h,v 1.3 2007/09/11 19:42:48 millert Exp $
  */
 
 #ifndef _SUDO_LIST_H
index 44df374be72eb93fb4c65735c33ee54d1aed9745..9a651ada8d5bc7ed5e74eea495950bcab0ce335f 100644 (file)
--- a/logging.c
+++ b/logging.c
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: logging.c,v 1.205 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 static void do_syslog          __P((int, char *));
 static void do_logfile         __P((char *));
 static void send_mail          __P((char *));
index d65a8abcb6116c1764353f9a300361d939fa9be7..e8e5d8b6b7039dec4a7f06a1b85e9452252f7c44 100644 (file)
--- a/logging.h
+++ b/logging.h
@@ -13,8 +13,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: logging.h,v 1.15 2009/05/25 12:02:41 millert Exp $
  */
 
 #ifndef _LOGGING_H
diff --git a/match.c b/match.c
index 7d707a40036bf7106e4dff628163825b39e20cb9..71fa82224f119daad6447ff6f1fc8af3777bcd5d 100644 (file)
--- a/match.c
+++ b/match.c
 # include "nonunix.h"
 #endif /* USING_NONUNIX_GROUPS */
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: match.c,v 1.48 2009/11/23 15:56:14 millert Exp $";
-#endif /* lint */
-
 static struct member_list empty;
 
 static int command_matches_dir __P((char *, size_t));
@@ -469,7 +465,7 @@ command_matches_glob(sudoers_cmnd, sudoers_args)
      * else return false.
      */
 #define GLOB_FLAGS     (GLOB_NOSORT | GLOB_MARK | GLOB_BRACE | GLOB_TILDE)
-    if (glob(sudoers_cmnd, GLOB_FLAGS, NULL, &gl) != 0) {
+    if (glob(sudoers_cmnd, GLOB_FLAGS, NULL, &gl) != 0 || gl.gl_pathc == 0) {
        globfree(&gl);
        return(FALSE);
     }
index f66f8a05cd583bd83b5618867f3f5d1504c8765e..35e07de5f0464ffeefbba7532359067112e5eb40 100644 (file)
--- a/memrchr.c
+++ b/memrchr.c
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: memrchr.c,v 1.4 2007/11/27 17:13:03 millert Exp $";
-#endif /* lint */
-
-#include <sys/types.h>
-#include <config.h>
-
 /*
  * Reverse memchr()
  * Find the last occurrence of 'c' in the buffer 's' of size 'n'.
index ce51f6ebbb08a1e9dd51b6451e86d85f43c1381a..0330343d68f06479825007a26a9b6c96395ef941 100755 (executable)
@@ -4,8 +4,6 @@
 # Created: 1993-05-16
 # Public domain
 
-# $Sudo: mkinstalldirs,v 1.5 2003/04/03 15:16:22 millert Exp $
-
 umask 022
 errstatus=0
 dirmode=""
index 1c9b6d495c8aecaf0236940a664ee2fd2257a271..8a6108712e1a3f0205e08d4ea38479c5c0bf4f03 100644 (file)
--- a/mkstemp.c
+++ b/mkstemp.c
 
 #include "sudo.h"
 
-#ifndef lint
-static const char rcsid[] = "$Sudo: mkstemp.c,v 1.2 2008/08/20 11:40:15 millert Exp $";
-#endif /* not lint */
-
 static unsigned int get_random __P((void));
 static void seed_random __P((void));
 
diff --git a/parse.c b/parse.c
index 818641d6fb75aba20e3e488e361b896f313c0255..61a88f4443451aa8628e5f9493598ccac4c79e58 100644 (file)
--- a/parse.c
+++ b/parse.c
 #include "lbuf.h"
 #include <gram.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: parse.c,v 1.242 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 /* Characters that must be quoted in sudoers */
 #define SUDOERS_QUOTED ":\\,=#\""
 
diff --git a/parse.h b/parse.h
index 991856fd58150ebd91ef690ada29c02684d0b791..501e5f7c8d2bbd6ca0ae1fd21524cc0c3a1742db 100644 (file)
--- a/parse.h
+++ b/parse.h
@@ -13,8 +13,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: parse.h,v 1.49 2009/05/25 12:02:41 millert Exp $
  */
 
 #ifndef _SUDO_PARSE_H
index be46f904b17f5611a2de6cb92ce83ac491fcba7e..aec34eb69d3c64f0c87e2f4d3cb420bc8b2389f5 100644 (file)
@@ -17,8 +17,6 @@
  * Sponsored in part by the Defense Advanced Research Projects
  * Agency (DARPA) and Air Force Research Laboratory, Air Force
  * Materiel Command, USAF, under agreement number F39502-99-1-0512.
- *
- * $Sudo: pathnames.h.in,v 1.65 2009/05/25 12:02:41 millert Exp $
  */
 
 /*
index bbc3174dddba5c795cb2d6ca50042abcf80bc3d3..29471b6bee986fa54fb6d546e7be0ec060995bfb 100644 (file)
--- a/pwutil.c
+++ b/pwutil.c
 #include "sudo.h"
 #include "redblack.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: pwutil.c,v 1.23 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 #ifdef MYPW
 extern void (*my_setgrent) __P((void));
 extern void (*my_endgrent) __P((void));
index ac8ea2d2136f0f0c5b20be2a0e622ca787b92f77..95ac095b05f7f4d99fbdf662805caf73ad8f6558 100644 (file)
 #include "sudo.h"
 #include "redblack.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: redblack.c,v 1.12 2009/06/29 13:36:20 millert Exp $";
-#endif /* lint */
-
 static void rbrepair           __P((struct rbtree *, struct rbnode *));
 static void rotate_left                __P((struct rbtree *, struct rbnode *));
 static void rotate_right       __P((struct rbtree *, struct rbnode *));
index 8c7ead71cd2bb25d7a5e7a4eec182d33f70fc83d..b1938cada566293b759210d82217b953725cd10e 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: redblack.h,v 1.4 2008/11/09 14:13:12 millert Exp $
  */
 
 #ifndef _SUDO_REDBLACK_H
index b603a84ee1c34bce9cd2bfadbd87672a4e4aadab..d56e71249058ae97e3b69ba6d9dc46fbdc6a5b94 100644 (file)
@@ -6,8 +6,6 @@
 #   There are two basic ways to configure PAM, either via pam_stack
 #   or by explicitly specifying the various methods to use.
 #
-# $Sudo: sample.pam,v 1.3 2004/10/01 14:58:15 millert Exp $
-#
 # Here we use pam_stack
 auth       required    pam_stack.so service=system-auth
 account    required    pam_stack.so service=system-auth
index 220df7fa8da9f78b35b53c182703904df5cfe615..0ef1579ecce6eb8c8b2f23a825a4f6db92a95898 100644 (file)
@@ -4,8 +4,6 @@
 # This file MUST be edited with the 'visudo' command as root.
 #
 # See the sudoers man page for the details on how to write a sudoers file.
-#
-# $Sudo: sample.sudoers,v 1.29 2008/10/03 19:55:57 millert Exp $
 
 ##
 # Override built-in defaults
index 90e2c61ef0be93967513176949ec9970dc10211f..2effbab72aad76e385191006a4eb2ed87da5e4e8 100644 (file)
@@ -16,8 +16,6 @@
 #      Syslogd will not create new log files for you, you must first
 #      create the file before syslogd will log to it.  Eg.
 #      'touch /var/log/sudo'
-#
-# $Sudo: sample.syslog.conf,v 1.3 2004/10/01 14:58:15 millert Exp $
 
 # This logs successful and failed sudo attempts to the file /var/log/sudo
 local2.debug                                   /var/log/sudo
index 05ac1a06667eae96ecc6084a4834c4df5589b220..406c74d0b97808408b59247f9191ef60363d7caa 100644 (file)
--- a/selinux.c
+++ b/selinux.c
 #include "sudo.h"
 #include "pathnames.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: selinux.c,v 1.5 2008/02/22 20:33:00 millert Exp $";
-#endif /* lint */
-
 /*
  * This function attempts to revert the relabeling done to the tty.
  * fd             - referencing the opened ttyn
diff --git a/sesh.c b/sesh.c
index 715980e933eceb211379a89edf4ae677c02aab8e..3195e25b9e8f429a315e7c203f8057376de7dab7 100644 (file)
--- a/sesh.c
+++ b/sesh.c
 
 #include "compat.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sesh.c,v 1.1 2008/02/09 14:30:06 millert Exp $";
-#endif /* lint */
-
 int
 main (int argc, char **argv)
 {
index 4417330f976ad8b833350048a417ca6428413fb4..244bc40a923e4277752e03a456157d7f01d02aa4 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: set_perms.c,v 1.49 2009/06/25 12:44:33 millert Exp $";
-#endif /* lint */
-
 #ifdef __TANDEM
 # define ROOT_UID      65535
 #else
index 3af91c5e67583b300895aa5d2881c4ced67ca8e6..e34d471c803e587bae82548466728c010d8f95ea 100644 (file)
 
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sigaction.c,v 1.7 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 int
 sigaction(signo, sa, osa)
     int signo;
index e9410c0d50ecf21f40785345de2e47afef9b70a1..7ad4774691284d726aaa3d6a6e54c4873a531d36 100644 (file)
 
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: snprintf.c,v 1.22 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 static int xxxprintf    __P((char **, size_t, int, const char *, va_list));
 
 /*
index fa47bd3d025e71e6336db27966d8e284a552d33d..d14fdfb382661f4231bf4251479f2404b93f43e5 100644 (file)
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: strcasecmp.c,v 1.7 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 /*
  * Case insensitive string compare routines, same semantics as str[n]cmp()
  * (assumes ASCII..).
index 1e0267cd313044bb0b571bccbaa81a303d33f101..cacd3f634e1d2d48f2b9cc0362937ad6d6854cae 100644 (file)
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: strerror.c,v 1.11 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 /*
  * Map errno -> error string.
  */
index 2084bdd59d2f9b18c2715cbf18e20c8e651697e6..97a803b20bdb46bd76bb4a2f0b789017120c9f9b 100644 (file)
--- a/strlcat.c
+++ b/strlcat.c
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: strlcat.c,v 1.7 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 
 /*
  * Appends src to string dst of size siz (unlike strncat, siz is the
index b03316dc377e13f1fefc2d8f166057e9948a7004..8d301c3a5c2408acbc3e5f75cce6d48227e6690c 100644 (file)
--- a/strlcpy.c
+++ b/strlcpy.c
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: strlcpy.c,v 1.7 2005/02/12 22:56:06 millert Exp $";
-#endif /* lint */
-
 /*
  * Copy src to string dst of size siz.  At most siz-1 characters
  * will be copied.  Always NUL terminates (unless siz == 0).
diff --git a/sudo.c b/sudo.c
index 27af77a68c4712e68f9d1d0653ea2578d73d59e6..b9a7031e284d35a49ec07ce0c35401dcf4a3794a 100644 (file)
--- a/sudo.c
+++ b/sudo.c
 # include "nonunix.h"
 #endif
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sudo.c,v 1.517 2009/05/27 00:49:07 millert Exp $";
-#endif /* lint */
-
 /*
  * Prototypes
  */
@@ -540,7 +536,7 @@ main(argc, argv, envp)
        sudo_endpwent();
        sudo_endgrent();
 
-       closefrom(def_closefrom + 1);
+       closefrom(def_closefrom);
 
 #ifndef PROFILING
        if (ISSET(sudo_mode, MODE_BACKGROUND) && fork() > 0) {
index 8ec44452950c09c8625e9b318d95a5a0321d53bc..688e09c168711b5d64f6fb935b7e480b4aea35cb 100644 (file)
--- a/sudo.cat
+++ b/sudo.cat
@@ -61,7 +61,7 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
 
 
-1.7.2p5                 February 22, 2010                       1
+1.7.2p6                   March  3, 2010                        1
 
 
 
@@ -127,7 +127,7 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
 
 
 
-1.7.2p5                 February 22, 2010                       2
+1.7.2p6                   March  3, 2010                        2
 
 
 
@@ -193,7 +193,7 @@ SUDO(1m)               MAINTENANCE COMMANDS              SUDO(1m)
 
 
 
-1.7.2p5                 February 22, 2010                       3
+1.7.2p6                   March  3, 2010                        3
 
 
 
@@ -259,7 +259,7 @@ SUDO(1m)               MAINTENANCE COMMANDS              SUDO(1m)
 
 
 
-1.7.2p5                 February 22, 2010                       4
+1.7.2p6                   March  3, 2010                        4
 
 
 
@@ -325,7 +325,7 @@ SUDO(1m)               MAINTENANCE COMMANDS              SUDO(1m)
 
 
 
-1.7.2p5                 February 22, 2010                       5
+1.7.2p6                   March  3, 2010                        5
 
 
 
@@ -391,7 +391,7 @@ S\bSE\bEC\bCU\bUR\bRI\bIT\bTY\bY N\bNO\bOT\bTE\bES\bS
 
 
 
-1.7.2p5                 February 22, 2010                       6
+1.7.2p6                   March  3, 2010                        6
 
 
 
@@ -457,7 +457,7 @@ E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
 
 
 
-1.7.2p5                 February 22, 2010                       7
+1.7.2p6                   March  3, 2010                        7
 
 
 
@@ -523,7 +523,7 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
 
 
 
-1.7.2p5                 February 22, 2010                       8
+1.7.2p6                   March  3, 2010                        8
 
 
 
@@ -589,7 +589,7 @@ C\bCA\bAV\bVE\bEA\bAT\bTS\bS
 
 
 
-1.7.2p5                 February 22, 2010                       9
+1.7.2p6                   March  3, 2010                        9
 
 
 
@@ -655,6 +655,6 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
 
 
 
-1.7.2p5                 February 22, 2010                      10
+1.7.2p6                   March  3, 2010                       10
 
 
diff --git a/sudo.h b/sudo.h
index afb4e4e0bda6d8a5a65f5b46ea030898b8ad7053..20e047653ab04d67a5f5919c75aef2b1c1e72440 100644 (file)
--- a/sudo.h
+++ b/sudo.h
@@ -17,8 +17,6 @@
  * Sponsored in part by the Defense Advanced Research Projects
  * Agency (DARPA) and Air Force Research Laboratory, Air Force
  * Materiel Command, USAF, under agreement number F39502-99-1-0512.
- *
- * $Sudo: sudo.h,v 1.273 2009/05/25 12:02:41 millert Exp $
  */
 
 #ifndef _SUDO_SUDO_H
index c0f9f1f2114c4c001cf0a1e6fbe023f6fd8c0ba5..b4a53ce6150ad26cb12b56e75769ae2d66f93555 100644 (file)
@@ -18,7 +18,6 @@
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\" 
-.\" $Sudo: sudo.pod,v 1.125 2009/09/25 00:31:35 millert Exp $
 .\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
 .\"
 .IX Title "SUDO @mansectsu@"
-.TH SUDO @mansectsu@ "February 22, 2010" "1.7.2p5" "MAINTENANCE COMMANDS"
+.TH SUDO @mansectsu@ "March  3, 2010" "1.7.2p6" "MAINTENANCE COMMANDS"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 390499258ff5e06de474d7a9877e2c898896dbf5..d17ed5909e065b6fc813fcec33b88dbc10b3796d 100644 (file)
--- a/sudo.pod
+++ b/sudo.pod
@@ -18,7 +18,6 @@ Sponsored in part by the Defense Advanced Research Projects
 Agency (DARPA) and Air Force Research Laboratory, Air Force
 Materiel Command, USAF, under agreement number F39502-99-1-0512.
 
-$Sudo: sudo.pod,v 1.125 2009/09/25 00:31:35 millert Exp $
 =pod
 
 =head1 NAME
index d6a4da66a8a3770670a162d11388a2dea63493e4..04d5d7434e4743af140dec6ee55713b531d5137a 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sudo_edit.c,v 1.39 2009/09/30 13:50:58 millert Exp $";
-#endif /* lint */
-
 extern sigaction_t saved_sa_int, saved_sa_quit, saved_sa_tstp;
 extern char **environ;
 
index 084000abd53c7a7a7d39b1ecf5e5501710ee849c..eff07b9ee68aedf2a094cc89d3d08bacbebf659f 100644 (file)
 
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sudo_noexec.c,v 1.12 2005/03/12 23:43:40 millert Exp $";
-#endif /* lint */
-
 /*
  * Dummy versions of the execve() family of syscalls.  We don't need
  * to stub out all of them, just the ones that correspond to actual
index 138c0e2ad6054b94449ef3312e843a20cb1cac37..4dcdf2cb601243832abe5ed0c6f25ba343c259da 100644 (file)
 #include "sudo.h"
 #include "lbuf.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sudo_nss.c,v 1.8 2009/05/25 12:02:41 millert Exp $";
-#endif /* lint */
-
 extern struct sudo_nss sudo_nss_file;
 #ifdef HAVE_LDAP
 extern struct sudo_nss sudo_nss_ldap;
index 1822465a3730cfdb68481f9ffca1fd8248480855..f036add7936246fd56b442bee520347b8356f0e2 100644 (file)
@@ -12,8 +12,6 @@
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $Sudo: sudo_nss.h,v 1.7 2009/05/25 12:02:42 millert Exp $
  */
 
 struct lbuf;
index e310b0c8b31990b0df92724b06872294ef931fe8..4c0e8f217a31aa6d96b9639e547ce9c024cbf41f 100644 (file)
@@ -14,8 +14,6 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Sudo: sudo_usage.h.in,v 1.10 2009/05/25 12:02:42 millert Exp $
  */
 
 #ifndef _SUDO_USAGE_H
index 1187fb4053264ac621042ccd410c52c063915e2e..97ad5ad2e9ed922bb4c0669df483ed562d528b1d 100644 (file)
@@ -61,7 +61,7 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 
 
 
-1.7.2p5                 February 22, 2010                       1
+1.7.2p6                   April  7, 2010                        1
 
 
 
@@ -127,7 +127,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       2
+1.7.2p6                   April  7, 2010                        2
 
 
 
@@ -193,7 +193,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       3
+1.7.2p6                   April  7, 2010                        3
 
 
 
@@ -259,7 +259,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       4
+1.7.2p6                   April  7, 2010                        4
 
 
 
@@ -325,7 +325,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       5
+1.7.2p6                   April  7, 2010                        5
 
 
 
@@ -391,7 +391,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       6
+1.7.2p6                   April  7, 2010                        6
 
 
 
@@ -457,7 +457,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       7
+1.7.2p6                   April  7, 2010                        7
 
 
 
@@ -523,7 +523,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                       8
+1.7.2p6                   April  7, 2010                        8
 
 
 
@@ -589,7 +589,7 @@ S\bSU\bUD\bDO\bOE\bER\bRS\bS O\bOP\bPT\bTI\bIO\bON\bNS\bS
 
 
 
-1.7.2p5                 February 22, 2010                       9
+1.7.2p6                   April  7, 2010                        9
 
 
 
@@ -655,7 +655,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                      10
+1.7.2p6                   April  7, 2010                       10
 
 
 
@@ -721,7 +721,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                      11
+1.7.2p6                   April  7, 2010                       11
 
 
 
@@ -787,7 +787,7 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-1.7.2p5                 February 22, 2010                      12
+1.7.2p6                   April  7, 2010                       12
 
 
 
@@ -828,8 +828,14 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
                        causes s\bsu\bud\bdo\bo to use the _\bf_\bn_\bm_\ba_\bt_\bc_\bh(3) function, which does
                        not access the file system to do its matching.  The
                        disadvantage of _\bf_\ba_\bs_\bt_\b__\bg_\bl_\bo_\bb is that it is unable to match
-                       relative pathnames such as _\b._\b/_\bl_\bs or _\b._\b._\b/_\bb_\bi_\bn_\b/_\bl_\bs.  This
-                       flag is _\bo_\bf_\bf by default.
+                       relative pathnames such as _\b._\b/_\bl_\bs or _\b._\b._\b/_\bb_\bi_\bn_\b/_\bl_\bs.  This has
+                       security implications when path names that include
+                       globbing characters are used with the negation
+                       operator, '!', as such rules can be trivially bypassed.
+                       As such, this option should not be used when _\bs_\bu_\bd_\bo_\be_\br_\bs
+                       contains rules that contain negated path names which
+                       include globbing characters.  This flag is _\bo_\bf_\bf by
+                       default.
 
        stay_setuid     Normally, when s\bsu\bud\bdo\bo executes a command the real and
                        effective UIDs are set to the target user (root by
@@ -844,16 +850,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
        targetpw        If set, s\bsu\bud\bdo\bo will prompt for the password of the user
                        specified by the -\b-u\bu option (defaults to root) instead
-                       of the password of the invoking user.  Note that this
-                       precludes the use of a uid not listed in the passwd
-                       database as an argument to the -\b-u\bu option.  This flag is
-                       _\bo_\bf_\bf by default.
-
-       tty_tickets     If set, users must authenticate on a per-tty basis.
 
 
 
-1.7.2p5                 February 22, 2010                      13
+1.7.2p6                   April  7, 2010                       13
 
 
 
@@ -862,6 +862,12 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+                       of the password of the invoking user.  Note that this
+                       precludes the use of a uid not listed in the passwd
+                       database as an argument to the -\b-u\bu option.  This flag is
+                       _\bo_\bf_\bf by default.
+
+       tty_tickets     If set, users must authenticate on a per-tty basis.
                        Normally, s\bsu\bud\bdo\bo uses a directory in the ticket dir with
                        the same name as the user running it.  With this flag
                        enabled, s\bsu\bud\bdo\bo will use a file named for the tty the
@@ -910,16 +916,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
                        only the file log.  The default is 80 (use 0 or negate
                        the option to disable word wrap).
 
-       passwd_timeout  Number of minutes before the s\bsu\bud\bdo\bo password prompt times
-                       out.  The default is 5; set this to 0 for no password
-                       timeout.
 
-       timestamp_timeout
-                       Number of minutes that can elapse before s\bsu\bud\bdo\bo will ask
 
 
-
-1.7.2p5                 February 22, 2010                      14
+1.7.2p6                   April  7, 2010                       14
 
 
 
@@ -928,6 +928,12 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+       passwd_timeout  Number of minutes before the s\bsu\bud\bdo\bo password prompt times
+                       out.  The default is 5; set this to 0 for no password
+                       timeout.
+
+       timestamp_timeout
+                       Number of minutes that can elapse before s\bsu\bud\bdo\bo will ask
                        for a passwd again.  The default is 5.  Set this to 0
                        to always prompt for a password.  If set to a value
                        less than 0 the user's timestamp will never expire.
@@ -977,15 +983,9 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
                            name (on if the machine's hostname is fully
                            qualified or the _\bf_\bq_\bd_\bn option is set)
 
-                       %h  expanded to the local hostname without the domain
-                           name
-
-                       %p  expanded to the user whose password is being asked
-                           for (respects the _\br_\bo_\bo_\bt_\bp_\bw, _\bt_\ba_\br_\bg_\be_\bt_\bp_\bw and _\br_\bu_\bn_\ba_\bs_\bp_\bw
 
 
-
-1.7.2p5                 February 22, 2010                      15
+1.7.2p6                   April  7, 2010                       15
 
 
 
@@ -994,6 +994,11 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+                       %h  expanded to the local hostname without the domain
+                           name
+
+                       %p  expanded to the user whose password is being asked
+                           for (respects the _\br_\bo_\bo_\bt_\bp_\bw, _\bt_\ba_\br_\bg_\be_\bt_\bp_\bw and _\br_\bu_\bn_\ba_\bs_\bp_\bw
                            flags in _\bs_\bu_\bd_\bo_\be_\br_\bs)
 
                        %U  expanded to the login name of the user the command
@@ -1043,15 +1048,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
                    a file containing variables to be set in the environment of
                    the program being run.  Entries in this file should either
                    be of the form VARIABLE=value or export VARIABLE=value.
-                   The value may optionally be surrounded by single or double
-                   quotes.  Variables in this file are subject to other s\bsu\bud\bdo\bo
-                   environment settings such as _\be_\bn_\bv_\b__\bk_\be_\be_\bp and _\be_\bn_\bv_\b__\bc_\bh_\be_\bc_\bk.
-
-
 
 
 
-1.7.2p5                 February 22, 2010                      16
+1.7.2p6                   April  7, 2010                       16
 
 
 
@@ -1060,6 +1060,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+                   The value may optionally be surrounded by single or double
+                   quotes.  Variables in this file are subject to other s\bsu\bud\bdo\bo
+                   environment settings such as _\be_\bn_\bv_\b__\bk_\be_\be_\bp and _\be_\bn_\bv_\b__\bc_\bh_\be_\bc_\bk.
+
        exempt_group
                    Users in this group are exempt from password and PATH
                    requirements.  This is not set by default.
@@ -1111,13 +1115,9 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
        mailerflags Flags to use when invoking mailer. Defaults to -\b-t\bt.
 
-       mailerpath  Path to mail program used to send warning mail.  Defaults
-                   to the path to sendmail found at configure time.
-
 
 
-
-1.7.2p5                 February 22, 2010                      17
+1.7.2p6                   April  7, 2010                       17
 
 
 
@@ -1126,6 +1126,9 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+       mailerpath  Path to mail program used to send warning mail.  Defaults
+                   to the path to sendmail found at configure time.
+
        mailfrom    Address to use for the "from" address when sending warning
                    and error mail.  The address should be enclosed in double
                    quotes (") to protect against s\bsu\bud\bdo\bo interpreting the @ sign.
@@ -1177,13 +1180,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
                        programs.  The argument may be a double-quoted, space-
                        separated list or a single value without double-quotes.
                        The list can be replaced, added to, deleted from, or
-                       disabled by using the =, +=, -=, and ! operators
-                       respectively.  Regardless of whether the env_reset
-                       option is enabled or disabled, variables specified by
 
 
 
-1.7.2p5                 February 22, 2010                      18
+1.7.2p6                   April  7, 2010                       18
 
 
 
@@ -1192,6 +1192,9 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+                       disabled by using the =, +=, -=, and ! operators
+                       respectively.  Regardless of whether the env_reset
+                       option is enabled or disabled, variables specified by
                        env_check will be preserved in the environment if they
                        pass the aforementioned check.  The default list of
                        environment variables to check is displayed when s\bsu\bud\bdo\bo
@@ -1243,13 +1246,10 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
         User_Alias     PARTTIMERS = bostley, jwfox, crawl
         User_Alias     WEBMASTERS = will, wendy, wim
 
-        # Runas alias specification
-        Runas_Alias    OP = root, operator
-        Runas_Alias    DB = oracle, sybase
 
 
 
-1.7.2p5                 February 22, 2010                      19
+1.7.2p6                   April  7, 2010                       19
 
 
 
@@ -1258,6 +1258,9 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+        # Runas alias specification
+        Runas_Alias    OP = root, operator
+        Runas_Alias    DB = oracle, sybase
         Runas_Alias    ADMINGRP = adm, oper
 
         # Host alias specification
@@ -1309,13 +1312,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
         root           ALL = (ALL) ALL
         %wheel         ALL = (ALL) ALL
 
-       We let r\bro\boo\bot\bt and any user in group w\bwh\bhe\bee\bel\bl run any command on any host as
-       any user.
 
 
 
-
-1.7.2p5                 February 22, 2010                      20
+1.7.2p6                   April  7, 2010                       20
 
 
 
@@ -1324,6 +1324,9 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+       We let r\bro\boo\bot\bt and any user in group w\bwh\bhe\bee\bel\bl run any command on any host as
+       any user.
+
         FULLTIMERS     ALL = NOPASSWD: ALL
 
        Full time sysadmins (m\bmi\bil\bll\ble\ber\brt\bt, m\bmi\bik\bke\bef\bf, and d\bdo\bow\bwd\bdy\by) may run any command on
@@ -1376,12 +1379,9 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
        The user b\bbo\bob\bb may run anything on the _\bS_\bP_\bA_\bR_\bC and _\bS_\bG_\bI machines as any user
        listed in the _\bO_\bP Runas_Alias (r\bro\boo\bot\bt and o\bop\bpe\ber\bra\bat\bto\bor\br).
 
-        jim            +biglab = ALL
-
 
 
-
-1.7.2p5                 February 22, 2010                      21
+1.7.2p6                   April  7, 2010                       21
 
 
 
@@ -1390,6 +1390,8 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+        jim            +biglab = ALL
+
        The user j\bji\bim\bm may run any command on machines in the _\bb_\bi_\bg_\bl_\ba_\bb netgroup.
        s\bsu\bud\bdo\bo knows that "biglab" is a netgroup due to the '+' prefix.
 
@@ -1442,12 +1444,10 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
        Any user may mount or unmount a CD-ROM on the machines in the CDROM
        Host_Alias (orion, perseus, hercules) without entering a password.
        This is a bit tedious for users to type, so it is a prime candidate for
-       encapsulating in a shell script.
-
 
 
 
-1.7.2p5                 February 22, 2010                      22
+1.7.2p6                   April  7, 2010                       22
 
 
 
@@ -1456,6 +1456,8 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
+       encapsulating in a shell script.
+
 S\bSE\bEC\bCU\bUR\bRI\bIT\bTY\bY N\bNO\bOT\bTE\bES\bS
        It is generally not effective to "subtract" commands from ALL using the
        '!' operator.  A user can trivially circumvent this by copying the
@@ -1470,6 +1472,21 @@ S\bSE\bEC\bCU\bUR\bRI\bIT\bTY\bY N\bNO\bOT\bTE\bES\bS
        kind of restrictions should be considered advisory at best (and
        reinforced by policy).
 
+       Furthermore, if the _\bf_\ba_\bs_\bt_\b__\bg_\bl_\bo_\bb option is in use, it is not possible to
+       reliably negate commands where the path name includes globbing (aka
+       wildcard) characters.  This is because the C library's _\bf_\bn_\bm_\ba_\bt_\bc_\bh(3)
+       function cannot resolve relative paths.  While this is typically only
+       an inconvenience for rules that grant privileges, it can result in a
+       security issue for rules that subtract or revoke privileges.
+
+       For example, given the following _\bs_\bu_\bd_\bo_\be_\br_\bs entry:
+
+        john   ALL = /usr/bin/passwd [a-zA-Z0-9]*, /usr/bin/chsh [a-zA-Z0-9]*,
+             /usr/bin/chfn [a-zA-Z0-9]*, !/usr/bin/* root
+
+       User j\bjo\boh\bhn\bn can still run /usr/bin/passwd root if _\bf_\ba_\bs_\bt_\b__\bg_\bl_\bo_\bb is enabled by
+       changing to _\b/_\bu_\bs_\br_\b/_\bb_\bi_\bn and running ./passwd root instead.
+
 P\bPR\bRE\bEV\bVE\bEN\bNT\bTI\bIN\bNG\bG S\bSH\bHE\bEL\bLL\bL E\bES\bSC\bCA\bAP\bPE\bES\bS
        Once s\bsu\bud\bdo\bo executes a program, that program is free to do whatever it
        pleases, including run other programs.  This can be a security issue
@@ -1493,6 +1510,18 @@ P\bPR\bRE\bEV\bVE\bEN\bNT\bTI\bIN\bNG\bG S\bSH\bHE\bEL\bLL\bL E\bES\bSC\bCA\bAP\bPE\bES\bS
                  shared library.  On such systems, s\bsu\bud\bdo\bo's _\bn_\bo_\be_\bx_\be_\bc functionality
                  can be used to prevent a program run by s\bsu\bud\bdo\bo from executing
                  any other programs.  Note, however, that this applies only to
+
+
+
+1.7.2p6                   April  7, 2010                       23
+
+
+
+
+
+SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
+
+
                  native dynamically-linked executables.  Statically-linked
                  executables and foreign executables running under binary
                  emulation are not affected.
@@ -1510,18 +1539,6 @@ P\bPR\bRE\bEV\bVE\bEN\bNT\bTI\bIN\bNG\bG S\bSH\bHE\bEL\bLL\bL E\bES\bSC\bCA\bAP\bPE\bES\bS
                  in the standard library with its own that simply return an
                  error.  Unfortunately, there is no foolproof way to know
                  whether or not _\bn_\bo_\be_\bx_\be_\bc will work at compile-time.  _\bn_\bo_\be_\bx_\be_\bc
-
-
-
-1.7.2p5                 February 22, 2010                      23
-
-
-
-
-
-SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
-
-
                  should work on SunOS, Solaris, *BSD, Linux, IRIX, Tru64 UNIX,
                  MacOS X, and HP-UX 11.x.  It is known n\bno\bot\bt to work on AIX and
                  UnixWare.  _\bn_\bo_\be_\bx_\be_\bc is expected to work on most operating
@@ -1559,6 +1576,18 @@ C\bCA\bAV\bVE\bEA\bAT\bTS\bS
 
        When using netgroups of machines (as opposed to users), if you store
        fully qualified hostnames in the netgroup (as is usually the case), you
+
+
+
+1.7.2p6                   April  7, 2010                       24
+
+
+
+
+
+SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
+
+
        either need to have the machine's hostname be fully qualified as
        returned by the hostname command or use the _\bf_\bq_\bd_\bn option in _\bs_\bu_\bd_\bo_\be_\br_\bs.
 
@@ -1576,18 +1605,6 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
        including, but not limited to, the implied warranties of
        merchantability and fitness for a particular purpose are disclaimed.
        See the LICENSE file distributed with s\bsu\bud\bdo\bo or
-
-
-
-1.7.2p5                 February 22, 2010                      24
-
-
-
-
-
-SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
-
-
        http://www.sudo.ws/sudo/license.html for complete details.
 
 
@@ -1628,23 +1645,6 @@ SUDOERS(4)             MAINTENANCE COMMANDS            SUDOERS(4)
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1.7.2p5                 February 22, 2010                      25
+1.7.2p6                   April  7, 2010                       25
 
 
index 16955c56a51eab55806409eece7ae140e172a85e..38f21ef0830dfe5e9ecf77170e7ab74a03482d43 100644 (file)
@@ -52,16 +52,16 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
        Cmnd_Alias that is referenced by multiple users, one can create a
        sudoRole that contains the commands and assign multiple users to it.
 
-       S\bSU\bUD\bDO\bOe\ber\brs\bs L\bLD\bDA\bAP\bP c\bco\bon\bnt\bta\bai\bin\bne\ber\br
-
+   S\bSU\bUD\bDO\bOe\ber\brs\bs L\bLD\bDA\bAP\bP c\bco\bon\bnt\bta\bai\bin\bne\ber\br
        The _\bs_\bu_\bd_\bo_\be_\br_\bs configuration is contained in the ou=SUDOers LDAP
        container.
 
        Sudo first looks for the cn=default entry in the SUDOers container.  If
+       found, the multi-valued sudoOption attribute is parsed in the same
 
 
 
-1.7.2p5                 February 22, 2010                       1
+1.7.2p6                   March  3, 2010                        1
 
 
 
@@ -70,7 +70,6 @@ D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-       found, the multi-valued sudoOption attribute is parsed in the same
        manner as a global Defaults line in _\b/_\be_\bt_\bc_\b/_\bs_\bu_\bd_\bo_\be_\br_\bs.  In the following
        example, the SSH_AUTH_SOCK variable will be preserved in the
        environment for all users.
@@ -127,7 +126,8 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
 
-1.7.2p5                 February 22, 2010                       2
+
+1.7.2p6                   March  3, 2010                        2
 
 
 
@@ -144,8 +144,7 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            sudoHost: ALL
            sudoCommand: ALL
 
-       A\bAn\bna\bat\bto\bom\bmy\by o\bof\bf L\bLD\bDA\bAP\bP s\bsu\bud\bdo\boe\ber\brs\bs l\blo\boo\bok\bku\bup\bp
-
+   A\bAn\bna\bat\bto\bom\bmy\by o\bof\bf L\bLD\bDA\bAP\bP s\bsu\bud\bdo\boe\ber\brs\bs l\blo\boo\bok\bku\bup\bp
        When looking up a sudoer using LDAP there are only two or three LDAP
        queries per invocation.  The first query is to parse the global
        options.  The second is to match against the user's name and the groups
@@ -154,8 +153,7 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
        third query returns all entries containing user netgroups and checks to
        see if the user belongs to any of them.
 
-       D\bDi\bif\bff\bfe\ber\bre\ben\bnc\bce\bes\bs b\bbe\bet\btw\bwe\bee\ben\bn L\bLD\bDA\bAP\bP a\ban\bnd\bd n\bno\bon\bn-\b-L\bLD\bDA\bAP\bP s\bsu\bud\bdo\boe\ber\brs\bs
-
+   D\bDi\bif\bff\bfe\ber\bre\ben\bnc\bce\bes\bs b\bbe\bet\btw\bwe\bee\ben\bn L\bLD\bDA\bAP\bP a\ban\bnd\bd n\bno\bon\bn-\b-L\bLD\bDA\bAP\bP s\bsu\bud\bdo\boe\ber\brs\bs
        There are some subtle differences in the way sudoers is handled once in
        LDAP.  Probably the biggest is that according to the RFC, LDAP ordering
        is arbitrary and you cannot expect that Attributes and Entries are
@@ -190,10 +188,12 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            objectClass: top
            cn: role2
            sudoUser: puddles
+           sudoHost: ALL
+           sudoCommand: !/bin/sh
 
 
 
-1.7.2p5                 February 22, 2010                       3
+1.7.2p6                   March  3, 2010                        3
 
 
 
@@ -202,8 +202,6 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-           sudoHost: ALL
-           sudoCommand: !/bin/sh
            sudoCommand: ALL
 
        Another difference is that negations on the Host, User or Runas are
@@ -224,8 +222,7 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            sudoHost: ALL
            sudoHost: !web01
 
-       S\bSu\bud\bdo\boe\ber\brs\bs S\bSc\bch\bhe\bem\bma\ba
-
+   S\bSu\bud\bdo\boe\ber\brs\bs S\bSc\bch\bhe\bem\bma\ba
        In order to use s\bsu\bud\bdo\bo's LDAP support, the s\bsu\bud\bdo\bo schema must be installed
        on your LDAP server.  In addition, be sure to index the 'sudoUser'
        attribute.
@@ -238,8 +235,7 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
        The schema for s\bsu\bud\bdo\bo in OpenLDAP form is included in the EXAMPLES
        section.
 
-       C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg l\bld\bda\bap\bp.\b.c\bco\bon\bnf\bf
-
+   C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg l\bld\bda\bap\bp.\b.c\bco\bon\bnf\bf
        Sudo reads the _\b/_\be_\bt_\bc_\b/_\bl_\bd_\ba_\bp_\b._\bc_\bo_\bn_\bf file for LDAP-specific configuration.
        Typically, this file is shared amongst different LDAP-aware clients.
        As such, most of the settings are not s\bsu\bud\bdo\bo-specific.  Note that s\bsu\bud\bdo\bo
@@ -256,10 +252,14 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
        U\bUR\bRI\bI ldap[s]://[hostname[:port]] ...
            Specifies a whitespace-delimited list of one or more URIs
+           describing the LDAP server(s) to connect to.  The _\bp_\br_\bo_\bt_\bo_\bc_\bo_\bl may be
+           either l\bld\bda\bap\bp or l\bld\bda\bap\bps\bs, the latter being for servers that support TLS
+           (SSL) encryption.  If no _\bp_\bo_\br_\bt is specified, the default is port 389
+           for ldap:// or port 636 for ldaps://.  If no _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be is specified,
 
 
 
-1.7.2p5                 February 22, 2010                       4
+1.7.2p6                   March  3, 2010                        4
 
 
 
@@ -268,10 +268,6 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-           describing the LDAP server(s) to connect to.  The _\bp_\br_\bo_\bt_\bo_\bc_\bo_\bl may be
-           either l\bld\bda\bap\bp or l\bld\bda\bap\bps\bs, the latter being for servers that support TLS
-           (SSL) encryption.  If no _\bp_\bo_\br_\bt is specified, the default is port 389
-           for ldap:// or port 636 for ldaps://.  If no _\bh_\bo_\bs_\bt_\bn_\ba_\bm_\be is specified,
            s\bsu\bud\bdo\bo will connect to l\blo\boc\bca\bal\blh\bho\bos\bst\bt.  Only systems using the OpenSSL
            libraries support the mixing of ldap:// and ldaps:// URIs.  The
            Netscape-derived libraries used on most commercial versions of Unix
@@ -322,10 +318,14 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            identity.  By default, most LDAP servers will allow anonymous
            access.
 
+       B\bBI\bIN\bND\bDP\bPW\bW secret
+           The B\bBI\bIN\bND\bDP\bPW\bW parameter specifies the password to use when performing
+           LDAP operations.  This is typically used in conjunction with the
+           B\bBI\bIN\bND\bDD\bDN\bN parameter.
 
 
 
-1.7.2p5                 February 22, 2010                       5
+1.7.2p6                   March  3, 2010                        5
 
 
 
@@ -334,11 +334,6 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-       B\bBI\bIN\bND\bDP\bPW\bW secret
-           The B\bBI\bIN\bND\bDP\bPW\bW parameter specifies the password to use when performing
-           LDAP operations.  This is typically used in conjunction with the
-           B\bBI\bIN\bND\bDD\bDN\bN parameter.
-
        R\bRO\bOO\bOT\bTB\bBI\bIN\bND\bDD\bDN\bN DN
            The R\bRO\bOO\bOT\bTB\bBI\bIN\bND\bDD\bDN\bN parameter specifies the identity, in the form of a
            Distinguished Name (DN), to use when performing privileged LDAP
@@ -389,21 +384,22 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            used to authenticate the client to the LDAP server.  The
            certificate type depends on the LDAP libraries used.
 
+           OpenLDAP:
+               tls_cert /etc/ssl/client_cert.pem
 
+           Netscape-derived:
 
-1.7.2p5                 February 22, 2010                       6
 
 
+1.7.2p6                   March  3, 2010                        6
 
 
 
-SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-           OpenLDAP:
-               tls_cert /etc/ssl/client_cert.pem
+SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
+
 
-           Netscape-derived:
                tls_cert /var/ldap/cert7.db
 
            When using Netscape-derived libraries, this file may also contain
@@ -455,21 +451,22 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            The path to the Kerberos 5 credential cache to use when
            authenticating with the remote server.
 
+       See the ldap.conf entry in the EXAMPLES section.
 
 
-1.7.2p5                 February 22, 2010                       7
 
 
 
+1.7.2p6                   March  3, 2010                        7
 
 
-SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-       See the ldap.conf entry in the EXAMPLES section.
 
-       C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg n\bns\bss\bsw\bwi\bit\btc\bch\bh.\b.c\bco\bon\bnf\bf
+SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
+
 
+   C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg n\bns\bss\bsw\bwi\bit\btc\bch\bh.\b.c\bco\bon\bnf\bf
        Unless it is disabled at build time, s\bsu\bud\bdo\bo consults the Name Service
        Switch file, _\b/_\be_\bt_\bc_\b/_\bn_\bs_\bs_\bw_\bi_\bt_\bc_\bh_\b._\bc_\bo_\bn_\bf, to specify the _\bs_\bu_\bd_\bo_\be_\br_\bs search order.
        Sudo looks for a line beginning with sudoers: and uses this to
@@ -502,8 +499,7 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
        Note that _\b/_\be_\bt_\bc_\b/_\bn_\bs_\bs_\bw_\bi_\bt_\bc_\bh_\b._\bc_\bo_\bn_\bf is supported even when the underlying
        operating system does not use an nsswitch.conf file.
 
-       C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg n\bne\bet\bts\bsv\bvc\bc.\b.c\bco\bon\bnf\bf
-
+   C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg n\bne\bet\bts\bsv\bvc\bc.\b.c\bco\bon\bnf\bf
        On AIX systems, the _\b/_\be_\bt_\bc_\b/_\bn_\be_\bt_\bs_\bv_\bc_\b._\bc_\bo_\bn_\bf file is consulted instead of
        _\b/_\be_\bt_\bc_\b/_\bn_\bs_\bs_\bw_\bi_\bt_\bc_\bh_\b._\bc_\bo_\bn_\bf.  s\bsu\bud\bdo\bo simply treats _\bn_\be_\bt_\bs_\bv_\bc_\b._\bc_\bo_\bn_\bf as a variant of
        _\bn_\bs_\bs_\bw_\bi_\bt_\bc_\bh_\b._\bc_\bo_\bn_\bf; information in the previous section unrelated to the
@@ -521,20 +517,21 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
        To treat LDAP as authoratative and only use the local sudoers file if
        the user is not present in LDAP, use:
 
+           sudoers = ldap = auth, files
 
+       Note that in the above example, the auth qualfier only affects user
 
-1.7.2p5                 February 22, 2010                       8
 
 
+1.7.2p6                   March  3, 2010                        8
 
 
 
-SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-           sudoers = ldap = auth, files
+SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
+
 
-       Note that in the above example, the auth qualfier only affects user
        lookups; both LDAP and _\bs_\bu_\bd_\bo_\be_\br_\bs will be queried for Defaults entries.
 
        If the _\b/_\be_\bt_\bc_\b/_\bn_\be_\bt_\bs_\bv_\bc_\b._\bc_\bo_\bn_\bf file is not present or there is no sudoers
@@ -550,8 +547,7 @@ F\bFI\bIL\bLE\bES\bS
        _\b/_\be_\bt_\bc_\b/_\bn_\be_\bt_\bs_\bv_\bc_\b._\bc_\bo_\bn_\bf        determines sudoers source order on AIX
 
 E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
-       E\bEx\bxa\bam\bmp\bpl\ble\be l\bld\bda\bap\bp.\b.c\bco\bon\bnf\bf
-
+   E\bEx\bxa\bam\bmp\bpl\ble\be l\bld\bda\bap\bp.\b.c\bco\bon\bnf\bf
          # Either specify one or more URIs or one or more host:port pairs.
          # If neither is specified sudo will default to localhost, port 389.
          #
@@ -586,10 +582,14 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
          #
          # 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
 
 
 
-1.7.2p5                 February 22, 2010                       9
+1.7.2p6                   March  3, 2010                        9
 
 
 
@@ -598,10 +598,6 @@ E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-         #
-         # 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.
@@ -652,10 +648,14 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
          # SDK will prevent specific file names from working.  For this reason
          # it is suggested that tls_cert and tls_key be set to a directory,
          # not a file name.
+         #
+         # The certificate database 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.
 
 
 
-1.7.2p5                 February 22, 2010                      10
+1.7.2p6                   March  3, 2010                       10
 
 
 
@@ -664,10 +664,6 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-         #
-         # The certificate database 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
          #tls_key /var/ldap
@@ -680,8 +676,7 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
          # sasl_secprops none
          # krb5_ccname /etc/.ldapcache
 
-       S\bSu\bud\bdo\bo s\bsc\bch\bhe\bem\bma\ba f\bfo\bor\br O\bOp\bpe\ben\bnL\bLD\bDA\bAP\bP
-
+   S\bSu\bud\bdo\bo s\bsc\bch\bhe\bem\bma\ba f\bfo\bor\br O\bOp\bpe\ben\bnL\bLD\bDA\bAP\bP
        The following schema is in OpenLDAP format.  Simply copy it to the
        schema directory (e.g. _\b/_\be_\bt_\bc_\b/_\bo_\bp_\be_\bn_\bl_\bd_\ba_\bp_\b/_\bs_\bc_\bh_\be_\bm_\ba), add the proper include
        line in slapd.conf and restart s\bsl\bla\bap\bpd\bd.
@@ -718,10 +713,15 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
            EQUALITY caseExactIA5Match
            SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
 
+        attributetype ( 1.3.6.1.4.1.15953.9.1.6
+           NAME 'sudoRunAsUser'
+           DESC 'User(s) impersonated by sudo'
+           EQUALITY caseExactIA5Match
+           SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
 
 
 
-1.7.2p5                 February 22, 2010                      11
+1.7.2p6                   March  3, 2010                       11
 
 
 
@@ -730,11 +730,6 @@ SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 SUDOERS.LDAP(4)        MAINTENANCE COMMANDS       SUDOERS.LDAP(4)
 
 
-        attributetype ( 1.3.6.1.4.1.15953.9.1.6
-           NAME 'sudoRunAsUser'
-           DESC 'User(s) impersonated by sudo'
-           EQUALITY caseExactIA5Match
-           SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
 
         attributetype ( 1.3.6.1.4.1.15953.9.1.7
            NAME 'sudoRunAsGroup'
@@ -787,6 +782,11 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
 
 
 
-1.7.2p5                 February 22, 2010                      12
+
+
+
+
+
+1.7.2p6                   March  3, 2010                       12
 
 
index f182c4a10c7c03b160584845ee46640e9d79ff28..828b4cbd4f4529d0ce7d9a33439cc8c2a4dad911 100644 (file)
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\" 
-.\" $Sudo: sudoers.ldap.man.in,v 1.13 2009/06/11 20:29:12 millert Exp $
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -70,7 +61,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "SUDOERS.LDAP @mansectform@"
-.TH SUDOERS.LDAP @mansectform@ "February 22, 2010" "1.7.2p5" "MAINTENANCE COMMANDS"
+.TH SUDOERS.LDAP @mansectform@ "March  3, 2010" "1.7.2p6" "MAINTENANCE COMMANDS"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -201,7 +192,7 @@ to have multiple users listed in a sudoRole.  Instead of defining
 a Cmnd_Alias that is referenced by multiple users, one can create
 a sudoRole that contains the commands and assign multiple users
 to it.
-.Sh "SUDOers \s-1LDAP\s0 container"
+.SS "SUDOers \s-1LDAP\s0 container"
 .IX Subsection "SUDOers LDAP container"
 The \fIsudoers\fR configuration is contained in the \f(CW\*(C`ou=SUDOers\*(C'\fR \s-1LDAP\s0
 container.
@@ -271,7 +262,7 @@ on any host via \fBsudo\fR:
 \&    sudoHost: ALL
 \&    sudoCommand: ALL
 .Ve
-.Sh "Anatomy of \s-1LDAP\s0 sudoers lookup"
+.SS "Anatomy of \s-1LDAP\s0 sudoers lookup"
 .IX Subsection "Anatomy of LDAP sudoers lookup"
 When looking up a sudoer using \s-1LDAP\s0 there are only two or three
 \&\s-1LDAP\s0 queries per invocation.  The first query is to parse the global
@@ -280,7 +271,7 @@ groups that the user belongs to.  (The special \s-1ALL\s0 tag is matched
 in this query too.)  If no match is returned for the user's name
 and groups, a third query returns all entries containing user
 netgroups and checks to see if the user belongs to any of them.
-.Sh "Differences between \s-1LDAP\s0 and non-LDAP sudoers"
+.SS "Differences between \s-1LDAP\s0 and non-LDAP sudoers"
 .IX Subsection "Differences between LDAP and non-LDAP sudoers"
 There are some subtle differences in the way sudoers is handled
 once in \s-1LDAP\s0.  Probably the biggest is that according to the \s-1RFC\s0,
@@ -342,7 +333,7 @@ behave the way one might expect.
 \&    sudoHost: ALL
 \&    sudoHost: !web01
 .Ve
-.Sh "Sudoers Schema"
+.SS "Sudoers Schema"
 .IX Subsection "Sudoers Schema"
 In order to use \fBsudo\fR's \s-1LDAP\s0 support, the \fBsudo\fR schema must be
 installed on your \s-1LDAP\s0 server.  In addition, be sure to index the
@@ -355,7 +346,7 @@ be found in the \fBsudo\fR distribution.
 .PP
 The schema for \fBsudo\fR in OpenLDAP form is included in the \s-1EXAMPLES\s0
 section.
-.Sh "Configuring ldap.conf"
+.SS "Configuring ldap.conf"
 .IX Subsection "Configuring ldap.conf"
 Sudo reads the \fI@ldap_conf@\fR file for LDAP-specific configuration.
 Typically, this file is shared amongst different LDAP-aware clients.
@@ -538,7 +529,7 @@ The path to the Kerberos 5 credential cache to use when authenticating
 with the remote server.
 .PP
 See the \f(CW\*(C`ldap.conf\*(C'\fR entry in the \s-1EXAMPLES\s0 section.
-.Sh "Configuring nsswitch.conf"
+.SS "Configuring nsswitch.conf"
 .IX Subsection "Configuring nsswitch.conf"
 Unless it is disabled at build time, \fBsudo\fR consults the Name
 Service Switch file, \fI@nsswitch_conf@\fR, to specify the \fIsudoers\fR
@@ -579,7 +570,7 @@ sudoers line, the following default is assumed:
 .PP
 Note that \fI@nsswitch_conf@\fR is supported even when the underlying
 operating system does not use an nsswitch.conf file.
-.Sh "Configuring netsvc.conf"
+.SS "Configuring netsvc.conf"
 .IX Subsection "Configuring netsvc.conf"
 On \s-1AIX\s0 systems, the \fI@netsvc_conf@\fR file is consulted instead of
 \&\fI@nsswitch_conf@\fR.  \fBsudo\fR simply treats \fInetsvc.conf\fR as a
@@ -632,7 +623,7 @@ determines sudoers source order
 determines sudoers source order on \s-1AIX\s0
 .SH "EXAMPLES"
 .IX Header "EXAMPLES"
-.Sh "Example ldap.conf"
+.SS "Example ldap.conf"
 .IX Subsection "Example ldap.conf"
 .Vb 10
 \&  # Either specify one or more URIs or one or more host:port pairs.
@@ -739,7 +730,7 @@ determines sudoers source order on \s-1AIX\s0
 \&  # sasl_secprops none
 \&  # krb5_ccname /etc/.ldapcache
 .Ve
-.Sh "Sudo schema for OpenLDAP"
+.SS "Sudo schema for OpenLDAP"
 .IX Subsection "Sudo schema for OpenLDAP"
 The following schema is in OpenLDAP format.  Simply copy it to the
 schema directory (e.g. \fI/etc/openldap/schema\fR), add the proper
index 7d59cb2fe41ae7b394b388da152dd29a5182f7af..a194651ca282122258d754e9db5cf616a1ce5f78 100644 (file)
@@ -14,7 +14,6 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-$Sudo: sudoers.ldap.pod,v 1.14 2009/05/29 13:43:12 millert Exp $
 =pod
 
 =head1 NAME
index b56b1c4ef8d97aff6f51d92231630753e89af033..d892ed3c77ab63a93062e14c05c089dd161769c2 100644 (file)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 1994-1996, 1998-2005, 2007-2009
+.\" Copyright (c) 1994-1996, 1998-2005, 2007-2010
 .\"    Todd C. Miller <Todd.Miller@courtesan.com>
 .\" 
 .\" Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,6 @@
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\" 
-.\" $Sudo: sudoers.pod,v 1.173 2009/06/30 12:41:09 millert Exp $
 .\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
 .\"
 .IX Title "SUDOERS @mansectform@"
-.TH SUDOERS @mansectform@ "February 22, 2010" "1.7.2p5" "MAINTENANCE COMMANDS"
+.TH SUDOERS @mansectform@ "April  7, 2010" "1.7.2p6" "MAINTENANCE COMMANDS"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -911,7 +910,12 @@ system that is mounted on demand (automounted).  The \fIfast_glob\fR
 option causes \fBsudo\fR to use the \fIfnmatch\fR\|(3) function, which does
 not access the file system to do its matching.  The disadvantage
 of \fIfast_glob\fR is that it is unable to match relative pathnames
-such as \fI./ls\fR or \fI../bin/ls\fR.  This flag is \fIoff\fR by default.
+such as \fI./ls\fR or \fI../bin/ls\fR.  This has security implications
+when path names that include globbing characters are used with the
+negation operator, \f(CW\*(Aq!\*(Aq\fR, as such rules can be trivially bypassed.
+As such, this option should not be used when \fIsudoers\fR contains rules
+that contain negated path names which include globbing characters.
+This flag is \fIoff\fR by default.
 .IP "stay_setuid" 16
 .IX Item "stay_setuid"
 Normally, when \fBsudo\fR executes a command the real and effective
@@ -1532,6 +1536,24 @@ Doesn't really prevent \fBbill\fR from running the commands listed in
 different name, or use a shell escape from an editor or other
 program.  Therefore, these kind of restrictions should be considered
 advisory at best (and reinforced by policy).
+.PP
+Furthermore, if the \fIfast_glob\fR option is in use, it is not possible
+to reliably negate commands where the path name includes globbing
+(aka wildcard) characters.  This is because the C library's
+\&\fIfnmatch\fR\|(3) function cannot resolve relative paths.  While this
+is typically only an inconvenience for rules that grant privileges,
+it can result in a security issue for rules that subtract or revoke
+privileges.
+.PP
+For example, given the following \fIsudoers\fR entry:
+.PP
+.Vb 2
+\& john   ALL = /usr/bin/passwd [a\-zA\-Z0\-9]*, /usr/bin/chsh [a\-zA\-Z0\-9]*,
+\&      /usr/bin/chfn [a\-zA\-Z0\-9]*, !/usr/bin/* root
+.Ve
+.PP
+User \fBjohn\fR can still run \f(CW\*(C`/usr/bin/passwd root\*(C'\fR if \fIfast_glob\fR is
+enabled by changing to \fI/usr/bin\fR and running \f(CW\*(C`./passwd root\*(C'\fR instead.
 .SH "PREVENTING SHELL ESCAPES"
 .IX Header "PREVENTING SHELL ESCAPES"
 Once \fBsudo\fR executes a program, that program is free to do whatever
index bbc2264d2bda249219b768ce2cf91f53909226fe..5dda7050d08a04539e9b1a875098c4411226eb50 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (c) 1994-1996, 1998-2005, 2007-2009
+Copyright (c) 1994-1996, 1998-2005, 2007-2010
        Todd C. Miller <Todd.Miller@courtesan.com>
 
 Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,6 @@ Sponsored in part by the Defense Advanced Research Projects
 Agency (DARPA) and Air Force Research Laboratory, Air Force
 Materiel Command, USAF, under agreement number F39502-99-1-0512.
 
-$Sudo: sudoers.pod,v 1.173 2009/06/30 12:41:09 millert Exp $
 =pod
 
 =head1 NAME
@@ -809,7 +808,12 @@ system that is mounted on demand (automounted).  The I<fast_glob>
 option causes B<sudo> to use the L<fnmatch(3)> function, which does
 not access the file system to do its matching.  The disadvantage
 of I<fast_glob> is that it is unable to match relative pathnames
-such as F<./ls> or F<../bin/ls>.  This flag is I<off> by default.
+such as F<./ls> or F<../bin/ls>.  This has security implications
+when path names that include globbing characters are used with the
+negation operator, C<'!'>, as such rules can be trivially bypassed.
+As such, this option should not be used when I<sudoers> contains rules
+that contain negated path names which include globbing characters.
+This flag is I<off> by default.
 
 =item stay_setuid
 
@@ -1470,6 +1474,22 @@ different name, or use a shell escape from an editor or other
 program.  Therefore, these kind of restrictions should be considered
 advisory at best (and reinforced by policy).
 
+Furthermore, if the I<fast_glob> option is in use, it is not possible
+to reliably negate commands where the path name includes globbing
+(aka wildcard) characters.  This is because the C library's
+L<fnmatch(3)> function cannot resolve relative paths.  While this
+is typically only an inconvenience for rules that grant privileges,
+it can result in a security issue for rules that subtract or revoke
+privileges.
+
+For example, given the following I<sudoers> entry:
+
+ john  ALL = /usr/bin/passwd [a-zA-Z0-9]*, /usr/bin/chsh [a-zA-Z0-9]*,
+      /usr/bin/chfn [a-zA-Z0-9]*, !/usr/bin/* root
+
+User B<john> can still run C</usr/bin/passwd root> if I<fast_glob> is
+enabled by changing to F</usr/bin> and running C<./passwd root> instead.
+
 =head1 PREVENTING SHELL ESCAPES
 
 Once B<sudo> executes a program, that program is free to do whatever
index df51b9f2c35a401dcfc239efe3c1df5ae3651846..0fe0ad15bfe6fa8cc4ce9950395700485a7e4b89 100644 (file)
@@ -5,8 +5,6 @@ use strict;
 # Converts a sudoers file to LDIF format in prepration for loading into
 # the LDAP server.
 #
-# $Sudo: sudoers2ldif,v 1.5 2007/12/08 00:09:28 millert Exp $
-#
 
 # BUGS:
 #   Does not yet handle multiple lines with : in them
diff --git a/term.c b/term.c
index d962fe668da5d7f067bed333713dd743a772502c..f3d0302e2db0a4c8c6a1f3db1ad97e027bf3fed9 100644 (file)
--- a/term.c
+++ b/term.c
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: term.c,v 1.4 2009/02/25 10:47:12 millert Exp $";
-#endif /* lint */
-
 #ifndef TCSASOFT
 # define TCSASOFT      0
 #endif
index c961432edd7058a83c76739bd04ecc44d848ef58..5dce63c117fa7b14c6cc3ad7532a0a7f9f4126f7 100644 (file)
 # include "emul/fnmatch.h"
 #endif /* HAVE_FNMATCH */
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: testsudoers.c,v 1.131 2009/05/25 12:02:42 millert Exp $";
-#endif /* lint */
-
-
 /*
  * Globals
  */
index 503cb972d4ad6516ae44ebab85c7aba2796fe948..5d1e89829c3b85e433ad271636941f827fea3052 100644 (file)
 
 #include "sudo.h"
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: tgetpass.c,v 1.131 2009/05/25 12:02:42 millert Exp $";
-#endif /* lint */
-
 static volatile sig_atomic_t signo;
 
 static void handler __P((int));
index 6d260c4c8b14c8236bc05c5bfe258d76d8a411a8..84f4c433cb6d8c7c52dd26b818f9a26b814609b0 100644 (file)
--- a/utimes.c
+++ b/utimes.c
 
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: utimes.c,v 1.10 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 #ifndef HAVE_UTIMES
 /*
  * Emulate utimes() via utime()
index b48fc24745f9beabb6d90150be393d6917c3d189..ae2028aec60bcb177a22c16d73216c10317fb099 100644 (file)
--- a/visudo.c
+++ b/visudo.c
 #include "redblack.h"
 #include <gram.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: visudo.c,v 1.234 2009/05/25 12:02:42 millert Exp $";
-#endif /* lint */
-
 struct sudoersfile {
     char *path;
     char *tpath;
index c33296eace8d3f8b292a5535da674f908b56ff1e..d46fb5481c92db34f31a244a8cb8c03aa318c4ce 100644 (file)
@@ -61,7 +61,7 @@ O\bOP\bPT\bTI\bIO\bON\bNS\bS
 
 
 
-1.7.2p5                 February 22, 2010                       1
+1.7.2p6                   March  3, 2010                        1
 
 
 
@@ -127,7 +127,7 @@ A\bAU\bUT\bTH\bHO\bOR\bR
 
 
 
-1.7.2p5                 February 22, 2010                       2
+1.7.2p6                   March  3, 2010                        2
 
 
 
@@ -193,6 +193,6 @@ D\bDI\bIS\bSC\bCL\bLA\bAI\bIM\bME\bER\bR
 
 
 
-1.7.2p5                 February 22, 2010                       3
+1.7.2p6                   March  3, 2010                        3
 
 
index 0125e2ca61795f6c927947282bde377db6e9f67b..e5d59b077129554800b3448ae12132170177af45 100644 (file)
 .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
 .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
 .\" 
-.\" $Sudo: visudo.man.in,v 1.34 2009/06/11 20:29:12 millert Exp $
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -74,7 +65,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "VISUDO @mansectsu@"
-.TH VISUDO @mansectsu@ "February 22, 2010" "1.7.2p5" "MAINTENANCE COMMANDS"
+.TH VISUDO @mansectsu@ "March  3, 2010" "1.7.2p6" "MAINTENANCE COMMANDS"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 63cb1131295622e755c69d7c67915f49f66dd4d1..d5da5f763dca0442142c37b010aa26d48609e22c 100644 (file)
@@ -18,7 +18,6 @@ Sponsored in part by the Defense Advanced Research Projects
 Agency (DARPA) and Air Force Research Laboratory, Air Force
 Materiel Command, USAF, under agreement number F39502-99-1-0512.
 
-$Sudo: visudo.pod,v 1.55 2008/11/15 18:34:01 millert Exp $
 =pod
 
 =head1 NAME
index 8ce2eb581bc9daf06619845548f841618c78d306..7391780aa0c9a938a771455f54e89a02a7db968e 100644 (file)
 #include <config.h>
 #include <compat.h>
 
-#ifndef lint
-__unused static const char rcsid[] = "$Sudo: zero_bytes.c,v 1.7 2008/11/09 14:13:12 millert Exp $";
-#endif /* lint */
-
 /*
  * Like bzero(3) but with a volatile pointer.  The hope is that
  * the compiler will not be able to optimize away this function.