summaryrefslogtreecommitdiff
path: root/gnu/usr.bin
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1997-11-23 07:15:53 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1997-11-23 07:15:53 +0000
commitfeefb687f7edc957c59ddae50402422086f60adf (patch)
tree18342ab88b2485ea1eafba55e7586bb429ad586c /gnu/usr.bin
parent1adbde560fb6f91905196757f863bcc3013bfae5 (diff)
OpenBSD tags (and preserve sudo tags)
updates from my sudo source tree: logging.c: deal with maxfilelen < 0 case sudo.c: correct error message if mode/owner wrong and not statable by owner compat.h: fix seteuid macro
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r--gnu/usr.bin/sudo/sudo/check.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/compat.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/config.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/find_path.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/getspwuid.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/goodpath.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_2001.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_classic.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_csops.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_goons.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/insults.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/interfaces.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/logging.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/options.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/parse.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/parse.lex3
-rw-r--r--gnu/usr.bin/sudo/sudo/parse.yacc3
-rw-r--r--gnu/usr.bin/sudo/sudo/pathnames.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo.811
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo.c57
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo.h4
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo_setenv.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/sudoers.511
-rw-r--r--gnu/usr.bin/sudo/sudo/tgetpass.c4
-rw-r--r--gnu/usr.bin/sudo/sudo/version.h4
-rw-r--r--gnu/usr.bin/sudo/visudo/visudo.811
-rw-r--r--gnu/usr.bin/sudo/visudo/visudo.c4
27 files changed, 132 insertions, 52 deletions
diff --git a/gnu/usr.bin/sudo/sudo/check.c b/gnu/usr.bin/sudo/sudo/check.c
index 6ec36d49d87..06ec430fa81 100644
--- a/gnu/usr.bin/sudo/sudo/check.c
+++ b/gnu/usr.bin/sudo/sudo/check.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: check.c,v 1.5 1997/11/23 07:15:40 millert Exp $ */
+
/*
* CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
*
@@ -36,7 +38,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: check.c,v 1.4 1996/11/23 17:33:54 mickey Exp $";
+static char rcsid[] = "Id: check.c,v 1.122 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/compat.h b/gnu/usr.bin/sudo/sudo/compat.h
index 1afc1012127..7b0394cd82e 100644
--- a/gnu/usr.bin/sudo/sudo/compat.h
+++ b/gnu/usr.bin/sudo/sudo/compat.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: compat.h,v 1.3 1997/11/23 07:15:41 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: compat.h,v 1.2 1996/11/17 16:33:56 millert Exp $
+ * Id: compat.h,v 1.29 1997/05/21 15:57:26 millert Exp $
*/
#ifndef _SUDO_COMPAT_H
@@ -138,7 +140,7 @@
# ifdef __hpux
# define seteuid(_EUID) (setresuid(UID_NO_CHANGE, _EUID, UID_NO_CHANGE))
# else
-# define seteuid(_EUID) (setresuid(UID_NO_CHANGE, _EUID))
+# define seteuid(_EUID) (setreuid(UID_NO_CHANGE, _EUID))
# endif /* __hpux */
#endif /* HAVE_SETEUID */
diff --git a/gnu/usr.bin/sudo/sudo/config.h b/gnu/usr.bin/sudo/sudo/config.h
index a9dc67a9ce3..0302276a364 100644
--- a/gnu/usr.bin/sudo/sudo/config.h
+++ b/gnu/usr.bin/sudo/sudo/config.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: config.h,v 1.2 1997/11/23 07:15:41 millert Exp $ */
+
/* config.h. Generated automatically by configure. */
/*
* CU sudo version 1.5.2
@@ -18,7 +20,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: config.h,v 1.1 1996/10/14 05:14:44 millert Exp $
+ * Id: config.h,v 1.1 1996/10/14 05:14:44 millert Exp $
*/
/*
diff --git a/gnu/usr.bin/sudo/sudo/find_path.c b/gnu/usr.bin/sudo/sudo/find_path.c
index dff3d39281f..65efa409e4a 100644
--- a/gnu/usr.bin/sudo/sudo/find_path.c
+++ b/gnu/usr.bin/sudo/sudo/find_path.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: find_path.c,v 1.3 1997/11/23 07:15:42 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -29,7 +31,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: find_path.c,v 1.2 1996/11/17 16:33:56 millert Exp $";
+static char rcsid[] = "Id: find_path.c,v 1.65 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/getspwuid.c b/gnu/usr.bin/sudo/sudo/getspwuid.c
index 3bca9997504..0db73baa86b 100644
--- a/gnu/usr.bin/sudo/sudo/getspwuid.c
+++ b/gnu/usr.bin/sudo/sudo/getspwuid.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: getspwuid.c,v 1.3 1997/11/23 07:15:42 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -28,7 +30,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: getspwuid.c,v 1.2 1996/11/17 16:33:57 millert Exp $";
+static char rcsid[] = "Id: getspwuid.c,v 1.21 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/goodpath.c b/gnu/usr.bin/sudo/sudo/goodpath.c
index 996415a02d7..67512b21505 100644
--- a/gnu/usr.bin/sudo/sudo/goodpath.c
+++ b/gnu/usr.bin/sudo/sudo/goodpath.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: goodpath.c,v 1.3 1997/11/23 07:15:43 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -29,7 +31,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: goodpath.c,v 1.2 1996/11/17 16:33:57 millert Exp $";
+static char rcsid[] = "Id: goodpath.c,v 1.14 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/ins_2001.h b/gnu/usr.bin/sudo/sudo/ins_2001.h
index a629778f717..143f27117ad 100644
--- a/gnu/usr.bin/sudo/sudo/ins_2001.h
+++ b/gnu/usr.bin/sudo/sudo/ins_2001.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: ins_2001.h,v 1.3 1997/11/23 07:15:43 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: ins_2001.h,v 1.2 1996/11/17 16:33:57 millert Exp $
+ * Id: ins_2001.h,v 1.11 1996/11/14 02:37:16 millert Exp $
*/
#ifndef _SUDO_INS_2001_H
diff --git a/gnu/usr.bin/sudo/sudo/ins_classic.h b/gnu/usr.bin/sudo/sudo/ins_classic.h
index bb53f7a8cd0..0e2ff7ebf4f 100644
--- a/gnu/usr.bin/sudo/sudo/ins_classic.h
+++ b/gnu/usr.bin/sudo/sudo/ins_classic.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: ins_classic.h,v 1.3 1997/11/23 07:15:43 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: ins_classic.h,v 1.2 1996/11/17 16:33:58 millert Exp $
+ * Id: ins_classic.h,v 1.11 1996/11/14 02:37:16 millert Exp $
*/
#ifndef _SUDO_INS_CLASSIC_H
diff --git a/gnu/usr.bin/sudo/sudo/ins_csops.h b/gnu/usr.bin/sudo/sudo/ins_csops.h
index bf92a84e7b0..b320dcb1e3a 100644
--- a/gnu/usr.bin/sudo/sudo/ins_csops.h
+++ b/gnu/usr.bin/sudo/sudo/ins_csops.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: ins_csops.h,v 1.3 1997/11/23 07:15:44 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: ins_csops.h,v 1.2 1996/11/17 16:33:58 millert Exp $
+ * Id: ins_csops.h,v 1.10 1996/11/14 02:37:16 millert Exp $
*/
#ifndef _SUDO_INS_CSOPS_H
diff --git a/gnu/usr.bin/sudo/sudo/ins_goons.h b/gnu/usr.bin/sudo/sudo/ins_goons.h
index 58114c8ad4a..edd5985c5ba 100644
--- a/gnu/usr.bin/sudo/sudo/ins_goons.h
+++ b/gnu/usr.bin/sudo/sudo/ins_goons.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: ins_goons.h,v 1.3 1997/11/23 07:15:44 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: ins_goons.h,v 1.2 1996/11/17 16:33:59 millert Exp $
+ * Id: ins_goons.h,v 1.11 1996/11/14 02:37:16 millert Exp $
*/
#ifndef _SUDO_INS_GOONS_H
diff --git a/gnu/usr.bin/sudo/sudo/insults.h b/gnu/usr.bin/sudo/sudo/insults.h
index f633bd553f2..55396e1ad66 100644
--- a/gnu/usr.bin/sudo/sudo/insults.h
+++ b/gnu/usr.bin/sudo/sudo/insults.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: insults.h,v 1.3 1997/11/23 07:15:45 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: insults.h,v 1.2 1996/11/17 16:33:59 millert Exp $
+ * Id: insults.h,v 1.2 1996/11/17 16:33:59 millert Exp $
*/
#ifndef _SUDO_INSULTS_H
diff --git a/gnu/usr.bin/sudo/sudo/interfaces.c b/gnu/usr.bin/sudo/sudo/interfaces.c
index fb38b53fa9d..d8612103c0a 100644
--- a/gnu/usr.bin/sudo/sudo/interfaces.c
+++ b/gnu/usr.bin/sudo/sudo/interfaces.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: interfaces.c,v 1.3 1997/11/23 07:15:45 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -27,7 +29,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: interfaces.c,v 1.2 1996/11/17 16:34:00 millert Exp $";
+static char rcsid[] = "Id: interfaces.c,v 1.27 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/logging.c b/gnu/usr.bin/sudo/sudo/logging.c
index 03592f194db..46aa1263d18 100644
--- a/gnu/usr.bin/sudo/sudo/logging.c
+++ b/gnu/usr.bin/sudo/sudo/logging.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: logging.c,v 1.4 1997/11/23 07:15:45 millert Exp $ */
+
/*
* CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
*
@@ -37,7 +39,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: logging.c,v 1.3 1997/08/04 19:24:52 deraadt Exp $";
+static char rcsid[] = "Id: logging.c,v 1.87 1997/08/06 18:58:06 millert Exp $";
#endif /* lint */
#include "config.h"
@@ -374,7 +376,7 @@ void log_error(code)
oldend = end;
end = strchr(oldend, ' ');
- if (end) {
+ if (maxlen > 0 && end) {
*end = '\0';
if (strlen(beg) > maxlen) {
/* too far, need to back up & print the line */
diff --git a/gnu/usr.bin/sudo/sudo/options.h b/gnu/usr.bin/sudo/sudo/options.h
index 255f2644f5d..cc95d002e2f 100644
--- a/gnu/usr.bin/sudo/sudo/options.h
+++ b/gnu/usr.bin/sudo/sudo/options.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: options.h,v 1.7 1997/11/23 07:15:46 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: options.h,v 1.6 1997/10/06 06:00:26 millert Exp $
+ * Id: options.h,v 1.34 1996/11/14 03:50:03 millert Exp $
*/
#ifndef _SUDO_OPTIONS_H
diff --git a/gnu/usr.bin/sudo/sudo/parse.c b/gnu/usr.bin/sudo/sudo/parse.c
index cfd71ea0638..cae92c351b5 100644
--- a/gnu/usr.bin/sudo/sudo/parse.c
+++ b/gnu/usr.bin/sudo/sudo/parse.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: parse.c,v 1.3 1997/11/23 07:15:46 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -25,7 +27,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: parse.c,v 1.2 1996/11/17 16:34:01 millert Exp $";
+static char rcsid[] = "Id: parse.c,v 1.76 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/parse.lex b/gnu/usr.bin/sudo/sudo/parse.lex
index 4a891e61caf..7f474ecf54e 100644
--- a/gnu/usr.bin/sudo/sudo/parse.lex
+++ b/gnu/usr.bin/sudo/sudo/parse.lex
@@ -1,4 +1,5 @@
%{
+/* $OpenBSD: parse.lex,v 1.3 1997/11/23 07:15:47 millert Exp $ */
/*
* CU sudo version 1.5.3
*
@@ -26,7 +27,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: parse.lex,v 1.2 1996/11/17 16:34:02 millert Exp $";
+static char rcsid[] = "Id: parse.lex,v 1.69 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/parse.yacc b/gnu/usr.bin/sudo/sudo/parse.yacc
index ab82de64862..ae791302625 100644
--- a/gnu/usr.bin/sudo/sudo/parse.yacc
+++ b/gnu/usr.bin/sudo/sudo/parse.yacc
@@ -1,5 +1,6 @@
%{
+/* $OpenBSD: parse.yacc,v 1.6 1997/11/23 07:15:47 millert Exp $ */
/*
* CU sudo version 1.5.3
*
@@ -27,7 +28,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: parse.yacc,v 1.5 1996/11/17 16:34:03 millert Exp $";
+static char rcsid[] = "Id: parse.yacc,v 1.102 1996/11/14 20:09:12 millert Exp millert $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/pathnames.h b/gnu/usr.bin/sudo/sudo/pathnames.h
index ff35eaa87e8..2193978937c 100644
--- a/gnu/usr.bin/sudo/sudo/pathnames.h
+++ b/gnu/usr.bin/sudo/sudo/pathnames.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: pathnames.h,v 1.3 1997/11/23 07:15:48 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: pathnames.h,v 1.2 1996/11/17 16:34:03 millert Exp $
+ * Id: pathnames.h,v 1.23 1996/11/14 02:37:16 millert Exp $
*/
/*
diff --git a/gnu/usr.bin/sudo/sudo/sudo.8 b/gnu/usr.bin/sudo/sudo/sudo.8
index 1056d0f717d..9b92c3719b2 100644
--- a/gnu/usr.bin/sudo/sudo/sudo.8
+++ b/gnu/usr.bin/sudo/sudo/sudo.8
@@ -1,7 +1,16 @@
.rn '' }`
-''' $RCSfile: sudo.8,v $$Revision: 1.2 $$Date: 1996/11/17 16:34:04 $
+''' $OpenBSD: sudo.8,v 1.3 1997/11/23 07:15:48 millert Exp $
+'''
+''' $RCSfile: sudo.8,v $$Revision: 1.3 $$Date: 1997/11/23 07:15:48 $
'''
''' $Log: sudo.8,v $
+''' Revision 1.3 1997/11/23 07:15:48 millert
+''' OpenBSD tags (and preserve sudo tags)
+''' updates from my sudo source tree:
+''' logging.c: deal with maxfilelen < 0 case
+''' sudo.c: correct error message if mode/owner wrong and not statable by owner
+''' compat.h: fix seteuid macro
+'''
''' Revision 1.2 1996/11/17 16:34:04 millert
''' Updated to sudo 1.5.3
'''
diff --git a/gnu/usr.bin/sudo/sudo/sudo.c b/gnu/usr.bin/sudo/sudo/sudo.c
index 75c8bde1059..c72c49d1674 100644
--- a/gnu/usr.bin/sudo/sudo/sudo.c
+++ b/gnu/usr.bin/sudo/sudo/sudo.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: sudo.c,v 1.5 1997/11/23 07:15:49 millert Exp $ */
+
/*
* CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
*
@@ -51,7 +53,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: sudo.c,v 1.4 1997/11/23 06:54:25 millert Exp $";
+static char rcsid[] = "Id: sudo.c,v 1.177 1997/11/23 06:53:37 millert Exp $";
#endif /* lint */
#define MAIN
@@ -783,7 +785,7 @@ static void load_cmnd(sudo_mode)
static int check_sudoers()
{
struct stat statbuf;
- int fd = -1;
+ int fd = -1, rootstat;
char c;
int rtn = ALL_SYSTEMS_GO;
@@ -792,35 +794,39 @@ static int check_sudoers()
* Only works if filesystem is readable/writable by root.
*/
set_perms(PERM_ROOT, 0);
- if (!lstat(_PATH_SUDO_SUDOERS, &statbuf) && SUDOERS_UID == statbuf.st_uid) {
- if (SUDOERS_MODE != 0400 && (statbuf.st_mode & 0007777) == 0400) {
- if (chmod(_PATH_SUDO_SUDOERS, SUDOERS_MODE) == 0) {
- (void) fprintf(stderr, "%s: fixed mode on %s\n",
- Argv[0], _PATH_SUDO_SUDOERS);
- if (statbuf.st_gid != SUDOERS_GID) {
- if (!chown(_PATH_SUDO_SUDOERS,GID_NO_CHANGE,SUDOERS_GID)) {
- (void) fprintf(stderr, "%s: set group on %s\n",
- Argv[0], _PATH_SUDO_SUDOERS);
- statbuf.st_gid = SUDOERS_GID;
- } else {
- (void) fprintf(stderr,"%s: Unable to set group on %s: ",
- Argv[0], _PATH_SUDO_SUDOERS);
- perror("");
- }
+ if ((rootstat = lstat(_PATH_SUDO_SUDOERS, &statbuf)) == 0 &&
+ SUDOERS_UID == statbuf.st_uid && SUDOERS_MODE != 0400 &&
+ (statbuf.st_mode & 0007777) == 0400) {
+
+ if (chmod(_PATH_SUDO_SUDOERS, SUDOERS_MODE) == 0) {
+ (void) fprintf(stderr, "%s: fixed mode on %s\n",
+ Argv[0], _PATH_SUDO_SUDOERS);
+ if (statbuf.st_gid != SUDOERS_GID) {
+ if (!chown(_PATH_SUDO_SUDOERS,GID_NO_CHANGE,SUDOERS_GID)) {
+ (void) fprintf(stderr, "%s: set group on %s\n",
+ Argv[0], _PATH_SUDO_SUDOERS);
+ statbuf.st_gid = SUDOERS_GID;
+ } else {
+ (void) fprintf(stderr,"%s: Unable to set group on %s: ",
+ Argv[0], _PATH_SUDO_SUDOERS);
+ perror("");
}
- } else {
- (void) fprintf(stderr, "%s: Unable to fix mode on %s: ",
- Argv[0], _PATH_SUDO_SUDOERS);
- perror("");
}
+ } else {
+ (void) fprintf(stderr, "%s: Unable to fix mode on %s: ",
+ Argv[0], _PATH_SUDO_SUDOERS);
+ perror("");
}
}
+ /*
+ * Sanity checks on sudoers file. Must be done as sudoers
+ * file owner. We already did a stat as root, so use that
+ * data if we can't stat as sudoers file owner.
+ */
set_perms(PERM_SUDOERS, 0);
- if ((fd = open(_PATH_SUDO_SUDOERS, O_RDONLY)) < 0 || read(fd, &c, 1) == -1)
- rtn = NO_SUDOERS_FILE;
- else if (lstat(_PATH_SUDO_SUDOERS, &statbuf))
+ if (lstat(_PATH_SUDO_SUDOERS, &statbuf) != 0 && rootstat != 0)
rtn = NO_SUDOERS_FILE;
else if (!S_ISREG(statbuf.st_mode))
rtn = SUDOERS_NOT_FILE;
@@ -828,6 +834,9 @@ static int check_sudoers()
rtn = SUDOERS_WRONG_MODE;
else if (statbuf.st_uid != SUDOERS_UID || statbuf.st_gid != SUDOERS_GID)
rtn = SUDOERS_WRONG_OWNER;
+ else if ((fd = open(_PATH_SUDO_SUDOERS, O_RDONLY)) == -1 ||
+ read(fd, &c, 1) == -1)
+ rtn = NO_SUDOERS_FILE;
if (fd != -1)
(void) close(fd);
diff --git a/gnu/usr.bin/sudo/sudo/sudo.h b/gnu/usr.bin/sudo/sudo/sudo.h
index 575fe030e49..a4b572fc63b 100644
--- a/gnu/usr.bin/sudo/sudo/sudo.h
+++ b/gnu/usr.bin/sudo/sudo/sudo.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: sudo.h,v 1.3 1997/11/23 07:15:49 millert Exp $ */
+
/*
* CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
*
@@ -25,7 +27,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Id: sudo.h,v 1.2 1996/11/17 16:34:05 millert Exp $
+ * Id: sudo.h,v 1.114 1996/11/14 20:08:32 millert Exp $
*/
#ifndef _SUDO_SUDO_H
diff --git a/gnu/usr.bin/sudo/sudo/sudo_setenv.c b/gnu/usr.bin/sudo/sudo/sudo_setenv.c
index 585ae4f7dd1..cb87b7ed540 100644
--- a/gnu/usr.bin/sudo/sudo/sudo_setenv.c
+++ b/gnu/usr.bin/sudo/sudo/sudo_setenv.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: sudo_setenv.c,v 1.3 1997/11/23 07:15:49 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -26,7 +28,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: sudo_setenv.c,v 1.2 1996/11/17 16:34:05 millert Exp $";
+static char rcsid[] = "Id: sudo_setenv.c,v 1.18 1996/11/14 02:37:16 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/sudoers.5 b/gnu/usr.bin/sudo/sudo/sudoers.5
index 2ffa5e469e2..f64d2f91703 100644
--- a/gnu/usr.bin/sudo/sudo/sudoers.5
+++ b/gnu/usr.bin/sudo/sudo/sudoers.5
@@ -1,7 +1,16 @@
.rn '' }`
-''' $RCSfile: sudoers.5,v $$Revision: 1.2 $$Date: 1996/11/17 16:34:06 $
+''' $OpenBSD: sudoers.5,v 1.3 1997/11/23 07:15:50 millert Exp $
+'''
+''' $RCSfile: sudoers.5,v $$Revision: 1.3 $$Date: 1997/11/23 07:15:50 $
'''
''' $Log: sudoers.5,v $
+''' Revision 1.3 1997/11/23 07:15:50 millert
+''' OpenBSD tags (and preserve sudo tags)
+''' updates from my sudo source tree:
+''' logging.c: deal with maxfilelen < 0 case
+''' sudo.c: correct error message if mode/owner wrong and not statable by owner
+''' compat.h: fix seteuid macro
+'''
''' Revision 1.2 1996/11/17 16:34:06 millert
''' Updated to sudo 1.5.3
'''
diff --git a/gnu/usr.bin/sudo/sudo/tgetpass.c b/gnu/usr.bin/sudo/sudo/tgetpass.c
index 0031986e293..29455dc53e7 100644
--- a/gnu/usr.bin/sudo/sudo/tgetpass.c
+++ b/gnu/usr.bin/sudo/sudo/tgetpass.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: tgetpass.c,v 1.4 1997/11/23 07:15:50 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -27,7 +29,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: tgetpass.c,v 1.3 1997/02/21 17:10:08 millert Exp $";
+static char rcsid[] = "Id: tgetpass.c,v 1.50 1996/11/14 02:37:16 millert Exp millert $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/version.h b/gnu/usr.bin/sudo/sudo/version.h
index 35fd0054a35..2492632f781 100644
--- a/gnu/usr.bin/sudo/sudo/version.h
+++ b/gnu/usr.bin/sudo/sudo/version.h
@@ -1,3 +1,5 @@
+/* $OpenBSD: version.h,v 1.3 1997/11/23 07:15:51 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -17,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * $Id: version.h,v 1.2 1996/11/17 16:34:07 millert Exp $
+ * Id: version.h,v 1.43 1996/11/14 02:37:16 millert Exp $
*/
#ifndef _SUDO_VERSION_H
diff --git a/gnu/usr.bin/sudo/visudo/visudo.8 b/gnu/usr.bin/sudo/visudo/visudo.8
index df5b6481cd1..fd638908884 100644
--- a/gnu/usr.bin/sudo/visudo/visudo.8
+++ b/gnu/usr.bin/sudo/visudo/visudo.8
@@ -1,7 +1,16 @@
.rn '' }`
-''' $RCSfile: visudo.8,v $$Revision: 1.2 $$Date: 1996/11/17 16:34:08 $
+''' $OpenBSD: visudo.8,v 1.3 1997/11/23 07:15:51 millert Exp $
+'''
+''' $RCSfile: visudo.8,v $$Revision: 1.3 $$Date: 1997/11/23 07:15:51 $
'''
''' $Log: visudo.8,v $
+''' Revision 1.3 1997/11/23 07:15:51 millert
+''' OpenBSD tags (and preserve sudo tags)
+''' updates from my sudo source tree:
+''' logging.c: deal with maxfilelen < 0 case
+''' sudo.c: correct error message if mode/owner wrong and not statable by owner
+''' compat.h: fix seteuid macro
+'''
''' Revision 1.2 1996/11/17 16:34:08 millert
''' Updated to sudo 1.5.3
'''
diff --git a/gnu/usr.bin/sudo/visudo/visudo.c b/gnu/usr.bin/sudo/visudo/visudo.c
index f977b314977..672a151a416 100644
--- a/gnu/usr.bin/sudo/visudo/visudo.c
+++ b/gnu/usr.bin/sudo/visudo/visudo.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: visudo.c,v 1.5 1997/11/23 07:15:52 millert Exp $ */
+
/*
* CU sudo version 1.5.3
*
@@ -26,7 +28,7 @@
*/
#ifndef lint
-static char rcsid[] = "$Id: visudo.c,v 1.4 1997/04/12 07:18:57 millert Exp $";
+static char rcsid[] = "Id: visudo.c,v 1.80 1996/11/14 02:37:16 millert Exp millert $";
#endif /* lint */
#include "config.h"