]> granicus.if.org Git - sudo/commitdiff
regen
authorTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 22 Jul 1999 13:11:16 +0000 (13:11 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 22 Jul 1999 13:11:16 +0000 (13:11 +0000)
configure
sudo.cat
sudo.html
sudo.man
sudoers.html
visudo.cat
visudo.html
visudo.man

index 4db06a9f59d366f1f65118e66059e965f10212fa..ed54be27a0ab58dc846caf5d17205aaa4d359263 100755 (executable)
--- a/configure
+++ b/configure
@@ -21,6 +21,8 @@ ac_help="$ac_help
   --with-libraries        additional libraries to link with"
 ac_help="$ac_help
   --with-csops            add CSOps standard options"
+ac_help="$ac_help
+  --without-passwd        no passwd/shadow file authentication"
 ac_help="$ac_help
   --with-skey             enable S/Key support "
 ac_help="$ac_help
@@ -32,7 +34,7 @@ ac_help="$ac_help
 ac_help="$ac_help
   --with-SecurID          enable SecurID support"
 ac_help="$ac_help
-  --with-AuthSRV          enable FWTK AuthSRV support"
+  --with-fwtk             enable FWTK AuthSRV support"
 ac_help="$ac_help
   --with-kerb4            enable kerberos v4 support"
 ac_help="$ac_help
@@ -122,8 +124,6 @@ ac_help="$ac_help
   --disable-shadow        Never use shadow passwords"
 ac_help="$ac_help
   --disable-root-sudo     don't allow root to run sudo"
-ac_help="$ac_help
-  --disable-tgetpass      Use the system getpass() instead of sudo's version"
 ac_help="$ac_help
   --enable-log-host       Log the hostname in the log file"
 ac_help="$ac_help
@@ -654,9 +654,8 @@ VISUDO_LIBS=""
 AFS_LIBS=""
 CPPFLAGS=""
 OSDEFS=""
-DCE_OBJS=""
+AUTH_OBJS="passwd.o"
 LIBOBJS=""
-TGETPASS="tgetpass.o"
 MANTYPE="man"
 MAN_POSTINSTALL=""
 SUDOERS_MODE=0440
@@ -773,17 +772,43 @@ esac
 fi
 
 
+# Check whether --with-passwd or --without-passwd was given.
+if test "${with_passwd+set}" = set; then
+  withval="$with_passwd"
+  case $with_passwd in
+    yes)       ;;
+    no)                cat >> confdefs.h <<\EOF
+#define WITHOUT_PASSWD 1
+EOF
+
+               echo $ac_n "checking whether to check shadow/passwd file""... $ac_c" 1>&6
+echo "configure:786: checking whether to check shadow/passwd file" >&5
+               echo "$ac_t""no" 1>&6
+               AUTH_OBJS=""
+               ;;
+    *)         echo "Sorry, --with-passwd does not take an argument."
+               exit 1
+               ;;
+esac
+fi
+
+
 # Check whether --with-skey or --without-skey was given.
 if test "${with_skey+set}" = set; then
   withval="$with_skey"
   case $with_skey in
-    yes)       cat >> confdefs.h <<\EOF
+    yes)       if test -n "$with_opie"; then
+                   echo "configure: warning: cannot use both S/Key and OPIE" 1>&2
+                   exit 1
+               fi
+               cat >> confdefs.h <<\EOF
 #define HAVE_SKEY 1
 EOF
 
                echo $ac_n "checking whether to try S/Key authentication""... $ac_c" 1>&6
-echo "configure:786: checking whether to try S/Key authentication" >&5
+echo "configure:810: checking whether to try S/Key authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="${AUTH_OBJS} rfc1938.o"
                ;;
     no)                ;;
     *)         echo "Ignoring unknown argument to --with-skey: $with_skey"
@@ -796,13 +821,18 @@ fi
 if test "${with_opie+set}" = set; then
   withval="$with_opie"
   case $with_opie in
-    yes)       cat >> confdefs.h <<\EOF
+    yes)       if test -n "$with_skey"; then
+                   echo "configure: warning: cannot use both S/Key and OPIE" 1>&2
+                   exit 1
+               fi
+               cat >> confdefs.h <<\EOF
 #define HAVE_OPIE 1
 EOF
 
                echo $ac_n "checking whether to try NRL OPIE authentication""... $ac_c" 1>&6
-echo "configure:805: checking whether to try NRL OPIE authentication" >&5
+echo "configure:834: checking whether to try NRL OPIE authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="${AUTH_OBJS} rfc1938.o"
                ;;
     no)                ;;
     *)         echo "Ignoring unknown argument to --with-opie: $with_opie"
@@ -820,7 +850,7 @@ if test "${with_otp_only+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to use OTP as the sole authentication method""... $ac_c" 1>&6
-echo "configure:824: checking whether to use OTP as the sole authentication method" >&5
+echo "configure:854: checking whether to use OTP as the sole authentication method" >&5
                echo "$ac_t""yes" 1>&6
                ;;
     no)                ;;
@@ -840,7 +870,7 @@ if test "${with_long_otp_prompt+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to use a two line prompt for OTP authentication""... $ac_c" 1>&6
-echo "configure:844: checking whether to use a two line prompt for OTP authentication" >&5
+echo "configure:874: checking whether to use a two line prompt for OTP authentication" >&5
                echo "$ac_t""yes" 1>&6
                ;;
     no)                ;;
@@ -861,35 +891,39 @@ if test "${with_SecurID+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to use SecurID for authentication""... $ac_c" 1>&6
-echo "configure:865: checking whether to use SecurID for authentication" >&5
+echo "configure:895: checking whether to use SecurID for authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="securid.o"
                ;;
 esac
 fi
 
 
-# Check whether --with-AuthSRV or --without-AuthSRV was given.
-if test "${with_AuthSRV+set}" = set; then
-  withval="$with_AuthSRV"
-  case $with_AuthSRV in
+# Check whether --with-fwtk or --without-fwtk was given.
+if test "${with_fwtk+set}" = set; then
+  withval="$with_fwtk"
+  case $with_fwtk in
     yes)       cat >> confdefs.h <<\EOF
-#define HAVE_AUTHSRV 1
+#define HAVE_FWTK 1
 EOF
 
                echo $ac_n "checking whether to use FWTK AuthSRV for authentication""... $ac_c" 1>&6
-echo "configure:881: checking whether to use FWTK AuthSRV for authentication" >&5
+echo "configure:912: checking whether to use FWTK AuthSRV for authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="fwtk.o"
                ;;
     no)                ;;
     *)         cat >> confdefs.h <<\EOF
-#define HAVE_AUTHSRV 1
+#define HAVE_FWTK 1
 EOF
 
                echo $ac_n "checking whether to use FWTK AuthSRV for authentication""... $ac_c" 1>&6
-echo "configure:890: checking whether to use FWTK AuthSRV for authentication" >&5
+echo "configure:922: checking whether to use FWTK AuthSRV for authentication" >&5
                echo "$ac_t""yes" 1>&6
-               SUDO_LDFLAGS="${SUDO_LDFLAGS} -L${with-AuthSRV}"
-               CPPFLAGS="${CPPFLAGS} -I${with-AuthSRV}"
+               SUDO_LDFLAGS="${SUDO_LDFLAGS} -L${with_fwtk}"
+               CPPFLAGS="${CPPFLAGS} -I${with_fwtk}"
+               AUTH_OBJS="fwtk.o"
+               with_fwtk=yes
                ;;
 esac
 fi
@@ -900,7 +934,7 @@ if test "${with_kerb4+set}" = set; then
   withval="$with_kerb4"
   case $with_kerb4 in
     yes)       echo $ac_n "checking whether to try Kerberos 4 authentication""... $ac_c" 1>&6
-echo "configure:904: checking whether to try Kerberos 4 authentication" >&5
+echo "configure:938: checking whether to try Kerberos 4 authentication" >&5
                echo "$ac_t""yes" 1>&6
                ;;
     no)                ;;
@@ -916,7 +950,7 @@ if test "${with_kerb5+set}" = set; then
   withval="$with_kerb5"
   case $with_kerb5 in
     yes)       echo $ac_n "checking whether to try Kerberos 5 authentication""... $ac_c" 1>&6
-echo "configure:920: checking whether to try Kerberos 5 authentication" >&5
+echo "configure:954: checking whether to try Kerberos 5 authentication" >&5
                echo "$ac_t""yes" 1>&6
                ;;
     no)                ;;
@@ -936,8 +970,9 @@ if test "${with_authenticate+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to use AIX general authentication""... $ac_c" 1>&6
-echo "configure:940: checking whether to use AIX general authentication" >&5
+echo "configure:974: checking whether to use AIX general authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="authenticate.o"
                ;;
     no)                ;;
     *)         echo "Sorry, --with-authenticate does not take an argument."
@@ -956,8 +991,9 @@ if test "${with_pam+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to use PAM authentication""... $ac_c" 1>&6
-echo "configure:960: checking whether to use PAM authentication" >&5
+echo "configure:995: checking whether to use PAM authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="pam.o"
                ;;
     no)                ;;
     *)         echo "Sorry, --with-pam does not take an argument."
@@ -976,8 +1012,9 @@ if test "${with_AFS+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to try AFS (kerberos) authentication""... $ac_c" 1>&6
-echo "configure:980: checking whether to try AFS (kerberos) authentication" >&5
+echo "configure:1016: checking whether to try AFS (kerberos) authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="${AUTH_OBJS} afs.o"
                ;;
     no)                ;;
     *)         echo "Sorry, --with-AFS does not take an argument."
@@ -996,8 +1033,9 @@ if test "${with_DCE+set}" = set; then
 EOF
 
                echo $ac_n "checking whether to try DCE (kerberos) authentication""... $ac_c" 1>&6
-echo "configure:1000: checking whether to try DCE (kerberos) authentication" >&5
+echo "configure:1037: checking whether to try DCE (kerberos) authentication" >&5
                echo "$ac_t""yes" 1>&6
+               AUTH_OBJS="${AUTH_OBJS} dce.o"
                ;;
     no)                ;;
     *)         echo "Sorry, --with-DCE does not take an argument."
@@ -1008,7 +1046,7 @@ fi
 
 
 echo $ac_n "checking which message/lecture type sudo should use""... $ac_c" 1>&6
-echo "configure:1012: checking which message/lecture type sudo should use" >&5
+echo "configure:1050: checking which message/lecture type sudo should use" >&5
 # Check whether --with-message or --without-message was given.
 if test "${with_message+set}" = set; then
   withval="$with_message"
@@ -1041,7 +1079,7 @@ fi
 
 
 echo $ac_n "checking whether sudo should log via syslog or to a file""... $ac_c" 1>&6
-echo "configure:1045: checking whether sudo should log via syslog or to a file" >&5
+echo "configure:1083: checking whether sudo should log via syslog or to a file" >&5
 # Check whether --with-logging or --without-logging was given.
 if test "${with_logging+set}" = set; then
   withval="$with_logging"
@@ -1083,7 +1121,7 @@ fi
 
 
 echo $ac_n "checking which syslog facility sudo should log with""... $ac_c" 1>&6
-echo "configure:1087: checking which syslog facility sudo should log with" >&5
+echo "configure:1125: checking which syslog facility sudo should log with" >&5
 # Check whether --with-logfac or --without-logfac was given.
 if test "${with_logfac+set}" = set; then
   withval="$with_logfac"
@@ -1124,7 +1162,7 @@ fi
 
 
 echo $ac_n "checking how long a line in the log file should be""... $ac_c" 1>&6
-echo "configure:1128: checking how long a line in the log file should be" >&5
+echo "configure:1166: checking how long a line in the log file should be" >&5
 # Check whether --with-loglen or --without-loglen was given.
 if test "${with_loglen+set}" = set; then
   withval="$with_loglen"
@@ -1154,7 +1192,7 @@ fi
 
 
 echo $ac_n "checking whether sudo should ignore '.' or '' in \$PATH""... $ac_c" 1>&6
-echo "configure:1158: checking whether sudo should ignore '.' or '' in \$PATH" >&5
+echo "configure:1196: checking whether sudo should ignore '.' or '' in \$PATH" >&5
 # Check whether --with-ignore-dot or --without-ignore-dot was given.
 if test "${with_ignore_dot+set}" = set; then
   withval="$with_ignore_dot"
@@ -1177,7 +1215,7 @@ fi
 
 
 echo $ac_n "checking who should get the mail that sudo sends""... $ac_c" 1>&6
-echo "configure:1181: checking who should get the mail that sudo sends" >&5
+echo "configure:1219: checking who should get the mail that sudo sends" >&5
 # Check whether --with-alertmail or --without-alertmail was given.
 if test "${with_alertmail+set}" = set; then
   withval="$with_alertmail"
@@ -1216,7 +1254,7 @@ if test "${with_mailsubject+set}" = set; then
 EOF
 
                echo $ac_n "checking sudo mail subject""... $ac_c" 1>&6
-echo "configure:1220: checking sudo mail subject" >&5
+echo "configure:1258: checking sudo mail subject" >&5
                echo "$ac_t""Using alert mail subject: $with_mailsubject" 1>&6
                ;;
 esac
@@ -1229,7 +1267,7 @@ fi
 
 
 echo $ac_n "checking whether to send mail when a user is not in sudoers""... $ac_c" 1>&6
-echo "configure:1233: checking whether to send mail when a user is not in sudoers" >&5
+echo "configure:1271: checking whether to send mail when a user is not in sudoers" >&5
 # Check whether --with-mail-if-no-user or --without-mail-if-no-user was given.
 if test "${with_mail_if_no_user+set}" = set; then
   withval="$with_mail_if_no_user"
@@ -1255,7 +1293,7 @@ fi
 
 
 echo $ac_n "checking whether to send mail when a user tries a disallowed command""... $ac_c" 1>&6
-echo "configure:1259: checking whether to send mail when a user tries a disallowed command" >&5
+echo "configure:1297: checking whether to send mail when a user tries a disallowed command" >&5
 # Check whether --with-mail-if-noperms or --without-mail-if-noperms was given.
 if test "${with_mail_if_noperms+set}" = set; then
   withval="$with_mail_if_noperms"
@@ -1278,7 +1316,7 @@ fi
 
 
 echo $ac_n "checking for bad password prompt""... $ac_c" 1>&6
-echo "configure:1282: checking for bad password prompt" >&5
+echo "configure:1320: checking for bad password prompt" >&5
 # Check whether --with-passprompt or --without-passprompt was given.
 if test "${with_passprompt+set}" = set; then
   withval="$with_passprompt"
@@ -1304,7 +1342,7 @@ fi
 
 
 echo $ac_n "checking for bad password message""... $ac_c" 1>&6
-echo "configure:1308: checking for bad password message" >&5
+echo "configure:1346: checking for bad password message" >&5
 # Check whether --with-badpass-message or --without-badpass-message was given.
 if test "${with_badpass_message+set}" = set; then
   withval="$with_badpass_message"
@@ -1330,7 +1368,7 @@ fi
 
 
 echo $ac_n "checking whether to expect fully qualified hosts in sudoers""... $ac_c" 1>&6
-echo "configure:1334: checking whether to expect fully qualified hosts in sudoers" >&5
+echo "configure:1372: checking whether to expect fully qualified hosts in sudoers" >&5
 # Check whether --with-fqdn or --without-fqdn was given.
 if test "${with_fqdn+set}" = set; then
   withval="$with_fqdn"
@@ -1440,7 +1478,7 @@ fi
 
 
 echo $ac_n "checking for umask programs should be run with""... $ac_c" 1>&6
-echo "configure:1444: checking for umask programs should be run with" >&5
+echo "configure:1482: checking for umask programs should be run with" >&5
 # Check whether --with-umask or --without-umask was given.
 if test "${with_umask+set}" = set; then
   withval="$with_umask"
@@ -1469,7 +1507,7 @@ fi
 
 
 echo $ac_n "checking for default user to run commands as""... $ac_c" 1>&6
-echo "configure:1473: checking for default user to run commands as" >&5
+echo "configure:1511: checking for default user to run commands as" >&5
 # Check whether --with-runas-default or --without-runas-default was given.
 if test "${with_runas_default+set}" = set; then
   withval="$with_runas_default"
@@ -1510,7 +1548,7 @@ if test "${with_exempt+set}" = set; then
 EOF
 
                echo $ac_n "checking for group to be exempt from password""... $ac_c" 1>&6
-echo "configure:1514: checking for group to be exempt from password" >&5
+echo "configure:1552: checking for group to be exempt from password" >&5
                echo "$ac_t""$with_exempt" 1>&6
                ;;
 esac
@@ -1518,7 +1556,7 @@ fi
 
 
 echo $ac_n "checking for editor that visudo should use""... $ac_c" 1>&6
-echo "configure:1522: checking for editor that visudo should use" >&5
+echo "configure:1560: checking for editor that visudo should use" >&5
 # Check whether --with-editor or --without-editor was given.
 if test "${with_editor+set}" = set; then
   withval="$with_editor"
@@ -1545,7 +1583,7 @@ fi
 
 
 echo $ac_n "checking whether to obey EDITOR and VISUAL environment variables""... $ac_c" 1>&6
-echo "configure:1549: checking whether to obey EDITOR and VISUAL environment variables" >&5
+echo "configure:1587: checking whether to obey EDITOR and VISUAL environment variables" >&5
 # Check whether --with-env-editor or --without-env-editor was given.
 if test "${with_env_editor+set}" = set; then
   withval="$with_env_editor"
@@ -1568,7 +1606,7 @@ fi
 
 
 echo $ac_n "checking number of tries a user gets to enter their password""... $ac_c" 1>&6
-echo "configure:1572: checking number of tries a user gets to enter their password" >&5
+echo "configure:1610: checking number of tries a user gets to enter their password" >&5
 # Check whether --with-passwd-tries or --without-passwd-tries was given.
 if test "${with_passwd_tries+set}" = set; then
   withval="$with_passwd_tries"
@@ -1601,7 +1639,7 @@ fi
 
 
 echo $ac_n "checking time in minutes after which sudo will ask for a password again""... $ac_c" 1>&6
-echo "configure:1605: checking time in minutes after which sudo will ask for a password again" >&5
+echo "configure:1643: checking time in minutes after which sudo will ask for a password again" >&5
 # Check whether --with-timeout or --without-timeout was given.
 if test "${with_timeout+set}" = set; then
   withval="$with_timeout"
@@ -1637,7 +1675,7 @@ fi
 
 
 echo $ac_n "checking time in minutes after the password prompt will time out""... $ac_c" 1>&6
-echo "configure:1641: checking time in minutes after the password prompt will time out" >&5
+echo "configure:1679: checking time in minutes after the password prompt will time out" >&5
 # Check whether --with-password-timeout or --without-password-timeout was given.
 if test "${with_password_timeout+set}" = set; then
   withval="$with_password_timeout"
@@ -1673,7 +1711,7 @@ fi
 
 
 echo $ac_n "checking whether to use execvp or execv""... $ac_c" 1>&6
-echo "configure:1677: checking whether to use execvp or execv" >&5
+echo "configure:1715: checking whether to use execvp or execv" >&5
 # Check whether --with-execv or --without-execv was given.
 if test "${with_execv+set}" = set; then
   withval="$with_execv"
@@ -1696,7 +1734,7 @@ fi
 
 
 echo $ac_n "checking whether to use per-tty ticket files""... $ac_c" 1>&6
-echo "configure:1700: checking whether to use per-tty ticket files" >&5
+echo "configure:1738: checking whether to use per-tty ticket files" >&5
 # Check whether --with-tty-tickets or --without-tty-tickets was given.
 if test "${with_tty_tickets+set}" = set; then
   withval="$with_tty_tickets"
@@ -1719,7 +1757,7 @@ fi
 
 
 echo $ac_n "checking whether to include insults""... $ac_c" 1>&6
-echo "configure:1723: checking whether to include insults" >&5
+echo "configure:1761: checking whether to include insults" >&5
 # Check whether --with-insults or --without-insults was given.
 if test "${with_insults+set}" = set; then
   withval="$with_insults"
@@ -1830,7 +1868,7 @@ fi
 
 if test "$with_insults" = "yes"; then
     echo $ac_n "checking which insult sets to include""... $ac_c" 1>&6
-echo "configure:1834: checking which insult sets to include" >&5
+echo "configure:1872: checking which insult sets to include" >&5
     i=""
     test "$with_goons_insults" = "yes" && i="goons ${i}"
     test "$with_hal_insults" = "yes" && i="hal ${i}"
@@ -1840,7 +1878,7 @@ echo "configure:1834: checking which insult sets to include" >&5
 fi
 
 echo $ac_n "checking whether to override the user's path""... $ac_c" 1>&6
-echo "configure:1844: checking whether to override the user's path" >&5
+echo "configure:1882: checking whether to override the user's path" >&5
 # Check whether --with-secure-path or --without-secure-path was given.
 if test "${with_secure_path+set}" = set; then
   withval="$with_secure_path"
@@ -1866,7 +1904,7 @@ fi
 
 
 echo $ac_n "checking whether to get ip addresses from the network interfaces""... $ac_c" 1>&6
-echo "configure:1870: checking whether to get ip addresses from the network interfaces" >&5
+echo "configure:1908: checking whether to get ip addresses from the network interfaces" >&5
 # Check whether --with-interfaces or --without-interfaces was given.
 if test "${with_interfaces+set}" = set; then
   withval="$with_interfaces"
@@ -1890,7 +1928,7 @@ fi
 
 
 echo $ac_n "checking whether to disable shadow password support""... $ac_c" 1>&6
-echo "configure:1894: checking whether to disable shadow password support" >&5
+echo "configure:1932: checking whether to disable shadow password support" >&5
 # Check whether --enable-shadow or --disable-shadow was given.
 if test "${enable_shadow+set}" = set; then
   enableval="$enable_shadow"
@@ -1911,7 +1949,7 @@ fi
 
 
 echo $ac_n "checking whether root should be allowed to use sudo""... $ac_c" 1>&6
-echo "configure:1915: checking whether root should be allowed to use sudo" >&5
+echo "configure:1953: checking whether root should be allowed to use sudo" >&5
 # Check whether --enable-root-sudo or --disable-root-sudo was given.
 if test "${enable_root_sudo+set}" = set; then
   enableval="$enable_root_sudo"
@@ -1934,33 +1972,8 @@ else
 fi
 
 
-echo $ac_n "checking whether to use the system getpass function""... $ac_c" 1>&6
-echo "configure:1939: checking whether to use the system getpass function" >&5
-# Check whether --enable-tgetpass or --disable-tgetpass was given.
-if test "${enable_tgetpass+set}" = set; then
-  enableval="$enable_tgetpass"
-   case "$enableval" in
-    yes)       echo "$ac_t""no" 1>&6
-               ;;
-    no)                echo "$ac_t""yes" 1>&6
-               cat >> confdefs.h <<\EOF
-#define USE_GETPASS 1
-EOF
-
-               TGETPASS=""
-               ;;
-    *)         echo "$ac_t""no" 1>&6
-               echo "Ignoring unknown argument to --enable-tgetpass: $enableval"
-               ;;
-  esac
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
 echo $ac_n "checking whether to log the hostname in the log file""... $ac_c" 1>&6
-echo "configure:1964: checking whether to log the hostname in the log file" >&5
+echo "configure:1977: checking whether to log the hostname in the log file" >&5
 # Check whether --enable-log-host or --disable-log-host was given.
 if test "${enable_log_host+set}" = set; then
   enableval="$enable_log_host"
@@ -1984,7 +1997,7 @@ fi
 
 
 echo $ac_n "checking whether to wrap long lines in the log file""... $ac_c" 1>&6
-echo "configure:1988: checking whether to wrap long lines in the log file" >&5
+echo "configure:2001: checking whether to wrap long lines in the log file" >&5
 # Check whether --enable-log-wrap or --disable-log-wrap was given.
 if test "${enable_log_wrap+set}" = set; then
   enableval="$enable_log_wrap"
@@ -2017,7 +2030,7 @@ fi
 
 
 echo $ac_n "checking whether to invoke a shell if sudo is given no arguments""... $ac_c" 1>&6
-echo "configure:2021: checking whether to invoke a shell if sudo is given no arguments" >&5
+echo "configure:2034: checking whether to invoke a shell if sudo is given no arguments" >&5
 # Check whether --enable-noargs-shell or --disable-noargs-shell was given.
 if test "${enable_noargs_shell+set}" = set; then
   enableval="$enable_noargs_shell"
@@ -2041,7 +2054,7 @@ fi
 
 
 echo $ac_n "checking whether to set \$HOME to target user in shell mode""... $ac_c" 1>&6
-echo "configure:2045: checking whether to set \$HOME to target user in shell mode" >&5
+echo "configure:2058: checking whether to set \$HOME to target user in shell mode" >&5
 # Check whether --enable-shell-sets-home or --disable-shell-sets-home was given.
 if test "${enable_shell_sets_home+set}" = set; then
   enableval="$enable_shell_sets_home"
@@ -2065,7 +2078,7 @@ fi
 
 
 echo $ac_n "checking whether to disable 'command not found' messages""... $ac_c" 1>&6
-echo "configure:2069: checking whether to disable 'command not found' messages" >&5
+echo "configure:2082: checking whether to disable 'command not found' messages" >&5
 # Check whether --enable-path_info or --disable-path_info was given.
 if test "${enable_path_info+set}" = set; then
   enableval="$enable_path_info"
@@ -2091,7 +2104,7 @@ fi
 # Extract the first word of "egrep", so it can be a program name with args.
 set dummy egrep; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2095: checking for $ac_word" >&5
+echo "configure:2108: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_EGREPPROG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2126,7 +2139,7 @@ cross_compiling="no"
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2130: checking for $ac_word" >&5
+echo "configure:2143: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2155,7 +2168,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2159: checking for $ac_word" >&5
+echo "configure:2172: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2203,7 +2216,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2207: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2220: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2213,11 +2226,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 2217 "configure"
+#line 2230 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:2221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -2237,12 +2250,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2241: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2254: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2246: checking whether we are using GNU C" >&5
+echo "configure:2259: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2251,7 +2264,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2255: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2268: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -2266,7 +2279,7 @@ if test $ac_cv_prog_gcc = yes; then
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2270: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2283: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2296,7 +2309,7 @@ fi
 ac_cv_prog_cc_cross="no"
 cross_compiling="no"
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2300: checking how to run the C preprocessor" >&5
+echo "configure:2313: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2311,13 +2324,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 2315 "configure"
+#line 2328 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2321: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -2328,13 +2341,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 2332 "configure"
+#line 2345 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2338: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2351: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -2357,7 +2370,7 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:2361: checking for POSIXized ISC" >&5
+echo "configure:2374: checking for POSIXized ISC" >&5
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
@@ -2381,7 +2394,7 @@ fi
 # Extract the first word of "uname", so it can be a program name with args.
 set dummy uname; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2385: checking for $ac_word" >&5
+echo "configure:2398: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_UNAMEPROG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2409,7 +2422,7 @@ fi
 # Extract the first word of "tr", so it can be a program name with args.
 set dummy tr; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2413: checking for $ac_word" >&5
+echo "configure:2426: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TRPROG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2437,7 +2450,7 @@ fi
 # Extract the first word of "sed", so it can be a program name with args.
 set dummy sed; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2441: checking for $ac_word" >&5
+echo "configure:2454: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_SEDPROG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2465,7 +2478,7 @@ fi
 # Extract the first word of "nroff", so it can be a program name with args.
 set dummy nroff; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2469: checking for $ac_word" >&5
+echo "configure:2482: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NROFFPROG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2520,7 +2533,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:2524: checking host system type" >&5
+echo "configure:2537: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -2549,7 +2562,7 @@ if test -n "$sudo_cv_prev_host"; then
        exit 1
     else
        echo $ac_n "checking previous host type""... $ac_c" 1>&6
-echo "configure:2553: checking previous host type" >&5
+echo "configure:2566: checking previous host type" >&5
        if eval "test \"`echo '$''{'sudo_cv_prev_host'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2584,12 +2597,12 @@ case "$host" in
                # check for password adjunct functions (shadow passwords)
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getpwanam""... $ac_c" 1>&6
-echo "configure:2588: checking for getpwanam" >&5
+echo "configure:2601: checking for getpwanam" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getpwanam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2593 "configure"
+#line 2606 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getpwanam(); below.  */
@@ -2612,7 +2625,7 @@ getpwanam();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_getpwanam=yes"
 else
@@ -2632,12 +2645,12 @@ EOF
  for ac_func in issecure
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2636: checking for $ac_func" >&5
+echo "configure:2649: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2641 "configure"
+#line 2654 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2660,7 +2673,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2709,7 +2722,7 @@ EOF
     *-*-hiuxmpp*)
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6
-echo "configure:2713: checking for getprpwnam in -lsec" >&5
+echo "configure:2726: checking for getprpwnam in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -2721,7 +2734,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2725 "configure"
+#line 2738 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2732,7 +2745,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:2736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2754,7 +2767,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:2758: checking for getprpwnam in -lsecurity" >&5
+echo "configure:2771: checking for getprpwnam in -lsecurity" >&5
 if test -n ""; then
   ac_lib_var=`echo security'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -2766,7 +2779,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2770 "configure"
+#line 2783 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2777,7 +2790,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:2781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2812,7 +2825,7 @@ fi
 
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6
-echo "configure:2816: checking for getprpwnam in -lsec" >&5
+echo "configure:2829: checking for getprpwnam in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -2824,7 +2837,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2828 "configure"
+#line 2841 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2835,7 +2848,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:2839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2854,7 +2867,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 #define HAVE_GETPRPWNAM 1
 EOF
  echo $ac_n "checking for iscomsec in -lsec""... $ac_c" 1>&6
-echo "configure:2858: checking for iscomsec in -lsec" >&5
+echo "configure:2871: checking for iscomsec in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'iscomsec | sed 'y% ./+-%___p_%'`
 else
@@ -2866,7 +2879,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2870 "configure"
+#line 2883 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2877,7 +2890,7 @@ int main() {
 iscomsec()
 ; return 0; }
 EOF
-if { (eval echo configure:2881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2943,12 +2956,12 @@ EOF
                    for ac_func in getspwuid
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2947: checking for $ac_func" >&5
+echo "configure:2960: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2952 "configure"
+#line 2965 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2971,7 +2984,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3048,7 +3061,7 @@ EOF
                SUDO_LDFLAGS="${SUDO_LDFLAGS} -Wl,-no_library_replacement"
 
                echo $ac_n "checking whether to disable sia support on Digital UNIX""... $ac_c" 1>&6
-echo "configure:3052: checking whether to disable sia support on Digital UNIX" >&5
+echo "configure:3065: checking whether to disable sia support on Digital UNIX" >&5
                # Check whether --enable-sia or --disable-sia was given.
 if test "${enable_sia+set}" = set; then
   enableval="$enable_sia"
@@ -3072,12 +3085,12 @@ fi
                # unless overridden on the command line
                if test "$CHECKSIA" = "true"; then
                    echo $ac_n "checking for sia_ses_init""... $ac_c" 1>&6
-echo "configure:3076: checking for sia_ses_init" >&5
+echo "configure:3089: checking for sia_ses_init" >&5
 if eval "test \"`echo '$''{'ac_cv_func_sia_ses_init'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3081 "configure"
+#line 3094 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char sia_ses_init(); below.  */
@@ -3100,7 +3113,7 @@ sia_ses_init();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_sia_ses_init=yes"
 else
@@ -3118,7 +3131,7 @@ if eval "test \"`echo '$ac_cv_func_'sia_ses_init`\" = yes"; then
 #define HAVE_SIA 1
 EOF
  
-                   if test -n "$with_skey" -o -n "$with_opie" -o -n "$with_otp_only" -o -n "$with_long_otp_prompt" -o -n "$with_SecurID" -o -n "$with_AuthSRV" -o -n "$with_kerb4" -o -n "$with_kerb5" -o -n "$with_pam" -o -n "$with_AFS" -o -n "$with_DCE"; then
+                   if test -n "$with_skey" -o -n "$with_opie" -o -n "$with_otp_only" -o -n "$with_long_otp_prompt" -o -n "$with_SecurID" -o -n "$with_fwtk" -o -n "$with_kerb4" -o -n "$with_kerb5" -o -n "$with_pam" -o -n "$with_AFS" -o -n "$with_DCE"; then
                        echo "Sorry, you cannot mix SIA and other authentication schemes.  You can turn off SIA support via the --disable-sia option"
                        exit 1
                    fi; CHECKSHADOW=false
@@ -3129,7 +3142,7 @@ fi
                fi
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:3133: checking for getprpwnam in -lsecurity" >&5
+echo "configure:3146: checking for getprpwnam in -lsecurity" >&5
 if test -n ""; then
   ac_lib_var=`echo security'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3141,7 +3154,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3145 "configure"
+#line 3158 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3152,7 +3165,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3176,9 +3189,14 @@ fi
                fi
 
                if test -n "$SECUREWARE"; then
+                   AUTH_OBJS="${AUTH_OBJS} secureware.o"
+                   cat >> confdefs.h <<\EOF
+#define HAVE_GETPRPWNAM 1
+EOF
+
                    # 4.x and higher need -ldb too...
                    echo $ac_n "checking for dbopen in -ldb""... $ac_c" 1>&6
-echo "configure:3182: checking for dbopen in -ldb" >&5
+echo "configure:3200: checking for dbopen in -ldb" >&5
 if test -n ""; then
   ac_lib_var=`echo db'_'dbopen | sed 'y% ./+-%___p_%'`
 else
@@ -3190,7 +3208,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldb  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3194 "configure"
+#line 3212 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3201,7 +3219,7 @@ int main() {
 dbopen()
 ; return 0; }
 EOF
-if { (eval echo configure:3205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3225,12 +3243,12 @@ fi
                    for ac_func in dispcrypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3229: checking for $ac_func" >&5
+echo "configure:3247: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3234 "configure"
+#line 3252 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3253,7 +3271,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3278,9 +3296,9 @@ fi
 done
 
                    echo $ac_n "checking for broken /usr/include/prot.h""... $ac_c" 1>&6
-echo "configure:3282: checking for broken /usr/include/prot.h" >&5
+echo "configure:3300: checking for broken /usr/include/prot.h" >&5
                    cat > conftest.$ac_ext <<EOF
-#line 3284 "configure"
+#line 3302 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -3291,7 +3309,7 @@ int main() {
 exit(0);
 ; return 0; }
 EOF
-if { (eval echo configure:3295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""no" 1>&6
 else
@@ -3303,6 +3321,8 @@ else
                    
 fi
 rm -f conftest*
+               else
+                   AUTH_OBJS="sia.o"
                fi
                ;;
     *-*-irix*)
@@ -3334,7 +3354,7 @@ EOF
                # IRIX <= 4 needs -lsun
                if test "$OSREV" -le 4; then
                    echo $ac_n "checking for getpwnam in -lsun""... $ac_c" 1>&6
-echo "configure:3338: checking for getpwnam in -lsun" >&5
+echo "configure:3358: checking for getpwnam in -lsun" >&5
 if test -n ""; then
   ac_lib_var=`echo sun'_'getpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3346,7 +3366,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsun  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3350 "configure"
+#line 3370 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3357,7 +3377,7 @@ int main() {
 getpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3383,12 +3403,12 @@ fi
                # Some Linux versions need to link with -lshadow
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getspnam""... $ac_c" 1>&6
-echo "configure:3387: checking for getspnam" >&5
+echo "configure:3407: checking for getspnam" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getspnam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3392 "configure"
+#line 3412 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getspnam(); below.  */
@@ -3411,7 +3431,7 @@ getspnam();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_getspnam=yes"
 else
@@ -3432,7 +3452,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getspnam in -lshadow""... $ac_c" 1>&6
-echo "configure:3436: checking for getspnam in -lshadow" >&5
+echo "configure:3456: checking for getspnam in -lshadow" >&5
 if test -n ""; then
   ac_lib_var=`echo shadow'_'getspnam | sed 'y% ./+-%___p_%'`
 else
@@ -3444,7 +3464,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lshadow  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3448 "configure"
+#line 3468 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3455,7 +3475,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3494,7 +3514,7 @@ EOF
 
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6
-echo "configure:3498: checking for getprpwnam in -lsec" >&5
+echo "configure:3518: checking for getprpwnam in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3506,7 +3526,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3510 "configure"
+#line 3530 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3517,7 +3537,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3547,7 +3567,7 @@ fi
                OS="ultrix"
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getauthuid in -lauth""... $ac_c" 1>&6
-echo "configure:3551: checking for getauthuid in -lauth" >&5
+echo "configure:3571: checking for getauthuid in -lauth" >&5
 if test -n ""; then
   ac_lib_var=`echo auth'_'getauthuid | sed 'y% ./+-%___p_%'`
 else
@@ -3559,7 +3579,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lauth  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3563 "configure"
+#line 3583 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3570,7 +3590,7 @@ int main() {
 getauthuid()
 ; return 0; }
 EOF
-if { (eval echo configure:3574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3610,7 +3630,7 @@ fi
 
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6
-echo "configure:3614: checking for getspnam in -lsec" >&5
+echo "configure:3634: checking for getspnam in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'getspnam | sed 'y% ./+-%___p_%'`
 else
@@ -3622,7 +3642,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3626 "configure"
+#line 3646 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3633,7 +3653,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3662,7 +3682,7 @@ fi
     *-*-sco*)
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6
-echo "configure:3666: checking for getprpwnam in -lprot" >&5
+echo "configure:3686: checking for getprpwnam in -lprot" >&5
 if test -n ""; then
   ac_lib_var=`echo prot'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3674,7 +3694,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lprot  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3678 "configure"
+#line 3698 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3685,7 +3705,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3714,7 +3734,7 @@ fi
     *-sequent-sysv*)
                if test "$CHECKSHADOW" = "true"; then
                    echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6
-echo "configure:3718: checking for getspnam in -lsec" >&5
+echo "configure:3738: checking for getspnam in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'getspnam | sed 'y% ./+-%___p_%'`
 else
@@ -3726,7 +3746,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3730 "configure"
+#line 3750 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3737,7 +3757,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3785,12 +3805,12 @@ esac
 
 if test "$CHECKSHADOW" = "true"; then
     echo $ac_n "checking for getspnam""... $ac_c" 1>&6
-echo "configure:3789: checking for getspnam" >&5
+echo "configure:3809: checking for getspnam" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getspnam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3794 "configure"
+#line 3814 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getspnam(); below.  */
@@ -3813,7 +3833,7 @@ getspnam();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_getspnam=yes"
 else
@@ -3838,12 +3858,12 @@ fi
 fi
 if test "$CHECKSHADOW" = "true"; then
     echo $ac_n "checking for getprpwnam""... $ac_c" 1>&6
-echo "configure:3842: checking for getprpwnam" >&5
+echo "configure:3862: checking for getprpwnam" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getprpwnam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3847 "configure"
+#line 3867 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getprpwnam(); below.  */
@@ -3866,7 +3886,7 @@ getprpwnam();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_getprpwnam=yes"
 else
@@ -3887,7 +3907,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6
-echo "configure:3891: checking for getprpwnam in -lsec" >&5
+echo "configure:3911: checking for getprpwnam in -lsec" >&5
 if test -n ""; then
   ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3899,7 +3919,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3903 "configure"
+#line 3923 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3910,7 +3930,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3932,7 +3952,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:3936: checking for getprpwnam in -lsecurity" >&5
+echo "configure:3956: checking for getprpwnam in -lsecurity" >&5
 if test -n ""; then
   ac_lib_var=`echo security'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3944,7 +3964,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3948 "configure"
+#line 3968 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3955,7 +3975,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:3959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3977,7 +3997,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6
-echo "configure:3981: checking for getprpwnam in -lprot" >&5
+echo "configure:4001: checking for getprpwnam in -lprot" >&5
 if test -n ""; then
   ac_lib_var=`echo prot'_'getprpwnam | sed 'y% ./+-%___p_%'`
 else
@@ -3989,7 +4009,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lprot  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3993 "configure"
+#line 4013 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4000,7 +4020,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:4004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4033,13 +4053,13 @@ fi
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:4037: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:4057: checking whether ${CC-cc} needs -traditional" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
-#line 4043 "configure"
+#line 4063 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -4057,7 +4077,7 @@ rm -f conftest*
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 4061 "configure"
+#line 4081 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -4079,12 +4099,12 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
 fi
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4083: checking for working const" >&5
+echo "configure:4103: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4088 "configure"
+#line 4108 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -4133,7 +4153,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:4137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -4158,7 +4178,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4162: checking for $ac_word" >&5
+echo "configure:4182: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4189,7 +4209,7 @@ test -n "$YACC" || YACC="yacc"
 
 if test -z "$with_sendmail"; then
     echo $ac_n "checking for sendmail""... $ac_c" 1>&6
-echo "configure:4193: checking for sendmail" >&5
+echo "configure:4213: checking for sendmail" >&5
 if test -f "/usr/sbin/sendmail"; then
     echo "$ac_t""/usr/sbin/sendmail" 1>&6
     cat >> confdefs.h <<\EOF
@@ -4232,7 +4252,7 @@ fi
 
 fi
 echo $ac_n "checking for mv""... $ac_c" 1>&6
-echo "configure:4236: checking for mv" >&5
+echo "configure:4256: checking for mv" >&5
 if test -f "/usr/bin/mv"; then
     echo "$ac_t""/usr/bin/mv" 1>&6
     cat >> confdefs.h <<\EOF
@@ -4262,7 +4282,7 @@ else
 fi
 
 echo $ac_n "checking for bourne shell""... $ac_c" 1>&6
-echo "configure:4266: checking for bourne shell" >&5
+echo "configure:4286: checking for bourne shell" >&5
 if test -f "/bin/sh"; then
     echo "$ac_t""/bin/sh" 1>&6
     cat >> confdefs.h <<\EOF
@@ -4316,7 +4336,7 @@ else
 fi
 
 echo $ac_n "checking for vi""... $ac_c" 1>&6
-echo "configure:4320: checking for vi" >&5
+echo "configure:4340: checking for vi" >&5
 if test -f "/usr/bin/vi"; then
     echo "$ac_t""/usr/bin/vi" 1>&6
     cat >> confdefs.h <<\EOF
@@ -4352,12 +4372,12 @@ else
 fi
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:4356: checking for ANSI C header files" >&5
+echo "configure:4376: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4361 "configure"
+#line 4381 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -4365,7 +4385,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4369: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4382,7 +4402,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4386 "configure"
+#line 4406 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -4400,7 +4420,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4404 "configure"
+#line 4424 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -4421,7 +4441,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 4425 "configure"
+#line 4445 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -4432,7 +4452,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:4436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -4460,12 +4480,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:4464: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4484: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4469 "configure"
+#line 4489 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -4473,7 +4493,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4477: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -4498,7 +4518,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:4502: checking for opendir in -ldir" >&5
+echo "configure:4522: checking for opendir in -ldir" >&5
 if test -n ""; then
   ac_lib_var=`echo dir'_'opendir | sed 'y% ./+-%___p_%'`
 else
@@ -4510,7 +4530,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4514 "configure"
+#line 4534 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4521,7 +4541,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:4525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4543,7 +4563,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4547: checking for opendir in -lx" >&5
+echo "configure:4567: checking for opendir in -lx" >&5
 if test -n ""; then
   ac_lib_var=`echo x'_'opendir | sed 'y% ./+-%___p_%'`
 else
@@ -4555,7 +4575,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4559 "configure"
+#line 4579 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4566,7 +4586,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:4570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4592,17 +4612,17 @@ for ac_hdr in string.h strings.h unistd.h malloc.h paths.h utime.h fnmatch.h net
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4596: checking for $ac_hdr" >&5
+echo "configure:4616: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4601 "configure"
+#line 4621 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4606: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4633,17 +4653,17 @@ if test "$OS" != "ultrix"; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4637: checking for $ac_hdr" >&5
+echo "configure:4657: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4642 "configure"
+#line 4662 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4667: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4673,17 +4693,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4677: checking for $ac_hdr" >&5
+echo "configure:4697: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4682 "configure"
+#line 4702 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4687: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4706,12 +4726,12 @@ EOF
  for ac_func in tcgetattr
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4710: checking for $ac_func" >&5
+echo "configure:4730: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4715 "configure"
+#line 4735 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4734,7 +4754,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4765,12 +4785,12 @@ done
 
 fi
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:4769: checking for mode_t" >&5
+echo "configure:4789: checking for mode_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4774 "configure"
+#line 4794 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4798,12 +4818,12 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:4802: checking for uid_t in sys/types.h" >&5
+echo "configure:4822: checking for uid_t in sys/types.h" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4807 "configure"
+#line 4827 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -4832,12 +4852,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:4836: checking for size_t" >&5
+echo "configure:4856: checking for size_t" >&5
 if eval "test \"`echo '$''{'sudo_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4841 "configure"
+#line 4861 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4867,12 +4887,12 @@ EOF
 fi
 
 echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:4871: checking for ssize_t" >&5
+echo "configure:4891: checking for ssize_t" >&5
 if eval "test \"`echo '$''{'sudo_cv_type_ssize_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4876 "configure"
+#line 4896 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4902,12 +4922,12 @@ EOF
 fi
 
 echo $ac_n "checking for dev_t""... $ac_c" 1>&6
-echo "configure:4906: checking for dev_t" >&5
+echo "configure:4926: checking for dev_t" >&5
 if eval "test \"`echo '$''{'sudo_cv_type_dev_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4911 "configure"
+#line 4931 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4937,12 +4957,12 @@ EOF
 fi
 
 echo $ac_n "checking for ino_t""... $ac_c" 1>&6
-echo "configure:4941: checking for ino_t" >&5
+echo "configure:4961: checking for ino_t" >&5
 if eval "test \"`echo '$''{'sudo_cv_type_ino_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4946 "configure"
+#line 4966 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4972,9 +4992,9 @@ EOF
 fi
 
 echo $ac_n "checking for full void implementation""... $ac_c" 1>&6
-echo "configure:4976: checking for full void implementation" >&5
+echo "configure:4996: checking for full void implementation" >&5
 cat > conftest.$ac_ext <<EOF
-#line 4978 "configure"
+#line 4998 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -4982,7 +5002,7 @@ void *foo;
 foo = (void *)0; (void *)"test";
 ; return 0; }
 EOF
-if { (eval echo configure:4986: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define VOID void
@@ -5002,7 +5022,7 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking max length of uid_t""... $ac_c" 1>&6
-echo "configure:5006: checking max length of uid_t" >&5
+echo "configure:5026: checking max length of uid_t" >&5
 if eval "test \"`echo '$''{'sudo_cv_uid_t_len'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5011,7 +5031,7 @@ if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5015 "configure"
+#line 5035 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <pwd.h>
@@ -5032,7 +5052,7 @@ main() {
   exit(0);
 }
 EOF
-if { (eval echo configure:5036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   sudo_cv_uid_t_len=`cat conftestdata`
 else
@@ -5055,7 +5075,7 @@ EOF
 
 
 echo $ac_n "checking for sa_len field in struct sockaddr""... $ac_c" 1>&6
-echo "configure:5059: checking for sa_len field in struct sockaddr" >&5
+echo "configure:5079: checking for sa_len field in struct sockaddr" >&5
 if eval "test \"`echo '$''{'sudo_cv_sock_sa_len'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5063,7 +5083,7 @@ else
   sudo_cv_sock_sa_len=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 5067 "configure"
+#line 5087 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -5073,7 +5093,7 @@ s.sa_len = 0;
 exit(0);
 }
 EOF
-if { (eval echo configure:5077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   sudo_cv_sock_sa_len=yes
 else
@@ -5098,12 +5118,12 @@ fi
 case "$DEFS" in
     *"RETSIGTYPE"*)    ;;
     *)                 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:5102: checking return type of signal handlers" >&5
+echo "configure:5122: checking return type of signal handlers" >&5
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5107 "configure"
+#line 5127 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -5120,7 +5140,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:5124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -5142,12 +5162,12 @@ esac
 for ac_func in strchr strrchr memcpy memset sysconf sigaction tzset strcasecmp seteuid
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5146: checking for $ac_func" >&5
+echo "configure:5166: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5151 "configure"
+#line 5171 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5170,7 +5190,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5198,12 +5218,12 @@ if test -n "$SECUREWARE"; then
     for ac_func in bigcrypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5202: checking for $ac_func" >&5
+echo "configure:5222: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5207 "configure"
+#line 5227 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5226,7 +5246,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5253,12 +5273,12 @@ done
     for ac_func in set_auth_parameters
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5257: checking for $ac_func" >&5
+echo "configure:5277: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5262 "configure"
+#line 5282 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5281,7 +5301,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5308,12 +5328,12 @@ done
     for ac_func in initprivs
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5312: checking for $ac_func" >&5
+echo "configure:5332: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5317 "configure"
+#line 5337 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5336,7 +5356,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5363,12 +5383,12 @@ done
 fi
 if test -z "$BROKEN_GETCWD"; then
     echo $ac_n "checking for getcwd""... $ac_c" 1>&6
-echo "configure:5367: checking for getcwd" >&5
+echo "configure:5387: checking for getcwd" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getcwd'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5372 "configure"
+#line 5392 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getcwd(); below.  */
@@ -5391,7 +5411,7 @@ getcwd();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_getcwd=yes"
 else
@@ -5416,12 +5436,12 @@ fi
 
 fi
 echo $ac_n "checking for waitpid""... $ac_c" 1>&6
-echo "configure:5420: checking for waitpid" >&5
+echo "configure:5440: checking for waitpid" >&5
 if eval "test \"`echo '$''{'ac_cv_func_waitpid'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5425 "configure"
+#line 5445 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char waitpid(); below.  */
@@ -5444,7 +5464,7 @@ waitpid();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_waitpid=yes"
 else
@@ -5467,12 +5487,12 @@ else
 for ac_func in wait3
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5471: checking for $ac_func" >&5
+echo "configure:5491: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5476 "configure"
+#line 5496 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5495,7 +5515,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5522,12 +5542,12 @@ done
 fi
 
 echo $ac_n "checking for innetgr""... $ac_c" 1>&6
-echo "configure:5526: checking for innetgr" >&5
+echo "configure:5546: checking for innetgr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_innetgr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5531 "configure"
+#line 5551 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char innetgr(); below.  */
@@ -5550,7 +5570,7 @@ innetgr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_innetgr=yes"
 else
@@ -5570,12 +5590,12 @@ EOF
  for ac_func in getdomainname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5574: checking for $ac_func" >&5
+echo "configure:5594: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5579 "configure"
+#line 5599 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5598,7 +5618,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5627,12 +5647,12 @@ else
 fi
 
 echo $ac_n "checking for lsearch""... $ac_c" 1>&6
-echo "configure:5631: checking for lsearch" >&5
+echo "configure:5651: checking for lsearch" >&5
 if eval "test \"`echo '$''{'ac_cv_func_lsearch'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5636 "configure"
+#line 5656 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char lsearch(); below.  */
@@ -5655,7 +5675,7 @@ lsearch();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_lsearch=yes"
 else
@@ -5676,7 +5696,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for lsearch in -lcompat""... $ac_c" 1>&6
-echo "configure:5680: checking for lsearch in -lcompat" >&5
+echo "configure:5700: checking for lsearch in -lcompat" >&5
 if test -n ""; then
   ac_lib_var=`echo compat'_'lsearch | sed 'y% ./+-%___p_%'`
 else
@@ -5688,7 +5708,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcompat  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5692 "configure"
+#line 5712 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5699,7 +5719,7 @@ int main() {
 lsearch()
 ; return 0; }
 EOF
-if { (eval echo configure:5703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5716,17 +5736,17 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "search.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for search.h""... $ac_c" 1>&6
-echo "configure:5720: checking for search.h" >&5
+echo "configure:5740: checking for search.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5725 "configure"
+#line 5745 "configure"
 #include "confdefs.h"
 #include <search.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5730: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5759,12 +5779,12 @@ fi
 fi
 
 echo $ac_n "checking for setenv""... $ac_c" 1>&6
-echo "configure:5763: checking for setenv" >&5
+echo "configure:5783: checking for setenv" >&5
 if eval "test \"`echo '$''{'ac_cv_func_setenv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5768 "configure"
+#line 5788 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char setenv(); below.  */
@@ -5787,7 +5807,7 @@ setenv();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_setenv=yes"
 else
@@ -5808,12 +5828,12 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for putenv""... $ac_c" 1>&6
-echo "configure:5812: checking for putenv" >&5
+echo "configure:5832: checking for putenv" >&5
 if eval "test \"`echo '$''{'ac_cv_func_putenv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5817 "configure"
+#line 5837 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char putenv(); below.  */
@@ -5836,7 +5856,7 @@ putenv();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_putenv=yes"
 else
@@ -5862,12 +5882,12 @@ fi
 fi
 
 echo $ac_n "checking for utime""... $ac_c" 1>&6
-echo "configure:5866: checking for utime" >&5
+echo "configure:5886: checking for utime" >&5
 if eval "test \"`echo '$''{'ac_cv_func_utime'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5871 "configure"
+#line 5891 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char utime(); below.  */
@@ -5890,7 +5910,7 @@ utime();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_utime=yes"
 else
@@ -5909,7 +5929,7 @@ if eval "test \"`echo '$ac_cv_func_'utime`\" = yes"; then
 EOF
 
 echo $ac_n "checking for POSIX utime""... $ac_c" 1>&6
-echo "configure:5913: checking for POSIX utime" >&5
+echo "configure:5933: checking for POSIX utime" >&5
 if eval "test \"`echo '$''{'sudo_cv_func_utime_posix'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5918,7 +5938,7 @@ if test "$cross_compiling" = yes; then
   sudo_cv_func_utime_posix=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 5922 "configure"
+#line 5942 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -5930,7 +5950,7 @@ utime("conftestdata", &ut);
 exit(0);
 }
 EOF
-if { (eval echo configure:5934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   sudo_cv_func_utime_posix=yes
 else
@@ -5952,104 +5972,327 @@ EOF
 
 fi
 
-echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6
-echo "configure:5957: checking whether utime accepts a null argument" >&5
-if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then
+else
+  echo "$ac_t""no" 1>&6
+LIBOBJS="$LIBOBJS utime.o"
+fi
+
+echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
+echo "configure:5982: checking for working fnmatch" >&5
+if eval "test \"`echo '$''{'sudo_cv_func_fnmatch'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   rm -f conftestdata; > conftestdata
-# Sequent interprets utime(file, 0) to mean use start of epoch.  Wrong.
 if test "$cross_compiling" = yes; then
-  ac_cv_func_utime_null=no
+  sudo_cv_func_fnmatch=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 5967 "configure"
+#line 5991 "configure"
 #include "confdefs.h"
-#include <sys/types.h>
-#include <sys/stat.h>
 main() {
-struct stat s, t;
-exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0
-&& stat("conftestdata", &t) == 0 && t.st_mtime >= s.st_mtime
-&& t.st_mtime - s.st_mtime < 120));
+exit(fnmatch("/*/bin/echo *", "/usr/bin/echo just a test", 0));
 }
 EOF
-if { (eval echo configure:5978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
-  ac_cv_func_utime_null=yes
+  sudo_cv_func_fnmatch=yes
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
-  ac_cv_func_utime_null=no
+  sudo_cv_func_fnmatch=no
 fi
 rm -fr conftest*
 fi
 
 rm -f core core.* *.core
 fi
-
-echo "$ac_t""$ac_cv_func_utime_null" 1>&6
-if test $ac_cv_func_utime_null = yes; then
+echo "$ac_t""$sudo_cv_func_fnmatch" 1>&6
+if test $sudo_cv_func_fnmatch = yes; then
   cat >> confdefs.h <<\EOF
-#define HAVE_UTIME_NULL 1
+#define HAVE_FNMATCH 1
 EOF
 
+else
+  LIBOBJS="$LIBOBJS fnmatch.o"
 fi
 
+for ac_func in strerror
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:6024: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 6029 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
 else
   echo "$ac_t""no" 1>&6
-LIBOBJS="$LIBOBJS utime.o"
+LIBOBJS="$LIBOBJS ${ac_func}.o"
 fi
+done
 
-echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
-echo "configure:6007: checking for working fnmatch" >&5
-if eval "test \"`echo '$''{'sudo_cv_func_fnmatch'+set}'`\" = set"; then
+
+echo $ac_n "checking for snprintf""... $ac_c" 1>&6
+echo "configure:6079: checking for snprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  rm -f conftestdata; > conftestdata
-if test "$cross_compiling" = yes; then
-  sudo_cv_func_fnmatch=no
+  cat > conftest.$ac_ext <<EOF
+#line 6084 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char snprintf(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char snprintf();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_snprintf) || defined (__stub___snprintf)
+choke me
+#else
+snprintf();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_snprintf=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_snprintf=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'snprintf`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_SNPRINTF 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+NEED_SNPRINTF=1
+fi
+
+echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6
+echo "configure:6131: checking for vsnprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6016 "configure"
+#line 6136 "configure"
 #include "confdefs.h"
-main() {
-exit(fnmatch("/*/bin/echo *", "/usr/bin/echo just a test", 0));
-}
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char vsnprintf(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char vsnprintf();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_vsnprintf) || defined (__stub___vsnprintf)
+choke me
+#else
+vsnprintf();
+#endif
+
+; return 0; }
 EOF
-if { (eval echo configure:6022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  sudo_cv_func_fnmatch=yes
+if { (eval echo configure:6159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_vsnprintf=yes"
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  sudo_cv_func_fnmatch=no
+  rm -rf conftest*
+  eval "ac_cv_func_vsnprintf=no"
 fi
-rm -fr conftest*
+rm -f conftest*
 fi
 
-rm -f core core.* *.core
+if eval "test \"`echo '$ac_cv_func_'vsnprintf`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_VSNPRINTF 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+NEED_SNPRINTF=1
 fi
-echo "$ac_t""$sudo_cv_func_fnmatch" 1>&6
-if test $sudo_cv_func_fnmatch = yes; then
+
+echo $ac_n "checking for asprintf""... $ac_c" 1>&6
+echo "configure:6183: checking for asprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_asprintf'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 6188 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char asprintf(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char asprintf();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_asprintf) || defined (__stub___asprintf)
+choke me
+#else
+asprintf();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_asprintf=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_asprintf=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'asprintf`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
   cat >> confdefs.h <<\EOF
-#define HAVE_FNMATCH 1
+#define HAVE_ASPRINTF 1
 EOF
 
 else
-  LIBOBJS="$LIBOBJS fnmatch.o"
+  echo "$ac_t""no" 1>&6
+NEED_SNPRINTF=1
+fi
+
+echo $ac_n "checking for vasprintf""... $ac_c" 1>&6
+echo "configure:6235: checking for vasprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_vasprintf'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 6240 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char vasprintf(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char vasprintf();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_vasprintf) || defined (__stub___vasprintf)
+choke me
+#else
+vasprintf();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:6263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_vasprintf=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_vasprintf=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'vasprintf`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_VASPRINTF 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+NEED_SNPRINTF=1
 fi
 
+if test -n "$NEED_SNPRINTF"; then
+    LIBOBJS="$LIBOBJS snprintf.o"
+fi
 if test -z "$LIB_CRYPT"; then
     echo $ac_n "checking for crypt""... $ac_c" 1>&6
-echo "configure:6048: checking for crypt" >&5
+echo "configure:6291: checking for crypt" >&5
 if eval "test \"`echo '$''{'ac_cv_func_crypt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6053 "configure"
+#line 6296 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char crypt(); below.  */
@@ -6072,7 +6315,7 @@ crypt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_crypt=yes"
 else
@@ -6090,7 +6333,7 @@ if eval "test \"`echo '$ac_cv_func_'crypt`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:6094: checking for crypt in -lcrypt" >&5
+echo "configure:6337: checking for crypt in -lcrypt" >&5
 if test -n ""; then
   ac_lib_var=`echo crypt'_'crypt | sed 'y% ./+-%___p_%'`
 else
@@ -6102,7 +6345,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6106 "configure"
+#line 6349 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6113,7 +6356,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6132,7 +6375,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for crypt in -lcrypt_d""... $ac_c" 1>&6
-echo "configure:6136: checking for crypt in -lcrypt_d" >&5
+echo "configure:6379: checking for crypt in -lcrypt_d" >&5
 if test -n ""; then
   ac_lib_var=`echo crypt_d'_'crypt | sed 'y% ./+-%___p_%'`
 else
@@ -6144,7 +6387,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt_d  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6148 "configure"
+#line 6391 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6155,7 +6398,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6174,7 +6417,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for ufc in -lcrypt""... $ac_c" 1>&6
-echo "configure:6178: checking for ufc in -lcrypt" >&5
+echo "configure:6421: checking for ufc in -lcrypt" >&5
 if test -n ""; then
   ac_lib_var=`echo crypt'_'ufc | sed 'y% ./+-%___p_%'`
 else
@@ -6186,7 +6429,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6190 "configure"
+#line 6433 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6197,7 +6440,7 @@ int main() {
 ufc()
 ; return 0; }
 EOF
-if { (eval echo configure:6201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6225,12 +6468,12 @@ fi
 
 fi
 echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:6229: checking for socket" >&5
+echo "configure:6472: checking for socket" >&5
 if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6234 "configure"
+#line 6477 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char socket(); below.  */
@@ -6253,7 +6496,7 @@ socket();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_socket=yes"
 else
@@ -6271,7 +6514,7 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:6275: checking for socket in -lsocket" >&5
+echo "configure:6518: checking for socket in -lsocket" >&5
 if test -n ""; then
   ac_lib_var=`echo socket'_'socket | sed 'y% ./+-%___p_%'`
 else
@@ -6283,7 +6526,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6287 "configure"
+#line 6530 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6294,7 +6537,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:6298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6313,7 +6556,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for socket in -linet""... $ac_c" 1>&6
-echo "configure:6317: checking for socket in -linet" >&5
+echo "configure:6560: checking for socket in -linet" >&5
 if test -n ""; then
   ac_lib_var=`echo inet'_'socket | sed 'y% ./+-%___p_%'`
 else
@@ -6325,7 +6568,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6329 "configure"
+#line 6572 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6336,7 +6579,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:6340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6356,7 +6599,7 @@ else
   echo "$ac_t""no" 1>&6
 echo "configure: warning: unable to find socket() trying -lsocket -lnsl" 1>&2
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:6360: checking for socket in -lsocket" >&5
+echo "configure:6603: checking for socket in -lsocket" >&5
 if test -n "-lnsl"; then
   ac_lib_var=`echo socket'_'socket-lnsl | sed 'y% ./+-%___p_%'`
 else
@@ -6368,7 +6611,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket -lnsl $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6372 "configure"
+#line 6615 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6379,7 +6622,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:6383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6406,12 +6649,12 @@ fi
 fi
 
 echo $ac_n "checking for inet_addr""... $ac_c" 1>&6
-echo "configure:6410: checking for inet_addr" >&5
+echo "configure:6653: checking for inet_addr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_inet_addr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6415 "configure"
+#line 6658 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char inet_addr(); below.  */
@@ -6434,7 +6677,7 @@ inet_addr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_inet_addr=yes"
 else
@@ -6452,7 +6695,7 @@ if eval "test \"`echo '$ac_cv_func_'inet_addr`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for inet_addr in -lnsl""... $ac_c" 1>&6
-echo "configure:6456: checking for inet_addr in -lnsl" >&5
+echo "configure:6699: checking for inet_addr in -lnsl" >&5
 if test -n ""; then
   ac_lib_var=`echo nsl'_'inet_addr | sed 'y% ./+-%___p_%'`
 else
@@ -6464,7 +6707,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6468 "configure"
+#line 6711 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6475,7 +6718,7 @@ int main() {
 inet_addr()
 ; return 0; }
 EOF
-if { (eval echo configure:6479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6494,7 +6737,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for inet_addr in -linet""... $ac_c" 1>&6
-echo "configure:6498: checking for inet_addr in -linet" >&5
+echo "configure:6741: checking for inet_addr in -linet" >&5
 if test -n ""; then
   ac_lib_var=`echo inet'_'inet_addr | sed 'y% ./+-%___p_%'`
 else
@@ -6506,7 +6749,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6510 "configure"
+#line 6753 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6517,7 +6760,7 @@ int main() {
 inet_addr()
 ; return 0; }
 EOF
-if { (eval echo configure:6521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6537,7 +6780,7 @@ else
   echo "$ac_t""no" 1>&6
 echo "configure: warning: unable to find socket() trying -lsocket -lnsl" 1>&2
 echo $ac_n "checking for inet_addr in -lsocket""... $ac_c" 1>&6
-echo "configure:6541: checking for inet_addr in -lsocket" >&5
+echo "configure:6784: checking for inet_addr in -lsocket" >&5
 if test -n "-lnsl"; then
   ac_lib_var=`echo socket'_'inet_addr-lnsl | sed 'y% ./+-%___p_%'`
 else
@@ -6549,7 +6792,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket -lnsl $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6553 "configure"
+#line 6796 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6560,7 +6803,7 @@ int main() {
 inet_addr()
 ; return 0; }
 EOF
-if { (eval echo configure:6564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6587,12 +6830,12 @@ fi
 fi
 
 echo $ac_n "checking for syslog""... $ac_c" 1>&6
-echo "configure:6591: checking for syslog" >&5
+echo "configure:6834: checking for syslog" >&5
 if eval "test \"`echo '$''{'ac_cv_func_syslog'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6596 "configure"
+#line 6839 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char syslog(); below.  */
@@ -6615,7 +6858,7 @@ syslog();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_syslog=yes"
 else
@@ -6633,7 +6876,7 @@ if eval "test \"`echo '$ac_cv_func_'syslog`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for syslog in -lsocket""... $ac_c" 1>&6
-echo "configure:6637: checking for syslog in -lsocket" >&5
+echo "configure:6880: checking for syslog in -lsocket" >&5
 if test -n ""; then
   ac_lib_var=`echo socket'_'syslog | sed 'y% ./+-%___p_%'`
 else
@@ -6645,7 +6888,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6649 "configure"
+#line 6892 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6656,7 +6899,7 @@ int main() {
 syslog()
 ; return 0; }
 EOF
-if { (eval echo configure:6660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6675,7 +6918,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for syslog in -lnsl""... $ac_c" 1>&6
-echo "configure:6679: checking for syslog in -lnsl" >&5
+echo "configure:6922: checking for syslog in -lnsl" >&5
 if test -n ""; then
   ac_lib_var=`echo nsl'_'syslog | sed 'y% ./+-%___p_%'`
 else
@@ -6687,7 +6930,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6691 "configure"
+#line 6934 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6698,7 +6941,7 @@ int main() {
 syslog()
 ; return 0; }
 EOF
-if { (eval echo configure:6702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6717,7 +6960,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for syslog in -linet""... $ac_c" 1>&6
-echo "configure:6721: checking for syslog in -linet" >&5
+echo "configure:6964: checking for syslog in -linet" >&5
 if test -n ""; then
   ac_lib_var=`echo inet'_'syslog | sed 'y% ./+-%___p_%'`
 else
@@ -6729,7 +6972,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6733 "configure"
+#line 6976 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6740,7 +6983,7 @@ int main() {
 syslog()
 ; return 0; }
 EOF
-if { (eval echo configure:6744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6770,19 +7013,19 @@ if test "$with_DCE" = "yes" -o "$ac_cv_prog_YACC" = "bison -y"; then
     # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:6774: checking for working alloca.h" >&5
+echo "configure:7017: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6779 "configure"
+#line 7022 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:6786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -6803,12 +7046,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6807: checking for alloca" >&5
+echo "configure:7050: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6812 "configure"
+#line 7055 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -6831,7 +7074,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:6835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -6863,12 +7106,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6867: checking whether alloca needs Cray hooks" >&5
+echo "configure:7110: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6872 "configure"
+#line 7115 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -6893,12 +7136,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6897: checking for $ac_func" >&5
+echo "configure:7140: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6902 "configure"
+#line 7145 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6921,7 +7164,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6948,7 +7191,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6952: checking stack direction for C alloca" >&5
+echo "configure:7195: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6956,7 +7199,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 6960 "configure"
+#line 7203 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -6975,7 +7218,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:6979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -7000,7 +7243,7 @@ fi
 
 if test "$with_kerb5" = "yes"; then
                     echo $ac_n "checking for krb5_get_init_creds_opt in -lkrb5""... $ac_c" 1>&6
-echo "configure:7004: checking for krb5_get_init_creds_opt in -lkrb5" >&5
+echo "configure:7247: checking for krb5_get_init_creds_opt in -lkrb5" >&5
 if test -n ""; then
   ac_lib_var=`echo krb5'_'krb5_get_init_creds_opt | sed 'y% ./+-%___p_%'`
 else
@@ -7012,7 +7255,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lkrb5  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7016 "configure"
+#line 7259 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7023,7 +7266,7 @@ int main() {
 krb5_get_init_creds_opt()
 ; return 0; }
 EOF
-if { (eval echo configure:7027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7044,6 +7287,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 EOF
 
        SUDO_LIBS="${SUDO_LIBS} -lkrb5 -lk5crypto -lcom_err"
+       AUTH_OBJS="${AUTH_OBJS} kerb5.o"
     
 else
   echo "$ac_t""no" 1>&6
@@ -7081,21 +7325,21 @@ EOF
 
     if test "$with_kerb5" = "yes"; then
        echo $ac_n "checking for -lkrb4""... $ac_c" 1>&6
-echo "configure:7085: checking for -lkrb4" >&5
+echo "configure:7329: checking for -lkrb4" >&5
 if eval "test \"`echo '$''{'ac_cv_lib_krb4'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lkrb4  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7092 "configure"
+#line 7336 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_lib_krb4=yes
 else
@@ -7116,21 +7360,21 @@ else
 fi
 
        echo $ac_n "checking for -ldes""... $ac_c" 1>&6
-echo "configure:7120: checking for -ldes" >&5
+echo "configure:7364: checking for -ldes" >&5
 if eval "test \"`echo '$''{'ac_cv_lib_des'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ldes  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7127 "configure"
+#line 7371 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_lib_des=yes
 else
@@ -7151,21 +7395,21 @@ fi
        SUDO_LIBS="${SUDO_LIBS} -ldes425 -lkrb5 -lcrypto -lcom_err"
     else
        echo $ac_n "checking for -ldes""... $ac_c" 1>&6
-echo "configure:7155: checking for -ldes" >&5
+echo "configure:7399: checking for -ldes" >&5
 if eval "test \"`echo '$''{'ac_cv_lib_des'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ldes  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7162 "configure"
+#line 7406 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_lib_des=yes
 else
@@ -7185,6 +7429,7 @@ else
   SUDO_LIBS="${SUDO_LIBS} -lkrb"
 fi
 
+    AUTH_OBJS="${AUTH_OBJS} kerb4.o"
     fi
 fi
 
@@ -7279,7 +7524,7 @@ if test -n "$with_SecurID" -a "$with_SecurID" != "no"; then
     fi
 fi
 
-if test "$with_AuthSRV" = "yes"; then
+if test "$with_fwtk" = "yes"; then
     SUDO_LIBS="${SUDO_LIBS} -lauth -lfwall"
 fi
 
@@ -7288,7 +7533,7 @@ if test "$with_authenticate" = "yes"; then
 fi
 
 echo $ac_n "checking for log file location""... $ac_c" 1>&6
-echo "configure:7292: checking for log file location" >&5
+echo "configure:7537: checking for log file location" >&5
 if test -n "$with_logpath"; then
     echo "$ac_t""$with_logpath" 1>&6
     cat >> confdefs.h <<EOF
@@ -7318,7 +7563,7 @@ else
 fi
 
 echo $ac_n "checking for timestamp file location""... $ac_c" 1>&6
-echo "configure:7322: checking for timestamp file location" >&5
+echo "configure:7567: checking for timestamp file location" >&5
 if test -n "$with_timedir"; then
     echo "$ac_t""$with_timedir" 1>&6
     cat >> confdefs.h <<EOF
@@ -7342,6 +7587,14 @@ else
 fi
 
 
+if test -z "$AUTH_OBJS"; then
+    cat >> confdefs.h <<\EOF
+#define NO_PASSWD 1
+EOF
+
+    echo "configure: warning: no user authentication will be performed" 1>&2
+fi
+
 test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
 
 trap '' 1 2 15
@@ -7481,9 +7734,8 @@ s%@SUDO_LIBS@%$SUDO_LIBS%g
 s%@VISUDO_LIBS@%$VISUDO_LIBS%g
 s%@AFS_LIBS@%$AFS_LIBS%g
 s%@OSDEFS@%$OSDEFS%g
-s%@DCE_OBJS@%$DCE_OBJS%g
+s%@AUTH_OBJS@%$AUTH_OBJS%g
 s%@LIBOBJS@%$LIBOBJS%g
-s%@TGETPASS@%$TGETPASS%g
 s%@MANTYPE@%$MANTYPE%g
 s%@MAN_POSTINSTALL@%$MAN_POSTINSTALL%g
 s%@SUDOERS_MODE@%$SUDOERS_MODE%g
index 28660ba75b57e28c170c7f7cda34edfc19dd5aad..8867a520041b86874e28cd541ad1b3b8b3a87d0a 100644 (file)
--- a/sudo.cat
+++ b/sudo.cat
@@ -1,14 +1,14 @@
 
 
 
-sudo(8)                MAINTENANCE COMMANDS               sudo(8)
+.::sudo(8)             MAINTENANCE COMMANDS            .::sudo(8)
 
 
 N\bN\bN\bNA\bA\bA\bAM\bM\bM\bME\bE\bE\bE
        sudo - execute a command as the superuser
 
 S\bS\bS\bSY\bY\bY\bYN\bN\bN\bNO\bO\bO\bOP\bP\bP\bPS\bS\bS\bSI\bI\bI\bIS\bS\bS\bS
-       s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo -\b-\b-\b-V\bV\bV\bV | -\b-\b-\b-h\bh\bh\bh | -\b-\b-\b-l\bl\bl\bl | -\b-\b-\b-v\bv\bv\bv | -\b-\b-\b-k\bk\bk\bk | -\b-\b-\b-s\bs\bs\bs | -\b-\b-\b-H\bH\bH\bH | [ -\b-\b-\b-b\bb\bb\bb ] | [ -\b-\b-\b-r\br\br\br
+       s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo -\b-\b-\b-V\bV\bV\bV | -\b-\b-\b-h\bh\bh\bh | -\b-\b-\b-l\bl\bl\bl | -\b-\b-\b-v\bv\bv\bv | -\b-\b-\b-k\bk\bk\bk | -\b-\b-\b-K\bK\bK\bK | -\b-\b-\b-s\bs\bs\bs | -\b-\b-\b-H\bH\bH\bH | [ -\b-\b-\b-b\bb\bb\bb ] | [ -\b-\b-\b-r\br\br\br
        realm ] | [ -\b-\b-\b-p\bp\bp\bp prompt ] [ -\b-\b-\b-u\bu\bu\bu username/#uid] _\bc_\bo_\bm_\bm_\ba_\bn_\bd
 
 D\bD\bD\bDE\bE\bE\bES\bS\bS\bSC\bC\bC\bCR\bR\bR\bRI\bI\bI\bIP\bP\bP\bPT\bT\bT\bTI\bI\bI\bIO\bO\bO\bON\bN\bN\bN
@@ -50,26 +50,32 @@ O\bO\bO\bOP\bP\bP\bPT\bT\bT\bTI\bI\bI\bIO\bO\bO\bON\bN\bN\bNS\bS\bS\bS
            installation time and defaults to 5 minutes) but does
            not run a command.
 
-       -k  The -k (_\bk_\bi_\bl_\bl) option to s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo removes the user's
-           timestamp file, thus requiring the user's password the
-           next time s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo is run.  This option does not require a
-           password and was added to allow a user to revoke s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo
-           permissions from a .logout file.
+       -k  The -k (_\bk_\bi_\bl_\bl) option to s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo invalidates the user's
+           timestamp file by setting the time on it to the epoch.
+           The next time s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo is run a password will be required.
+           This option does not require a password and was added
+           to allow a user to revoke s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo permissions from a
+           .logout file.
+
 
-       -b  The -b (_\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd) option tells s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo to run the given
-           command in the background.  Note that if you use the
 
 
 
-17/Feb/99                      1.6                              1
+22/Jul/1999                    1.6                              1
 
 
 
 
 
-sudo(8)                MAINTENANCE COMMANDS               sudo(8)
+.::sudo(8)             MAINTENANCE COMMANDS            .::sudo(8)
 
 
+       -K  The -K (sure _\bk_\bi_\bl_\bl) option to s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo removes the user's
+           timestamp file entirely.  This option does not require
+           a password.
+
+       -b  The -b (_\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd) option tells s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo to run the given
+           command in the background.  Note that if you use the
            -b option you cannot use shell job control to
            manipulate the command.
 
@@ -118,23 +124,25 @@ R\bR\bR\bRE\bE\bE\bET\bT\bT\bTU\bU\bU\bUR\bR\bR\bRN\bN\bN\bN V\bV\bV\bVA\bA\bA\bAL\bL\bL\bLU\bU\bU\bUE\bE\bE\bES\b
 S\bS\bS\bSE\bE\bE\bEC\bC\bC\bCU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIT\bT\bT\bTY\bY\bY\bY N\bN\bN\bNO\bO\bO\bOT\bT\bT\bTE\bE\bE\bES\bS\bS\bS
        s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo tries to be safe when executing external commands.
        Variables that control how dynamic loading and binding is
-       done can be used to subvert the program that s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo runs.
-       To combat this the LD_*, _RLD_*, SHLIB_PATH (HP-UX only),
-       and LIBPATH (AIX only) environment variables are removed
-       from the environment passed on to all commands executed.
-       s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo will also remove the IFS, ENV, BASH_ENV, KRB_CONF and
-       KRB5_CONFIG variables as they too can pose a threat.
 
 
 
-17/Feb/99                      1.6                              2
+22/Jul/1999                    1.6                              2
+
 
 
 
 
+.::sudo(8)             MAINTENANCE COMMANDS            .::sudo(8)
 
-sudo(8)                MAINTENANCE COMMANDS               sudo(8)
 
+       done can be used to subvert the program that s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo runs.
+       To combat this the LD_*, _RLD_*, SHLIB_PATH (HP-UX only),
+       and LIBPATH (AIX only) environment variables are removed
+       from the environment passed on to all commands executed.
+       s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo will also remove the IFS, ENV, BASH_ENV, KRB_CONF,
+       KRB5_CONFIG, LOCALDOMAIN, RES_OPTIONS and HOSTALIASES
+       variables as they too can pose a threat.
 
        To prevent command spoofing, s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo checks "." and "" (both
        denoting current directory) last when searching for a
@@ -143,11 +151,11 @@ sudo(8)                MAINTENANCE COMMANDS               sudo(8)
        variable is _\bn_\bo_\bt modified and is passed unchanged to the
        program that s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo executes.
 
-       For security reasons, if your OS supports shared
-       libraries, s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo should always be statically linked unless
-       the dynamic loader disables user-defined library search
-       paths for setuid programs.  (Most modern dynamic loaders
-       do this.)
+       For security reasons, if your OS supports shared libraries
+       and does not disable user-defined library search paths for
+       setuid programs (most do), you should either use a linker
+       option that disables this behavior or link s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo
+       statically.
 
        s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo will check the ownership of its timestamp directory
        (_\b/_\bv_\ba_\br_\b/_\br_\bu_\bn_\b/_\bs_\bu_\bd_\bo or _\b/_\bt_\bm_\bp_\b/_\b._\bo_\bd_\bu_\bs by default) and ignore the
@@ -164,20 +172,36 @@ sudo(8)                MAINTENANCE COMMANDS               sudo(8)
        inaccessible by any other user the user placing files
        there would be unable to get them back out.  To get around
        this issue you can use a directory that is not world-
-       writable for the timestamps (_\b/_\bv_\ba_\br_\b/_\ba_\bd_\bm_\b/_\bs_\bu_\bd_\bo for instance).
+       writable for the timestamps (_\b/_\bv_\ba_\br_\b/_\ba_\bd_\bm_\b/_\bs_\bu_\bd_\bo for instance)
+       or create /tmp/.odus with the appropriate owner (root) and
+       permissions (0700) in the system startup files.
 
        sudo will not honor timestamp files set far in the future.
        Timestamp files with a date greater than current_time + 2
-       * TIMEOUT will be ignored and sudo complain about a
-       "preposterous stampfile date".  This is done to keep a
-       user from creating his/her own timestamp file with a bogus
-       date.
+       * TIMEOUT will be ignored and sudo will log and complain.
+       This is done to keep a user from creating his/her own
+       timestamp file with a bogus date on system that allow
+       users to give away files.
 
 F\bF\bF\bFI\bI\bI\bIL\bL\bL\bLE\bE\bE\bES\bS\bS\bS
         /etc/sudoers           file of authorized users.
 
 
 E\bE\bE\bEN\bN\bN\bNV\bV\bV\bVI\bI\bI\bIR\bR\bR\bRO\bO\bO\bON\bN\bN\bNM\bM\bM\bME\bE\bE\bEN\bN\bN\bNT\bT\bT\bT V\bV\bV\bVA\bA\bA\bAR\bR\bR\bRI\bI\bI\bIA\bA\bA\bAB\bB\bB\bBL\bL\bL\bLE\bE\bE\bES\bS\bS\bS
+
+
+
+
+
+22/Jul/1999                    1.6                              3
+
+
+
+
+
+.::sudo(8)             MAINTENANCE COMMANDS            .::sudo(8)
+
+
         PATH                   Set to a sane value if SECURE_PATH is set
         SHELL                  Used to determine shell to run with -s option
         USER                   Set to the target user (root unless the -u option
@@ -192,27 +216,15 @@ E\bE\bE\bEN\bN\bN\bNV\bV\bV\bVI\bI\bI\bIR\bR\bR\bRO\bO\bO\bON\bN\bN\bNM\bM\bM\bME\bE\bE\bEN\bN\bN\bNT\bT\bT\bT V\b
         SUDO_PS1               If set, PS1 will be set to its value
 
 
-
-17/Feb/99                      1.6                              3
-
-
-
-
-
-sudo(8)                MAINTENANCE COMMANDS               sudo(8)
-
-
 A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
        Many people have worked on s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo over the years, this
        version consists of code written primarily by:
 
-               Jeff Nieusma
-               David Hieb
                Todd Miller
                Chris Jepeway
 
-       See the HISTORY file in the s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo distribution for more
-       details.
+       See the HISTORY file in the s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo distribution for a short
+       history of s\bs\bs\bsu\bu\bu\bud\bd\bd\bdo\bo\bo\bo.
 
        Please send all bugs, comments, and changes to sudo-
        bugs@courtesan.com.
@@ -221,13 +233,8 @@ D\bD\bD\bDI\bI\bI\bIS\bS\bS\bSC\bC\bC\bCL\bL\bL\bLA\bA\bA\bAI\bI\bI\bIM\bM\bM\bME\bE\bE\bER\bR\bR\bR
        This program is distributed in the hope that it will be
        useful, but WITHOUT ANY WARRANTY; without even the implied
        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-       PURPOSE.  See the GNU General Public License for more
-       details.
-
-       You should have received a copy of the GNU General Public
-       License along with this program; if not, write to the Free
-       Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
-       02139, USA.
+       PURPOSE.  See the LICENSE file distributed with sudo for
+       more details.
 
 C\bC\bC\bCA\bA\bA\bAV\bV\bV\bVE\bE\bE\bEA\bA\bA\bAT\bT\bT\bTS\bS\bS\bS
        There is no easy way to prevent a user from gaining a root
@@ -252,20 +259,13 @@ S\bS\bS\bSE\bE\bE\bEE\bE\bE\bE A\bA\bA\bAL\bL\bL\bLS\bS\bS\bSO\bO\bO\bO
 
 
 
+22/Jul/1999                    1.6                              4
 
 
 
 
 
-
-
-17/Feb/99                      1.6                              4
-
-
-
-
-
-sudo(8)                MAINTENANCE COMMANDS               sudo(8)
+.::sudo(8)             MAINTENANCE COMMANDS            .::sudo(8)
 
 
 
@@ -325,6 +325,6 @@ sudo(8)                MAINTENANCE COMMANDS               sudo(8)
 
 
 
-17/Feb/99                      1.6                              5
+22/Jul/1999                    1.6                              5
 
 
index cc19b2b1828fe01f69843c2a1a38966e22b1fbd6..27e3175abf1ce8e83a25d67fb8c603c01ba5d8b6 100644 (file)
--- a/sudo.html
+++ b/sudo.html
@@ -1,11 +1,10 @@
-    <HTML> 
-       <HEAD> 
-           <TITLE>sudo - execute a command as the superuser
+<HTML>
+<HEAD>
+<TITLE>Sudo Manual</TITLE>
+<LINK REV="made" HREF="mailto:root@localhost">
+</HEAD>
 
-</TITLE> 
-       </HEAD>
-
-       <BODY>
+<BODY>
 
 <!-- INDEX BEGIN -->
 
 <HR>
 <P>
 <HR>
-<H1><A NAME="NAME">NAME
-
-</A></H1>
-sudo - execute a command as the superuser
-
-
+<H1><A NAME="NAME">NAME</A></H1>
 <P>
+sudo - execute a command as the superuser
 
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS
-
-</A></H1>
-<STRONG>sudo</STRONG>  <STRONG>-V</STRONG> | <STRONG>-h</STRONG> | <STRONG>-l</STRONG> | <STRONG>-v</STRONG> | <STRONG>-k</STRONG> | <STRONG>-s</STRONG> | <STRONG>-H</STRONG> | [ <STRONG>-b</STRONG> ] | [ <STRONG>-r</STRONG> realm ] | [ <STRONG>-p</STRONG> prompt ] [ <STRONG>-u</STRONG> username/#uid] <EM>command</EM>
-
-
+<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
+<P>
+<STRONG>sudo</STRONG>  <STRONG>-V</STRONG> | <STRONG>-h</STRONG> | <STRONG>-l</STRONG> | <STRONG>-v</STRONG> | <STRONG>-k</STRONG> | <STRONG>-K</STRONG> | <STRONG>-s</STRONG> | <STRONG>-H</STRONG> | [ <STRONG>-b</STRONG> ] | [ <STRONG>-r</STRONG> realm ] | [ <STRONG>-p</STRONG> prompt ] [ <STRONG>-u</STRONG> username/#uid] <EM>command</EM>
 
 
-<P>
 
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION
-
-</A></H1>
+<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
+<P>
 <STRONG>sudo</STRONG> allows a permitted user to execute a <EM>command</EM>
-as the superuser (real and effective uid and gid are set to <CODE></CODE> and root's group as set in the passwd file respectively).
-
+as the superuser (real and effective uid and gid are set to <CODE>0</CODE> and root's group as set in the passwd file respectively).
 
 <P>
-
 <STRONG>sudo</STRONG> determines who is an authorized user by consulting the file <EM>/etc/sudoers</EM>. By giving <STRONG>sudo</STRONG> the <CODE>-v</CODE> flag a user can update the time stamp without running a <EM>command.</EM>
 The password prompt itself will also time out if the user's password is not
 entered with N minutes (again, this is defined at installation time and
 defaults to 5 minutes).
 
-
 <P>
-
 If an unauthorized user executes <STRONG>sudo</STRONG>, mail will be sent from the user to the local authorities (defined at
 installation time).
 
-
 <P>
-
 <STRONG>sudo</STRONG> was designed to log via the 4.3 BSD <CODE>syslog(3)</CODE> facility but can
 log to a file instead if so desired (or to both syslog and a file).
 
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="OPTIONS">OPTIONS
-
-</A></H1>
-<STRONG>sudo</STRONG> accepts the following command line options:
-
-
+<H1><A NAME="OPTIONS">OPTIONS</A></H1>
 <P>
+<STRONG>sudo</STRONG> accepts the following command line options:
 
 <DL>
-<DT><STRONG><A NAME="item__V">-V
-
-</A></STRONG><DD>
+<DT><STRONG><A NAME="item__V">-V</A></STRONG><DD>
+<P>
 The <CODE>-V</CODE> (<EM>version</EM>) option causes <STRONG>sudo</STRONG> to print the version number and exit.
 
-
+<DT><STRONG><A NAME="item__l">-l</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__l">-l
-
-</A></STRONG><DD>
 The <CODE>-l</CODE> (<EM>list</EM>) option will list out the allowed and forbidden commands for the user on
 the current host.
 
-
+<DT><STRONG><A NAME="item__h">-h</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__h">-h
-
-</A></STRONG><DD>
 The <CODE>-h</CODE> (<EM>help</EM>) option causes <STRONG>sudo</STRONG> to print the version of <STRONG>sudo</STRONG> and a usage message before exiting.
 
-
+<DT><STRONG><A NAME="item__v">-v</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__v">-v
-
-</A></STRONG><DD>
 If given the <CODE>-v</CODE> (<EM>validate</EM>) option, <STRONG>sudo</STRONG> will update the user's timestamp file, prompting for the user's password if
 necessary. This extends the <STRONG>sudo</STRONG> timeout to for another N minutes (where N is defined at installation time
 and defaults to 5 minutes) but does not run a command.
 
-
+<DT><STRONG><A NAME="item__k">-k</A></STRONG><DD>
 <P>
+The <CODE>-k</CODE> (<EM>kill</EM>) option to <STRONG>sudo</STRONG> invalidates the user's timestamp file by setting the time on it to the
+epoch. The next time <STRONG>sudo</STRONG> is run a password will be required. This option does not require a password
+and was added to allow a user to revoke <STRONG>sudo</STRONG> permissions from a .logout file.
 
-<DT><STRONG><A NAME="item__k">-k
-
-</A></STRONG><DD>
-The <CODE>-k</CODE> (<EM>kill</EM>) option to <STRONG>sudo</STRONG> removes the user's timestamp file, thus requiring the user's password the
-next time <STRONG>sudo</STRONG> is run. This option does not require a password and was added to allow a
-user to revoke <STRONG>sudo</STRONG> permissions from a .logout file.
-
-
+<DT><STRONG><A NAME="item__K">-K</A></STRONG><DD>
 <P>
+The <CODE>-K</CODE> (sure <EM>kill</EM>) option to <STRONG>sudo</STRONG> removes the user's timestamp file entirely. This option does not require a
+password.
 
-<DT><STRONG><A NAME="item__b">-b
-
-</A></STRONG><DD>
+<DT><STRONG><A NAME="item__b">-b</A></STRONG><DD>
+<P>
 The <CODE>-b</CODE> (<EM>background</EM>) option tells <STRONG>sudo</STRONG> to run the given command in the background. Note that if you use the <CODE>-b</CODE>
 option you cannot use shell job control to manipulate the command.
 
-
+<DT><STRONG><A NAME="item__r">-r</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__r">-r
-
-</A></STRONG><DD>
 The <CODE>-r</CODE> (<EM>realm</EM>) option is only available if <STRONG>sudo</STRONG> was configured with <STRONG>Kerberos</STRONG> version 5 support. It allows the user to specify a
 <STRONG>Kerberos</STRONG> realm other than the system default to use when authenticating the user via <STRONG>Kerberos</STRONG>.
 
-
+<DT><STRONG><A NAME="item__p">-p</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__p">-p
-
-</A></STRONG><DD>
 The <CODE>-p</CODE> (<EM>prompt</EM>) option allows you to override the default password prompt and use a
 custom one. If the password prompt contains the <CODE>%u</CODE> escape, <CODE>%u</CODE> will be replaced by the user's login name. Similarly, <CODE>%h</CODE> will be replaced by the local hostname.
 
-
+<DT><STRONG><A NAME="item__u">-u</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__u">-u
-
-</A></STRONG><DD>
 The <CODE>-u</CODE> (<EM>user</EM>) option causes sudo to run the specified command as a user other than <EM>root</EM>. To specify a <EM>uid</EM> instead of a
 <EM>username</EM>, use ``#uid''.
 
-
+<DT><STRONG><A NAME="item__s">-s</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__s">-s
-
-</A></STRONG><DD>
 The <CODE>-s</CODE> (<EM>shell</EM>) option runs the shell specified by the <EM>SHELL</EM>
 environment variable if it is set or the shell as specified in
 <CODE>passwd(5).</CODE>
 
-
+<DT><STRONG><A NAME="item__H">-H</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__H">-H
-
-</A></STRONG><DD>
 The <CODE>-H</CODE> (<EM>HOME</EM>) option sets the <EM>HOME</EM> environment variable to the homedir of the target user (root by default) as
 specified in <CODE>passwd(5).</CODE>
 
-
+<DT><STRONG><A NAME="item__">--</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__">--
-
-</A></STRONG><DD>
 The <CODE>--</CODE> flag indicates that <STRONG>sudo</STRONG> should stop processing command line arguments. It is most useful in
 conjunction with the <CODE>-s</CODE> flag.
 
-
-<P>
-
 </DL>
 <P>
 <HR>
-<H1><A NAME="RETURN_VALUES">RETURN VALUES
-
-</A></H1>
+<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
+<P>
 <STRONG>sudo</STRONG> quits with an exit value of 1 if there is a configuration/permission
 problem or if <STRONG>sudo</STRONG> cannot execute the given command. In the latter case the error string is
 printed to stderr via <CODE>perror(3).</CODE> If <STRONG>sudo</STRONG> cannot <CODE>stat(2)</CODE> one or more entries in the user's PATH the
@@ -216,39 +149,29 @@ The most common reason for <CODE>stat(3)</CODE> to return ``permission
 denied'' is if you are running an automounter and one of the directories in
 your PATH is on a machine that is currently unreachable.
 
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="SECURITY_NOTES">SECURITY NOTES
-
-</A></H1>
+<H1><A NAME="SECURITY_NOTES">SECURITY NOTES</A></H1>
+<P>
 <STRONG>sudo</STRONG> tries to be safe when executing external commands. Variables that control
 how dynamic loading and binding is done can be used to subvert the program
 that <STRONG>sudo</STRONG> runs. To combat this the
 <CODE>LD_*</CODE>, <CODE>_RLD_*</CODE>, <CODE>SHLIB_PATH</CODE> (HP-UX only), and <CODE>LIBPATH</CODE> (AIX only) environment variables are removed from the environment passed on
 to all commands executed.  <STRONG>sudo</STRONG> will also remove the <CODE>IFS</CODE>,
-<CODE>ENV</CODE>, <CODE>BASH_ENV</CODE>, <CODE>KRB_CONF</CODE> and <CODE>KRB5_CONFIG</CODE> variables as they too can pose a threat.
-
+<CODE>ENV</CODE>, <CODE>BASH_ENV</CODE>, <CODE>KRB_CONF</CODE>, <CODE>KRB5_CONFIG</CODE>, <CODE>LOCALDOMAIN</CODE>,
+<CODE>RES_OPTIONS</CODE> and <CODE>HOSTALIASES</CODE> variables as they too can pose a threat.
 
 <P>
-
 To prevent command spoofing, <STRONG>sudo</STRONG> checks ``.'' and ``'' (both denoting current directory) last when searching
 for a command in the user's PATH (if one or both are in the PATH). Note,
 however, that the actual PATH environment variable is <EM>not</EM> modified and is passed unchanged to the program that <STRONG>sudo</STRONG> executes.
 
-
 <P>
-
-For security reasons, if your OS supports shared libraries, <STRONG>sudo</STRONG>
-should always be statically linked unless the dynamic loader disables
-user-defined library search paths for setuid programs. (Most modern dynamic
-loaders do this.)
-
+For security reasons, if your OS supports shared libraries and does not
+disable user-defined library search paths for setuid programs (most do),
+you should either use a linker option that disables this behavior or link <STRONG>sudo</STRONG> statically.
 
 <P>
-
 <STRONG>sudo</STRONG> will check the ownership of its timestamp directory (<EM>/var/run/sudo</EM> or <EM>/tmp/.odus</EM> by default) and ignore the directory's contents if it is not owned by root
 and only read, writable, and executable by root. On systems that allow
 users to give files away to root (via chown), if the timestamp directory is
@@ -258,35 +181,26 @@ done is to ``hide'' files by putting them in the timestamp dir. This is
 unlikely to happen since once the timestamp dir is owned by root and
 inaccessible by any other user the user placing files there would be unable
 to get them back out. To get around this issue you can use a directory that
-is not world-writable for the timestamps (<EM>/var/adm/sudo</EM> for instance).
-
+is not world-writable for the timestamps (<EM>/var/adm/sudo</EM> for instance) or create /tmp/.odus with the appropriate owner (root) and
+permissions (0700) in the system startup files.
 
 <P>
-
 <CODE>sudo</CODE> will not honor timestamp files set far in the future. Timestamp files with
 a date greater than current_time + 2 * <CODE>TIMEOUT</CODE>
-will be ignored and sudo complain about a ``preposterous stampfile date''.
-This is done to keep a user from creating his/her own timestamp file with a
-bogus date.
-
-
-<P>
+will be ignored and sudo will log and complain. This is done to keep a user
+from creating his/her own timestamp file with a bogus date on system that
+allow users to give away files.
 
 <P>
 <HR>
-<H1><A NAME="FILES">FILES
-
-</A></H1>
+<H1><A NAME="FILES">FILES</A></H1>
+<P>
 <PRE> /etc/sudoers           file of authorized users.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="ENVIRONMENT_VARIABLES">ENVIRONMENT VARIABLES
-
-</A></H1>
+<H1><A NAME="ENVIRONMENT_VARIABLES">ENVIRONMENT VARIABLES</A></H1>
+<P>
 <PRE> PATH                   Set to a sane value if SECURE_PATH is set
  SHELL                  Used to determine shell to run with -s option
  USER                   Set to the target user (root unless the -u option
@@ -300,92 +214,53 @@ bogus date.
  SUDO_GID               Set to the gid of the user who invoked sudo
  SUDO_PS1               If set, PS1 will be set to its value
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="AUTHORS">AUTHORS
-
-</A></H1>
+<H1><A NAME="AUTHORS">AUTHORS</A></H1>
+<P>
 Many people have worked on <STRONG>sudo</STRONG> over the years, this version consists of code written primarily by:
 
-
 <P>
-
-<PRE>        Jeff Nieusma
-        David Hieb
-        Todd Miller
+<PRE>        Todd Miller
         Chris Jepeway
 </PRE>
-
 <P>
-
-See the HISTORY file in the <STRONG>sudo</STRONG> distribution for more details.
-
+See the HISTORY file in the <STRONG>sudo</STRONG> distribution for a short history of <STRONG>sudo</STRONG>.
 
 <P>
-
 Please send all bugs, comments, and changes to <A
-HREF="MAILTO:sudo-bugs@courtesan.com.">sudo-bugs@courtesan.com.</A>
-
-
-<P>
+HREF="mailto:sudo-bugs@courtesan.com.">sudo-bugs@courtesan.com.</A>
 
 <P>
 <HR>
-<H1><A NAME="DISCLAIMER">DISCLAIMER
-
-</A></H1>
+<H1><A NAME="DISCLAIMER">DISCLAIMER</A></H1>
+<P>
 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-more details.
-
-
-<P>
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc., 675
-Mass Ave, Cambridge, MA 02139, USA.
-
-
-<P>
+FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file distributed with
+sudo for more details.
 
 <P>
 <HR>
-<H1><A NAME="CAVEATS">CAVEATS
-
-</A></H1>
+<H1><A NAME="CAVEATS">CAVEATS</A></H1>
+<P>
 There is no easy way to prevent a user from gaining a root shell if that
 user has access to commands allowing shell escapes.
 
-
 <P>
-
 If users have sudo ALL there is nothing to prevent them from creating their
 own program that gives them a root shell regardless of any '!' elements in
 the user specification.
 
-
 <P>
-
 Running shell scripts via <STRONG>sudo</STRONG> can expose the same kernel bugs that make setuid shell scripts unsafe on
 some operating systems.
 
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO
-
-</A></H1>
-<CODE><A HREF="sudoers.html">sudoers(5)</A>,</CODE> <CODE><A HREF="visudo.html">visudo(8)</A>,</CODE> <CODE>su(1).</CODE>
-
+<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
 <P>
+<CODE><A HREF="sudoers.html">sudoers(5)</A>,</CODE> <CODE><A HREF="visudo.html">visudo(8)</A>,</CODE> <CODE>su(1).</CODE>
+</BODY>
 
-</DL>
-    </BODY>
-
-    </HTML>
+</HTML>
index e640a88b46342e63d9e27ed5e7c58c85fe09364d..ef4de8b2688914e95c338263855154b08259e734 100644 (file)
--- a/sudo.man
+++ b/sudo.man
@@ -2,8 +2,8 @@
 ''' $RCSfile$$Revision$$Date$
 '''
 ''' $Log$
-''' Revision 1.32  1999/04/05 20:57:23  millert
-''' Crank version to 1.6 and combine copyright statements
+''' Revision 1.33  1999/07/22 13:10:46  millert
+''' regen
 '''
 '''
 .de Sh
@@ -96,7 +96,7 @@
 .nr % 0
 .rr F
 .\}
-.TH sudo 8 "1.6" "17/Feb/99" "MAINTENANCE COMMANDS"
+.TH .::sudo 8 "1.6" "22/Jul/1999" "MAINTENANCE COMMANDS"
 .UC
 .if n .hy 0
 .if n .na
 .SH "NAME"
 sudo \- execute a command as the superuser
 .SH "SYNOPSIS"
-\fBsudo\fR \fB\-V\fR | \fB\-h\fR | \fB\-l\fR | \fB\-v\fR | \fB\-k\fR | \fB\-s\fR | \fB\-H\fR |
+\fBsudo\fR \fB\-V\fR | \fB\-h\fR | \fB\-l\fR | \fB\-v\fR | \fB\-k\fR | \fB\-K\fR | \fB\-s\fR | \fB\-H\fR |
 [ \fB\-b\fR ] | [ \fB\-r\fR realm ] | [ \fB\-p\fR prompt ] [ \fB\-u\fR username/#uid] \fIcommand\fR
 .SH "DESCRIPTION"
 \fBsudo\fR allows a permitted user to execute a \fIcommand\fR
@@ -230,10 +230,14 @@ This extends the \fBsudo\fR timeout to for another N minutes
 (where N is defined at installation time and defaults to 5
 minutes) but does not run a command.
 .Ip "-k" 4
-The \f(CW-k\fR (\fIkill\fR) option to \fBsudo\fR removes the user's timestamp
-file, thus requiring the user's password the next time \fBsudo\fR is run.
-This option does not require a password and was added to
-allow a user to revoke \fBsudo\fR permissions from a .logout file.
+The \f(CW-k\fR (\fIkill\fR) option to \fBsudo\fR invalidates the user's timestamp
+file by setting the time on it to the epoch.  The next time \fBsudo\fR is
+run a password will be required.  This option does not require a password
+and was added to allow a user to revoke \fBsudo\fR permissions from a .logout
+file.
+.Ip "-K" 4
+The \f(CW-K\fR (sure \fIkill\fR) option to \fBsudo\fR removes the user's timestamp
+file entirely.  This option does not require a password.
 .Ip "-b" 4
 The \f(CW-b\fR (\fIbackground\fR) option tells \fBsudo\fR to run the given
 command in the background.  Note that if you use the \f(CW-b\fR
@@ -283,8 +287,8 @@ to subvert the program that \fBsudo\fR runs.  To combat this the
 \f(CWLD_*\fR, \f(CW_RLD_*\fR, \f(CWSHLIB_PATH\fR (HP\-UX only), and \f(CWLIBPATH\fR (AIX
 only) environment variables are removed from the environment passed
 on to all commands executed.  \fBsudo\fR will also remove the \f(CWIFS\fR,
-\f(CWENV\fR, \f(CWBASH_ENV\fR, \f(CWKRB_CONF\fR and \f(CWKRB5_CONFIG\fR variables as
-they too can pose a threat.
+\f(CWENV\fR, \f(CWBASH_ENV\fR, \f(CWKRB_CONF\fR, \f(CWKRB5_CONFIG\fR, \f(CWLOCALDOMAIN\fR,
+\f(CWRES_OPTIONS\fR and \f(CWHOSTALIASES\fR variables as they too can pose a threat.
 .PP
 To prevent command spoofing, \fBsudo\fR checks "." and "" (both denoting
 current directory) last when searching for a command in the user's
@@ -292,10 +296,10 @@ PATH (if one or both are in the PATH).  Note, however, that the
 actual PATH environment variable is \fInot\fR modified and is passed
 unchanged to the program that \fBsudo\fR executes.
 .PP
-For security reasons, if your OS supports shared libraries, \fBsudo\fR
-should always be statically linked unless the dynamic loader disables
-user-defined library search paths for setuid programs.  (Most modern
-dynamic loaders do this.)
+For security reasons, if your OS supports shared libraries and does
+not disable user-defined library search paths for setuid programs
+(most do), you should either use a linker option that disables this
+behavior or link \fBsudo\fR statically.
 .PP
 \fBsudo\fR will check the ownership of its timestamp directory
 (\fI/var/run/sudo\fR or \fI/tmp/.odus\fR by default) and ignore the
@@ -311,13 +315,14 @@ since once the timestamp dir is owned by root and inaccessible by
 any other user the user placing files there would be unable to get
 them back out.  To get around this issue you can use a directory
 that is not world-writable for the timestamps (\fI/var/adm/sudo\fR for
-instance).
+instance) or create /tmp/.odus with the appropriate owner (root) and
+permissions (0700) in the system startup files.
 .PP
 \f(CWsudo\fR will not honor timestamp files set far in the future.
 Timestamp files with a date greater than current_time + 2 * \f(CWTIMEOUT\fR
-will be ignored and sudo complain about a \*(L"preposterous stampfile
-date\*(R".  This is done to keep a user from creating his/her own
-timestamp file with a bogus date.
+will be ignored and sudo will log and complain.  This is done to
+keep a user from creating his/her own timestamp file with a bogus
+date on system that allow users to give away files.
 .SH "FILES"
 .PP
 .Vb 1
@@ -343,24 +348,19 @@ timestamp file with a bogus date.
 Many people have worked on \fBsudo\fR over the years, this
 version consists of code written primarily by:
 .PP
-.Vb 4
-\&        Jeff Nieusma
-\&        David Hieb
+.Vb 2
 \&        Todd Miller
 \&        Chris Jepeway
 .Ve
-See the HISTORY file in the \fBsudo\fR distribution for more details.
+See the HISTORY file in the \fBsudo\fR distribution for a short history
+of \fBsudo\fR.
 .PP
 Please send all bugs, comments, and changes to sudo-bugs@courtesan.com.
 .SH "DISCLAIMER"
 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-.PP
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-675 Mass Ave, Cambridge, MA 02139, USA.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the LICENSE
+file distributed with sudo for more details.
 .SH "CAVEATS"
 There is no easy way to prevent a user from gaining a root shell if
 that user has access to commands allowing shell escapes.
@@ -375,7 +375,7 @@ that make setuid shell scripts unsafe on some operating systems.
 \fIsudoers\fR\|(5), \fIvisudo\fR\|(8), \fIsu\fR\|(1).
 
 .rn }` ''
-.IX Title "sudo 8"
+.IX Title ".::sudo 8"
 .IX Name "sudo - execute a command as the superuser"
 
 .IX Header "NAME"
@@ -396,6 +396,8 @@ that make setuid shell scripts unsafe on some operating systems.
 
 .IX Item "-k"
 
+.IX Item "-K"
+
 .IX Item "-b"
 
 .IX Item "-r"
index 2207a1f5e166c70a32bc5dbd3e0d2f9dd8ea1734..abaa561402a51e18b56d679a2b9206f99e211f28 100644 (file)
@@ -1,11 +1,10 @@
-    <HTML> 
-       <HEAD> 
-           <TITLE>sudoers - list of which users may execute what as root
+<HTML>
+<HEAD>
+<TITLE>Sudoers Manual</TITLE>
+<LINK REV="made" HREF="mailto:root@localhost">
+</HEAD>
 
-</TITLE> 
-       </HEAD>
-
-       <BODY>
+<BODY>
 
 <!-- INDEX BEGIN -->
 
 <HR>
 <P>
 <HR>
-<H1><A NAME="NAME">NAME
-
-</A></H1>
-sudoers - list of which users may execute what as root
-
-
+<H1><A NAME="NAME">NAME</A></H1>
 <P>
+sudoers - list of which users may execute what as root
 
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION
-
-</A></H1>
+<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
+<P>
 The <EM>sudoers</EM> file is composed of an optional host alias section, an optional command
 alias section and the user specification section. All command or host
 aliases need to start with their respective keywords (ie: Host_Alias,
@@ -66,243 +60,184 @@ of a user, the logical union of the entries will be used. Note that if
 there is an entry that denies access to a command that is followed by an
 entry that grants access the user will be allowed to run the command.
 
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="user_specification_format_">user specification format:
-
-</A></H2>
+<H2><A NAME="user_specification_format_">user specification format:</A></H2>
+<P>
 <PRE>  user access_group [: access_group] ...
 </PRE>
-
 <P>
-
 <PRE>    access_group ::= host-list = [(runas-list)] [NOPASSWD:] [op]cmnd_type
                      [,[(user-list)] [NOPASSWD|PASSWD:] [op]cmnd_type] ... 
        cmnd_type ::= a command OR a command alias.
               op ::= the logical &quot;!&quot; NOT operator.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="host_alias_section_format_">host alias section format:
-
-</A></H2>
+<H2><A NAME="host_alias_section_format_">host alias section format:</A></H2>
+<P>
 <PRE>  Host_Alias HOSTALIAS = host-list
 </PRE>
-
 <P>
-
 <PRE>      Host_Alias ::= a keyword.
        HOSTALIAS ::= an upper-case alias name.
        host-list ::= a comma separated list of hosts, netgroups,
                      ip addresses, networks.  A logical &quot;!&quot;
                      NOT operator may be prefixed to any of these.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="user_alias_section_format_">user alias section format:
-
-</A></H2>
+<H2><A NAME="user_alias_section_format_">user alias section format:</A></H2>
+<P>
 <PRE>  User_Alias USERALIAS = user-list
 </PRE>
-
 <P>
-
 <PRE>      User_Alias ::= a keyword.
        USERALIAS ::= an upper-case alias name.
        user-list ::= a comma separated list of users, groups, netgroups.
                      A logical &quot;!&quot; NOT operator may be prefixed to any
                      of these.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="runas_alias_section_format_">runas alias section format:
-
-</A></H2>
+<H2><A NAME="runas_alias_section_format_">runas alias section format:</A></H2>
+<P>
 <PRE>  Runas_Alias RUNASALIAS = runas-list
 </PRE>
-
 <P>
-
 <PRE>      Runas_Alias ::= a keyword.
        RUNASALIAS ::= an upper-case alias name.
        runas-list ::= a comma separated list of users, groups, netgroups.
                       A logical &quot;!&quot; NOT operator may be prefixed to any
                       of these.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="command_alias_section_format_">command alias section format:
-
-</A></H2>
+<H2><A NAME="command_alias_section_format_">command alias section format:</A></H2>
+<P>
 <PRE>  Cmnd_Alias CMNDALIAS = cmnd-list
 </PRE>
-
 <P>
-
 <PRE>      Cmnd_Alias ::= a keyword.
        CMNDALIAS ::= an upper-case alias name.
        cmnd-list ::= a comma separated list commands.
                      A logical &quot;!&quot; NOT operator may be prefixed to any
                      of these.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="command_specification_">command specification:
-
-</A></H2>
+<H2><A NAME="command_specification_">command specification:</A></H2>
+<P>
 <PRE>  path arg1 arg2 .. argn = command
 </PRE>
-
 <P>
-
 <PRE>            path ::= a fully qualified pathname.
        arg[1..n] ::= optional command line arguments.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="persistence_of_modifiers">persistence of modifiers
+<H2><A NAME="persistence_of_modifiers">persistence of modifiers</A></H2>
+<P>
+When a <EM>runas-list</EM> is specified for an <EM>access_group</EM>, it affects all commands in the <EM>access_group</EM>. For example, given:
 
-</A></H2>
-When a <EM>runas-list</EM> is specified for an <EM>access_group</EM>, it affects all commands in the <EM>access_group</EM>. For example, given: oper bigserver = (root, sysadm) /usr/bin/kill,
-/bin/rm User <CODE>oper</CODE> will be able to run <CODE>/usr/bin/kill</CODE> and <CODE>/bin/rm</CODE>
+<P>
+<PRE>    oper bigserver = (root, sysadm) /usr/bin/kill, /bin/rm
+</PRE>
+<P>
+User <CODE>oper</CODE> will be able to run <CODE>/usr/bin/kill</CODE> and <CODE>/bin/rm</CODE>
 as <STRONG>root</STRONG> or <STRONG>sysadm</STRONG> on the machine, <CODE>bigserver</CODE>. The
 <EM>runas-list</EM> is ``sticky'' across entries in the comma-separated
-<EM>access_group</EM>. You can override the <EM>runas-list</EM> with another one, at which point the new <EM>runas-list</EM> becomes the default for that <EM>access_group</EM>. For example, given: oper bigserver = (root, sysadm) /usr/bin/kill, (root)
-/bin/rm, \ /bin/rmdir User <CODE>oper</CODE> can still run <CODE>/usr/bin/kill</CODE> as <STRONG>root</STRONG> or <STRONG>sysadm</STRONG> but can only run <CODE>/bin/rm</CODE> and <CODE>/bin/rmdir</CODE> as <STRONG>root</STRONG>.
-
+<EM>access_group</EM>. You can override the <EM>runas-list</EM> with another one, at which point the new <EM>runas-list</EM> becomes the default for that <EM>access_group</EM>. For example, given:
 
 <P>
+<PRE>    oper bigserver = (root, sysadm) /usr/bin/kill, (root) /bin/rm, \
+        /bin/rmdir
+</PRE>
+<P>
+User <CODE>oper</CODE> can still run <CODE>/usr/bin/kill</CODE> as <STRONG>root</STRONG> or <STRONG>sysadm</STRONG> but can only run <CODE>/bin/rm</CODE> and <CODE>/bin/rmdir</CODE> as <STRONG>root</STRONG>.
 
+<P>
 Similarly, the <STRONG>NOPASSWD</STRONG> modifier is also persistent across an
-<EM>access_group</EM>. For example given: oper bigserver = NOPASSWD: /usr/bin/kill, /bin/rm,
-/bin/rmdir User <CODE>oper</CODE> will be able to run <CODE>/usr/bin/kill</CODE>, <CODE>/bin/rm</CODE>, and
-<CODE>/bin/rmdir</CODE> as <STRONG>root</STRONG> without a password. If we change that to: oper bigserver = NOPASSWD:
-/usr/bin/kill, PASSWD: /bin/rm, /bin/rmdir User <CODE>oper</CODE> can still run <CODE>/usr/bin/kill</CODE> without a password but must give a password to run <CODE>/bin/rm</CODE> and <CODE>/bin/rmdir</CODE>.
+<EM>access_group</EM>. For example given:
 
+<P>
+<PRE>    oper bigserver = NOPASSWD: /usr/bin/kill, /bin/rm, /bin/rmdir
+</PRE>
+<P>
+User <CODE>oper</CODE> will be able to run <CODE>/usr/bin/kill</CODE>, <CODE>/bin/rm</CODE>, and
+<CODE>/bin/rmdir</CODE> as <STRONG>root</STRONG> without a password. If we change that to:
 
 <P>
+<PRE>    oper bigserver = NOPASSWD: /usr/bin/kill, PASSWD: /bin/rm, /bin/rmdir
+</PRE>
+<P>
+User <CODE>oper</CODE> can still run <CODE>/usr/bin/kill</CODE> without a password but must give a password to run <CODE>/bin/rm</CODE> and <CODE>/bin/rmdir</CODE>.
 
 <P>
 <HR>
-<H2><A NAME="wildcards_aka_meta_characters_">wildcards (aka meta characters):
-
-</A></H2>
+<H2><A NAME="wildcards_aka_meta_characters_">wildcards (aka meta characters):</A></H2>
+<P>
 <STRONG>sudo</STRONG> allows shell-style <EM>wildcards</EM> along with command arguments in the <EM>sudoers</EM> file. Wildcard matching is done via the <STRONG>POSIX</STRONG>
 
 <CODE>fnmatch(3)</CODE> routine.
 
-
-<P>
-
 <UL>
-<LI><STRONG></STRONG>
+<LI>
+<P>
 Matches any set of zero or more characters.
 
-
+<DT><STRONG><A NAME="item__">?</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__">?
-
-</A></STRONG><DD>
 Matches any single character.
 
-
+<DT><STRONG><A NAME="item__">[...]</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__">[...]
-
-</A></STRONG><DD>
 Matches any character in the specified range.
 
-
+<DT><STRONG><A NAME="item__">[!...]</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__">[!...]
-
-</A></STRONG><DD>
 Matches any character <STRONG>not</STRONG> in the specified range.
 
-
+<DT><STRONG><A NAME="item__x">\x</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__x">\x
-
-</A></STRONG><DD>
 For any character ``x'', evaluates to ``x''. This is used to escape special
 characters such as: ``*'', ``?'', ``['', and ``}''.
 
-
-<P>
-
 </UL>
 <P>
 <HR>
-<H2><A NAME="exceptions_to_wildcard_rules_">exceptions to wildcard rules:
-
-</A></H2>
-The following exceptions apply to the above rules:
-
-
+<H2><A NAME="exceptions_to_wildcard_rules_">exceptions to wildcard rules:</A></H2>
 <P>
+The following exceptions apply to the above rules:
 
 <DL>
-<DT><STRONG><A NAME="item__">""
-
-</A></STRONG><DD>
-If the empty string <CODE>""</CODE> is the only command line argument in the
-<EM>sudoers</EM> entry it means that command may take <STRONG>no</STRONG> arguments.
-
-
+<DT><STRONG><A NAME="item__">&quot;&quot;</A></STRONG><DD>
 <P>
+If the empty string <CODE>&quot;&quot;</CODE> is the only command line argument in the
+<EM>sudoers</EM> entry it means that command may take <STRONG>no</STRONG> arguments.
 
 </DL>
 <P>
 <HR>
-<H2><A NAME="other_special_characters_and_res">other special characters and reserved words:
-
-</A></H2>
+<H2><A NAME="other_special_characters_and_res">other special characters and reserved words:</A></H2>
+<P>
 Text after a pound sign (<STRONG>#</STRONG>) is considered a comment. Words that begin with a percent sign (<STRONG>%</STRONG>) are assumed to be UN*X groups (%staff refers to users in the group <EM>staff</EM>). Words that begin with a plus sign (<STRONG>+</STRONG>) are assumed to be netgroups (<STRONG>+cshosts</STRONG> refers to the netgroup <EM>cshosts</EM>). Long lines can be newline escaped with the backslash <STRONG>\</STRONG> character.
 
-
 <P>
-
 The reserved word <STRONG>NOPASSWD</STRONG> indicates that a user need not enter a password for the command listed in
 that entry. The
 <STRONG>NOPASSWD</STRONG> modifier is persistent across entries in a <EM>user-list</EM>
 and can be reversed with the <STRONG>PASSWD</STRONG> modifier.
 
-
 <P>
-
 The reserved alias <EM>ALL</EM> can be used for both {Host,User,Cmnd}_Alias.
 <STRONG>DO NOT</STRONG> define an alias of <EM>ALL</EM>, it will <STRONG>NOT</STRONG> be used. Note that <EM>ALL</EM> implies the entire universe of hosts/users/commands. You can subtract
-elements from the universe by using the syntax: user
-host=ALL,!ALIAS1,!/sbin/halt...
-
+elements from the universe by using the syntax:
 
 <P>
-
+<PRE>   user  host=ALL,!ALIAS1,!/sbin/halt...
+</PRE>
+<P>
 Commands may have optional command line arguments. If they do, then the
 arguments in the <EM>sudoers</EM> file must exactly match those on the command line. It is also possible to
 have a command's arguments span multiple lines as long as the line
@@ -310,14 +245,10 @@ continuance character ``\'' is used. The following characters must be
 escaped with a ``\'' if used in command arguments: ``,'', ``:'', ``='',
 ``\''.
 
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="EXAMPLES">EXAMPLES
-
-</A></H1>
+<H1><A NAME="EXAMPLES">EXAMPLES</A></H1>
+<P>
 <PRE>    # Host alias specification
     Host_Alias  HUB=houdini:\
                 REMOTE=merlin,kodiakthorn,spirit
@@ -326,22 +257,16 @@ escaped with a ``\'' if used in command arguments: ``,'', ``:'', ``='',
     Host_Alias  CSNETS=128.138.243.0,128.138.204.0,\
                        128.138.205.192
 </PRE>
-
 <P>
-
 <PRE>    # User alias specification
     User_Alias  FULLTIME=millert,dowdy,mikef
     User_Alias  PARTTIME=juola,mccreary,tor
 </PRE>
-
 <P>
-
 <PRE>    # Runas alias specification
     Runas_Alias OP=root,operator
 </PRE>
-
 <P>
-
 <PRE>    # Command alias specification
     Cmnd_Alias  LPCS=/usr/sbin/lpc,/usr/bin/lprm
     Cmnd_Alias  SHELLS=/bin/sh,/bin/csh,/bin/tcsh,/bin/ksh
@@ -349,9 +274,7 @@ escaped with a ``\'' if used in command arguments: ``,'', ``:'', ``='',
     Cmnd_Alias  MISC=/bin/rm,/bin/cat:\
                 SHUTDOWN=/sbin/halt,/sbin/shutdown
 </PRE>
-
 <P>
-
 <PRE>    # User specification
     FULLTIME    ALL=(ALL) NOPASSWD: ALL
     %wheel      ALL=ALL
@@ -367,14 +290,10 @@ escaped with a ``\'' if used in command arguments: ``,'', ``:'', ``='',
                 kodiakthorn=NOPASSWD: ALL
     steve       CSNETS=(operator) /usr/op_commands/
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="Host_Alias_specifications_">Host Alias specifications:
-
-</A></H2>
+<H2><A NAME="Host_Alias_specifications_">Host Alias specifications:</A></H2>
+<P>
 The are four <EM>host aliases</EM>. The first actually contains two <EM>aliases</EM>. It sets <CODE>HUB</CODE> to be <CODE>houdini</CODE> and <CODE>REMOTE</CODE>
 to the three machines <CODE>merlin</CODE>, <CODE>kodiakthorn</CODE> and <CODE>spirit</CODE>. Similarly, <CODE>SERVERS</CODE> is set to the machines <CODE>houdini</CODE>, <CODE>merlin</CODE>,
 <CODE>kodiakthorn</CODE> and <CODE>spirit</CODE>. The <CODE>CSNETS</CODE> alias will match any host on the 128.138.243.0, 128.138.204.0, or
@@ -382,164 +301,94 @@ to the three machines <CODE>merlin</CODE>, <CODE>kodiakthorn</CODE> and <CODE>sp
 these are <STRONG>network</STRONG> addresses, not ip addresses. Unless an explicit netmask is given, the local <EM>netmask</EM>
 is used to determine whether or not the current host belongs to a network.
 
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="User_Alias_specifications_">User Alias specifications:
-
-</A></H2>
+<H2><A NAME="User_Alias_specifications_">User Alias specifications:</A></H2>
+<P>
 The two <EM>user aliases</EM> simply groups the <A HREF="#item_FULLTIME">FULLTIME</A> and
 <A HREF="#item_PARTTIME">PARTTIME</A> folks into two separate aliases.
 
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="Command_alias_specifications_">Command alias specifications:
-
-</A></H2>
+<H2><A NAME="Command_alias_specifications_">Command alias specifications:</A></H2>
+<P>
 Command aliases are lists of commands with or without associated command
 line arguments. The entries above should be self-explanatory.
 
-
-<P>
-
 <P>
 <HR>
-<H2><A NAME="User_specifications_">User specifications:
-
-</A></H2>
+<H2><A NAME="User_specifications_">User specifications:</A></H2>
 <DL>
-<DT><STRONG><A NAME="item_FULLTIME">FULLTIME
-
-</A></STRONG><DD>
+<DT><STRONG><A NAME="item_FULLTIME">FULLTIME</A></STRONG><DD>
+<P>
 Full-time sysadmins in the <A HREF="#item_FULLTIME">FULLTIME</A> alias may run any command on any host as any user without a password.
 
-
+<DT><STRONG><A NAME="item__wheel">%wheel</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__wheel">%wheel
-
-</A></STRONG><DD>
 Any user in the UN*X group <CODE>wheel</CODE> may run any command on any host.
 
-
+<DT><STRONG><A NAME="item_PARTTIME">PARTTIME</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_PARTTIME">PARTTIME
-
-</A></STRONG><DD>
 Part-time sysadmins in the <A HREF="#item_PARTTIME">PARTTIME</A> alias may run any command except those in the <CODE>SHELLS</CODE> and <CODE>SU</CODE> aliases on any host.
 
-
+<DT><STRONG><A NAME="item__interns">+interns</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__interns">+interns
-
-</A></STRONG><DD>
 Any user in the netgroup <CODE>interns</CODE> may run any command except those in the <CODE>SHELLS</CODE> and <CODE>SU</CODE> aliases on any host that is in the <CODE>openlabs</CODE> netgroup.
 
-
+<DT><STRONG><A NAME="item_britt">britt</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_britt">britt
-
-</A></STRONG><DD>
 The user <A HREF="#item_britt">britt</A> may run commands in the <CODE>SHUTDOWN</CODE> alias on the <CODE>REMOTE</CODE> machines and commands in the <CODE>LPCS</CODE> alias on any machine.
 
-
+<DT><STRONG><A NAME="item_jimbo">jimbo</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_jimbo">jimbo
-
-</A></STRONG><DD>
 The user <A HREF="#item_jimbo">jimbo</A> may <CODE>su</CODE> to any user save root on the machines on <CODE>CUNETS</CODE> (which is explicitly listed as a class B network).
 
-
+<DT><STRONG><A NAME="item_nieusma">nieusma</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_nieusma">nieusma
-
-</A></STRONG><DD>
 The user <A HREF="#item_nieusma">nieusma</A> may run commands in the <CODE>SHUTDOWN</CODE> alias as well as <EM>/sbin/reboot</EM> on the <CODE>SERVER</CODE> machines and any command except those in the <CODE>SHELLS</CODE> alias on the <CODE>HUB</CODE>
 machines.
 
-
+<DT><STRONG><A NAME="item_jill">jill</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_jill">jill
-
-</A></STRONG><DD>
 The user <A HREF="#item_jill">jill</A> may run <CODE>/sbin/shutdown -h now</CODE> or
 <CODE>/sbin/shutdown -r now</CODE> as well as the commands in the
 <CODE>MISC</CODE> alias on houdini.
 
-
+<DT><STRONG><A NAME="item_markm">markm</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_markm">markm
-
-</A></STRONG><DD>
 The user <A HREF="#item_markm">markm</A> may run any command on the <CODE>HUB</CODE> machines except <EM>/sbin/shutdown</EM>, <EM>/sbin/halt</EM>, and commands listed in the <CODE>MISC</CODE> alias.
 
-
+<DT><STRONG><A NAME="item_davehieb">davehieb</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_davehieb">davehieb
-
-</A></STRONG><DD>
 The user <A HREF="#item_davehieb">davehieb</A> may run any command on <CODE>merlin</CODE> as any user in the Runas_Alias OP (ie: root or operator). He may also run <EM>/sbin/halt</EM> on the <CODE>SERVERS</CODE> and any command on <CODE>kodiakthorn</CODE> (no password required on <CODE>kodiakthorn</CODE>).
 
-
+<DT><STRONG><A NAME="item_steve">steve</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_steve">steve
-
-</A></STRONG><DD>
 The user <A HREF="#item_steve">steve</A> may run any command in the <EM>/usr/op_commands/</EM>
 directory as user <CODE>operator</CODE> on the machines on <CODE>CSNETS</CODE>.
 
-
-<P>
-
 </DL>
 <P>
 <HR>
-<H1><A NAME="CAVEATS">CAVEATS
-
-</A></H1>
+<H1><A NAME="CAVEATS">CAVEATS</A></H1>
+<P>
 The <EM>sudoers</EM> file should <STRONG>always</STRONG> be edited by the <STRONG>visudo</STRONG>
 command which locks the file and does grammatical checking. It is
 imperative that the <EM>sudoers</EM> be free of syntax errors since sudo will not run with a syntactically
 incorrect <EM>sudoers</EM> file.
 
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="FILES">FILES
-
-</A></H1>
+<H1><A NAME="FILES">FILES</A></H1>
+<P>
 <PRE> /etc/sudoers           file of authorized users.
  /etc/netgroup          list of network groups.
 </PRE>
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO
-
-</A></H1>
-<CODE><A HREF="sudo.html">sudo(8)</A>,</CODE> <CODE><A HREF="visudo.html">visudo(8)</A>,</CODE> <CODE>su(1),</CODE> <CODE>fnmatch(3).</CODE>
-
+<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
 <P>
+<CODE><A HREF="sudo.html">sudo(8)</A>,</CODE> <CODE><A HREF="visudo.html">visudo(8)</A>,</CODE> <CODE>su(1),</CODE> <CODE>fnmatch(3).</CODE>
+</BODY>
 
-</DL>
-    </BODY>
-
-    </HTML>
+</HTML>
index 85c0f5e893805969997e001ec435b965bdfe06f0..a6e8f2b70160fc630b92d039817d95456c6813cc 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-visudo(8)              MAINTENANCE COMMANDS             visudo(8)
+.::visudo(8)           MAINTENANCE COMMANDS          .::visudo(8)
 
 
 N\bN\bN\bNA\bA\bA\bAM\bM\bM\bME\bE\bE\bE
@@ -61,13 +61,13 @@ F\bF\bF\bFI\bI\bI\bIL\bL\bL\bLE\bE\bE\bES\bS\bS\bS
 
 
 
-28/Mar/99                      1.6                              1
+22/Jul/1999                    1.6                              1
 
 
 
 
 
-visudo(8)              MAINTENANCE COMMANDS             visudo(8)
+.::visudo(8)           MAINTENANCE COMMANDS          .::visudo(8)
 
 
 E\bE\bE\bEN\bN\bN\bNV\bV\bV\bVI\bI\bI\bIR\bR\bR\bRO\bO\bO\bON\bN\bN\bNM\bM\bM\bME\bE\bE\bEN\bN\bN\bNT\bT\bT\bT V\bV\bV\bVA\bA\bA\bAR\bR\bR\bRI\bI\bI\bIA\bA\bA\bAB\bB\bB\bBL\bL\bL\bLE\bE\bE\bES\bS\bS\bS
@@ -94,13 +94,8 @@ D\bD\bD\bDI\bI\bI\bIS\bS\bS\bSC\bC\bC\bCL\bL\bL\bLA\bA\bA\bAI\bI\bI\bIM\bM\bM\bME\bE\bE\bER\bR\bR\bR
        This program is distributed in the hope that it will be
        useful, but WITHOUT ANY WARRANTY; without even the implied
        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-       PURPOSE.  See the GNU General Public License for more
-       details.
-
-       You should have received a copy of the GNU General Public
-       License along with this program; if not, write to the Free
-       Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
-       02139, USA.
+       PURPOSE.  See the LICENSE file distributed with sudo for
+       more details.
 
 C\bC\bC\bCA\bA\bA\bAV\bV\bV\bVE\bE\bE\bEA\bA\bA\bAT\bT\bT\bTS\bS\bS\bS
        Due to the syntax of the _\bs_\bu_\bd_\bo_\be_\br_\bs file, there is no way for
@@ -127,13 +122,18 @@ S\bS\bS\bSE\bE\bE\bEE\bE\bE\bE A\bA\bA\bAL\bL\bL\bLS\bS\bS\bSO\bO\bO\bO
 
 
 
-28/Mar/99                      1.6                              2
 
 
 
 
 
-visudo(8)              MAINTENANCE COMMANDS             visudo(8)
+22/Jul/1999                    1.6                              2
+
+
+
+
+
+.::visudo(8)           MAINTENANCE COMMANDS          .::visudo(8)
 
 
 
@@ -193,6 +193,6 @@ visudo(8)              MAINTENANCE COMMANDS             visudo(8)
 
 
 
-28/Mar/99                      1.6                              3
+22/Jul/1999                    1.6                              3
 
 
index e93205e957c7160eb26e7d46024966ed7279f11e..7fbc652630d42ca92b9b6eae08a60dd05bfd54d2 100644 (file)
@@ -1,11 +1,10 @@
-    <HTML> 
-       <HEAD> 
-           <TITLE>visudo - edit the sudoers file
+<HTML>
+<HEAD>
+<TITLE>Visudo Manual</TITLE>
+<LINK REV="made" HREF="mailto:root@localhost">
+</HEAD>
 
-</TITLE> 
-       </HEAD>
-
-       <BODY>
+<BODY>
 
 <!-- INDEX BEGIN -->
 
 <HR>
 <P>
 <HR>
-<H1><A NAME="NAME">NAME
-
-</A></H1>
-visudo - edit the sudoers file
-
-
+<H1><A NAME="NAME">NAME</A></H1>
 <P>
+visudo - edit the sudoers file
 
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS
-
-</A></H1>
-<STRONG>visudo</STRONG> [ <STRONG>-V</STRONG> ]
-
-
+<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
 <P>
+<STRONG>visudo</STRONG> [ <STRONG>-V</STRONG> ]
 
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION
-
-</A></H1>
+<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
+<P>
 <STRONG>visudo</STRONG> edits the <EM>sudoers</EM> file in a safe fashion, analogous to <CODE>vipw(8).</CODE>  <STRONG>visudo</STRONG> locks the <EM>sudoers</EM> file against multiple simultaneous edits, provides basic sanity checks, and
 checks for parse errors. If the <EM>sudoers</EM> file is currently being edited you will receive a message to try again
 later. In the default configuration, the <CODE>vi(1)</CODE> editor is used,
 but there is a compile time option to allow use of whatever editor the
 environment variables <CODE>EDITOR</CODE> or <CODE>VISUAL</CODE> are set to.
 
-
 <P>
-
 <STRONG>visudo</STRONG> parses the <EM>sudoers</EM> file after the edit and will not save the changes if there is a syntax
 error. Upon finding an error, a message will be printed stating the line
 <CODE>number(s)</CODE> that the error occurred on and the user will receive
@@ -71,159 +59,88 @@ believes there to be a parse error, so will <STRONG>sudo</STRONG> and no one wil
 a short help message. When editing the <EM>sudoers</EM> file after a parse error has been detected the cursor will be placed on the
 line where the error occurred (if the editor supports this feature).
 
-
-<P>
-
 <P>
 <HR>
-<H1><A NAME="OPTIONS">OPTIONS
-
-</A></H1>
-<STRONG>visudo</STRONG> accepts the following command line option:
-
-
+<H1><A NAME="OPTIONS">OPTIONS</A></H1>
 <P>
+<STRONG>visudo</STRONG> accepts the following command line option:
 
 <DL>
-<DT><STRONG><A NAME="item__V">-V
-
-</A></STRONG><DD>
-The <CODE>-V</CODE> (version) option causes <STRONG>visudo</STRONG> to print the version number and exit.
-
-
+<DT><STRONG><A NAME="item__V">-V</A></STRONG><DD>
 <P>
+The <CODE>-V</CODE> (version) option causes <STRONG>visudo</STRONG> to print the version number and exit.
 
 </DL>
 <P>
 <HR>
-<H1><A NAME="ERRORS">ERRORS
-
-</A></H1>
+<H1><A NAME="ERRORS">ERRORS</A></H1>
 <DL>
-<DT><STRONG><A NAME="item_sudoers">sudoers file busy, try again later.
-
-</A></STRONG><DD>
+<DT><STRONG><A NAME="item_sudoers">sudoers file busy, try again later.</A></STRONG><DD>
+<P>
 Either someone is currently editing the <EM>sudoers</EM> file or there is a stale sudoers lock file (/etc/stmp by default) that you
 need to delete.
 
-
+<DT><STRONG><A NAME="item__etc_stmp_">/etc/stmp: Permission denied</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item__etc_stmp_">/etc/stmp: Permission denied
-
-</A></STRONG><DD>
 You didn't run <STRONG>visudo</STRONG> as root.
 
-
+<DT><STRONG><A NAME="item_Can">Can't find you in the passwd database</A></STRONG><DD>
 <P>
-
-<DT><STRONG><A NAME="item_Can">Can't find you in the passwd database
-
-</A></STRONG><DD>
 Your userid does not appear in the passwd file.
 
-
+<H1><A NAME="FILES">FILES</A></H1>
 <P>
-
-<H1><A NAME="FILES">FILES
-
-</A></H1>
 <PRE> /etc/sudoers           file of authorized users.
  /etc/stmp              lock file for visudo.
 </PRE>
-
+<H1><A NAME="ENVIRONMENT_VARIABLES">ENVIRONMENT VARIABLES</A></H1>
 <P>
-
-<H1><A NAME="ENVIRONMENT_VARIABLES">ENVIRONMENT VARIABLES
-
-</A></H1>
 The following are used only if <STRONG>visudo</STRONG> was compiled with the
 <EM>ENV_EDITOR</EM> option:
 
-
 <P>
-
 <PRE> EDITOR                 Used by visudo as the editor to use.
  VISUAL                 Used by visudo if EDITOR is not set.
 </PRE>
-
+<H1><A NAME="AUTHOR">AUTHOR</A></H1>
 <P>
-
-<H1><A NAME="AUTHOR">AUTHOR
-
-</A></H1>
 Many people have worked on <EM>sudo</EM> over the years, this version of
 <STRONG>visudo</STRONG> was written by:
 
-
 <P>
-
 <PRE> Todd Miller            &lt;Todd.Miller@courtesan.com&gt;
 </PRE>
-
 <P>
-
 See the HISTORY file in the sudo distribution for more details.
 
-
 <P>
-
 Please send all bugs, comments, and changes to <A
-HREF="MAILTO:sudo-bugs@courtesan.com.">sudo-bugs@courtesan.com.</A>
-
+HREF="mailto:sudo-bugs@courtesan.com.">sudo-bugs@courtesan.com.</A>
 
+<H1><A NAME="DISCLAIMER">DISCLAIMER</A></H1>
 <P>
-
-<H1><A NAME="DISCLAIMER">DISCLAIMER
-
-</A></H1>
 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-more details.
-
-
-<P>
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc., 675
-Mass Ave, Cambridge, MA 02139, USA.
-
+FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file distributed with
+sudo for more details.
 
+<H1><A NAME="CAVEATS">CAVEATS</A></H1>
 <P>
-
-<H1><A NAME="CAVEATS">CAVEATS
-
-</A></H1>
 Due to the syntax of the <EM>sudoers</EM> file, there is no way for <STRONG>visudo</STRONG> to tell the difference between a mistyped {Host,User,Cmnd}_Alias and a user
 or host name.
 
-
 <P>
-
 There is no easy way to prevent a user from gaining a root shell if the
 editor used by <STRONG>visudo</STRONG> allows shell escapes.
 
-
+<H1><A NAME="BUGS">BUGS</A></H1>
 <P>
-
-<H1><A NAME="BUGS">BUGS
-
-</A></H1>
 The <EM>-V</EM> flag gives the version of the <EM>sudo</EM> package rather than the individual <STRONG>visudo</STRONG> program.
 
-
+<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
 <P>
-
-<H1><A NAME="SEE_ALSO">SEE ALSO
-
-</A></H1>
 <CODE><A HREF="sudo.html">sudo(8)</A>, <CODE>vipw(8).</CODE>
-
-<P>
-
-</DL>
 </DL>
-    </BODY>
+</BODY>
 
-    </HTML>
+</HTML>
index ec54bebb92a86ce3eebe55c209cd81bfc1ff0c4e..68fc9886c8dda14e98d88b7d10fcbc885e43c14d 100644 (file)
@@ -2,8 +2,8 @@
 ''' $RCSfile$$Revision$$Date$
 '''
 ''' $Log$
-''' Revision 1.6  1999/04/05 20:57:24  millert
-''' Crank version to 1.6 and combine copyright statements
+''' Revision 1.7  1999/07/22 13:10:46  millert
+''' regen
 '''
 '''
 .de Sh
@@ -96,7 +96,7 @@
 .nr % 0
 .rr F
 .\}
-.TH visudo 8 "1.6" "28/Mar/99" "MAINTENANCE COMMANDS"
+.TH .::visudo 8 "1.6" "22/Jul/1999" "MAINTENANCE COMMANDS"
 .UC
 .if n .hy 0
 .if n .na
@@ -259,12 +259,8 @@ Please send all bugs, comments, and changes to sudo-bugs@courtesan.com.
 .SH "DISCLAIMER"
 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-.Sp
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-675 Mass Ave, Cambridge, MA 02139, USA.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the LICENSE
+file distributed with sudo for more details.
 .SH "CAVEATS"
 Due to the syntax of the \fIsudoers\fR file, there is no way
 for \fBvisudo\fR to tell the difference between a mistyped
@@ -279,7 +275,7 @@ the individual \fBvisudo\fR program.
 \fIsudo\fR\|(8), \fIvipw\fR\|(8).
 
 .rn }` ''
-.IX Title "visudo 8"
+.IX Title ".::visudo 8"
 .IX Name "visudo - edit the sudoers file"
 
 .IX Header "NAME"