-/* config.h.in. Generated automatically from configure.in by autoheader. */
+/* config.h.in. Generated from configure.in by autoheader. */
#ifndef _SUDO_CONFIG_H
#define _SUDO_CONFIG_H
-/* Define if the `syslog' function returns a non-zero int to denote failure.
- */
+/* Define to 1 if the `syslog' function returns a non-zero int to denote
+ failure. */
#undef BROKEN_SYSLOG
-/* Define if you want the insults from the "classic" version sudo. */
+/* Define to 1 if you want the insults from the "classic" version sudo. */
#undef CLASSIC_INSULTS
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
*/
#undef CRAY_STACKSEG_END
-/* Define if you want insults culled from the twisted minds of CSOps. */
+/* Define to 1 if you want insults culled from the twisted minds of CSOps. */
#undef CSOPS_INSULTS
-/* Define if using `alloca.c'. */
+/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
-/* Define if you want sudo to display "command not allowed" instead of
+/* Define to 1 if you want sudo to display "command not allowed" instead of
"command not found" when a command cannot be found. */
#undef DONT_LEAK_PATH_INFO
/* A colon-separated list of pathnames to be used as the editor for visudo. */
#undef EDITOR
-/* Define if you want visudo to honor the EDITOR and VISUAL env variables. */
+/* Define to 1 if you want visudo to honor the EDITOR and VISUAL env
+ variables. */
#undef ENV_EDITOR
/* If defined, users in this group need not enter a passwd (ie "sudo"). */
#undef EXEMPTGROUP
-/* Define if you want to require fully qualified hosts in sudoers. */
+/* Define to 1 if you want to require fully qualified hosts in sudoers. */
#undef FQDN
-/* Define if you want insults from the "Goon Show". */
+/* Define to 1 if you want insults from the "Goon Show". */
#undef GOONS_INSULTS
-/* Define if you want 2001-like insults. */
+/* Define to 1 if you want 2001-like insults. */
#undef HAL_INSULTS
-/* Define if you use AFS. */
+/* Define to 1 if you use AFS. */
#undef HAVE_AFS
-/* Define if you have `alloca', as a function or macro. */
+/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
#undef HAVE_ALLOCA_H
-/* Define if you have the `asprintf' function. */
+/* Define to 1 if you have the `asprintf' function. */
#undef HAVE_ASPRINTF
-/* Define if you use AIX general authentication. */
+/* Define to 1 if you use AIX general authentication. */
#undef HAVE_AUTHENTICATE
-/* Define if you have the `bigcrypt' function. */
+/* Define to 1 if you have the `bigcrypt' function. */
#undef HAVE_BIGCRYPT
-/* Define if you use BSD authentication. */
+/* Define to 1 if you use BSD authentication. */
#undef HAVE_BSD_AUTH_H
-/* Define if you use OSF DCE. */
+/* Define to 1 if you have the `closefrom' function. */
+#undef HAVE_CLOSEFROM
+
+/* Define to 1 if you use OSF DCE. */
#undef HAVE_DCE
-/* Define if you have the <dirent.h> header file, and it defines `DIR'. */
+/* Define to 1 if your `DIR' contains dd_fd. */
+#undef HAVE_DD_FD
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
#undef HAVE_DIRENT_H
-/* Define if you have the `dispcrypt' function. */
+/* Define to 1 if you have the `dirfd' function or macro. */
+#undef HAVE_DIRFD
+
+/* Define to 1 if you have the `dispcrypt' function. */
#undef HAVE_DISPCRYPT
-/* Define if you have the `flock' function. */
+/* Define to 1 if you have the <err.h> header file. */
+#undef HAVE_ERR_H
+
+/* Define to 1 if you have the `flock' function. */
#undef HAVE_FLOCK
-/* Define if you have the `fnmatch' function. */
+/* Define to 1 if you have the `fnmatch' function. */
#undef HAVE_FNMATCH
-/* Define if you have the `freeifaddrs' function. */
+/* Define to 1 if you have the `freeifaddrs' function. */
#undef HAVE_FREEIFADDRS
-/* Define if you have the `fstat' function. */
+/* Define to 1 if you have the `fstat' function. */
#undef HAVE_FSTAT
-/* Define if you use the FWTK authsrv daemon. */
+/* Define to 1 if you have the `futime' function. */
+#undef HAVE_FUTIME
+
+/* Define to 1 if you have the `futimes' function. */
+#undef HAVE_FUTIMES
+
+/* Define to 1 if you have the `futimesat' function. */
+#undef HAVE_FUTIMESAT
+
+/* Define to 1 if you use the FWTK authsrv daemon. */
#undef HAVE_FWTK
-/* Define if you have the `getauthuid' function. (ULTRIX 4.x shadow passwords)
- */
+/* Define to 1 if you have the `getauthuid' function. (ULTRIX 4.x shadow
+ passwords) */
#undef HAVE_GETAUTHUID
-/* Define if you have the `getcwd' function. */
+/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
-/* Define if you have the `getdomainname' function. */
+/* Define to 1 if you have the `getdomainname' function. */
#undef HAVE_GETDOMAINNAME
-/* Define if you have the `getifaddrs' function. */
+/* Define to 1 if you have the `getifaddrs' function. */
#undef HAVE_GETIFADDRS
-/* Define if you have the `getprpwnam' function. (SecureWare-style shadow
+/* Define to 1 if you have the `getprogname' function. */
+#undef HAVE_GETPROGNAME
+
+/* Define to 1 if you have the `getprpwnam' function. (SecureWare-style shadow
passwords) */
#undef HAVE_GETPRPWNAM
-/* Define if you have the `getpwanam' function. (SunOS 4.x shadow passwords)
- */
+/* Define to 1 if you have the `getpwanam' function. (SunOS 4.x shadow
+ passwords) */
#undef HAVE_GETPWANAM
-/* Define if you have the `getspnam' function (SVR4-style shadow passwords) */
+/* Define to 1 if you have the `getspnam' function (SVR4-style shadow
+ passwords) */
#undef HAVE_GETSPNAM
-/* Define if you have the `getspwuid' function. (HP-UX <= 9.X shadow
+/* Define to 1 if you have the `getspwuid' function. (HP-UX <= 9.X shadow
passwords) */
#undef HAVE_GETSPWUID
-/* Define if you have the `initgroups' function. */
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if your Kerberos is Heimdal. */
+#undef HAVE_HEIMDAL
+
+/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS
-/* Define if you have the `initprivs' function. */
+/* Define to 1 if you have the `initprivs' function. */
#undef HAVE_INITPRIVS
-/* Define if you have the `innetgr' function. */
+/* Define to 1 if you have the `innetgr' function. */
#undef HAVE_INNETGR
-/* Define if you have the <inttypes.h> header file. */
+/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if you have isblank(3). */
#undef HAVE_ISBLANK
-/* Define if you have the `iscomsec' function. (HP-UX >= 10.x check for shadow
- enabled) */
+/* Define to 1 if you have the `iscomsec' function. (HP-UX >= 10.x check for
+ shadow enabled) */
#undef HAVE_ISCOMSEC
-/* Define if you have the `issecure' function. (SunOS 4.x check for shadow
- enabled) */
+/* Define to 1 if you have the `issecure' function. (SunOS 4.x check for
+ shadow enabled) */
#undef HAVE_ISSECURE
-/* Define if you use Kerberos IV. */
+/* Define to 1 if you use Kerberos IV. */
#undef HAVE_KERB4
-/* Define if you use Kerberos V. */
+/* Define to 1 if you use Kerberos V. */
#undef HAVE_KERB5
-/* Define if you have the `lockf' function. */
+/* Define to 1 if your LDAP needs <lber.h>. (OpenLDAP does not) */
+#undef HAVE_LBER_H
+
+/* Define to 1 if you use LDAP for sudoers. */
+#undef HAVE_LDAP
+
+/* Define to 1 if you have the `ldap_initialize' function. */
+#undef HAVE_LDAP_INITIALIZE
+
+/* Define to 1 if you have the `ldap_start_tls_s' function. */
+#undef HAVE_LDAP_START_TLS_S
+
+/* Define to 1 if you have the `lockf' function. */
#undef HAVE_LOCKF
-/* Define if you have the <login_cap.h> header file. */
+/* Define to 1 if you have the <login_cap.h> header file. */
#undef HAVE_LOGIN_CAP_H
/* Define if your compiler supports the "long long" type. */
#undef HAVE_LONG_LONG
-/* Define if you have the `lsearch' function. */
+/* Define to 1 if you have the `lsearch' function. */
#undef HAVE_LSEARCH
-/* Define if you have the <malloc.h> header file. */
+/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
-/* Define if you have the `memchr' function. */
+/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
-/* Define if you have the `memcpy' function. */
+/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
-/* Define if you have the <memory.h> header file. */
+/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
-/* Define if you have the `memset' function. */
+/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
-/* Define if you have the <ndir.h> header file, and it defines `DIR'. */
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
-/* Define if you have the <netgroup.h> header file. */
+/* Define to 1 if you have the <netgroup.h> header file. */
#undef HAVE_NETGROUP_H
-/* Define if you use NRL OPIE. */
+/* Define to 1 if you use NRL OPIE. */
#undef HAVE_OPIE
-/* Define if you use PAM. */
+/* Define to 1 if you use PAM authentication. */
#undef HAVE_PAM
-/* Define if you have the <paths.h> header file. */
+/* Define to 1 if you have the <pam/pam_appl.h> header file. */
+#undef HAVE_PAM_PAM_APPL_H
+
+/* Define to 1 if you have the <paths.h> header file. */
#undef HAVE_PATHS_H
/* Define if your struct sockadr has an sa_len field. */
#undef HAVE_SA_LEN
-/* Define if you use SecurID. */
+/* Define to 1 if you use SecurID for authentication. */
#undef HAVE_SECURID
-/* Define if you have the `setegid' function. */
-#undef HAVE_SETEGID
-
-/* Define if you have the `seteuid' function. */
+/* Define to 1 if you have the `seteuid' function. */
#undef HAVE_SETEUID
-/* Define if you have the `setreuid' function. */
+/* Define to 1 if you have the `setresuid' function. */
+#undef HAVE_SETRESUID
+
+/* Define to 1 if you have the `setreuid' function. */
#undef HAVE_SETREUID
-/* Define if you have the `setrlimit' function. */
+/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT
-/* Define if you have the `set_auth_parameters' function. */
+/* Define to 1 if you have the `set_auth_parameters' function. */
#undef HAVE_SET_AUTH_PARAMETERS
-/* Define if you use SIA. */
+/* Define to 1 if you use SIA authentication. */
#undef HAVE_SIA
-/* Define if you have the `sigaction' function. */
+/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
-/* Define if <signal.h> has the sigaction_t typedef. */
+/* Define to 1 if <signal.h> has the sigaction_t typedef. */
#undef HAVE_SIGACTION_T
-/* Define if the system has the type `sig_atomic_t'. */
+/* Define to 1 if the system has the type `sig_atomic_t'. */
#undef HAVE_SIG_ATOMIC_T
-/* Define if you use S/Key. */
+/* Define to 1 if you use S/Key. */
#undef HAVE_SKEY
-/* Define if your S/Key library has skeyaccess(). */
+/* Define to 1 if your S/Key library has skeyaccess(). */
#undef HAVE_SKEYACCESS
-/* Define if you have the `snprintf' function. */
+/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
-/* Define if you have the <stdint.h> header file. */
+/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
-/* Define if you have the <stdlib.h> header file. */
+/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
-/* Define if you have the `strcasecmp' function. */
+/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
-/* Define if you have the `strchr' function. */
+/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
-/* Define if you have the `strerror' function. */
+/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
-/* Define if you have the `strftime' function. */
+/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME
-/* Define if you have the <strings.h> header file. */
+/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
-/* Define if you have the <string.h> header file. */
+/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
-/* Define if you have the `strrchr' function. */
+/* Define to 1 if you have the `strlcat' function. */
+#undef HAVE_STRLCAT
+
+/* Define to 1 if you have the `strlcpy' function. */
+#undef HAVE_STRLCPY
+
+/* Define to 1 if you have the `strrchr' function. */
#undef HAVE_STRRCHR
-/* Define if you have the `sysconf' function. */
+/* Define to 1 if your struct stat has an st_mtim member */
+#undef HAVE_ST_MTIM
+
+/* Define to 1 if your struct stat has an st_mtimespec member */
+#undef HAVE_ST_MTIMESPEC
+
+/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
-/* Define if you have the <sys/bsdtypes.h> header file. */
+/* Define to 1 if you have the <sys/bsdtypes.h> header file. */
#undef HAVE_SYS_BSDTYPES_H
-/* Define if you have the <sys/dir.h> header file, and it defines `DIR'. */
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
#undef HAVE_SYS_DIR_H
-/* Define if you have the <sys/ndir.h> header file, and it defines `DIR'. */
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
#undef HAVE_SYS_NDIR_H
-/* Define if you have the <sys/select.h> header file. */
+/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
-/* Define if you have the <sys/sockio.h> header file. */
+/* Define to 1 if you have the <sys/sockio.h> header file. */
#undef HAVE_SYS_SOCKIO_H
-/* Define if you have the <sys/stat.h> header file. */
+/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
-/* Define if you have the <sys/types.h> header file. */
+/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
-/* Define if you have the <termios.h> header file and the `tcgetattr'
+/* Define to 1 if you have the <termios.h> header file and the `tcgetattr'
function. */
#undef HAVE_TERMIOS_H
-/* Define if you have the <termio.h> header file. */
+/* Define to 1 if you have the <termio.h> header file. */
#undef HAVE_TERMIO_H
-/* Define if you have the `tzset' function. */
+/* Define to 1 if you have struct timespec in sys/time.h */
+#undef HAVE_TIMESPEC
+
+/* Define to 1 if you have a timespecsub macro or function that takes
+ two arguments (not three) */
+#undef HAVE_TIMESPECSUB2
+
+/* Define to 1 if you have the `tzset' function. */
#undef HAVE_TZSET
-/* Define if you have the <unistd.h> header file. */
+/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define if you have the `utime' function. */
-#undef HAVE_UTIME
+/* Define to 1 if you have the `utimes' function. */
+#undef HAVE_UTIMES
-/* Define if you have the <utime.h> header file. */
+/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
-/* Define if you have a POSIX utime() (uses struct utimbuf). */
-#undef HAVE_UTIME_POSIX
-
-/* Define if you have the `vasprintf' function. */
+/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
-/* Define if you have the `vsnprintf' function. */
+/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
-/* Define if you have the `wait3' function. */
+/* Define to 1 if you have the `wait3' function. */
#undef HAVE_WAIT3
-/* Define if you have the `waitpid' function. */
+/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID
-/* Define if you have the `_innetgr' function. */
+/* Define to 1 if you have the `_innetgr' function. */
#undef HAVE__INNETGR
-/* Define if you want the hostname to be entered into the log file. */
+/* Define to 1 if your crt0.o defines the __progname symbol for you. */
+#undef HAVE___PROGNAME
+
+/* Define to 1 if you want the hostname to be entered into the log file. */
#undef HOST_IN_LOG
-/* Define if you want to ignore '.' and empty $PATH elements */
+/* Define to 1 if you want to ignore '.' and empty PATH elements */
#undef IGNORE_DOT_PATH
/* The message given when a bad password is entered. */
/* Define if sizeof(long) == sizeof(long long). */
#undef LONG_IS_QUAD
-/* Define if you want a two line OTP (S/Key or OPIE) prompt. */
+/* Define to 1 if you want a two line OTP (S/Key or OPIE) prompt. */
#undef LONG_OTP_PROMPT
/* The subject of the mail sent by sudo to the MAILTO user/address. */
*/
#undef MAX_UID_T_LEN
-/* Define if you don't want sudo to prompt for a password by default. */
+/* Define to 1 if you don't want sudo to prompt for a password by default. */
#undef NO_AUTHENTICATION
-/* Define if you don't want users to get the lecture the first they user sudo.
- */
+/* Define to 1 if you don't want users to get the lecture the first they user
+ sudo. */
#undef NO_LECTURE
/* Define to avoid runing the mailer as root. */
#undef NO_ROOT_MAILER
-/* Define if root should not be allowed to use sudo. */
+/* Define to 1 if root should not be allowed to use sudo. */
#undef NO_ROOT_SUDO
/* Define to avoid using POSIX saved ids. */
/* The passwd prompt timeout (in minutes). */
#undef PASSWORD_TIMEOUT
+/* Define to 1 to replace politically incorrect insults with less offensive
+ ones. */
+#undef PC_INSULTS
+
/* The syslog priority sudo will use for unsuccessful attempts/errors. */
#undef PRI_FAILURE
/* The user sudo should run commands as by default. */
#undef RUNAS_DEFAULT
-/* Define to override the user's path with a builtin one. */
+/* Define to 1 to override the user's path with a built-in one. */
#undef SECURE_PATH
-/* Define to send mail when the user is not not allowed to run a command. */
+/* Define to 1 to send mail when the user is not allowed to run a command. */
#undef SEND_MAIL_WHEN_NOT_OK
-/* Define to send mail when the user is not not allowed to run sudo on this
+/* Define to 1 to send mail when the user is not allowed to run sudo on this
host. */
#undef SEND_MAIL_WHEN_NO_HOST
-/* Define to send mail when the user is not in the sudoers file. */
+/* Define to 1 to send mail when the user is not in the sudoers file. */
#undef SEND_MAIL_WHEN_NO_USER
-/* Define if you want sudo to start a shell if given no arguments. */
+/* Define to 1 if you want sudo to start a shell if given no arguments. */
#undef SHELL_IF_NO_ARGS
-/* Define if you want sudo to set /home/millert in shell mode. */
+/* Define to 1 if you want sudo to set $HOME in shell mode. */
#undef SHELL_SETS_HOME
/* If using the C implementation of alloca, define if you know the
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
-/* Define if you have the ANSI C header files. */
+/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
-/* Define if the code in interfaces.c does not compile for you. */
+/* Define to 1 if the code in interfaces.c does not compile for you. */
#undef STUB_LOAD_INTERFACES
/* The umask that the root-run prog should use. */
/* The number of tries a user gets to enter their password. */
#undef TRIES_FOR_PASSWORD
-/* Define if you wish to use execv() instead of execvp() when running
+/* Define to 1 if you wish to use execv() instead of execvp() when running
programs. */
#undef USE_EXECV
-/* Define if you want to insult the user for entering an incorrect password.
- */
+/* Define to 1 if you want to insult the user for entering an incorrect
+ password. */
#undef USE_INSULTS
-/* Define if you want a different ticket file for each tty. */
+/* Define to 1 if you use GNU stow packaging. */
+#undef USE_STOW
+
+/* Define to 1 if you want a different ticket file for each tty. */
#undef USE_TTY_TICKETS
/* Define to "void" if your compiler supports void pointers, else use "char".
# define _GNU_SOURCE 1
#endif
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile
+/*
+ * Macros to pull sec and nsec parts of mtime from struct stat.
+ */
+#ifdef HAVE_ST_MTIM
+# define mtim_getsec(_x) ((_x).st_mtim.tv_sec)
+# define mtim_getnsec(_x) ((_x).st_mtim.tv_nsec)
+#else
+# ifdef HAVE_ST_MTIMESPEC
+# define mtim_getsec(_x) ((_x).st_mtimespec.tv_sec)
+# define mtim_getnsec(_x) ((_x).st_mtimespec.tv_nsec)
+# else
+# define mtim_getsec(_x) ((_x).st_mtime)
+# define mtim_getnsec(_x) (0)
+# endif /* HAVE_ST_MTIMESPEC */
+#endif /* HAVE_ST_MTIM */
+
/*
* Emulate a subset of waitpid() if we don't have it.
*/
# endif
#endif
-/* Solaris doesn't use const qualifiers in PAM. */
-#ifdef sun
-# define PAM_CONST
+/* GNU stow needs /etc/sudoers to be a symlink. */
+#ifdef USE_STOW
+# define stat_sudoers stat
#else
-# define PAM_CONST const
+# define stat_sudoers lstat
#endif
#ifdef USE_EXECV
-# define EXEC execv
+# define EXECV execv
#else
-# define EXEC execvp
+# define EXECV execvp
#endif /* USE_EXECV */
+/* Macros to set/clear/test flags. */
+#undef SET
+#define SET(t, f) ((t) |= (f))
+#undef CLR
+#define CLR(t, f) ((t) &= ~(f))
+#undef ISSET
+#define ISSET(t, f) ((t) & (f))
+
/* New ANSI-style OS defs for HP-UX and ConvexOS. */
#if defined(hpux) && !defined(__hpux)
# define __hpux 1