version 1.1.1.3, 2012/10/09 09:29:52
|
version 1.1.1.5, 2013/10/14 07:56:34
|
Line 1
|
Line 1
|
/* |
/* |
* Copyright (c) 1999-2005, 2007-2011 | * Copyright (c) 1999-2005, 2007-2013 |
* Todd C. Miller <Todd.Miller@courtesan.com> |
* Todd C. Miller <Todd.Miller@courtesan.com> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
Line 22
|
Line 22
|
#include <config.h> |
#include <config.h> |
|
|
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/param.h> |
|
#include <stdio.h> |
#include <stdio.h> |
#ifdef STDC_HEADERS |
#ifdef STDC_HEADERS |
# include <stdlib.h> |
# include <stdlib.h> |
Line 357 init_defaults(void)
|
Line 356 init_defaults(void)
|
list_op(NULL, 0, def, freeall); |
list_op(NULL, 0, def, freeall); |
break; |
break; |
} |
} |
zero_bytes(&def->sd_un, sizeof(def->sd_un)); | memset(&def->sd_un, 0, sizeof(def->sd_un)); |
} |
} |
} |
} |
|
|
Line 422 init_defaults(void)
|
Line 421 init_defaults(void)
|
def_env_reset = ENV_RESET; |
def_env_reset = ENV_RESET; |
def_set_logname = true; |
def_set_logname = true; |
def_closefrom = STDERR_FILENO + 1; |
def_closefrom = STDERR_FILENO + 1; |
|
def_pam_service = estrdup("sudo"); |
|
#ifdef HAVE_PAM_LOGIN |
|
def_pam_login_service = estrdup("sudo-i"); |
|
#else |
|
def_pam_login_service = estrdup("sudo"); |
|
#endif |
|
#ifdef NO_PAM_SESSION |
|
def_pam_session = false; |
|
#else |
|
def_pam_session = true; |
|
#endif |
|
|
/* Syslog options need special care since they both strings and ints */ |
/* Syslog options need special care since they both strings and ints */ |
#if (LOGGING & SLOG_SYSLOG) |
#if (LOGGING & SLOG_SYSLOG) |
Line 452 init_defaults(void)
|
Line 462 init_defaults(void)
|
|
|
/* Now do the strings */ |
/* Now do the strings */ |
def_mailto = estrdup(MAILTO); |
def_mailto = estrdup(MAILTO); |
def_mailsub = estrdup(_(MAILSUBJECT)); | def_mailsub = estrdup(N_(MAILSUBJECT)); |
def_badpass_message = estrdup(_(INCORRECT_PASSWORD)); |
def_badpass_message = estrdup(_(INCORRECT_PASSWORD)); |
def_timestampdir = estrdup(_PATH_SUDO_TIMEDIR); |
def_timestampdir = estrdup(_PATH_SUDO_TIMEDIR); |
def_passprompt = estrdup(_(PASSPROMPT)); |
def_passprompt = estrdup(_(PASSPROMPT)); |
Line 500 update_defaults(int what)
|
Line 510 update_defaults(int what)
|
rc = false; |
rc = false; |
break; |
break; |
case DEFAULTS_USER: |
case DEFAULTS_USER: |
|
#if 1 |
|
if (ISSET(what, SETDEF_USER)) { |
|
int m; |
|
m = userlist_matches(sudo_user.pw, &def->binding); |
|
if (m == ALLOW) { |
|
if (!set_default(def->var, def->val, def->op)) |
|
rc = false; |
|
} |
|
} |
|
#else |
if (ISSET(what, SETDEF_USER) && |
if (ISSET(what, SETDEF_USER) && |
userlist_matches(sudo_user.pw, &def->binding) == ALLOW && |
userlist_matches(sudo_user.pw, &def->binding) == ALLOW && |
!set_default(def->var, def->val, def->op)) |
!set_default(def->var, def->val, def->op)) |
rc = false; |
rc = false; |
|
#endif |
break; |
break; |
case DEFAULTS_RUNAS: |
case DEFAULTS_RUNAS: |
if (ISSET(what, SETDEF_RUNAS) && |
if (ISSET(what, SETDEF_RUNAS) && |