From: Todd C. Miller Date: Thu, 7 Oct 1999 21:21:08 +0000 (+0000) Subject: o Change defaults stuff to put the value right in the struct. X-Git-Tag: SUDO_1_6_0~48 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7769bf6a32ca15778ea435bc57d96bafa352dacc;p=sudo o Change defaults stuff to put the value right in the struct. o Implement mailer_flags o Store syslog stuff both in int and string form. Setting the string form magically updates the int version. o Add boolean attribute to strings where it makes sense to say !foo --- diff --git a/INSTALL b/INSTALL index 0ab690928..4e430b250 100644 --- a/INSTALL +++ b/INSTALL @@ -219,12 +219,12 @@ Special features/options: If set, sudo will ignore '.' or '' (current dir) in $PATH. The $PATH itself is not modified. - --with-alertmail + --with-mailto User that mail from sudo is sent to. This should go to a sysadmin at your site. The default is "root". --with-mailsubject - Subject of the mail sent to the "alertmail" user. The token "%h" + Subject of the mail sent to the "mailto" user. The token "%h" will expand to the hostname of the machine. Default is "*** SECURITY information for %h ***". @@ -268,7 +268,7 @@ Special features/options: Override configure's guess as to the location of sendmail. --without-sendmail - Do not use sendmail to mail messages to the "alertmail" user. + Do not use sendmail to mail messages to the "mailto" user. Use only if don't run sendmail or the equivalent. --with-sudoers-mode=mode diff --git a/TODO b/TODO index 1af881482..550326e5d 100644 --- a/TODO +++ b/TODO @@ -74,3 +74,7 @@ TODO list (most will be addressed in sudo 2.0) 26) Look into %e, %p, %k in parse.lex 27) Document Defaults stuff in sudoers.pod + +28) Make syslog stuff work on vanilla ultrix + +29) Implement date_format and log_format options. diff --git a/auth/aix_auth.c b/auth/aix_auth.c index b82ab060d..b528ca056 100644 --- a/auth/aix_auth.c +++ b/auth/aix_auth.c @@ -67,7 +67,7 @@ aixauth_verify(pw, prompt, auth) char *message, *pass; int reenter = 1; - pass = tgetpass(prompt, sudo_inttable[I_PW_TIMEOUT] * 60, 1); + pass = tgetpass(prompt, def_ival(I_PW_TIMEOUT) * 60, 1); if (authenticate(pw->pw_name, pass, &reenter, &message) == 0) return(AUTH_SUCCESS); else diff --git a/auth/fwtk.c b/auth/fwtk.c index 0649cd640..2bb6c5a9c 100644 --- a/auth/fwtk.c +++ b/auth/fwtk.c @@ -117,9 +117,9 @@ fwtk_verify(pw, prompt, auth) /* Get the password/response from the user. */ if (strncmp(resp, "challenge ", 10) == 0) { (void) snprintf(buf, sizeof(buf), "%s\nResponse: ", &resp[10]); - pass = tgetpass(buf, sudo_inttable[I_PW_TIMEOUT] * 60, 0); + pass = tgetpass(buf, def_ival(I_PW_TIMEOUT) * 60, 0); } else if (strncmp(resp, "password", 8) == 0) { - pass = tgetpass(prompt, sudo_inttable[I_PW_TIMEOUT] * 60, 1); + pass = tgetpass(prompt, def_ival(I_PW_TIMEOUT) * 60, 1); } else { (void) fprintf(stderr, "%s: %s\n", Argv[0], resp); return(AUTH_FATAL); diff --git a/auth/pam.c b/auth/pam.c index de002215b..376ee96d7 100644 --- a/auth/pam.c +++ b/auth/pam.c @@ -143,7 +143,7 @@ sudo_conv(num_msg, msg, response, appdata_ptr) if (strcmp(p, "Password: ") && strcmp(p, "Password:")) p = (char *) pm->msg; pr->resp = estrdup((char *) tgetpass(p, - sudo_inttable[I_PW_TIMEOUT] * 60, !echo)); + def_ival(I_PW_TIMEOUT) * 60, !echo)); if (*pr->resp == '\0') nil_pw = 1; /* empty password */ break; diff --git a/auth/rfc1938.c b/auth/rfc1938.c index cc86a5843..56b11de5f 100644 --- a/auth/rfc1938.c +++ b/auth/rfc1938.c @@ -126,7 +126,7 @@ rfc1938_setup(pw, promptp, auth) new_prompt = (char *) erealloc(new_prompt, np_size); } - if (sudo_flag_set(FL_LONG_OTP_PROMPT)) + if (def_flag(I_LONG_OTP_PROMPT)) (void) sprintf(new_prompt, "%s\n%s", challenge, orig_prompt); else (void) sprintf(new_prompt, "%.*s [ %s ]:", op_len, orig_prompt, diff --git a/auth/sia.c b/auth/sia.c index 35fd6e371..8c80c1a3b 100644 --- a/auth/sia.c +++ b/auth/sia.c @@ -80,8 +80,8 @@ sudo_collect(timeout, rendition, title, nprompts, prompts) switch (rendition) { case SIAFORM: case SIAONELINER: - if (timeout <= 0 || timeout > sudo_inttable[I_PW_TIMEOUT] * 60) - timeout = sudo_inttable[I_PW_TIMEOUT] * 60; + if (timeout <= 0 || timeout > def_ival(I_PW_TIMEOUT) * 60) + timeout = def_ival(I_PW_TIMEOUT) * 60; /* * Substitute custom prompt if a) the sudo prompt is not "Password:" * and b) the SIA prompt is "Password:" (so we know it is safe). diff --git a/auth/sudo_auth.c b/auth/sudo_auth.c index b8548cbde..980cce470 100644 --- a/auth/sudo_auth.c +++ b/auth/sudo_auth.c @@ -98,7 +98,7 @@ void verify_user(prompt) char *prompt; { - short counter = sudo_inttable[I_PW_TRIES] + 1; + short counter = def_ival(I_PW_TRIES) + 1; short success = AUTH_FAILURE; short status; char *p; @@ -155,7 +155,7 @@ verify_user(prompt) #ifdef AUTH_STANDALONE p = prompt; #else - p = (char *) tgetpass(prompt, sudo_inttable[I_PW_TIMEOUT] * 60, 1); + p = (char *) tgetpass(prompt, def_ival(I_PW_TIMEOUT) * 60, 1); if (!p || *p == '\0') nil_pw = 1; #endif /* AUTH_STANDALONE */ @@ -182,7 +182,7 @@ verify_user(prompt) /* Exit loop on nil password, but give it a chance to match first. */ if (nil_pw) { - if (counter == sudo_inttable[I_PW_TRIES]) + if (counter == def_ival(I_PW_TRIES)) exit(1); else break; @@ -212,8 +212,8 @@ cleanup: return; case AUTH_FAILURE: log_error(NO_MAIL, "%d incorrect password attempt%s", - sudo_inttable[I_PW_TRIES] - counter, - (sudo_inttable[I_PW_TRIES] - counter == 1) ? "" : "s"); + def_ival(I_PW_TRIES) - counter, + (def_ival(I_PW_TRIES) - counter == 1) ? "" : "s"); case AUTH_FATAL: exit(1); } @@ -227,7 +227,7 @@ pass_warn(fp) #ifdef USE_INSULTS (void) fprintf(fp, "%s\n", INSULT); #else - (void) fprintf(fp, "%s\n", sudo_strtable[I_BADPASS_MSG]); + (void) fprintf(fp, "%s\n", def_str(I_BADPASS_MSG)); #endif /* USE_INSULTS */ } diff --git a/check.c b/check.c index 904716649..896178fed 100644 --- a/check.c +++ b/check.c @@ -100,15 +100,16 @@ check_user() lecture(); /* first time through they get a lecture */ /* Expand any escapes in the prompt. */ - prompt = expand_prompt(user_prompt ? user_prompt : sudo_strtable[I_PASSPROMPT], user_name, user_shost); + prompt = expand_prompt(user_prompt ? user_prompt : def_str(I_PASSPROMPT), + user_name, user_shost); verify_user(prompt); } if (status != TS_ERROR) update_timestamp(timestampdir, timestampfile); - (void) free(timestampdir); + free(timestampdir); if (timestampfile) - (void) free(timestampfile); + free(timestampfile); } /* @@ -119,7 +120,7 @@ static void lecture() { - if (sudo_flag_set(FL_LECTURE)) { + if (def_flag(I_LECTURE)) { (void) fputs("\n\ We trust you have received the usual lecture from the local System\n\ Administrator. It usually boils down to these two things:\n\ @@ -226,10 +227,10 @@ user_is_exempt() struct group *grp; char **gr_mem; - if (!sudo_strtable[I_EXEMPT_GRP]) + if (!def_str(I_EXEMPT_GRP)) return(FALSE); - if (!(grp = getgrnam(sudo_strtable[I_EXEMPT_GRP]))) + if (!(grp = getgrnam(def_str(I_EXEMPT_GRP)))) return(FALSE); if (getgid() == grp->gr_gid) @@ -251,9 +252,9 @@ build_timestamp(timestampdir, timestampfile) char **timestampdir; char **timestampfile; { - char *dirparent = sudo_strtable[I_TIMESTAMPDIR]; + char *dirparent = def_str(I_TIMESTAMPDIR); - if (sudo_flag_set(FL_TTY_TICKETS)) { + if (def_flag(I_TTY_TICKETS)) { char *p; if ((p = strrchr(user_tty, '/'))) @@ -285,7 +286,7 @@ timestamp_status(timestampdir, timestampfile, user, make_dirs) { struct stat sb; time_t now; - char *dirparent = sudo_strtable[I_TIMESTAMPDIR]; + char *dirparent = def_str(I_TIMESTAMPDIR); int status = TS_ERROR; /* assume the worst */ /* @@ -412,13 +413,13 @@ timestamp_status(timestampdir, timestampfile, user, make_dirs) */ if (status == TS_OLD) { now = time(NULL); - if (sudo_inttable[I_TS_TIMEOUT] && - now - sb.st_mtime < 60 * sudo_inttable[I_TS_TIMEOUT]) { + if (def_ival(I_TS_TIMEOUT) && + now - sb.st_mtime < 60 * def_ival(I_TS_TIMEOUT)) { /* * Check for bogus time on the stampfile. The clock may * have been set back or someone could be trying to spoof us. */ - if (sb.st_mtime > now + 60 * sudo_inttable[I_TS_TIMEOUT] * 2) { + if (sb.st_mtime > now + 60 * def_ival(I_TS_TIMEOUT) * 2) { log_error(NO_EXIT, "timestamp too far in the future: %20.20s", 4 + ctime(&sb.st_mtime)); @@ -468,7 +469,7 @@ remove_timestamp(remove) } } - (void) free(timestampdir); + free(timestampdir); if (timestampfile) - (void) free(timestampfile); + free(timestampfile); } diff --git a/config.h.in b/config.h.in index 5e113aa29..2af570d99 100644 --- a/config.h.in +++ b/config.h.in @@ -125,63 +125,6 @@ /* Define if you want to use execv() instead of execvp(). */ #undef USE_EXECV -/* Define if you a different ticket file for each tty. */ -#undef USE_TTY_TICKETS - -/* Define if you want to insult the user for entering an incorrect password. */ -#undef USE_INSULTS - -/* Define if you want the insults from the "classic" version sudo. */ -#undef CLASSIC_INSULTS - -/* Define if you want 2001-like insults. */ -#undef HAL_INSULTS - -/* Define if you want insults from the "Goon Show" */ -#undef GOONS_INSULTS - -/* Define if you want insults culled from the twisted minds of CSOps. */ -#undef CSOPS_INSULTS - -/* Define to override the user's path with a builtin one. */ -#undef SECURE_PATH - -/* Define if you use S/Key. */ -#undef HAVE_SKEY - -/* Define if you use NRL OPIE. */ -#undef HAVE_OPIE - -/* Define if you want a two line OTP (skey/opie) prompt. */ -#undef LONG_OTP_PROMPT - -/* Define if you use SecurID. */ -#undef HAVE_SECURID - -/* Define if you use AIX general authentication. */ -#undef HAVE_AUTHENTICATE - -/* Define if you use Kerberos IV or Kerberos V < 1.1. */ -#undef HAVE_KERB4 - -/* Define if you use Kerberos V version 1.1 or higher. */ -#undef HAVE_KERB5 - -/* Define if you use SIA. */ -#undef HAVE_SIA - -/* Define if you use PAM. */ -#undef HAVE_PAM - -/* Define if you use AFS. */ -#undef HAVE_AFS - -/* Define if you use OSF DCE. */ -#undef HAVE_DCE - -/* Define if you use the FWTK authsrv daemon. */ -#undef HAVE_FWTK - /* Define if you have POSIX signals. */ #undef HAVE_SIGACTION #ifdef HAVE_SIGACTION @@ -378,12 +321,12 @@ /* Define if your struct sockadr has an sa_len field. */ #undef HAVE_SA_LEN +/* Define if you want visudo to honor EDITOR and VISUAL env variables. */ +#undef ENV_EDITOR + /* Define to avoid using the passwd/shadow file for authentication. */ #undef WITHOUT_PASSWD -/* Define if you don't want sudo to prompt for a password by default. */ -#undef NO_AUTHENTICATION - /* Define to void if your C compiler fully groks void, else char */ #undef VOID @@ -394,6 +337,38 @@ /* and syslog(3) returns non-zero to denote failure */ #undef BROKEN_SYSLOG +/* Define if the code in interfaces.c does not compile for you. */ +#undef STUB_LOAD_INTERFACES + +/* + * Defaults for options. These may be overridden via a "Defaults" line + * in the sudoers file. + */ + +/* Define if you a different ticket file for each tty. */ +#undef USE_TTY_TICKETS + +/* Define if you want to insult the user for entering an incorrect password. */ +#undef USE_INSULTS + +/* Define if you want the insults from the "classic" version sudo. */ +#undef CLASSIC_INSULTS + +/* Define if you want 2001-like insults. */ +#undef HAL_INSULTS + +/* Define if you want insults from the "Goon Show" */ +#undef GOONS_INSULTS + +/* Define if you want insults culled from the twisted minds of CSOps. */ +#undef CSOPS_INSULTS + +/* Define to override the user's path with a builtin one. */ +#undef SECURE_PATH + +/* Define if you want a two line OTP (skey/opie) prompt. */ +#undef LONG_OTP_PROMPT + /* The umask that the root-run prog should use */ #undef SUDO_UMASK @@ -425,9 +400,9 @@ #undef NO_ROOT_SUDO /* Define to be the user that gets sudo mail. */ -#undef ALERTMAIL +#undef MAILTO -/* Define to be the subject of the mail sent to ALERTMAIL by sudo. */ +/* Define to be the subject of the mail sent to MAILTO by sudo. */ #undef MAILSUBJECT /* Define to be the message given for a bad password. */ @@ -436,9 +411,6 @@ /* Define to be the password prompt. */ #undef PASSPROMPT -/* Define if you want visudo to honor EDITOR and VISUAL env variables. */ -#undef ENV_EDITOR - /* Define to SLOG_SYSLOG, SLOG_FILE, or SLOG_BOTH */ #undef LOGGING @@ -478,8 +450,47 @@ /* Define if you want sudo to set $HOME in shell mode. */ #undef SHELL_SETS_HOME -/* Define if the code in interfaces.c does not compile for you. */ -#undef STUB_LOAD_INTERFACES +/* Define if you don't want sudo to prompt for a password by default. */ +#undef NO_AUTHENTICATION + + +/* + * Authentication methods. + */ + +/* Define if you use S/Key. */ +#undef HAVE_SKEY + +/* Define if you use NRL OPIE. */ +#undef HAVE_OPIE + +/* Define if you use SecurID. */ +#undef HAVE_SECURID + +/* Define if you use AIX general authentication. */ +#undef HAVE_AUTHENTICATE + +/* Define if you use Kerberos IV or Kerberos V < 1.1. */ +#undef HAVE_KERB4 + +/* Define if you use Kerberos V version 1.1 or higher. */ +#undef HAVE_KERB5 + +/* Define if you use SIA. */ +#undef HAVE_SIA + +/* Define if you use PAM. */ +#undef HAVE_PAM + +/* Define if you use AFS. */ +#undef HAVE_AFS + +/* Define if you use OSF DCE. */ +#undef HAVE_DCE + +/* Define if you use the FWTK authsrv daemon. */ +#undef HAVE_FWTK + /********** You probably don't want to modify anything below here ***********/ diff --git a/configure b/configure index 7887fc872..c8d186d6f 100755 --- a/configure +++ b/configure @@ -13,6 +13,8 @@ ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help --with-otp-only deprecated" +ac_help="$ac_help + --with-alertmail deprecated" ac_help="$ac_help --with-CC C compiler to use" ac_help="$ac_help @@ -54,9 +56,9 @@ ac_help="$ac_help ac_help="$ac_help --with-logging log via syslog, file, or both" ac_help="$ac_help - --with-logfac syslog facility to log with (default is LOG_LOCAL2)" + --with-logfac syslog facility to log with (default is local2)" ac_help="$ac_help - --with-goodpri syslog priority for commands (def is LOG_NOTICE)" + --with-goodpri syslog priority for commands (def is notice)" ac_help="$ac_help --with-badpri syslog priority for failures (def is LOG_ALERT)" ac_help="$ac_help @@ -66,7 +68,7 @@ ac_help="$ac_help ac_help="$ac_help --with-ignore-dot ignore '.' in the PATH" ac_help="$ac_help - --with-alertmail who should get sudo mail (default is "root")" + --with-mailto who should get sudo mail (default is "root")" ac_help="$ac_help --with-mailsubject subject of sudo mail" ac_help="$ac_help @@ -698,6 +700,21 @@ esac fi +# Check whether --with-alertmail or --without-alertmail was given. +if test "${with_alertmail+set}" = set; then + withval="$with_alertmail" + case $with_alertmail in + *) with_mailto="$with_alertmail" + cat >> confdefs.h <<\EOF +#define WITHOUT_PASSWD 1 +EOF + + echo "configure: warning: --with-alertmail option deprecated, treating as --mailto" 1>&2 + ;; +esac +fi + + # Check whether --with-CC or --without-CC was given. if test "${with_CC+set}" = set; then @@ -822,7 +839,7 @@ if test "${with_passwd+set}" = set; then EOF echo $ac_n "checking whether to use shadow/passwd file authentication""... $ac_c" 1>&6 -echo "configure:826: checking whether to use shadow/passwd file authentication" >&5 +echo "configure:843: checking whether to use shadow/passwd file authentication" >&5 echo "$ac_t""no" 1>&6 ;; *) echo "Sorry, --with-passwd does not take an argument." @@ -845,7 +862,7 @@ if test "${with_skey+set}" = set; then EOF echo $ac_n "checking whether to try S/Key authentication""... $ac_c" 1>&6 -echo "configure:849: checking whether to try S/Key authentication" >&5 +echo "configure:866: checking whether to try S/Key authentication" >&5 echo "$ac_t""yes" 1>&6 AUTH_OBJS="${AUTH_OBJS} rfc1938.o" ;; @@ -869,7 +886,7 @@ if test "${with_opie+set}" = set; then EOF echo $ac_n "checking whether to try NRL OPIE authentication""... $ac_c" 1>&6 -echo "configure:873: checking whether to try NRL OPIE authentication" >&5 +echo "configure:890: checking whether to try NRL OPIE authentication" >&5 echo "$ac_t""yes" 1>&6 AUTH_OBJS="${AUTH_OBJS} rfc1938.o" ;; @@ -889,7 +906,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:893: checking whether to use a two line prompt for OTP authentication" >&5 +echo "configure:910: checking whether to use a two line prompt for OTP authentication" >&5 echo "$ac_t""yes" 1>&6 ;; no) ;; @@ -910,7 +927,7 @@ if test "${with_SecurID+set}" = set; then EOF echo $ac_n "checking whether to use SecurID for authentication""... $ac_c" 1>&6 -echo "configure:914: checking whether to use SecurID for authentication" >&5 +echo "configure:931: checking whether to use SecurID for authentication" >&5 echo "$ac_t""yes" 1>&6 with_passwd=no AUTH_OBJS="securid.o" @@ -928,7 +945,7 @@ if test "${with_fwtk+set}" = set; then EOF echo $ac_n "checking whether to use FWTK AuthSRV for authentication""... $ac_c" 1>&6 -echo "configure:932: checking whether to use FWTK AuthSRV for authentication" >&5 +echo "configure:949: checking whether to use FWTK AuthSRV for authentication" >&5 echo "$ac_t""yes" 1>&6 with_passwd=no AUTH_OBJS="fwtk.o" @@ -939,7 +956,7 @@ echo "configure:932: checking whether to use FWTK AuthSRV for authentication" >& EOF echo $ac_n "checking whether to use FWTK AuthSRV for authentication""... $ac_c" 1>&6 -echo "configure:943: checking whether to use FWTK AuthSRV for authentication" >&5 +echo "configure:960: checking whether to use FWTK AuthSRV for authentication" >&5 echo "$ac_t""yes" 1>&6 SUDO_LDFLAGS="${SUDO_LDFLAGS} -L${with_fwtk}" CPPFLAGS="${CPPFLAGS} -I${with_fwtk}" @@ -956,7 +973,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:960: checking whether to try Kerberos 4 authentication" >&5 +echo "configure:977: checking whether to try Kerberos 4 authentication" >&5 echo "$ac_t""yes" 1>&6 ;; no) ;; @@ -972,7 +989,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:976: checking whether to try Kerberos 5 authentication" >&5 +echo "configure:993: checking whether to try Kerberos 5 authentication" >&5 echo "$ac_t""yes" 1>&6 ;; no) ;; @@ -992,7 +1009,7 @@ if test "${with_authenticate+set}" = set; then EOF echo $ac_n "checking whether to use AIX general authentication""... $ac_c" 1>&6 -echo "configure:996: checking whether to use AIX general authentication" >&5 +echo "configure:1013: checking whether to use AIX general authentication" >&5 echo "$ac_t""yes" 1>&6 with_passwd=no AUTH_OBJS="aix_auth.o" @@ -1014,7 +1031,7 @@ if test "${with_pam+set}" = set; then EOF echo $ac_n "checking whether to use PAM authentication""... $ac_c" 1>&6 -echo "configure:1018: checking whether to use PAM authentication" >&5 +echo "configure:1035: checking whether to use PAM authentication" >&5 echo "$ac_t""yes" 1>&6 with_passwd=no AUTH_OBJS="pam.o" @@ -1036,7 +1053,7 @@ if test "${with_AFS+set}" = set; then EOF echo $ac_n "checking whether to try AFS (kerberos) authentication""... $ac_c" 1>&6 -echo "configure:1040: checking whether to try AFS (kerberos) authentication" >&5 +echo "configure:1057: checking whether to try AFS (kerberos) authentication" >&5 echo "$ac_t""yes" 1>&6 AUTH_OBJS="${AUTH_OBJS} afs.o" ;; @@ -1057,7 +1074,7 @@ if test "${with_DCE+set}" = set; then EOF echo $ac_n "checking whether to try DCE (kerberos) authentication""... $ac_c" 1>&6 -echo "configure:1061: checking whether to try DCE (kerberos) authentication" >&5 +echo "configure:1078: checking whether to try DCE (kerberos) authentication" >&5 echo "$ac_t""yes" 1>&6 AUTH_OBJS="${AUTH_OBJS} dce.o" ;; @@ -1070,7 +1087,7 @@ fi echo $ac_n "checking whether to lecture users the first time they run sudo""... $ac_c" 1>&6 -echo "configure:1074: checking whether to lecture users the first time they run sudo" >&5 +echo "configure:1091: checking whether to lecture users the first time they run sudo" >&5 # Check whether --with-lecture or --without-lecture was given. if test "${with_lecture+set}" = set; then withval="$with_lecture" @@ -1093,7 +1110,7 @@ fi echo $ac_n "checking whether sudo should log via syslog or to a file""... $ac_c" 1>&6 -echo "configure:1097: checking whether sudo should log via syslog or to a file" >&5 +echo "configure:1114: 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" @@ -1135,7 +1152,7 @@ fi echo $ac_n "checking which syslog facility sudo should log with""... $ac_c" 1>&6 -echo "configure:1139: checking which syslog facility sudo should log with" >&5 +echo "configure:1156: 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" @@ -1147,22 +1164,22 @@ if test "${with_logfac+set}" = set; then exit 1 ;; *) cat >> confdefs.h <&6 ;; esac else - cat >> confdefs.h <<\EOF -#define LOGFAC LOG_LOCAL2 + cat >> confdefs.h <&6 + echo "$ac_t"""local2"" 1>&6 fi echo $ac_n "checking at which syslog priority to log commands""... $ac_c" 1>&6 -echo "configure:1166: checking at which syslog priority to log commands" >&5 +echo "configure:1183: checking at which syslog priority to log commands" >&5 # Check whether --with-goodpri or --without-goodpri was given. if test "${with_goodpri+set}" = set; then withval="$with_goodpri" @@ -1174,22 +1191,22 @@ if test "${with_goodpri+set}" = set; then exit 1 ;; *) cat >> confdefs.h <&6 ;; esac else - cat >> confdefs.h <<\EOF -#define PRI_SUCCESS LOG_NOTICE + cat >> confdefs.h <&6 + echo "$ac_t"""notice"" 1>&6 fi echo $ac_n "checking at which syslog priority to log failures""... $ac_c" 1>&6 -echo "configure:1193: checking at which syslog priority to log failures" >&5 +echo "configure:1210: checking at which syslog priority to log failures" >&5 # Check whether --with-badpri or --without-badpri was given. if test "${with_badpri+set}" = set; then withval="$with_badpri" @@ -1201,17 +1218,17 @@ if test "${with_badpri+set}" = set; then exit 1 ;; *) cat >> confdefs.h <&6 ;; esac else - cat >> confdefs.h <<\EOF -#define PRI_FAILURE LOG_ALERT + cat >> confdefs.h <&6 + echo "$ac_t"""alert"" 1>&6 fi @@ -1230,7 +1247,7 @@ fi echo $ac_n "checking how long a line in the log file should be""... $ac_c" 1>&6 -echo "configure:1234: checking how long a line in the log file should be" >&5 +echo "configure:1251: 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" @@ -1260,7 +1277,7 @@ fi echo $ac_n "checking whether sudo should ignore '.' or '' in \$PATH""... $ac_c" 1>&6 -echo "configure:1264: checking whether sudo should ignore '.' or '' in \$PATH" >&5 +echo "configure:1281: 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" @@ -1283,26 +1300,26 @@ fi echo $ac_n "checking who should get the mail that sudo sends""... $ac_c" 1>&6 -echo "configure:1287: 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" - case $with_alertmail in - yes) echo "Must give --with-alertmail an argument." +echo "configure:1304: checking who should get the mail that sudo sends" >&5 +# Check whether --with-mailto or --without-mailto was given. +if test "${with_mailto+set}" = set; then + withval="$with_mailto" + case $with_mailto in + yes) echo "Must give --with-mailto an argument." exit 1 ;; - no) echo "Sorry, --without-alertmail not supported." + no) echo "Sorry, --without-mailto not supported." ;; *) cat >> confdefs.h <&6 + echo "$ac_t""$with_mailto" 1>&6 ;; esac else cat >> confdefs.h <<\EOF -#define ALERTMAIL "root" +#define MAILTO "root" EOF echo "$ac_t""root" 1>&6 fi @@ -1322,7 +1339,7 @@ if test "${with_mailsubject+set}" = set; then EOF echo $ac_n "checking sudo mail subject""... $ac_c" 1>&6 -echo "configure:1326: checking sudo mail subject" >&5 +echo "configure:1343: checking sudo mail subject" >&5 echo "$ac_t""Using alert mail subject: $with_mailsubject" 1>&6 ;; esac @@ -1335,7 +1352,7 @@ fi echo $ac_n "checking whether to send mail when a user is not in sudoers""... $ac_c" 1>&6 -echo "configure:1339: checking whether to send mail when a user is not in sudoers" >&5 +echo "configure:1356: 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" @@ -1361,7 +1378,7 @@ fi echo $ac_n "checking whether to send mail when user listed but not for this host""... $ac_c" 1>&6 -echo "configure:1365: checking whether to send mail when user listed but not for this host" >&5 +echo "configure:1382: checking whether to send mail when user listed but not for this host" >&5 # Check whether --with-mail-if-no-host or --without-mail-if-no-host was given. if test "${with_mail_if_no_host+set}" = set; then withval="$with_mail_if_no_host" @@ -1384,7 +1401,7 @@ fi echo $ac_n "checking whether to send mail when a user tries a disallowed command""... $ac_c" 1>&6 -echo "configure:1388: checking whether to send mail when a user tries a disallowed command" >&5 +echo "configure:1405: 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" @@ -1407,7 +1424,7 @@ fi echo $ac_n "checking for bad password prompt""... $ac_c" 1>&6 -echo "configure:1411: checking for bad password prompt" >&5 +echo "configure:1428: 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" @@ -1433,7 +1450,7 @@ fi echo $ac_n "checking for bad password message""... $ac_c" 1>&6 -echo "configure:1437: checking for bad password message" >&5 +echo "configure:1454: 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" @@ -1459,7 +1476,7 @@ fi echo $ac_n "checking whether to expect fully qualified hosts in sudoers""... $ac_c" 1>&6 -echo "configure:1463: checking whether to expect fully qualified hosts in sudoers" >&5 +echo "configure:1480: 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" @@ -1571,7 +1588,7 @@ fi echo $ac_n "checking for umask programs should be run with""... $ac_c" 1>&6 -echo "configure:1575: checking for umask programs should be run with" >&5 +echo "configure:1592: 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" @@ -1600,7 +1617,7 @@ fi echo $ac_n "checking for default user to run commands as""... $ac_c" 1>&6 -echo "configure:1604: checking for default user to run commands as" >&5 +echo "configure:1621: 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" @@ -1641,7 +1658,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:1645: checking for group to be exempt from password" >&5 +echo "configure:1662: checking for group to be exempt from password" >&5 echo "$ac_t""$with_exempt" 1>&6 ;; esac @@ -1649,7 +1666,7 @@ fi echo $ac_n "checking for editor that visudo should use""... $ac_c" 1>&6 -echo "configure:1653: checking for editor that visudo should use" >&5 +echo "configure:1670: 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" @@ -1676,7 +1693,7 @@ fi echo $ac_n "checking whether to obey EDITOR and VISUAL environment variables""... $ac_c" 1>&6 -echo "configure:1680: checking whether to obey EDITOR and VISUAL environment variables" >&5 +echo "configure:1697: 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" @@ -1699,7 +1716,7 @@ fi echo $ac_n "checking number of tries a user gets to enter their password""... $ac_c" 1>&6 -echo "configure:1703: checking number of tries a user gets to enter their password" >&5 +echo "configure:1720: 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" @@ -1732,7 +1749,7 @@ fi echo $ac_n "checking time in minutes after which sudo will ask for a password again""... $ac_c" 1>&6 -echo "configure:1736: checking time in minutes after which sudo will ask for a password again" >&5 +echo "configure:1753: 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" @@ -1768,7 +1785,7 @@ fi echo $ac_n "checking time in minutes after the password prompt will time out""... $ac_c" 1>&6 -echo "configure:1772: checking time in minutes after the password prompt will time out" >&5 +echo "configure:1789: 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" @@ -1804,7 +1821,7 @@ fi echo $ac_n "checking whether to use execvp or execv""... $ac_c" 1>&6 -echo "configure:1808: checking whether to use execvp or execv" >&5 +echo "configure:1825: 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" @@ -1827,7 +1844,7 @@ fi echo $ac_n "checking whether to use per-tty ticket files""... $ac_c" 1>&6 -echo "configure:1831: checking whether to use per-tty ticket files" >&5 +echo "configure:1848: 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" @@ -1850,7 +1867,7 @@ fi echo $ac_n "checking whether to include insults""... $ac_c" 1>&6 -echo "configure:1854: checking whether to include insults" >&5 +echo "configure:1871: 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" @@ -1961,7 +1978,7 @@ fi if test "$with_insults" = "yes"; then echo $ac_n "checking which insult sets to include""... $ac_c" 1>&6 -echo "configure:1965: checking which insult sets to include" >&5 +echo "configure:1982: checking which insult sets to include" >&5 i="" test "$with_goons_insults" = "yes" && i="goons ${i}" test "$with_hal_insults" = "yes" && i="hal ${i}" @@ -1971,7 +1988,7 @@ echo "configure:1965: 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:1975: checking whether to override the user's path" >&5 +echo "configure:1992: 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" @@ -1997,7 +2014,7 @@ fi echo $ac_n "checking whether to get ip addresses from the network interfaces""... $ac_c" 1>&6 -echo "configure:2001: checking whether to get ip addresses from the network interfaces" >&5 +echo "configure:2018: 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" @@ -2021,7 +2038,7 @@ fi echo $ac_n "checking whether to do user authentication by default""... $ac_c" 1>&6 -echo "configure:2025: checking whether to do user authentication by default" >&5 +echo "configure:2042: checking whether to do user authentication by default" >&5 # Check whether --enable-authentication or --disable-authentication was given. if test "${enable_authentication+set}" = set; then enableval="$enable_authentication" @@ -2045,7 +2062,7 @@ fi echo $ac_n "checking whether to disable shadow password support""... $ac_c" 1>&6 -echo "configure:2049: checking whether to disable shadow password support" >&5 +echo "configure:2066: 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" @@ -2066,7 +2083,7 @@ fi echo $ac_n "checking whether root should be allowed to use sudo""... $ac_c" 1>&6 -echo "configure:2070: checking whether root should be allowed to use sudo" >&5 +echo "configure:2087: 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" @@ -2090,7 +2107,7 @@ fi echo $ac_n "checking whether to log the hostname in the log file""... $ac_c" 1>&6 -echo "configure:2094: checking whether to log the hostname in the log file" >&5 +echo "configure:2111: 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" @@ -2114,7 +2131,7 @@ fi echo $ac_n "checking whether to invoke a shell if sudo is given no arguments""... $ac_c" 1>&6 -echo "configure:2118: checking whether to invoke a shell if sudo is given no arguments" >&5 +echo "configure:2135: 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" @@ -2138,7 +2155,7 @@ fi echo $ac_n "checking whether to set \$HOME to target user in shell mode""... $ac_c" 1>&6 -echo "configure:2142: checking whether to set \$HOME to target user in shell mode" >&5 +echo "configure:2159: 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" @@ -2162,7 +2179,7 @@ fi echo $ac_n "checking whether to disable 'command not found' messages""... $ac_c" 1>&6 -echo "configure:2166: checking whether to disable 'command not found' messages" >&5 +echo "configure:2183: 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" @@ -2188,7 +2205,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:2192: checking for $ac_word" >&5 +echo "configure:2209: 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 @@ -2223,7 +2240,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:2227: checking for $ac_word" >&5 +echo "configure:2244: 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 @@ -2252,7 +2269,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:2256: checking for $ac_word" >&5 +echo "configure:2273: 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 @@ -2300,7 +2317,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2304: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2321: 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. @@ -2310,11 +2327,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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2335: \"$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 @@ -2334,12 +2351,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:2338: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2355: 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:2343: checking whether we are using GNU C" >&5 +echo "configure:2360: 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 @@ -2348,7 +2365,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2352: \"$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:2369: \"$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 @@ -2363,7 +2380,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:2367: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2384: 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 @@ -2393,7 +2410,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:2397: checking how to run the C preprocessor" >&5 +echo "configure:2414: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2408,13 +2425,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2418: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2435: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -2425,13 +2442,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2435: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -2454,7 +2471,7 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:2458: checking for POSIXized ISC" >&5 +echo "configure:2475: 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 @@ -2482,7 +2499,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:2486: checking for $ac_word" >&5 +echo "configure:2503: 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 @@ -2510,7 +2527,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:2514: checking for $ac_word" >&5 +echo "configure:2531: 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 @@ -2538,7 +2555,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:2542: checking for $ac_word" >&5 +echo "configure:2559: 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 @@ -2566,7 +2583,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:2570: checking for $ac_word" >&5 +echo "configure:2587: 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 @@ -2621,7 +2638,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:2625: checking host system type" >&5 +echo "configure:2642: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -2650,7 +2667,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:2654: checking previous host type" >&5 +echo "configure:2671: 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 @@ -2690,12 +2707,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:2694: checking for getpwanam" >&5 +echo "configure:2711: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getpwanam=yes" else @@ -2738,12 +2755,12 @@ EOF for ac_func in issecure do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2742: checking for $ac_func" >&5 +echo "configure:2759: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2817,7 +2834,7 @@ EOF *-*-hiuxmpp*) if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6 -echo "configure:2821: checking for getprpwnam in -lsec" >&5 +echo "configure:2838: checking for getprpwnam in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -2829,7 +2846,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2861: \"$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 @@ -2862,7 +2879,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6 -echo "configure:2866: checking for getprpwnam in -lsecurity" >&5 +echo "configure:2883: checking for getprpwnam in -lsecurity" >&5 if test -n ""; then ac_lib_var=`echo security'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -2874,7 +2891,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2906: \"$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 @@ -2920,7 +2937,7 @@ fi if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6 -echo "configure:2924: checking for getprpwnam in -lsec" >&5 +echo "configure:2941: checking for getprpwnam in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -2932,7 +2949,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2964: \"$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 @@ -2962,7 +2979,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:2966: checking for iscomsec in -lsec" >&5 +echo "configure:2983: checking for iscomsec in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'iscomsec | sed 'y% ./+-%___p_%'` else @@ -2974,7 +2991,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3006: \"$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 @@ -3051,12 +3068,12 @@ EOF for ac_func in getspwuid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3055: checking for $ac_func" >&5 +echo "configure:3072: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3156,7 +3173,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:3160: checking whether to disable sia support on Digital UNIX" >&5 +echo "configure:3177: 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" @@ -3180,12 +3197,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:3184: checking for sia_ses_init" >&5 +echo "configure:3201: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3229: \"$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 @@ -3237,7 +3254,7 @@ fi fi if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6 -echo "configure:3241: checking for getprpwnam in -lsecurity" >&5 +echo "configure:3258: checking for getprpwnam in -lsecurity" >&5 if test -n ""; then ac_lib_var=`echo security'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -3249,7 +3266,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3281: \"$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 @@ -3290,12 +3307,12 @@ EOF # -ldb includes bogus versions of snprintf/vsnprintf echo $ac_n "checking for snprintf""... $ac_c" 1>&6 -echo "configure:3294: checking for snprintf" >&5 +echo "configure:3311: checking for snprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_snprintf=yes" else @@ -3342,12 +3359,12 @@ NEED_SNPRINTF=1 fi echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6 -echo "configure:3346: checking for vsnprintf" >&5 +echo "configure:3363: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vsnprintf=yes" else @@ -3395,7 +3412,7 @@ fi # 4.x and higher need -ldb too... echo $ac_n "checking for dbopen in -ldb""... $ac_c" 1>&6 -echo "configure:3399: checking for dbopen in -ldb" >&5 +echo "configure:3416: checking for dbopen in -ldb" >&5 if test -n ""; then ac_lib_var=`echo db'_'dbopen | sed 'y% ./+-%___p_%'` else @@ -3407,7 +3424,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldb $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3439: \"$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 @@ -3442,12 +3459,12 @@ fi for ac_func in dispcrypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3446: checking for $ac_func" >&5 +echo "configure:3463: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3495,9 +3512,9 @@ fi done echo $ac_n "checking for broken /usr/include/prot.h""... $ac_c" 1>&6 -echo "configure:3499: checking for broken /usr/include/prot.h" >&5 +echo "configure:3516: checking for broken /usr/include/prot.h" >&5 cat > conftest.$ac_ext < @@ -3508,7 +3525,7 @@ int main() { exit(0); ; return 0; } EOF -if { (eval echo configure:3512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""no" 1>&6 else @@ -3554,7 +3571,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:3558: checking for getpwnam in -lsun" >&5 +echo "configure:3575: checking for getpwnam in -lsun" >&5 if test -n ""; then ac_lib_var=`echo sun'_'getpwnam | sed 'y% ./+-%___p_%'` else @@ -3566,7 +3583,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsun $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3598: \"$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 @@ -3609,12 +3626,12 @@ EOF # 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:3613: checking for getspnam" >&5 +echo "configure:3630: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getspnam=yes" else @@ -3658,7 +3675,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getspnam in -lshadow""... $ac_c" 1>&6 -echo "configure:3662: checking for getspnam in -lshadow" >&5 +echo "configure:3679: checking for getspnam in -lshadow" >&5 if test -n ""; then ac_lib_var=`echo shadow'_'getspnam | sed 'y% ./+-%___p_%'` else @@ -3670,7 +3687,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lshadow $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3702: \"$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 @@ -3720,7 +3737,7 @@ EOF if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6 -echo "configure:3724: checking for getprpwnam in -lsec" >&5 +echo "configure:3741: checking for getprpwnam in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -3732,7 +3749,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3764: \"$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 @@ -3773,7 +3790,7 @@ fi OS="ultrix" if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getauthuid in -lauth""... $ac_c" 1>&6 -echo "configure:3777: checking for getauthuid in -lauth" >&5 +echo "configure:3794: checking for getauthuid in -lauth" >&5 if test -n ""; then ac_lib_var=`echo auth'_'getauthuid | sed 'y% ./+-%___p_%'` else @@ -3785,7 +3802,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lauth $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3817: \"$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 @@ -3835,7 +3852,7 @@ fi if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6 -echo "configure:3839: checking for getspnam in -lsec" >&5 +echo "configure:3856: checking for getspnam in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'getspnam | sed 'y% ./+-%___p_%'` else @@ -3847,7 +3864,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3879: \"$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 @@ -3887,7 +3904,7 @@ fi *-*-sco*) if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6 -echo "configure:3891: checking for getprpwnam in -lprot" >&5 +echo "configure:3908: checking for getprpwnam in -lprot" >&5 if test -n "-lx"; then ac_lib_var=`echo prot'_'getprpwnam-lx | sed 'y% ./+-%___p_%'` else @@ -3899,7 +3916,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lprot -lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3931: \"$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 @@ -3934,7 +3951,7 @@ else fi echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6 -echo "configure:3938: checking for getspnam in -lgen" >&5 +echo "configure:3955: checking for getspnam in -lgen" >&5 if test -n ""; then ac_lib_var=`echo gen'_'getspnam | sed 'y% ./+-%___p_%'` else @@ -3946,7 +3963,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3978: \"$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 @@ -3986,7 +4003,7 @@ fi *-sequent-sysv*) if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6 -echo "configure:3990: checking for getspnam in -lsec" >&5 +echo "configure:4007: checking for getspnam in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'getspnam | sed 'y% ./+-%___p_%'` else @@ -3998,7 +4015,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4030: \"$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 @@ -4057,12 +4074,12 @@ esac if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getspnam""... $ac_c" 1>&6 -echo "configure:4061: checking for getspnam" >&5 +echo "configure:4078: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getspnam=yes" else @@ -4110,12 +4127,12 @@ fi fi if test "$CHECKSHADOW" = "true"; then echo $ac_n "checking for getprpwnam""... $ac_c" 1>&6 -echo "configure:4114: checking for getprpwnam" >&5 +echo "configure:4131: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getprpwnam=yes" else @@ -4159,7 +4176,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6 -echo "configure:4163: checking for getprpwnam in -lsec" >&5 +echo "configure:4180: checking for getprpwnam in -lsec" >&5 if test -n ""; then ac_lib_var=`echo sec'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -4171,7 +4188,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4203: \"$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 @@ -4204,7 +4221,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6 -echo "configure:4208: checking for getprpwnam in -lsecurity" >&5 +echo "configure:4225: checking for getprpwnam in -lsecurity" >&5 if test -n ""; then ac_lib_var=`echo security'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -4216,7 +4233,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4248: \"$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 @@ -4249,7 +4266,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6 -echo "configure:4253: checking for getprpwnam in -lprot" >&5 +echo "configure:4270: checking for getprpwnam in -lprot" >&5 if test -n ""; then ac_lib_var=`echo prot'_'getprpwnam | sed 'y% ./+-%___p_%'` else @@ -4261,7 +4278,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lprot $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4293: \"$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 @@ -4305,13 +4322,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:4309: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:4326: 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 < Autoconf TIOCGETP @@ -4329,7 +4346,7 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -4351,12 +4368,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:4355: checking for working const" >&5 +echo "configure:4372: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4430,7 +4447,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:4434: checking for $ac_word" >&5 +echo "configure:4451: 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 @@ -4461,7 +4478,7 @@ test -n "$YACC" || YACC="yacc" if test -z "$with_sendmail"; then echo $ac_n "checking for sendmail""... $ac_c" 1>&6 -echo "configure:4465: checking for sendmail" >&5 +echo "configure:4482: checking for sendmail" >&5 if test -f "/usr/sbin/sendmail"; then echo "$ac_t""/usr/sbin/sendmail" 1>&6 cat >> confdefs.h <<\EOF @@ -4504,7 +4521,7 @@ fi fi echo $ac_n "checking for mv""... $ac_c" 1>&6 -echo "configure:4508: checking for mv" >&5 +echo "configure:4525: checking for mv" >&5 if test -f "/usr/bin/mv"; then echo "$ac_t""/usr/bin/mv" 1>&6 cat >> confdefs.h <<\EOF @@ -4534,7 +4551,7 @@ else fi echo $ac_n "checking for bourne shell""... $ac_c" 1>&6 -echo "configure:4538: checking for bourne shell" >&5 +echo "configure:4555: checking for bourne shell" >&5 if test -f "/bin/sh"; then echo "$ac_t""/bin/sh" 1>&6 cat >> confdefs.h <<\EOF @@ -4588,7 +4605,7 @@ else fi echo $ac_n "checking for vi""... $ac_c" 1>&6 -echo "configure:4592: checking for vi" >&5 +echo "configure:4609: checking for vi" >&5 if test -f "/usr/bin/vi"; then echo "$ac_t""/usr/bin/vi" 1>&6 cat >> confdefs.h <<\EOF @@ -4624,12 +4641,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:4628: checking for ANSI C header files" >&5 +echo "configure:4645: 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 < #include @@ -4637,7 +4654,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4654,7 +4671,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 @@ -4672,7 +4689,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 @@ -4693,7 +4710,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4704,7 +4721,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:4708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -4732,12 +4749,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:4736: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4753: 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 < #include <$ac_hdr> @@ -4745,7 +4762,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4749: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4770,7 +4787,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:4774: checking for opendir in -ldir" >&5 +echo "configure:4791: checking for opendir in -ldir" >&5 if test -n ""; then ac_lib_var=`echo dir'_'opendir | sed 'y% ./+-%___p_%'` else @@ -4782,7 +4799,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4814: \"$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 @@ -4815,7 +4832,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4819: checking for opendir in -lx" >&5 +echo "configure:4836: checking for opendir in -lx" >&5 if test -n ""; then ac_lib_var=`echo x'_'opendir | sed 'y% ./+-%___p_%'` else @@ -4827,7 +4844,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4859: \"$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 @@ -4864,17 +4881,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:4868: checking for $ac_hdr" >&5 +echo "configure:4885: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4905,17 +4922,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:4909: checking for $ac_hdr" >&5 +echo "configure:4926: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4919: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4936: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4945,17 +4962,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4949: checking for $ac_hdr" >&5 +echo "configure:4966: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4978,12 +4995,12 @@ EOF for ac_func in tcgetattr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4982: checking for $ac_func" >&5 +echo "configure:4999: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5037,12 +5054,12 @@ done fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:5041: checking for mode_t" >&5 +echo "configure:5058: 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 < #if STDC_HEADERS @@ -5070,12 +5087,12 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:5074: checking for uid_t in sys/types.h" >&5 +echo "configure:5091: 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 @@ -5104,12 +5121,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5108: checking for size_t" >&5 +echo "configure:5125: 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 < #if STDC_HEADERS @@ -5139,12 +5156,12 @@ EOF fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:5143: checking for ssize_t" >&5 +echo "configure:5160: 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 < #if STDC_HEADERS @@ -5174,12 +5191,12 @@ EOF fi echo $ac_n "checking for dev_t""... $ac_c" 1>&6 -echo "configure:5178: checking for dev_t" >&5 +echo "configure:5195: 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 < #if STDC_HEADERS @@ -5209,12 +5226,12 @@ EOF fi echo $ac_n "checking for ino_t""... $ac_c" 1>&6 -echo "configure:5213: checking for ino_t" >&5 +echo "configure:5230: 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 < #if STDC_HEADERS @@ -5244,9 +5261,9 @@ EOF fi echo $ac_n "checking for full void implementation""... $ac_c" 1>&6 -echo "configure:5248: checking for full void implementation" >&5 +echo "configure:5265: checking for full void implementation" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define VOID void @@ -5274,7 +5291,7 @@ fi rm -f conftest* echo $ac_n "checking max length of uid_t""... $ac_c" 1>&6 -echo "configure:5278: checking max length of uid_t" >&5 +echo "configure:5295: 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 @@ -5283,7 +5300,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 < #include @@ -5304,7 +5321,7 @@ main() { exit(0); } EOF -if { (eval echo configure:5308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5325: \"$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 @@ -5327,16 +5344,16 @@ EOF echo $ac_n "checking for long long support""... $ac_c" 1>&6 -echo "configure:5331: checking for long long support" >&5 +echo "configure:5348: checking for long long support" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_LONG_LONG 1 @@ -5346,11 +5363,11 @@ 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then cat >> confdefs.h <<\EOF #define LONG_IS_QUAD 1 @@ -5372,7 +5389,7 @@ else fi rm -f conftest* echo $ac_n "checking for sa_len field in struct sockaddr""... $ac_c" 1>&6 -echo "configure:5376: checking for sa_len field in struct sockaddr" >&5 +echo "configure:5393: 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 @@ -5380,7 +5397,7 @@ else sudo_cv_sock_sa_len=no else cat > conftest.$ac_ext < #include @@ -5390,7 +5407,7 @@ s.sa_len = 0; exit(0); } EOF -if { (eval echo configure:5394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5411: \"$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 @@ -5415,12 +5432,12 @@ fi case "$DEFS" in *"RETSIGTYPE"*) ;; *) echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:5419: checking return type of signal handlers" >&5 +echo "configure:5436: 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 < #include @@ -5437,7 +5454,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:5441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -5459,12 +5476,12 @@ esac for ac_func in strchr strrchr memchr memcpy memset sysconf sigaction tzset seteuid ftruncate strftime do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5463: checking for $ac_func" >&5 +echo "configure:5480: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5515,12 +5532,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:5519: checking for $ac_func" >&5 +echo "configure:5536: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5570,12 +5587,12 @@ done for ac_func in set_auth_parameters do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5574: checking for $ac_func" >&5 +echo "configure:5591: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5625,12 +5642,12 @@ done for ac_func in initprivs do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5629: checking for $ac_func" >&5 +echo "configure:5646: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5680,12 +5697,12 @@ done fi if test -z "$BROKEN_GETCWD"; then echo $ac_n "checking for getcwd""... $ac_c" 1>&6 -echo "configure:5684: checking for getcwd" >&5 +echo "configure:5701: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getcwd=yes" else @@ -5733,12 +5750,12 @@ fi fi echo $ac_n "checking for lockf""... $ac_c" 1>&6 -echo "configure:5737: checking for lockf" >&5 +echo "configure:5754: checking for lockf" >&5 if eval "test \"`echo '$''{'ac_cv_func_lockf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_lockf=yes" else @@ -5784,12 +5801,12 @@ else for ac_func in flock do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5788: checking for $ac_func" >&5 +echo "configure:5805: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5839,12 +5856,12 @@ done fi echo $ac_n "checking for waitpid""... $ac_c" 1>&6 -echo "configure:5843: checking for waitpid" >&5 +echo "configure:5860: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_waitpid=yes" else @@ -5890,12 +5907,12 @@ else for ac_func in wait3 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5894: checking for $ac_func" >&5 +echo "configure:5911: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5945,12 +5962,12 @@ done fi echo $ac_n "checking for innetgr""... $ac_c" 1>&6 -echo "configure:5949: checking for innetgr" >&5 +echo "configure:5966: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_innetgr=yes" else @@ -5993,12 +6010,12 @@ EOF for ac_func in getdomainname do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5997: checking for $ac_func" >&5 +echo "configure:6014: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6050,12 +6067,12 @@ else fi echo $ac_n "checking for lsearch""... $ac_c" 1>&6 -echo "configure:6054: checking for lsearch" >&5 +echo "configure:6071: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_lsearch=yes" else @@ -6099,7 +6116,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for lsearch in -lcompat""... $ac_c" 1>&6 -echo "configure:6103: checking for lsearch in -lcompat" >&5 +echo "configure:6120: checking for lsearch in -lcompat" >&5 if test -n ""; then ac_lib_var=`echo compat'_'lsearch | sed 'y% ./+-%___p_%'` else @@ -6111,7 +6128,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcompat $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6143: \"$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 @@ -6139,17 +6156,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:6143: checking for search.h" >&5 +echo "configure:6160: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6153: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6182,12 +6199,12 @@ fi fi echo $ac_n "checking for setenv""... $ac_c" 1>&6 -echo "configure:6186: checking for setenv" >&5 +echo "configure:6203: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_setenv=yes" else @@ -6231,12 +6248,12 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for putenv""... $ac_c" 1>&6 -echo "configure:6235: checking for putenv" >&5 +echo "configure:6252: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_putenv=yes" else @@ -6285,12 +6302,12 @@ fi fi echo $ac_n "checking for utime""... $ac_c" 1>&6 -echo "configure:6289: checking for utime" >&5 +echo "configure:6306: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_utime=yes" else @@ -6332,7 +6349,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:6336: checking for POSIX utime" >&5 +echo "configure:6353: 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 @@ -6341,7 +6358,7 @@ if test "$cross_compiling" = yes; then sudo_cv_func_utime_posix=no else cat > conftest.$ac_ext < #include @@ -6353,7 +6370,7 @@ utime("conftestdata", &ut); exit(0); } EOF -if { (eval echo configure:6357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6374: \"$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 @@ -6381,7 +6398,7 @@ LIBOBJS="$LIBOBJS utime.o" fi echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6 -echo "configure:6385: checking for working fnmatch" >&5 +echo "configure:6402: 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 @@ -6390,13 +6407,13 @@ if test "$cross_compiling" = yes; then sudo_cv_func_fnmatch=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then sudo_cv_func_fnmatch=yes else @@ -6423,12 +6440,12 @@ fi for ac_func in strerror strcasecmp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6427: checking for $ac_func" >&5 +echo "configure:6444: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6478,12 +6495,12 @@ done echo $ac_n "checking for snprintf""... $ac_c" 1>&6 -echo "configure:6482: checking for snprintf" >&5 +echo "configure:6499: checking for snprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_snprintf=yes" else @@ -6530,12 +6547,12 @@ NEED_SNPRINTF=1 fi echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6 -echo "configure:6534: checking for vsnprintf" >&5 +echo "configure:6551: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vsnprintf=yes" else @@ -6582,12 +6599,12 @@ NEED_SNPRINTF=1 fi echo $ac_n "checking for asprintf""... $ac_c" 1>&6 -echo "configure:6586: checking for asprintf" >&5 +echo "configure:6603: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_asprintf=yes" else @@ -6634,12 +6651,12 @@ NEED_SNPRINTF=1 fi echo $ac_n "checking for vasprintf""... $ac_c" 1>&6 -echo "configure:6638: checking for vasprintf" >&5 +echo "configure:6655: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vasprintf=yes" else @@ -6690,12 +6707,12 @@ if test -n "$NEED_SNPRINTF"; then fi if test -z "$LIB_CRYPT"; then echo $ac_n "checking for crypt""... $ac_c" 1>&6 -echo "configure:6694: checking for crypt" >&5 +echo "configure:6711: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_crypt=yes" else @@ -6736,7 +6753,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:6740: checking for crypt in -lcrypt" >&5 +echo "configure:6757: checking for crypt in -lcrypt" >&5 if test -n ""; then ac_lib_var=`echo crypt'_'crypt | sed 'y% ./+-%___p_%'` else @@ -6748,7 +6765,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6780: \"$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 @@ -6778,7 +6795,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:6782: checking for crypt in -lcrypt_d" >&5 +echo "configure:6799: checking for crypt in -lcrypt_d" >&5 if test -n ""; then ac_lib_var=`echo crypt_d'_'crypt | sed 'y% ./+-%___p_%'` else @@ -6790,7 +6807,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrypt_d $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6822: \"$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 @@ -6820,7 +6837,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 -lufc""... $ac_c" 1>&6 -echo "configure:6824: checking for crypt in -lufc" >&5 +echo "configure:6841: checking for crypt in -lufc" >&5 if test -n ""; then ac_lib_var=`echo ufc'_'crypt | sed 'y% ./+-%___p_%'` else @@ -6832,7 +6849,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lufc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6864: \"$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 @@ -6871,12 +6888,12 @@ fi fi echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:6875: checking for socket" >&5 +echo "configure:6892: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -6917,7 +6934,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:6921: checking for socket in -lsocket" >&5 +echo "configure:6938: checking for socket in -lsocket" >&5 if test -n ""; then ac_lib_var=`echo socket'_'socket | sed 'y% ./+-%___p_%'` else @@ -6929,7 +6946,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6961: \"$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 @@ -6959,7 +6976,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:6963: checking for socket in -linet" >&5 +echo "configure:6980: checking for socket in -linet" >&5 if test -n ""; then ac_lib_var=`echo inet'_'socket | sed 'y% ./+-%___p_%'` else @@ -6971,7 +6988,7 @@ else ac_save_LIBS="$LIBS" LIBS="-linet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7003: \"$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 @@ -7002,7 +7019,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:7006: checking for socket in -lsocket" >&5 +echo "configure:7023: checking for socket in -lsocket" >&5 if test -n "-lnsl"; then ac_lib_var=`echo socket'_'socket-lnsl | sed 'y% ./+-%___p_%'` else @@ -7014,7 +7031,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket -lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7046: \"$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 @@ -7052,12 +7069,12 @@ fi fi echo $ac_n "checking for inet_addr""... $ac_c" 1>&6 -echo "configure:7056: checking for inet_addr" >&5 +echo "configure:7073: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_inet_addr=yes" else @@ -7098,7 +7115,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:7102: checking for inet_addr in -lnsl" >&5 +echo "configure:7119: checking for inet_addr in -lnsl" >&5 if test -n ""; then ac_lib_var=`echo nsl'_'inet_addr | sed 'y% ./+-%___p_%'` else @@ -7110,7 +7127,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7142: \"$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 @@ -7140,7 +7157,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:7144: checking for inet_addr in -linet" >&5 +echo "configure:7161: checking for inet_addr in -linet" >&5 if test -n ""; then ac_lib_var=`echo inet'_'inet_addr | sed 'y% ./+-%___p_%'` else @@ -7152,7 +7169,7 @@ else ac_save_LIBS="$LIBS" LIBS="-linet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7184: \"$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 @@ -7183,7 +7200,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:7187: checking for inet_addr in -lsocket" >&5 +echo "configure:7204: checking for inet_addr in -lsocket" >&5 if test -n "-lnsl"; then ac_lib_var=`echo socket'_'inet_addr-lnsl | sed 'y% ./+-%___p_%'` else @@ -7195,7 +7212,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket -lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7227: \"$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 @@ -7233,12 +7250,12 @@ fi fi echo $ac_n "checking for syslog""... $ac_c" 1>&6 -echo "configure:7237: checking for syslog" >&5 +echo "configure:7254: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_syslog=yes" else @@ -7279,7 +7296,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:7283: checking for syslog in -lsocket" >&5 +echo "configure:7300: checking for syslog in -lsocket" >&5 if test -n ""; then ac_lib_var=`echo socket'_'syslog | sed 'y% ./+-%___p_%'` else @@ -7291,7 +7308,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7323: \"$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 @@ -7321,7 +7338,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:7325: checking for syslog in -lnsl" >&5 +echo "configure:7342: checking for syslog in -lnsl" >&5 if test -n ""; then ac_lib_var=`echo nsl'_'syslog | sed 'y% ./+-%___p_%'` else @@ -7333,7 +7350,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7365: \"$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 @@ -7363,7 +7380,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:7367: checking for syslog in -linet" >&5 +echo "configure:7384: checking for syslog in -linet" >&5 if test -n ""; then ac_lib_var=`echo inet'_'syslog | sed 'y% ./+-%___p_%'` else @@ -7375,7 +7392,7 @@ else ac_save_LIBS="$LIBS" LIBS="-linet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7407: \"$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 @@ -7416,19 +7433,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:7420: checking for working alloca.h" >&5 +echo "configure:7437: 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 < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:7432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -7449,12 +7466,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:7453: checking for alloca" >&5 +echo "configure:7470: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -7509,12 +7526,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:7513: checking whether alloca needs Cray hooks" >&5 +echo "configure:7530: 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 <&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:7543: checking for $ac_func" >&5 +echo "configure:7560: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7594,7 +7611,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:7598: checking stack direction for C alloca" >&5 +echo "configure:7615: 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 @@ -7602,7 +7619,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7642: \"$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 @@ -7646,7 +7663,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:7650: checking for krb5_get_init_creds_opt in -lkrb5" >&5 +echo "configure:7667: 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 @@ -7658,7 +7675,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lkrb5 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7690: \"$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 @@ -7728,21 +7745,21 @@ EOF if test "$with_kerb5" = "yes"; then echo $ac_n "checking for -lkrb4""... $ac_c" 1>&6 -echo "configure:7732: checking for -lkrb4" >&5 +echo "configure:7749: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_lib_krb4=yes else @@ -7763,21 +7780,21 @@ else fi echo $ac_n "checking for -ldes""... $ac_c" 1>&6 -echo "configure:7767: checking for -ldes" >&5 +echo "configure:7784: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_lib_des=yes else @@ -7798,21 +7815,21 @@ fi SUDO_LIBS="${SUDO_LIBS} -ldes425 -lkrb5 -lcrypto -lcom_err" else echo $ac_n "checking for -ldes""... $ac_c" 1>&6 -echo "configure:7802: checking for -ldes" >&5 +echo "configure:7819: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_lib_des=yes else @@ -7936,7 +7953,7 @@ if test "$with_authenticate" = "yes"; then fi echo $ac_n "checking for log file location""... $ac_c" 1>&6 -echo "configure:7940: checking for log file location" >&5 +echo "configure:7957: checking for log file location" >&5 if test -n "$with_logpath"; then echo "$ac_t""$with_logpath" 1>&6 cat >> confdefs.h <&6 -echo "configure:7970: checking for timestamp file location" >&5 +echo "configure:7987: checking for timestamp file location" >&5 if test -n "$with_timedir"; then echo "$ac_t""$with_timedir" 1>&6 cat >> confdefs.h <name; cur++) { - switch (cur->type & T_MASK) { - case T_FLAG: - if ((sudo_inttable[I_FLAGS]) & (cur->index)) - puts(cur->desc); - break; - case T_STR: - if (sudo_strtable[cur->index]) { - (void) printf(cur->desc, sudo_strtable[cur->index]); + if (cur->desc) { + switch (cur->type & T_MASK) { + case T_FLAG: + if (cur->sd_un.flag) + puts(cur->desc); + break; + case T_STR: + case T_LOGFAC: + case T_LOGPRI: + if (cur->sd_un.str) { + (void) printf(cur->desc, cur->sd_un.str); + putchar('\n'); + } + break; + case T_INT: + case T_MODE: + (void) printf(cur->desc, cur->sd_un.ival); putchar('\n'); - } - break; - case T_INT: - if (cur->index == I_LOGFAC) - (void) printf(cur->desc, - num_to_name(sudo_inttable[cur->index], facilities)); - else if (cur->index == I_GOODPRI || cur->index == I_BADPRI) - (void) printf(cur->desc, - num_to_name(sudo_inttable[cur->index], priorities)); - else - (void) printf(cur->desc, sudo_inttable[cur->index]); - putchar('\n'); - break; + break; + } } } @@ -282,40 +279,24 @@ list_options() (void) puts("Available options in a sudoers ``Defaults'' line:\n"); for (cur = sudo_defs_table; cur->name; cur++) { - switch (cur->type & T_MASK) { - case T_FLAG: - (void) printf("%s: %s\n", cur->name, cur->desc); - break; - case T_STR: - case T_INT: - p = strrchr(cur->desc, ':'); - if (p) - (void) printf("%s: %.*s\n", cur->name, p - cur->desc, - cur->desc); - else + if (cur->name && cur->desc) { + switch (cur->type & T_MASK) { + case T_FLAG: (void) printf("%s: %s\n", cur->name, cur->desc); - break; + break; + default: + p = strrchr(cur->desc, ':'); + if (p) + (void) printf("%s: %.*s\n", cur->name, p - cur->desc, + cur->desc); + else + (void) printf("%s: %s\n", cur->name, cur->desc); + break; + } } } } -/* - * Convert a syslog number to a name. - */ -static char * -num_to_name(num, table) - int num; - struct strmap *table; -{ - struct strmap *t; - - for (t = table; t->name; t++) - if (t->num == num) - return(t->name); - - return("disabled"); -} - /* * Sets/clears an entry in the defaults structure * If a variable that takes a value is used in a boolean @@ -344,6 +325,22 @@ set_default(var, val, op) } switch (cur->type & T_MASK) { + case T_LOGFAC: + if (!store_syslogfac(val, cur, op)) { + (void) fprintf(stderr, + "%s: value '%s' is invalid for option '%s'\n", Argv[0], + val, var); + return(FALSE); + } + break; + case T_LOGPRI: + if (!store_syslogpri(val, cur, op)) { + (void) fprintf(stderr, + "%s: value '%s' is invalid for option '%s'\n", Argv[0], + val, var); + return(FALSE); + } + break; case T_STR: if (!val) { /* Check for bogus boolean usage or lack of a value. */ @@ -354,7 +351,7 @@ set_default(var, val, op) return(FALSE); } } - if (!cur->store(val, cur->index, op)) { + if (!store_str(val, cur, op)) { (void) fprintf(stderr, "%s: value '%s' is invalid for option '%s'\n", Argv[0], val, var); @@ -371,7 +368,24 @@ set_default(var, val, op) return(FALSE); } } - if (!cur->store(val, cur->index, op)) { + if (!store_int(val, cur, op)) { + (void) fprintf(stderr, + "%s: value '%s' is invalid for option '%s'\n", Argv[0], + val, var); + return(FALSE); + } + break; + case T_MODE: + if (!val) { + /* Check for bogus boolean usage or lack of a value. */ + if (!(cur->type & T_BOOL) || op != FALSE) { + (void) fprintf(stderr, + "%s: no value specified for `%s' on line %d\n", Argv[0], + var, sudolineno); + return(FALSE); + } + } + if (!store_mode(val, cur, op)) { (void) fprintf(stderr, "%s: value '%s' is invalid for option '%s'\n", Argv[0], val, var); @@ -385,10 +399,7 @@ set_default(var, val, op) Argv[0], var, sudolineno); return(FALSE); } - if (op == TRUE) - sudo_inttable[0] |= cur->index; - else - sudo_inttable[0] &= ~(cur->index); + cur->sd_un.flag = op; break; } @@ -403,108 +414,108 @@ void init_defaults() { static int firsttime = 1; - int i; + struct sudo_defs_types *def; /* Free any strings that were set. */ if (!firsttime) { - for (i = 0; i < SUDO_STRTABLE_LAST; i++) - if (sudo_strtable[i]) - free(sudo_strtable[i]); + for (def = sudo_defs_table; def->name; def++) + switch (def->type & T_MASK) { + case T_STR: + case T_LOGFAC: + case T_LOGPRI: + if (def->sd_un.str) + free(def->sd_un.str); + break; + } } - memset(sudo_strtable, 0, sizeof(sudo_strtable)); - memset(sudo_inttable, 0, sizeof(sudo_inttable)); - /* First initialize the flags. */ #ifdef LONG_OTP_PROMPT - sudo_inttable[I_FLAGS] |= FL_LONG_OTP_PROMPT; + def_flag(I_LONG_OTP_PROMPT) = TRUE; #endif #ifdef IGNORE_DOT_PATH - sudo_inttable[I_FLAGS] |= FL_IGNORE_DOT; + def_flag(I_IGNORE_DOT) = TRUE; #endif #ifdef ALWAYS_SEND_MAIL - sudo_inttable[I_FLAGS] |= FL_MAIL_ALWAYS; + def_flag(I_MAIL_ALWAYS) = TRUE; #endif #ifdef SEND_MAIL_WHEN_NO_USER - sudo_inttable[I_FLAGS] |= FL_MAIL_IF_NOUSER; + def_flag(I_MAIL_IF_NOUSER) = TRUE; #endif #ifdef SEND_MAIL_WHEN_NO_HOST - sudo_inttable[I_FLAGS] |= FL_MAIL_IF_NOHOST; + def_flag(I_MAIL_IF_NOHOST) = TRUE; #endif #ifdef SEND_MAIL_WHEN_NOT_OK - sudo_inttable[I_FLAGS] |= FL_MAIL_IF_NOPERMS; + def_flag(I_MAIL_IF_NOPERMS) = TRUE; #endif #ifdef USE_TTY_TICKETS - sudo_inttable[I_FLAGS] |= FL_TTY_TICKETS; + def_flag(I_TTY_TICKETS) = TRUE; #endif #ifndef NO_LECTURE - sudo_inttable[I_FLAGS] |= FL_LECTURE; + def_flag(I_LECTURE) = TRUE; #endif #ifndef NO_AUTHENTICATION - sudo_inttable[I_FLAGS] |= FL_AUTHENTICATE; + def_flag(I_AUTHENTICATE) = TRUE; #endif #ifndef NO_ROOT_SUDO - sudo_inttable[I_FLAGS] |= FL_ROOT_SUDO; + def_flag(I_ROOT_SUDO) = TRUE; #endif #ifdef HOST_IN_LOG - sudo_inttable[I_FLAGS] |= FL_LOG_HOST; + def_flag(I_LOG_HOST) = TRUE; #endif #ifdef SHELL_IF_NO_ARGS - sudo_inttable[I_FLAGS] |= FL_SHELL_NOARGS; + def_flag(I_SHELL_NOARGS) = TRUE; #endif #ifdef SHELL_SETS_HOME - sudo_inttable[I_FLAGS] |= FL_SET_HOME; + def_flag(I_SET_HOME) = TRUE; #endif #ifndef DONT_LEAK_PATH_INFO - sudo_inttable[I_FLAGS] |= FL_PATH_INFO; + def_flag(I_PATH_INFO) = TRUE; #endif #ifdef FQDN - sudo_inttable[I_FLAGS] |= FL_FQDN; + def_flag(I_FQDN) = TRUE; #endif #ifdef USE_INSULTS - sudo_inttable[I_FLAGS] |= FL_INSULTS; + def_flag(I_INSULTS) = TRUE; #endif - /* Then initialize the ints. */ + /* Syslog options need special care since they both strings and ints */ #if (LOGGING & SLOG_SYSLOG) - sudo_inttable[I_LOGFAC] = LOGFAC; - sudo_inttable[I_GOODPRI] = PRI_SUCCESS; - sudo_inttable[I_BADPRI] = PRI_FAILURE; -#else - sudo_inttable[I_LOGFAC] = (unsigned int)-1; + (void) store_syslogfac(LOGFAC, &sudo_defs_table[I_LOGFACSTR], TRUE); + (void) store_syslogpri(PRI_SUCCESS, &sudo_defs_table[I_GOODPRISTR], TRUE); + (void) store_syslogpri(PRI_FAILURE, &sudo_defs_table[I_BADPRISTR], TRUE); #endif + + /* Then initialize the int-like things. */ #ifdef SUDO_UMASK - sudo_inttable[I_UMASK] = SUDO_UMASK; + def_mode(I_UMASK) = SUDO_UMASK; #else - sudo_inttable[I_UMASK] = 0777; + def_mode(I_UMASK) = 0777; #endif - sudo_inttable[I_LOGLEN] = MAXLOGFILELEN; - sudo_inttable[I_TS_TIMEOUT] = TIMEOUT; - sudo_inttable[I_PW_TIMEOUT] = PASSWORD_TIMEOUT; - sudo_inttable[I_PW_TRIES] = TRIES_FOR_PASSWORD; + def_ival(I_LOGLEN) = MAXLOGFILELEN; + def_ival(I_TS_TIMEOUT) = TIMEOUT; + def_ival(I_PW_TIMEOUT) = PASSWORD_TIMEOUT; + def_ival(I_PW_TRIES) = TRIES_FOR_PASSWORD; /* Finally do the strings */ - sudo_strtable[I_ALERTMAIL] = estrdup(ALERTMAIL); - sudo_strtable[I_MAILSUB] = estrdup(MAILSUBJECT); - sudo_strtable[I_BADPASS_MSG] = estrdup(INCORRECT_PASSWORD); - sudo_strtable[I_TIMESTAMPDIR] = estrdup(_PATH_SUDO_TIMEDIR); - sudo_strtable[I_PASSPROMPT] = estrdup(PASSPROMPT); - sudo_strtable[I_RUNAS_DEF] = estrdup(RUNAS_DEFAULT); + def_str(I_MAILTO) = estrdup(MAILTO); + def_str(I_MAILSUB) = estrdup(MAILSUBJECT); + def_str(I_BADPASS_MSG) = estrdup(INCORRECT_PASSWORD); + def_str(I_TIMESTAMPDIR) = estrdup(_PATH_SUDO_TIMEDIR); + def_str(I_PASSPROMPT) = estrdup(PASSPROMPT); + def_str(I_RUNAS_DEF) = estrdup(RUNAS_DEFAULT); #ifdef _PATH_SENDMAIL - sudo_strtable[I_MAILERPATH] = estrdup(_PATH_SENDMAIL); + def_str(I_MAILERPATH) = estrdup(_PATH_SENDMAIL); + def_str(I_MAILERFLAGS) = estrdup("-t"); #endif #if (LOGGING & SLOG_FILE) - sudo_strtable[I_LOGFILE] = estrdup(_PATH_SUDO_LOGFILE); + def_str(I_LOGFILE) = estrdup(_PATH_SUDO_LOGFILE); #endif #ifdef EXEMPTGROUP - sudo_strtable[I_EXEMPT_GRP] = estrdup(EXEMPTGROUP); + def_str(I_EXEMPT_GRP) = estrdup(EXEMPTGROUP); #endif #ifdef SECURE_PATH - sudo_strtable[I_SECURE_PATH] = estrdup(SECURE_PATH); -#endif -#if 0 - /* XXX - implement */ - sudo_strtable[I_MAILERARGS] = estrdup(XXX); + def_str(I_SECURE_PATH) = estrdup(SECURE_PATH); #endif /* @@ -513,104 +524,122 @@ init_defaults() * value changes we get the change. */ if (user_runas == NULL) - user_runas = &sudo_strtable[I_RUNAS_DEF]; + user_runas = &def_str(I_RUNAS_DEF); firsttime = 0; } static int -store_int(val, index, op) +store_int(val, def, op) char *val; - int index; + struct sudo_defs_types *def; int op; { char *endp; unsigned long ul; if (op == FALSE) { - sudo_inttable[index] = 0; + def->sd_un.ival = 0; } else { ul = strtoul(val, &endp, 10); if (*endp != '\0') return(FALSE); /* XXX - should check against UINT_MAX */ - sudo_inttable[index] = (unsigned int)ul; + def->sd_un.ival = (unsigned int)ul; } return(TRUE); } static int -store_str(val, index, op) +store_str(val, def, op) char *val; - int index; + struct sudo_defs_types *def; int op; { - if (sudo_strtable[index]) - free(sudo_strtable[index]); + if (def->sd_un.str) + free(def->sd_un.str); if (op == FALSE) - sudo_strtable[index] = NULL; + def->sd_un.str = NULL; else - sudo_strtable[index] = estrdup(val); + def->sd_un.str = estrdup(val); return(TRUE); } static int -store_syslogfac(val, index, op) +store_syslogfac(val, def, op) char *val; - int index; + struct sudo_defs_types *def; int op; { struct strmap *fac; if (op == FALSE) { - sudo_inttable[index] = (unsigned int)-1; + free(def->sd_un.str); + def->sd_un.str = NULL; return(TRUE); } for (fac = facilities; fac->name && strcmp(val, fac->name); fac++) ; if (fac->name == NULL) - return(FALSE); - sudo_inttable[index] = fac->num; + return(FALSE); /* not found */ + + /* Store both name and number. */ + if (def->sd_un.str) + free(def->sd_un.str); + def->sd_un.str = estrdup(fac->name); + sudo_defs_table[I_LOGFAC].sd_un.ival = fac->num; return(TRUE); } static int -store_syslogpri(val, index, op) +store_syslogpri(val, def, op) char *val; - int index; + struct sudo_defs_types *def; int op; { struct strmap *pri; + struct sudo_defs_types *idef; if (op == FALSE) return(FALSE); + if (def == &sudo_defs_table[I_GOODPRISTR]) + idef = &sudo_defs_table[I_GOODPRI]; + else if (def == &sudo_defs_table[I_BADPRISTR]) + idef = &sudo_defs_table[I_BADPRI]; + else + return(FALSE); for (pri = priorities; pri->name && strcmp(val, pri->name); pri++) ; if (pri->name == NULL) - return(FALSE); - sudo_inttable[index] = pri->num; + return(FALSE); /* not found */ + + /* Store both name and number. */ + if (def->sd_un.str) + free(def->sd_un.str); + def->sd_un.str = estrdup(pri->name); + idef->sd_un.ival = pri->num; return(TRUE); } static int -store_umask(val, index, op) +store_mode(val, def, op) char *val; - int index; + struct sudo_defs_types *def; int op; { char *endp; unsigned long ul; if (op == FALSE) { - sudo_inttable[index] = 0777; + def->sd_un.mode = 0777; } else { ul = strtoul(val, &endp, 8); if (*endp != '\0' || ul >= 0777) return(FALSE); - sudo_inttable[index] = (mode_t)ul; + def->sd_un.mode = (mode_t)ul; } return(TRUE); } diff --git a/defaults.h b/defaults.h index c07ca67b2..7edec9129 100644 --- a/defaults.h +++ b/defaults.h @@ -38,74 +38,94 @@ #define _SUDO_DEFAULTS_H /* - * Four types of defaults: strings, integers, booleans, and flags. - * Note that flags have their value in the index field. - * Also, T_INT or T_STR may be ANDed with T_BOOL to indicate that - * a value is not required. + * Structure describing compile-time and run-time options. */ -#define T_INT 0x01 -#define T_STR 0x02 -#define T_FLAG 0x08 -#define T_MASK 0x0F -#define T_BOOL 0x10 +struct sudo_defs_types { + char *name; + int type; + union { + int flag; + char *str; + unsigned int ival; + mode_t mode; + } sd_un; + char *desc; +}; /* - * Flag values + * Four types of defaults: strings, integers, and flags. + * Also, T_INT or T_STR may be ANDed with T_BOOL to indicate that + * a value is not required. Flags are boolean by nature... */ -#define FL_LONG_OTP_PROMPT 0x00001 -#define FL_IGNORE_DOT 0x00002 -#define FL_MAIL_ALWAYS 0x00004 -#define FL_MAIL_IF_NOUSER 0x00008 -#define FL_MAIL_IF_NOHOST 0x00010 -#define FL_MAIL_IF_NOPERMS 0x00020 -#define FL_TTY_TICKETS 0x00040 -#define FL_LECTURE 0x00080 -#define FL_AUTHENTICATE 0x00100 -#define FL_ROOT_SUDO 0x00200 -#define FL_LOG_HOST 0x00400 -#define FL_SHELL_NOARGS 0x00800 -#define FL_SET_HOME 0x01000 -#define FL_PATH_INFO 0x02000 -#define FL_FQDN 0x04000 -#define FL_INSULTS 0x08000 -#define FL_LOG_YEAR 0x10000 -#define FL_MAX 0xFFFFF +#define T_INT 0x001 +#define T_STR 0x002 +#define T_FLAG 0x003 +#define T_MODE 0x004 +#define T_LOGFAC 0x005 +#define T_LOGPRI 0x006 +#define T_MASK 0x0FF +#define T_BOOL 0x100 /* - * Indexes into sudo_inttable + * Indexes into sudo_defs_table */ -#define I_FLAGS 0 /* various flags, as listed above */ -#define I_LOGFAC 1 /* syslog facility */ -#define I_GOODPRI 2 /* syslog priority for successful auth */ -#define I_BADPRI 3 /* syslog priority for unsuccessful auth */ -#define I_LOGLEN 4 /* wrap log file line after N chars */ -#define I_TS_TIMEOUT 5 /* timestamp stale after N minutes */ -#define I_PW_TIMEOUT 6 /* exit if pass not entered in N minutes */ -#define I_PW_TRIES 7 /* exit after N bad password tries */ -#define I_UMASK 8 /* umask to use or 0777 to use user's */ -/* - * Indexes into sudo_strtable - */ -#define I_LOGFILE 0 /* path to logfile (or NULL for none) */ -#define I_MAILERPATH 1 /* path to sendmail or other mailer */ -#define I_MAILERARGS 2 /* flags to pass to the mailer */ -#define I_ALERTMAIL 3 /* who to send bitch mail to */ -#define I_MAILSUB 4 /* subject line of mail msg */ -#define I_BADPASS_MSG 5 /* what to say when passwd is wrong */ -#define I_TIMESTAMPDIR 6 /* path to timestamp dir */ -#define I_EXEMPT_GRP 7 /* no password or PATH override for these */ -#define I_PASSPROMPT 8 /* password prompt */ -#define I_RUNAS_DEF 9 /* default user to run commands as */ -#define I_SECURE_PATH 10 /* set $PATH to this if not NULL */ +/* Integer versions of syslog options. */ +#define I_LOGFAC 0 /* syslog facility */ +#define I_GOODPRI 1 /* syslog priority for successful auth */ +#define I_BADPRI 2 /* syslog priority for unsuccessful auth */ + +/* String versions of syslog options. */ +#define I_LOGFACSTR 3 /* syslog facility */ +#define I_GOODPRISTR 4 /* syslog priority for successful auth */ +#define I_BADPRISTR 5 /* syslog priority for unsuccessful auth */ -#define SUDO_INTTABLE_LAST 9 -#define SUDO_STRTABLE_LAST 11 +/* Booleans */ +#define I_LONG_OTP_PROMPT 6 +#define I_IGNORE_DOT 7 +#define I_MAIL_ALWAYS 8 +#define I_MAIL_IF_NOUSER 9 +#define I_MAIL_IF_NOHOST 10 +#define I_MAIL_IF_NOPERMS 11 +#define I_TTY_TICKETS 12 +#define I_LECTURE 13 +#define I_AUTHENTICATE 14 +#define I_ROOT_SUDO 15 +#define I_LOG_HOST 16 +#define I_LOG_YEAR 17 +#define I_SHELL_NOARGS 18 +#define I_SET_HOME 19 +#define I_PATH_INFO 20 +#define I_FQDN 21 +#define I_INSULTS 22 -#define sudo_flag_set(_f) (sudo_inttable[I_FLAGS] & (_f)) +/* Integer values */ +#define I_LOGLEN 23 /* wrap log file line after N chars */ +#define I_TS_TIMEOUT 24 /* timestamp stale after N minutes */ +#define I_PW_TIMEOUT 25 /* exit if pass not entered in N minutes */ +#define I_PW_TRIES 26 /* exit after N bad password tries */ +#define I_UMASK 27 /* umask to use or 0777 to use user's */ -extern unsigned int sudo_inttable[SUDO_INTTABLE_LAST]; -extern char *sudo_strtable[SUDO_STRTABLE_LAST]; +/* Strings */ +#define I_LOGFILE 28 /* path to logfile (or NULL for none) */ +#define I_MAILERPATH 29 /* path to sendmail or other mailer */ +#define I_MAILERFLAGS 30 /* flags to pass to the mailer */ +#define I_MAILTO 31 /* who to send bitch mail to */ +#define I_MAILSUB 32 /* subject line of mail msg */ +#define I_BADPASS_MSG 33 /* what to say when passwd is wrong */ +#define I_TIMESTAMPDIR 34 /* path to timestamp dir */ +#define I_EXEMPT_GRP 35 /* no password or PATH override for these */ +#define I_PASSPROMPT 36 /* password prompt */ +#define I_RUNAS_DEF 37 /* default user to run commands as */ +#define I_SECURE_PATH 38 /* set $PATH to this if not NULL */ + +/* + * Macros for accessing sudo_defs_table. + */ +#define def_flag(_i) (sudo_defs_table[(_i)].sd_un.flag) +#define def_ival(_i) (sudo_defs_table[(_i)].sd_un.ival) +#define def_str(_i) (sudo_defs_table[(_i)].sd_un.str) +#define def_mode(_i) (sudo_defs_table[(_i)].sd_un.mode) /* * Prototypes @@ -115,4 +135,6 @@ int set_default __P((char *, char *, int)); void init_defaults __P((void)); void list_options __P((void)); +extern struct sudo_defs_types sudo_defs_table[]; + #endif /* _SUDO_DEFAULTS_H */ diff --git a/find_path.c b/find_path.c index 26d8efae4..be4865904 100644 --- a/find_path.c +++ b/find_path.c @@ -72,7 +72,7 @@ static const char rcsid[] = "$Sudo$"; * stores it in a statically allocated array, filling in a pointer * to the array. Returns FOUND if the command was found, NOT_FOUND * if it was not found, or NOT_FOUND_DOT if it would have been found - * but it is in '.' and FL_IGNORE_DOT is set. + * but it is in '.' and IGNORE_DOT is set. */ int find_path(infile, outfile) @@ -108,8 +108,8 @@ find_path(infile, outfile) * Grab PATH out of the environment (or from the string table * if SECURE_PATH is in effect) and make a local copy. */ - if (sudo_strtable[I_SECURE_PATH]) - path = sudo_strtable[I_SECURE_PATH]; + if (def_str(I_SECURE_PATH)) + path = def_str(I_SECURE_PATH); else if ((path = getenv("PATH")) == NULL) return(NOT_FOUND); path = estrdup(path); @@ -150,7 +150,7 @@ find_path(infile, outfile) */ if (!result && checkdot) { result = sudo_goodpath(infile); - if (result && sudo_flag_set(FL_IGNORE_DOT)) + if (result && def_flag(I_IGNORE_DOT)) return(NOT_FOUND_DOT); } diff --git a/getspwuid.c b/getspwuid.c index 53fc8f1e6..80d10d8e2 100644 --- a/getspwuid.c +++ b/getspwuid.c @@ -144,9 +144,9 @@ sudo_getepw(pw) spw = getprpwnam(pw->pw_name); if (spw != NULL && spw->ufld.fd_encrypt != NULL) { -# ifdef __alpha +# ifdef __alpha crypt_type = spw->ufld.fd_oldcrypt; -# endif /* __alpha */ +# endif /* __alpha */ return(spw->ufld.fd_encrypt); } } diff --git a/logging.c b/logging.c index b086f858f..b9f600472 100644 --- a/logging.c +++ b/logging.c @@ -154,32 +154,32 @@ do_logfile(msg) char *beg, *oldend, *end; FILE *fp; mode_t oldmask; - int maxlen = sudo_inttable[I_LOGLEN]; + int maxlen = def_ival(I_LOGLEN); oldmask = umask(077); - fp = fopen(sudo_strtable[I_LOGFILE], "a"); + fp = fopen(def_str(I_LOGFILE), "a"); (void) umask(oldmask); if (fp == NULL) { easprintf(&full_line, "Can't open log file: %s: %s", - sudo_strtable[I_LOGFILE], strerror(errno)); + def_str(I_LOGFILE), strerror(errno)); send_mail(full_line); free(full_line); } else if (!lock_file(fileno(fp), SUDO_LOCK)) { easprintf(&full_line, "Can't lock log file: %s: %s", - sudo_strtable[I_LOGFILE], strerror(errno)); + def_str(I_LOGFILE), strerror(errno)); send_mail(full_line); free(full_line); } else { - if (sudo_inttable[I_LOGLEN] == 0) { + if (def_ival(I_LOGLEN) == 0) { /* Don't pretty-print long log file lines (hard to grep) */ - if (sudo_flag_set(FL_LOG_HOST)) + if (def_flag(I_LOG_HOST)) (void) fprintf(fp, "%s : %s : HOST=%s : %s\n", get_timestr(), user_name, user_shost, msg); else (void) fprintf(fp, "%s : %s : %s\n", get_timestr(), user_name, msg); } else { - if (sudo_flag_set(FL_LOG_HOST)) + if (def_flag(I_LOG_HOST)) easprintf(&full_line, "%s : %s : HOST=%s : %s", get_timestr(), user_name, user_shost, msg); else @@ -255,9 +255,9 @@ log_auth(status, inform_user) int pri; if (status & VALIDATE_OK) - pri = PRI_SUCCESS; + pri = def_ival(I_GOODPRI); else - pri = PRI_FAILURE; + pri = def_ival(I_BADPRI); /* Set error message, if any. */ if (status & VALIDATE_OK) @@ -298,9 +298,9 @@ log_auth(status, inform_user) /* * Log via syslog and/or a file. */ - if (sudo_inttable[I_LOGFAC] != (unsigned int)-1) + if (def_str(I_LOGFACSTR)) do_syslog(pri, logline); - if (sudo_strtable[I_LOGFILE]) + if (def_str(I_LOGFILE)) do_logfile(logline); free(logline); @@ -379,9 +379,9 @@ log_error(va_alist) /* * Log to syslog and/or a file. */ - if (sudo_inttable[I_LOGFAC] != (unsigned int)-1) - do_syslog(PRI_FAILURE, logline); - if (sudo_strtable[I_LOGFILE]) + if (def_str(I_LOGFACSTR)) + do_syslog(def_ival(I_BADPRI), logline); + if (def_str(I_LOGFILE)) do_logfile(logline); free(logline); @@ -389,8 +389,10 @@ log_error(va_alist) free(message); } +#define MAX_MAILFLAGS 63 + /* - * Send a message to ALERTMAIL + * Send a message to MAILTO user */ static void send_mail(line) @@ -401,7 +403,7 @@ send_mail(line) int pfd[2], pid; /* Just return if mailer is disabled. */ - if (!sudo_strtable[I_MAILERPATH]) + if (!def_str(I_MAILERPATH) || !def_str(I_MAILTO)) return; if ((pid = fork()) > 0) { /* Child. */ @@ -425,15 +427,37 @@ send_mail(line) exit(1); break; case 0: - /* Grandchild. */ - (void) close(pfd[1]); - (void) dup2(pfd[0], STDIN_FILENO); - (void) close(pfd[0]); - - /* Run sendmail as root so user cannot kill it. */ - set_perms(PERM_ROOT, 0); - execl(_PATH_SENDMAIL, "sendmail", "-t", NULL); - _exit(127); + { + char *argv[MAX_MAILFLAGS + 1]; + char *mpath, *mflags; + int i; + + /* Grandchild. */ + (void) close(pfd[1]); + (void) dup2(pfd[0], STDIN_FILENO); + (void) close(pfd[0]); + + /* Build up an argv based the mailer path and flags */ + mflags = estrdup(def_str(I_MAILERFLAGS)); + mpath = estrdup(def_str(I_MAILERPATH)); + if ((argv[0] = strrchr(mpath, ' '))) + argv[0]++; + else + argv[0] = mpath; + + i = 1; + if ((p = strtok(mflags, " \t"))) { + do { + argv[i] = p; + } while (++i < MAX_MAILFLAGS && (p = strtok(NULL, " \t"))); + } + argv[i] = NULL; + + /* Run mailer as root so user cannot kill it. */ + set_perms(PERM_ROOT, 0); + execv(mpath, argv); + _exit(127); + } break; } @@ -442,8 +466,8 @@ send_mail(line) /* Pipes are all setup, send message via sendmail. */ (void) fprintf(mail, "To: %s\nFrom: %s\nSubject: ", - sudo_strtable[I_ALERTMAIL], user_name); - for (p = sudo_strtable[I_MAILSUB]; *p; p++) { + def_str(I_MAILTO), user_name); + for (p = def_str(I_MAILSUB); *p; p++) { /* Expand escapes in the subject */ if (*p == '%' && *(p+1) != '%') { switch (*(++p)) { @@ -486,16 +510,16 @@ mail_auth(status, line) int mail_mask; /* If any of these bits are set in status, we send mail. */ - if (sudo_flag_set(FL_MAIL_ALWAYS)) + if (def_flag(I_MAIL_ALWAYS)) mail_mask = VALIDATE_ERROR|VALIDATE_OK|FLAG_NO_USER|FLAG_NO_HOST|VALIDATE_NOT_OK; else { mail_mask = VALIDATE_ERROR; - if (sudo_flag_set(FL_MAIL_IF_NOUSER)) + if (def_flag(I_MAIL_IF_NOUSER)) mail_mask |= FLAG_NO_USER; - if (sudo_flag_set(FL_MAIL_IF_NOHOST)) + if (def_flag(I_MAIL_IF_NOHOST)) mail_mask |= FLAG_NO_HOST; - if (sudo_flag_set(FL_MAIL_IF_NOPERMS)) + if (def_flag(I_MAIL_IF_NOPERMS)) mail_mask |= VALIDATE_NOT_OK; } @@ -538,24 +562,23 @@ get_timestr() struct tm *timeptr; timeptr = localtime(&now); - if (sudo_flag_set(FL_LOG_YEAR)) + if (def_flag(I_LOG_YEAR)) s = "%h %e %T %Y"; else s = "%h %e %T"; /* strftime() does not guarantee to NUL-terminate so we must check. */ buf[sizeof(buf) - 1] = '\0'; - if (strftime(buf, sizeof(buf), s, timeptr) && !buf[sizeof(buf) - 1]) + if (strftime(buf, sizeof(buf), s, timeptr) && buf[sizeof(buf) - 1] == '\0') return(buf); -#else +#endif /* HAVE_STRFTIME */ s = ctime(&now) + 4; /* skip day of the week */ - if (sudo_flag_set(FL_LOG_YEAR)) + if (def_flag(I_LOG_YEAR)) s[20] = '\0'; /* avoid the newline */ else s[15] = '\0'; /* don't care about year */ return(s); -#endif /* HAVE_STRFTIME */ } diff --git a/parse.yacc b/parse.yacc index 1ef614210..f3bc00924 100644 --- a/parse.yacc +++ b/parse.yacc @@ -115,7 +115,7 @@ int top = 0, stacksize = 0; match[top].cmnd = -1; \ match[top].host = -1; \ match[top].runas = -1; \ - match[top].nopass = sudo_flag_set(FL_AUTHENTICATE) ? -1 : TRUE; \ + match[top].nopass = def_flag(I_AUTHENTICATE) ? -1 : TRUE; \ top++; \ } while (0) @@ -324,7 +324,7 @@ privilege : hostlist '=' cmndspeclist { */ host_matches = -1; runas_matches = -1; - if (sudo_flag_set(FL_AUTHENTICATE)) + if (def_flag(I_AUTHENTICATE)) no_passwd = -1; else no_passwd = TRUE; @@ -460,7 +460,7 @@ runasspec : /* empty */ { */ if (runas_matches == -1) runas_matches = (strcmp(*user_runas, - sudo_strtable[I_RUNAS_DEF]) == 0); + def_str(I_RUNAS_DEF)) == 0); } | RUNAS runaslist { ; } ; @@ -996,13 +996,13 @@ list_matches() } while ((p = strtok(NULL, ", "))); (void) fputs(") ", stdout); } else { - (void) printf("(%s) ", sudo_strtable[I_RUNAS_DEF]); + (void) printf("(%s) ", def_str(I_RUNAS_DEF)); } /* Is a password required? */ - if (cm_list[i].nopasswd == TRUE && sudo_flag_set(FL_AUTHENTICATE)) + if (cm_list[i].nopasswd == TRUE && def_flag(I_AUTHENTICATE)) (void) fputs("NOPASSWD: ", stdout); - else if (cm_list[i].nopasswd == FALSE && !sudo_flag_set(FL_AUTHENTICATE)) + else if (cm_list[i].nopasswd == FALSE && !def_flag(I_AUTHENTICATE)) (void) fputs("PASSWD: ", stdout); /* Print the actual command or expanded Cmnd_Alias. */ diff --git a/sudo.c b/sudo.c index 19c6c0c9b..ce267cb4d 100644 --- a/sudo.c +++ b/sudo.c @@ -229,9 +229,9 @@ main(argc, argv) init_defaults(); /* Initialize syslog(3) if we are using it. */ - if (sudo_inttable[I_LOGFAC] != (unsigned int)-1) { + if (def_str(I_LOGFACSTR)) { #ifdef LOG_NFACILITIES - openlog("sudo", 0, sudo_inttable[I_LOGFAC]); + openlog("sudo", 0, def_ival(I_LOGFAC)); #else openlog("sudo", 0); #endif /* LOG_NFACILITIES */ @@ -298,7 +298,7 @@ main(argc, argv) errorlineno); /* Is root even allowed to run sudo? */ - if (getuid() == 0 && !sudo_flag_set(FL_ROOT_SUDO)) { + if (getuid() == 0 && !def_flag(I_ROOT_SUDO)) { (void) fputs("You are already root, you don't need to use sudo.\n", stderr); exit(1); @@ -342,7 +342,7 @@ main(argc, argv) "please report this error to sudo-bugs@courtesan.com"); } - if (sudo_inttable[I_LOGFAC] != (unsigned int)-1) + if (def_ival(I_LOGFACSTR)) closelog(); /* Reset signal mask before we exec. */ @@ -353,12 +353,12 @@ main(argc, argv) #endif /* POSIX_SIGNALS */ /* Override user's umask if configured to do so. */ - if (sudo_inttable[I_UMASK] != 0777) - (void) umask((mode_t)sudo_inttable[I_UMASK]); + if (def_ival(I_UMASK) != 0777) + (void) umask(def_mode(I_UMASK)); /* Replace the PATH envariable with a secure one. */ - if (sudo_strtable[I_SECURE_PATH] && !user_is_exempt()) - if (sudo_setenv("PATH", sudo_strtable[I_SECURE_PATH])) { + if (def_str(I_SECURE_PATH) && !user_is_exempt()) + if (sudo_setenv("PATH", def_str(I_SECURE_PATH))) { (void) fprintf(stderr, "%s: cannot allocate memory!\n", Argv[0]); exit(1); @@ -382,7 +382,7 @@ main(argc, argv) log_auth(validated, 1); exit(1); } else if (validated & VALIDATE_NOT_OK) { - if (sudo_flag_set(FL_PATH_INFO)) { + if (def_flag(I_PATH_INFO)) { /* * We'd like to not leak path info at all here, but that can * *really* confuse the users. To really close the leak we'd @@ -448,7 +448,7 @@ init_vars(sudo_mode) log_error(USE_ERRNO|MSG_ONLY, "can't get hostname"); } else user_host = estrdup(thost); - if (sudo_flag_set(FL_FQDN)) { + if (def_flag(I_FQDN)) { if (!(hp = gethostbyname(user_host))) { log_error(USE_ERRNO|MSG_ONLY|NO_EXIT, "unable to lookup %s via gethostbyname()", user_host); @@ -556,7 +556,7 @@ parse_args() NewArgc = Argc - 1; if (Argc < 2) { /* no options and no command */ - if (!sudo_flag_set(FL_SHELL_NOARGS)) + if (!def_flag(I_SHELL_NOARGS)) usage(1); rval |= MODE_SHELL; return(rval); @@ -652,7 +652,7 @@ parse_args() break; case 's': rval |= MODE_SHELL; - if (sudo_flag_set(FL_SET_HOME)) + if (def_flag(I_SET_HOME)) rval |= MODE_RESET_HOME; break; case 'H': @@ -661,7 +661,7 @@ parse_args() case '-': NewArgc--; NewArgv++; - if (sudo_flag_set(FL_SHELL_NOARGS) && rval == MODE_RUN) + if (def_flag(I_SHELL_NOARGS) && rval == MODE_RUN) rval |= MODE_SHELL; return(rval); case '\0': diff --git a/sudo.tab.c b/sudo.tab.c index 29ae7cb05..9f65c18f2 100644 --- a/sudo.tab.c +++ b/sudo.tab.c @@ -133,7 +133,7 @@ int top = 0, stacksize = 0; match[top].cmnd = -1; \ match[top].host = -1; \ match[top].runas = -1; \ - match[top].nopass = sudo_flag_set(FL_AUTHENTICATE) ? -1 : TRUE; \ + match[top].nopass = def_flag(I_AUTHENTICATE) ? -1 : TRUE; \ top++; \ } while (0) @@ -763,13 +763,13 @@ list_matches() } while ((p = strtok(NULL, ", "))); (void) fputs(") ", stdout); } else { - (void) printf("(%s) ", sudo_strtable[I_RUNAS_DEF]); + (void) printf("(%s) ", def_str(I_RUNAS_DEF)); } /* Is a password required? */ - if (cm_list[i].nopasswd == TRUE && sudo_flag_set(FL_AUTHENTICATE)) + if (cm_list[i].nopasswd == TRUE && def_flag(I_AUTHENTICATE)) (void) fputs("NOPASSWD: ", stdout); - else if (cm_list[i].nopasswd == FALSE && !sudo_flag_set(FL_AUTHENTICATE)) + else if (cm_list[i].nopasswd == FALSE && !def_flag(I_AUTHENTICATE)) (void) fputs("PASSWD: ", stdout); /* Print the actual command or expanded Cmnd_Alias. */ @@ -1216,7 +1216,7 @@ case 25: */ host_matches = -1; runas_matches = -1; - if (sudo_flag_set(FL_AUTHENTICATE)) + if (def_flag(I_AUTHENTICATE)) no_passwd = -1; else no_passwd = TRUE; @@ -1379,7 +1379,7 @@ case 40: */ if (runas_matches == -1) runas_matches = (strcmp(*user_runas, - sudo_strtable[I_RUNAS_DEF]) == 0); + def_str(I_RUNAS_DEF)) == 0); } break; case 41: