#define I_PRESERVE_GROUPS 31
#define def_loglinelen (sudo_defs_table[32].sd_un.ival)
#define I_LOGLINELEN 32
-#define def_timestamp_timeout (sudo_defs_table[33].sd_un.ival)
+#define def_timestamp_timeout (sudo_defs_table[33].sd_un.fval)
#define I_TIMESTAMP_TIMEOUT 33
-#define def_passwd_timeout (sudo_defs_table[34].sd_un.ival)
+#define def_passwd_timeout (sudo_defs_table[34].sd_un.fval)
#define I_PASSWD_TIMEOUT 34
#define def_passwd_tries (sudo_defs_table[35].sd_un.ival)
#define I_PASSWD_TRIES 35
#define I_MAILERFLAGS 39
#define def_mailto (sudo_defs_table[40].sd_un.str)
#define I_MAILTO 40
-#define def_mailsub (sudo_defs_table[41].sd_un.str)
-#define I_MAILSUB 41
-#define def_badpass_message (sudo_defs_table[42].sd_un.str)
-#define I_BADPASS_MESSAGE 42
-#define def_timestampdir (sudo_defs_table[43].sd_un.str)
-#define I_TIMESTAMPDIR 43
-#define def_timestampowner (sudo_defs_table[44].sd_un.str)
-#define I_TIMESTAMPOWNER 44
-#define def_exempt_group (sudo_defs_table[45].sd_un.str)
-#define I_EXEMPT_GROUP 45
-#define def_passprompt (sudo_defs_table[46].sd_un.str)
-#define I_PASSPROMPT 46
-#define def_runas_default (sudo_defs_table[47].sd_un.str)
-#define I_RUNAS_DEFAULT 47
-#define def_editor (sudo_defs_table[48].sd_un.str)
-#define I_EDITOR 48
-#define def_listpw (sudo_defs_table[49].sd_un.tuple)
-#define I_LISTPW 49
-#define def_verifypw (sudo_defs_table[50].sd_un.tuple)
-#define I_VERIFYPW 50
-#define def_noexec (sudo_defs_table[51].sd_un.flag)
-#define I_NOEXEC 51
-#define def_noexec_file (sudo_defs_table[52].sd_un.str)
-#define I_NOEXEC_FILE 52
-#define def_ignore_local_sudoers (sudo_defs_table[53].sd_un.flag)
-#define I_IGNORE_LOCAL_SUDOERS 53
-#define def_setenv (sudo_defs_table[54].sd_un.flag)
-#define I_SETENV 54
-#define def_env_reset (sudo_defs_table[55].sd_un.flag)
-#define I_ENV_RESET 55
-#define def_env_check (sudo_defs_table[56].sd_un.list)
-#define I_ENV_CHECK 56
-#define def_env_delete (sudo_defs_table[57].sd_un.list)
-#define I_ENV_DELETE 57
-#define def_env_keep (sudo_defs_table[58].sd_un.list)
-#define I_ENV_KEEP 58
+#define def_mailfrom (sudo_defs_table[41].sd_un.str)
+#define I_MAILFROM 41
+#define def_mailsub (sudo_defs_table[42].sd_un.str)
+#define I_MAILSUB 42
+#define def_badpass_message (sudo_defs_table[43].sd_un.str)
+#define I_BADPASS_MESSAGE 43
+#define def_timestampdir (sudo_defs_table[44].sd_un.str)
+#define I_TIMESTAMPDIR 44
+#define def_timestampowner (sudo_defs_table[45].sd_un.str)
+#define I_TIMESTAMPOWNER 45
+#define def_exempt_group (sudo_defs_table[46].sd_un.str)
+#define I_EXEMPT_GROUP 46
+#define def_passprompt (sudo_defs_table[47].sd_un.str)
+#define I_PASSPROMPT 47
+#define def_passprompt_override (sudo_defs_table[48].sd_un.flag)
+#define I_PASSPROMPT_OVERRIDE 48
+#define def_runas_default (sudo_defs_table[49].sd_un.str)
+#define I_RUNAS_DEFAULT 49
+#define def_secure_path (sudo_defs_table[50].sd_un.str)
+#define I_SECURE_PATH 50
+#define def_editor (sudo_defs_table[51].sd_un.str)
+#define I_EDITOR 51
+#define def_listpw (sudo_defs_table[52].sd_un.tuple)
+#define I_LISTPW 52
+#define def_verifypw (sudo_defs_table[53].sd_un.tuple)
+#define I_VERIFYPW 53
+#define def_noexec (sudo_defs_table[54].sd_un.flag)
+#define I_NOEXEC 54
+#define def_noexec_file (sudo_defs_table[55].sd_un.str)
+#define I_NOEXEC_FILE 55
+#define def_ignore_local_sudoers (sudo_defs_table[56].sd_un.flag)
+#define I_IGNORE_LOCAL_SUDOERS 56
+#define def_closefrom (sudo_defs_table[57].sd_un.ival)
+#define I_CLOSEFROM 57
+#define def_closefrom_override (sudo_defs_table[58].sd_un.flag)
+#define I_CLOSEFROM_OVERRIDE 58
+#define def_setenv (sudo_defs_table[59].sd_un.flag)
+#define I_SETENV 59
+#define def_env_reset (sudo_defs_table[60].sd_un.flag)
+#define I_ENV_RESET 60
+#define def_env_check (sudo_defs_table[61].sd_un.list)
+#define I_ENV_CHECK 61
+#define def_env_delete (sudo_defs_table[62].sd_un.list)
+#define I_ENV_DELETE 62
+#define def_env_keep (sudo_defs_table[63].sd_un.list)
+#define I_ENV_KEEP 63
+#define def_role (sudo_defs_table[64].sd_un.str)
+#define I_ROLE 64
+#define def_type (sudo_defs_table[65].sd_un.str)
+#define I_TYPE 65
+#define def_askpass (sudo_defs_table[66].sd_un.str)
+#define I_ASKPASS 66
+#define def_env_file (sudo_defs_table[67].sd_un.str)
+#define I_ENV_FILE 67
+#define def_sudoers_locale (sudo_defs_table[68].sd_un.str)
+#define I_SUDOERS_LOCALE 68
+#define def_visiblepw (sudo_defs_table[69].sd_un.flag)
+#define I_VISIBLEPW 69
+#define def_pwfeedback (sudo_defs_table[70].sd_un.flag)
+#define I_PWFEEDBACK 70
+#define def_fast_glob (sudo_defs_table[71].sd_un.flag)
+#define I_FAST_GLOB 71
+#define def_umask_override (sudo_defs_table[72].sd_un.flag)
+#define I_UMASK_OVERRIDE 72
+#define def_log_input (sudo_defs_table[73].sd_un.flag)
+#define I_LOG_INPUT 73
+#define def_log_output (sudo_defs_table[74].sd_un.flag)
+#define I_LOG_OUTPUT 74
+#define def_compress_io (sudo_defs_table[75].sd_un.flag)
+#define I_COMPRESS_IO 75
+#define def_use_pty (sudo_defs_table[76].sd_un.flag)
+#define I_USE_PTY 76
enum def_tupple {
never,