This patch will upgrade Sudo version 1.6.8 patchlevel 7 to version 1.6.8
patchlevel 8.  To apply:

    $ cd sudo-1.6.8p7
    $ patch -p1 < sudo-1.6.8p8.patch

diff -ura sudo-1.6.8p7/CHANGES sudo-1.6.8p8/CHANGES
--- sudo-1.6.8p7/CHANGES	Sun Feb  6 08:37:44 2005
+++ sudo-1.6.8p8/CHANGES	Tue Mar 29 21:40:03 2005
@@ -1778,3 +1778,11 @@
 561) Fixed setting of $USER when env_reset is enabled.
 
 Sudo 1.6.8p7 released.
+
+562) Fixed noexec functionality on Linux.
+
+563) Fixed minor format string mismatches in some error cases.
+
+564) Fixed a bug that prevented Heimdal authentication from working.
+
+Sudo 1.6.8p8 released.
diff -ura sudo-1.6.8p7/Makefile.in sudo-1.6.8p8/Makefile.in
--- sudo-1.6.8p7/Makefile.in	Mon Jan 31 11:53:12 2005
+++ sudo-1.6.8p8/Makefile.in	Fri Mar 11 12:08:52 2005
@@ -130,7 +130,7 @@
 
 LIBOBJS = @LIBOBJS@ @ALLOCA@
 
-VERSION = 1.6.8p7
+VERSION = 1.6.8p8
 
 DISTFILES = $(SRCS) $(HDRS) BUGS CHANGES HISTORY INSTALL INSTALL.configure \
 	    LICENSE Makefile.in PORTING README README.LDAP RUNSON TODO \
diff -ura sudo-1.6.8p7/auth/kerb5.c sudo-1.6.8p8/auth/kerb5.c
--- sudo-1.6.8p7/auth/kerb5.c	Sun Jun  6 18:02:56 2004
+++ sudo-1.6.8p8/auth/kerb5.c	Tue Mar 29 21:38:36 2005
@@ -55,7 +55,7 @@
 #endif /* lint */
 
 #ifdef HAVE_HEIMDAL
-# define extract_name(c, p)		krb5_principal_get_comp_string(c, p, 0)
+# define extract_name(c, p)		krb5_principal_get_comp_string(c, p, 1)
 # define krb5_free_data_contents(c, d)	krb5_data_free(d)
 # define ENCTYPE_DES_CBC_MD5		ETYPE_DES_CBC_MD5	/* XXX */
 #else
diff -ura sudo-1.6.8p7/check.c sudo-1.6.8p8/check.c
--- sudo-1.6.8p7/check.c	Wed Sep  8 09:48:23 2004
+++ sudo-1.6.8p8/check.c	Thu Mar 24 18:55:31 2005
@@ -316,7 +316,7 @@
     dirparent = def_timestampdir;
     len = easprintf(timestampdir, "%s/%s", dirparent, user_name);
     if (len >= PATH_MAX)
-	log_error(0, "timestamp path too long: %s", timestampdir);
+	log_error(0, "timestamp path too long: %s", *timestampdir);
 
     /*
      * Timestamp file may be a file in the directory or NUL to use
@@ -335,12 +335,12 @@
 	else
 	    len = easprintf(timestampfile, "%s/%s/%s", dirparent, user_name, p);
 	if (len >= PATH_MAX)
-	    log_error(0, "timestamp path too long: %s", timestampfile);
+	    log_error(0, "timestamp path too long: %s", *timestampfile);
     } else if (def_targetpw) {
 	len = easprintf(timestampfile, "%s/%s/%s", dirparent, user_name,
 	    *user_runas);
 	if (len >= PATH_MAX)
-	    log_error(0, "timestamp path too long: %s", timestampfile);
+	    log_error(0, "timestamp path too long: %s", *timestampfile);
     } else
 	*timestampfile = NULL;
 }
@@ -465,7 +465,7 @@
 		/* If bad uid or file mode, complain and kill the bogus file. */
 		if (sb.st_uid != timestamp_uid) {
 		    log_error(NO_EXIT,
-			"%s owned by uid %ud, should be uid %lu",
+			"%s owned by uid %lu, should be uid %lu",
 			timestampfile, (unsigned long) sb.st_uid,
 			(unsigned long) timestamp_uid);
 		    (void) unlink(timestampfile);
diff -ura sudo-1.6.8p7/sudo.c sudo-1.6.8p8/sudo.c
--- sudo-1.6.8p7/sudo.c	Mon Jan 31 11:52:40 2005
+++ sudo-1.6.8p8/sudo.c	Thu Mar 24 18:56:41 2005
@@ -901,10 +901,10 @@
 	    (statbuf.st_mode & 07777), SUDOERS_MODE);
     else if (statbuf.st_uid != SUDOERS_UID)
 	log_error(0, "%s is owned by uid %lu, should be %lu", _PATH_SUDOERS,
-	    (unsigned long) statbuf.st_uid, SUDOERS_UID);
+	    (unsigned long) statbuf.st_uid, (unsigned long) SUDOERS_UID);
     else if (statbuf.st_gid != SUDOERS_GID)
 	log_error(0, "%s is owned by gid %lu, should be %lu", _PATH_SUDOERS,
-	    (unsigned long) statbuf.st_gid, SUDOERS_GID);
+	    (unsigned long) statbuf.st_gid, (unsigned long) SUDOERS_GID);
     else {
 	/* Solaris sometimes returns EAGAIN so try 10 times */
 	for (i = 0; i < 10 ; i++) {
@@ -1086,7 +1086,7 @@
     } else if (def_targetpw) {
 	if (runas_pw->pw_name == NULL)
 	    log_error(NO_MAIL|MSG_ONLY, "no passwd entry for %lu!",
-		runas_pw->pw_uid);
+		(unsigned long) runas_pw->pw_uid);
 	pw = runas_pw;
     } else
 	pw = sudo_user.pw;
diff -ura sudo-1.6.8p7/sudo.cat sudo-1.6.8p8/sudo.cat
--- sudo-1.6.8p7/sudo.cat	Sat Feb  5 16:05:45 2005
+++ sudo-1.6.8p8/sudo.cat	Fri Mar 11 12:17:21 2005
@@ -61,7 +61,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        1
+1.6.8p8                 March, 12 2005                          1
 
 
 
@@ -127,7 +127,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        2
+1.6.8p8                 March, 12 2005                          2
 
 
 
@@ -193,7 +193,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        3
+1.6.8p8                 March, 12 2005                          3
 
 
 
@@ -259,7 +259,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        4
+1.6.8p8                 March, 12 2005                          4
 
 
 
@@ -325,7 +325,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        5
+1.6.8p8                 March, 12 2005                          5
 
 
 
@@ -391,7 +391,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        6
+1.6.8p8                 March, 12 2005                          6
 
 
 
@@ -457,7 +457,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        7
+1.6.8p8                 March, 12 2005                          7
 
 
 
@@ -523,7 +523,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        8
+1.6.8p8                 March, 12 2005                          8
 
 
 
@@ -589,6 +589,6 @@
 
 
 
-1.6.8p7                 February 5, 2005                        9
+1.6.8p8                 March, 12 2005                          9
 
 
diff -ura sudo-1.6.8p7/sudo.man.in sudo-1.6.8p8/sudo.man.in
--- sudo-1.6.8p7/sudo.man.in	Sat Feb  5 14:29:49 2005
+++ sudo-1.6.8p8/sudo.man.in	Fri Mar 11 12:11:31 2005
@@ -149,7 +149,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SUDO @mansectsu@"
-.TH SUDO @mansectsu@ "February 5, 2005" "1.6.8p7" "MAINTENANCE COMMANDS"
+.TH SUDO @mansectsu@ "March 12, 2005" "1.6.8p8" "MAINTENANCE COMMANDS"
 .SH "NAME"
 sudo, sudoedit \- execute a command as another user
 .SH "SYNOPSIS"
diff -ura sudo-1.6.8p7/sudo_noexec.c sudo-1.6.8p8/sudo_noexec.c
--- sudo-1.6.8p7/sudo_noexec.c	Fri Feb 13 14:36:43 2004
+++ sudo-1.6.8p8/sudo_noexec.c	Sat Mar 12 16:41:55 2005
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004 Todd C. Miller <Todd.Miller@courtesan.com>
+ * Copyright (c) 2004-2005 Todd C. Miller <Todd.Miller@courtesan.com>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -17,9 +17,14 @@
 #include "config.h"
 
 #include <errno.h>
+#ifdef __STDC__
+# include <stdarg.h>
+#else
+# include <varargs.h>
+#endif
 
 #ifndef lint
-static const char rcsid[] = "$Sudo: sudo_noexec.c,v 1.5 2004/02/13 21:36:43 millert Exp $";
+static const char rcsid[] = "$Sudo: sudo_noexec.c,v 1.11 2005/03/10 15:09:28 millert Exp $";
 #endif /* lint */
 
 /*
@@ -34,24 +39,72 @@
 extern int errno;
 #endif
 
-#define DUMMY(fn, args, atypes)	\
-int				\
-fn args				\
-    atypes			\
-{				\
-    errno = EACCES;		\
-    return(-1);			\
+#define DUMMY_BODY				\
+{						\
+    errno = EACCES;				\
+    return(-1);					\
 }
 
-DUMMY(execve, (path, argv, envp),
-      const char *path; char *const argv[]; char *const envp[];)
-DUMMY(_execve, (path, argv, envp),
-      const char *path; char *const argv[]; char *const envp[];)
-DUMMY(execv, (path, argv, envp),
-      const char *path; char *const argv[];)
-DUMMY(_execv, (path, argv, envp),
-      const char *path; char *const argv[];)
-DUMMY(fexecve, (fd, argv, envp),
-      int fd; char *const argv[]; char *const envp[];)
-DUMMY(_fexecve, (fd, argv, envp),
-      int fd; char *const argv[]; char *const envp[];)
+#ifdef __STDC__
+
+#define DUMMY2(fn, t1, t2)			\
+int						\
+fn(t1 a1, t2 a2)				\
+DUMMY_BODY
+
+#define DUMMY3(fn, t1, t2, t3)			\
+int						\
+fn(t1 a1, t2 a2, t3 a3)				\
+DUMMY_BODY
+
+#define DUMMY_VA(fn, t1, t2)			\
+int						\
+fn(t1 a1, t2 a2, ...)				\
+DUMMY_BODY
+
+#else /* !__STDC__ */
+
+#define DUMMY2(fn, t1, t2)			\
+int						\
+fn(a1, a2)					\
+t1 a1; t2 a2;					\
+DUMMY_BODY
+
+#define DUMMY3(fn, t1, t2, t3)			\
+int						\
+fn(a1, a2, a3)					\
+t1 a1; t2 a2; t3 a3;				\
+DUMMY_BODY
+
+#define DUMMY_VA(fn, t1, t2)			\
+int						\
+fn(a1, a2, va_alist)				\
+t1 a1; t2 a2; va_dcl				\
+DUMMY_BODY
+
+#endif /* !__STDC__ */
+
+DUMMY_VA(execl, const char *, const char *)
+DUMMY_VA(_execl, const char *, const char *)
+DUMMY_VA(__execl, const char *, const char *)
+DUMMY_VA(execle, const char *, const char *)
+DUMMY_VA(_execle, const char *, const char *)
+DUMMY_VA(__execle, const char *, const char *)
+DUMMY_VA(execlp, const char *, const char *)
+DUMMY_VA(_execlp, const char *, const char *)
+DUMMY_VA(__execlp, const char *, const char *)
+DUMMY2(execv, const char *, char * const *)
+DUMMY2(_execv, const char *, char * const *)
+DUMMY2(__execv, const char *, char * const *)
+DUMMY2(execvp, const char *, char * const *)
+DUMMY2(_execvp, const char *, char * const *)
+DUMMY2(__execvp, const char *, char * const *)
+DUMMY3(execvP, const char *, const char *, char * const *)
+DUMMY3(_execvP, const char *, const char *, char * const *)
+DUMMY3(__execvP, const char *, const char *, char * const *)
+DUMMY3(execve, const char *, char * const *, char * const *)
+DUMMY3(_execve, const char *, char * const *, char * const *)
+DUMMY3(__execve, const char *, char * const *, char * const *)
+DUMMY3(fexecve, int , char * const *, char * const *)
+DUMMY3(_fexecve, int , char * const *, char * const *)
+DUMMY3(__fexecve, int , char * const *, char * const *)
diff -ura sudo-1.6.8p7/sudoers.cat sudo-1.6.8p8/sudoers.cat
--- sudo-1.6.8p7/sudoers.cat	Sat Feb  5 16:05:45 2005
+++ sudo-1.6.8p8/sudoers.cat	Fri Mar 11 12:17:25 2005
@@ -61,7 +61,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        1
+1.6.8p8                 March, 12 2005                          1
 
 
 
@@ -127,7 +127,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        2
+1.6.8p8                 March, 12 2005                          2
 
 
 
@@ -193,7 +193,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        3
+1.6.8p8                 March, 12 2005                          3
 
 
 
@@ -259,7 +259,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        4
+1.6.8p8                 March, 12 2005                          4
 
 
 
@@ -325,7 +325,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        5
+1.6.8p8                 March, 12 2005                          5
 
 
 
@@ -391,7 +391,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        6
+1.6.8p8                 March, 12 2005                          6
 
 
 
@@ -457,7 +457,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        7
+1.6.8p8                 March, 12 2005                          7
 
 
 
@@ -523,7 +523,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        8
+1.6.8p8                 March, 12 2005                          8
 
 
 
@@ -589,7 +589,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        9
+1.6.8p8                 March, 12 2005                          9
 
 
 
@@ -655,7 +655,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       10
+1.6.8p8                 March, 12 2005                         10
 
 
 
@@ -721,7 +721,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       11
+1.6.8p8                 March, 12 2005                         11
 
 
 
@@ -787,7 +787,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       12
+1.6.8p8                 March, 12 2005                         12
 
 
 
@@ -853,7 +853,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       13
+1.6.8p8                 March, 12 2005                         13
 
 
 
@@ -919,7 +919,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       14
+1.6.8p8                 March, 12 2005                         14
 
 
 
@@ -985,7 +985,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       15
+1.6.8p8                 March, 12 2005                         15
 
 
 
@@ -1051,7 +1051,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       16
+1.6.8p8                 March, 12 2005                         16
 
 
 
@@ -1117,7 +1117,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       17
+1.6.8p8                 March, 12 2005                         17
 
 
 
@@ -1183,7 +1183,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       18
+1.6.8p8                 March, 12 2005                         18
 
 
 
@@ -1249,7 +1249,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       19
+1.6.8p8                 March, 12 2005                         19
 
 
 
@@ -1315,7 +1315,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       20
+1.6.8p8                 March, 12 2005                         20
 
 
 
@@ -1381,7 +1381,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       21
+1.6.8p8                 March, 12 2005                         21
 
 
 
@@ -1447,7 +1447,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                       22
+1.6.8p8                 March, 12 2005                         22
 
 
 
@@ -1513,6 +1513,6 @@
 
 
 
-1.6.8p7                 February 5, 2005                       23
+1.6.8p8                 March, 12 2005                         23
 
 
diff -ura sudo-1.6.8p7/sudoers.man.in sudo-1.6.8p8/sudoers.man.in
--- sudo-1.6.8p7/sudoers.man.in	Sat Feb  5 14:30:10 2005
+++ sudo-1.6.8p8/sudoers.man.in	Fri Mar 11 12:11:49 2005
@@ -149,7 +149,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SUDOERS @mansectform@"
-.TH SUDOERS @mansectform@ "February 5, 2005" "1.6.8p7" "MAINTENANCE COMMANDS"
+.TH SUDOERS @mansectform@ "March 12, 2005" "1.6.8p8" "MAINTENANCE COMMANDS"
 .SH "NAME"
 sudoers \- list of which users may execute what
 .SH "DESCRIPTION"
diff -ura sudo-1.6.8p7/version.h sudo-1.6.8p8/version.h
--- sudo-1.6.8p7/version.h	Mon Jan 31 11:53:15 2005
+++ sudo-1.6.8p8/version.h	Fri Mar 11 12:08:59 2005
@@ -23,6 +23,6 @@
 #ifndef _SUDO_VERSION_H
 #define _SUDO_VERSION_H
 
-static const char version[] = "1.6.8p7";
+static const char version[] = "1.6.8p8";
 
 #endif /* _SUDO_VERSION_H */
diff -ura sudo-1.6.8p7/visudo.cat sudo-1.6.8p8/visudo.cat
--- sudo-1.6.8p7/visudo.cat	Sat Feb  5 16:05:45 2005
+++ sudo-1.6.8p8/visudo.cat	Fri Mar 11 12:17:28 2005
@@ -61,7 +61,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        1
+1.6.8p8                 March, 12 2005                          1
 
 
 
@@ -127,7 +127,7 @@
 
 
 
-1.6.8p7                 February 5, 2005                        2
+1.6.8p8                 March, 12 2005                          2
 
 
 
@@ -193,6 +193,6 @@
 
 
 
-1.6.8p7                 February 5, 2005                        3
+1.6.8p8                 March, 12 2005                          3
 
 
diff -ura sudo-1.6.8p7/visudo.man.in sudo-1.6.8p8/visudo.man.in
--- sudo-1.6.8p7/visudo.man.in	Sat Feb  5 14:30:14 2005
+++ sudo-1.6.8p8/visudo.man.in	Fri Mar 11 12:12:49 2005
@@ -149,7 +149,7 @@
 .\" ========================================================================
 .\"
 .IX Title "VISUDO @mansectsu@"
-.TH VISUDO @mansectsu@ "February 5, 2005" "1.6.8p7" "MAINTENANCE COMMANDS"
+.TH VISUDO @mansectsu@ "March 12, 2005" "1.6.8p8" "MAINTENANCE COMMANDS"
 .SH "NAME"
 visudo \- edit the sudoers file
 .SH "SYNOPSIS"
