]> granicus.if.org Git - sudo/commitdiff
Define def_foo in terms of the I_FOO index instead of a bare number.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 31 Aug 2016 20:27:40 +0000 (14:27 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 31 Aug 2016 20:27:40 +0000 (14:27 -0600)
plugins/sudoers/def_data.h
plugins/sudoers/mkdefaults

index 1b3cd1e603a881acef35b26fe0e9aab83e229cfe..3032cdee6141e79cb557e22849d5b893e3238aa3 100644 (file)
-#define def_syslog              (sudo_defs_table[0].sd_un.ival)
 #define I_SYSLOG                0
-#define def_syslog_goodpri      (sudo_defs_table[1].sd_un.ival)
+#define def_syslog              (sudo_defs_table[I_SYSLOG].sd_un.ival)
 #define I_SYSLOG_GOODPRI        1
-#define def_syslog_badpri       (sudo_defs_table[2].sd_un.ival)
+#define def_syslog_goodpri      (sudo_defs_table[I_SYSLOG_GOODPRI].sd_un.ival)
 #define I_SYSLOG_BADPRI         2
-#define def_long_otp_prompt     (sudo_defs_table[3].sd_un.flag)
+#define def_syslog_badpri       (sudo_defs_table[I_SYSLOG_BADPRI].sd_un.ival)
 #define I_LONG_OTP_PROMPT       3
-#define def_ignore_dot          (sudo_defs_table[4].sd_un.flag)
+#define def_long_otp_prompt     (sudo_defs_table[I_LONG_OTP_PROMPT].sd_un.flag)
 #define I_IGNORE_DOT            4
-#define def_mail_always         (sudo_defs_table[5].sd_un.flag)
+#define def_ignore_dot          (sudo_defs_table[I_IGNORE_DOT].sd_un.flag)
 #define I_MAIL_ALWAYS           5
-#define def_mail_badpass        (sudo_defs_table[6].sd_un.flag)
+#define def_mail_always         (sudo_defs_table[I_MAIL_ALWAYS].sd_un.flag)
 #define I_MAIL_BADPASS          6
-#define def_mail_no_user        (sudo_defs_table[7].sd_un.flag)
+#define def_mail_badpass        (sudo_defs_table[I_MAIL_BADPASS].sd_un.flag)
 #define I_MAIL_NO_USER          7
-#define def_mail_no_host        (sudo_defs_table[8].sd_un.flag)
+#define def_mail_no_user        (sudo_defs_table[I_MAIL_NO_USER].sd_un.flag)
 #define I_MAIL_NO_HOST          8
-#define def_mail_no_perms       (sudo_defs_table[9].sd_un.flag)
+#define def_mail_no_host        (sudo_defs_table[I_MAIL_NO_HOST].sd_un.flag)
 #define I_MAIL_NO_PERMS         9
-#define def_mail_all_cmnds      (sudo_defs_table[10].sd_un.flag)
+#define def_mail_no_perms       (sudo_defs_table[I_MAIL_NO_PERMS].sd_un.flag)
 #define I_MAIL_ALL_CMNDS        10
-#define def_tty_tickets         (sudo_defs_table[11].sd_un.flag)
+#define def_mail_all_cmnds      (sudo_defs_table[I_MAIL_ALL_CMNDS].sd_un.flag)
 #define I_TTY_TICKETS           11
-#define def_lecture             (sudo_defs_table[12].sd_un.tuple)
+#define def_tty_tickets         (sudo_defs_table[I_TTY_TICKETS].sd_un.flag)
 #define I_LECTURE               12
-#define def_lecture_file        (sudo_defs_table[13].sd_un.str)
+#define def_lecture             (sudo_defs_table[I_LECTURE].sd_un.tuple)
 #define I_LECTURE_FILE          13
-#define def_authenticate        (sudo_defs_table[14].sd_un.flag)
+#define def_lecture_file        (sudo_defs_table[I_LECTURE_FILE].sd_un.str)
 #define I_AUTHENTICATE          14
-#define def_root_sudo           (sudo_defs_table[15].sd_un.flag)
+#define def_authenticate        (sudo_defs_table[I_AUTHENTICATE].sd_un.flag)
 #define I_ROOT_SUDO             15
-#define def_log_host            (sudo_defs_table[16].sd_un.flag)
+#define def_root_sudo           (sudo_defs_table[I_ROOT_SUDO].sd_un.flag)
 #define I_LOG_HOST              16
-#define def_log_year            (sudo_defs_table[17].sd_un.flag)
+#define def_log_host            (sudo_defs_table[I_LOG_HOST].sd_un.flag)
 #define I_LOG_YEAR              17
-#define def_shell_noargs        (sudo_defs_table[18].sd_un.flag)
+#define def_log_year            (sudo_defs_table[I_LOG_YEAR].sd_un.flag)
 #define I_SHELL_NOARGS          18
-#define def_set_home            (sudo_defs_table[19].sd_un.flag)
+#define def_shell_noargs        (sudo_defs_table[I_SHELL_NOARGS].sd_un.flag)
 #define I_SET_HOME              19
-#define def_always_set_home     (sudo_defs_table[20].sd_un.flag)
+#define def_set_home            (sudo_defs_table[I_SET_HOME].sd_un.flag)
 #define I_ALWAYS_SET_HOME       20
-#define def_path_info           (sudo_defs_table[21].sd_un.flag)
+#define def_always_set_home     (sudo_defs_table[I_ALWAYS_SET_HOME].sd_un.flag)
 #define I_PATH_INFO             21
-#define def_fqdn                (sudo_defs_table[22].sd_un.flag)
+#define def_path_info           (sudo_defs_table[I_PATH_INFO].sd_un.flag)
 #define I_FQDN                  22
-#define def_insults             (sudo_defs_table[23].sd_un.flag)
+#define def_fqdn                (sudo_defs_table[I_FQDN].sd_un.flag)
 #define I_INSULTS               23
-#define def_requiretty          (sudo_defs_table[24].sd_un.flag)
+#define def_insults             (sudo_defs_table[I_INSULTS].sd_un.flag)
 #define I_REQUIRETTY            24
-#define def_env_editor          (sudo_defs_table[25].sd_un.flag)
+#define def_requiretty          (sudo_defs_table[I_REQUIRETTY].sd_un.flag)
 #define I_ENV_EDITOR            25
-#define def_rootpw              (sudo_defs_table[26].sd_un.flag)
+#define def_env_editor          (sudo_defs_table[I_ENV_EDITOR].sd_un.flag)
 #define I_ROOTPW                26
-#define def_runaspw             (sudo_defs_table[27].sd_un.flag)
+#define def_rootpw              (sudo_defs_table[I_ROOTPW].sd_un.flag)
 #define I_RUNASPW               27
-#define def_targetpw            (sudo_defs_table[28].sd_un.flag)
+#define def_runaspw             (sudo_defs_table[I_RUNASPW].sd_un.flag)
 #define I_TARGETPW              28
-#define def_use_loginclass      (sudo_defs_table[29].sd_un.flag)
+#define def_targetpw            (sudo_defs_table[I_TARGETPW].sd_un.flag)
 #define I_USE_LOGINCLASS        29
-#define def_set_logname         (sudo_defs_table[30].sd_un.flag)
+#define def_use_loginclass      (sudo_defs_table[I_USE_LOGINCLASS].sd_un.flag)
 #define I_SET_LOGNAME           30
-#define def_stay_setuid         (sudo_defs_table[31].sd_un.flag)
+#define def_set_logname         (sudo_defs_table[I_SET_LOGNAME].sd_un.flag)
 #define I_STAY_SETUID           31
-#define def_preserve_groups     (sudo_defs_table[32].sd_un.flag)
+#define def_stay_setuid         (sudo_defs_table[I_STAY_SETUID].sd_un.flag)
 #define I_PRESERVE_GROUPS       32
-#define def_loglinelen          (sudo_defs_table[33].sd_un.uival)
+#define def_preserve_groups     (sudo_defs_table[I_PRESERVE_GROUPS].sd_un.flag)
 #define I_LOGLINELEN            33
-#define def_timestamp_timeout   (sudo_defs_table[34].sd_un.fval)
+#define def_loglinelen          (sudo_defs_table[I_LOGLINELEN].sd_un.uival)
 #define I_TIMESTAMP_TIMEOUT     34
-#define def_passwd_timeout      (sudo_defs_table[35].sd_un.fval)
+#define def_timestamp_timeout   (sudo_defs_table[I_TIMESTAMP_TIMEOUT].sd_un.fval)
 #define I_PASSWD_TIMEOUT        35
-#define def_passwd_tries        (sudo_defs_table[36].sd_un.uival)
+#define def_passwd_timeout      (sudo_defs_table[I_PASSWD_TIMEOUT].sd_un.fval)
 #define I_PASSWD_TRIES          36
-#define def_umask               (sudo_defs_table[37].sd_un.mode)
+#define def_passwd_tries        (sudo_defs_table[I_PASSWD_TRIES].sd_un.uival)
 #define I_UMASK                 37
-#define def_logfile             (sudo_defs_table[38].sd_un.str)
+#define def_umask               (sudo_defs_table[I_UMASK].sd_un.mode)
 #define I_LOGFILE               38
-#define def_mailerpath          (sudo_defs_table[39].sd_un.str)
+#define def_logfile             (sudo_defs_table[I_LOGFILE].sd_un.str)
 #define I_MAILERPATH            39
-#define def_mailerflags         (sudo_defs_table[40].sd_un.str)
+#define def_mailerpath          (sudo_defs_table[I_MAILERPATH].sd_un.str)
 #define I_MAILERFLAGS           40
-#define def_mailto              (sudo_defs_table[41].sd_un.str)
+#define def_mailerflags         (sudo_defs_table[I_MAILERFLAGS].sd_un.str)
 #define I_MAILTO                41
-#define def_mailfrom            (sudo_defs_table[42].sd_un.str)
+#define def_mailto              (sudo_defs_table[I_MAILTO].sd_un.str)
 #define I_MAILFROM              42
-#define def_mailsub             (sudo_defs_table[43].sd_un.str)
+#define def_mailfrom            (sudo_defs_table[I_MAILFROM].sd_un.str)
 #define I_MAILSUB               43
-#define def_badpass_message     (sudo_defs_table[44].sd_un.str)
+#define def_mailsub             (sudo_defs_table[I_MAILSUB].sd_un.str)
 #define I_BADPASS_MESSAGE       44
-#define def_lecture_status_dir  (sudo_defs_table[45].sd_un.str)
+#define def_badpass_message     (sudo_defs_table[I_BADPASS_MESSAGE].sd_un.str)
 #define I_LECTURE_STATUS_DIR    45
-#define def_timestampdir        (sudo_defs_table[46].sd_un.str)
+#define def_lecture_status_dir  (sudo_defs_table[I_LECTURE_STATUS_DIR].sd_un.str)
 #define I_TIMESTAMPDIR          46
-#define def_timestampowner      (sudo_defs_table[47].sd_un.str)
+#define def_timestampdir        (sudo_defs_table[I_TIMESTAMPDIR].sd_un.str)
 #define I_TIMESTAMPOWNER        47
-#define def_exempt_group        (sudo_defs_table[48].sd_un.str)
+#define def_timestampowner      (sudo_defs_table[I_TIMESTAMPOWNER].sd_un.str)
 #define I_EXEMPT_GROUP          48
-#define def_passprompt          (sudo_defs_table[49].sd_un.str)
+#define def_exempt_group        (sudo_defs_table[I_EXEMPT_GROUP].sd_un.str)
 #define I_PASSPROMPT            49
-#define def_passprompt_override (sudo_defs_table[50].sd_un.flag)
+#define def_passprompt          (sudo_defs_table[I_PASSPROMPT].sd_un.str)
 #define I_PASSPROMPT_OVERRIDE   50
-#define def_runas_default       (sudo_defs_table[51].sd_un.str)
+#define def_passprompt_override (sudo_defs_table[I_PASSPROMPT_OVERRIDE].sd_un.flag)
 #define I_RUNAS_DEFAULT         51
-#define def_secure_path         (sudo_defs_table[52].sd_un.str)
+#define def_runas_default       (sudo_defs_table[I_RUNAS_DEFAULT].sd_un.str)
 #define I_SECURE_PATH           52
-#define def_editor              (sudo_defs_table[53].sd_un.str)
+#define def_secure_path         (sudo_defs_table[I_SECURE_PATH].sd_un.str)
 #define I_EDITOR                53
-#define def_listpw              (sudo_defs_table[54].sd_un.tuple)
+#define def_editor              (sudo_defs_table[I_EDITOR].sd_un.str)
 #define I_LISTPW                54
-#define def_verifypw            (sudo_defs_table[55].sd_un.tuple)
+#define def_listpw              (sudo_defs_table[I_LISTPW].sd_un.tuple)
 #define I_VERIFYPW              55
-#define def_noexec              (sudo_defs_table[56].sd_un.flag)
+#define def_verifypw            (sudo_defs_table[I_VERIFYPW].sd_un.tuple)
 #define I_NOEXEC                56
-#define def_ignore_local_sudoers (sudo_defs_table[57].sd_un.flag)
+#define def_noexec              (sudo_defs_table[I_NOEXEC].sd_un.flag)
 #define I_IGNORE_LOCAL_SUDOERS  57
-#define def_closefrom           (sudo_defs_table[58].sd_un.ival)
+#define def_ignore_local_sudoers (sudo_defs_table[I_IGNORE_LOCAL_SUDOERS].sd_un.flag)
 #define I_CLOSEFROM             58
-#define def_closefrom_override  (sudo_defs_table[59].sd_un.flag)
+#define def_closefrom           (sudo_defs_table[I_CLOSEFROM].sd_un.ival)
 #define I_CLOSEFROM_OVERRIDE    59
-#define def_setenv              (sudo_defs_table[60].sd_un.flag)
+#define def_closefrom_override  (sudo_defs_table[I_CLOSEFROM_OVERRIDE].sd_un.flag)
 #define I_SETENV                60
-#define def_env_reset           (sudo_defs_table[61].sd_un.flag)
+#define def_setenv              (sudo_defs_table[I_SETENV].sd_un.flag)
 #define I_ENV_RESET             61
-#define def_env_check           (sudo_defs_table[62].sd_un.list)
+#define def_env_reset           (sudo_defs_table[I_ENV_RESET].sd_un.flag)
 #define I_ENV_CHECK             62
-#define def_env_delete          (sudo_defs_table[63].sd_un.list)
+#define def_env_check           (sudo_defs_table[I_ENV_CHECK].sd_un.list)
 #define I_ENV_DELETE            63
-#define def_env_keep            (sudo_defs_table[64].sd_un.list)
+#define def_env_delete          (sudo_defs_table[I_ENV_DELETE].sd_un.list)
 #define I_ENV_KEEP              64
-#define def_role                (sudo_defs_table[65].sd_un.str)
+#define def_env_keep            (sudo_defs_table[I_ENV_KEEP].sd_un.list)
 #define I_ROLE                  65
-#define def_type                (sudo_defs_table[66].sd_un.str)
+#define def_role                (sudo_defs_table[I_ROLE].sd_un.str)
 #define I_TYPE                  66
-#define def_env_file            (sudo_defs_table[67].sd_un.str)
+#define def_type                (sudo_defs_table[I_TYPE].sd_un.str)
 #define I_ENV_FILE              67
-#define def_sudoers_locale      (sudo_defs_table[68].sd_un.str)
+#define def_env_file            (sudo_defs_table[I_ENV_FILE].sd_un.str)
 #define I_SUDOERS_LOCALE        68
-#define def_visiblepw           (sudo_defs_table[69].sd_un.flag)
+#define def_sudoers_locale      (sudo_defs_table[I_SUDOERS_LOCALE].sd_un.str)
 #define I_VISIBLEPW             69
-#define def_pwfeedback          (sudo_defs_table[70].sd_un.flag)
+#define def_visiblepw           (sudo_defs_table[I_VISIBLEPW].sd_un.flag)
 #define I_PWFEEDBACK            70
-#define def_fast_glob           (sudo_defs_table[71].sd_un.flag)
+#define def_pwfeedback          (sudo_defs_table[I_PWFEEDBACK].sd_un.flag)
 #define I_FAST_GLOB             71
-#define def_umask_override      (sudo_defs_table[72].sd_un.flag)
+#define def_fast_glob           (sudo_defs_table[I_FAST_GLOB].sd_un.flag)
 #define I_UMASK_OVERRIDE        72
-#define def_log_input           (sudo_defs_table[73].sd_un.flag)
+#define def_umask_override      (sudo_defs_table[I_UMASK_OVERRIDE].sd_un.flag)
 #define I_LOG_INPUT             73
-#define def_log_output          (sudo_defs_table[74].sd_un.flag)
+#define def_log_input           (sudo_defs_table[I_LOG_INPUT].sd_un.flag)
 #define I_LOG_OUTPUT            74
-#define def_compress_io         (sudo_defs_table[75].sd_un.flag)
+#define def_log_output          (sudo_defs_table[I_LOG_OUTPUT].sd_un.flag)
 #define I_COMPRESS_IO           75
-#define def_use_pty             (sudo_defs_table[76].sd_un.flag)
+#define def_compress_io         (sudo_defs_table[I_COMPRESS_IO].sd_un.flag)
 #define I_USE_PTY               76
-#define def_group_plugin        (sudo_defs_table[77].sd_un.str)
+#define def_use_pty             (sudo_defs_table[I_USE_PTY].sd_un.flag)
 #define I_GROUP_PLUGIN          77
-#define def_iolog_dir           (sudo_defs_table[78].sd_un.str)
+#define def_group_plugin        (sudo_defs_table[I_GROUP_PLUGIN].sd_un.str)
 #define I_IOLOG_DIR             78
-#define def_iolog_file          (sudo_defs_table[79].sd_un.str)
+#define def_iolog_dir           (sudo_defs_table[I_IOLOG_DIR].sd_un.str)
 #define I_IOLOG_FILE            79
-#define def_set_utmp            (sudo_defs_table[80].sd_un.flag)
+#define def_iolog_file          (sudo_defs_table[I_IOLOG_FILE].sd_un.str)
 #define I_SET_UTMP              80
-#define def_utmp_runas          (sudo_defs_table[81].sd_un.flag)
+#define def_set_utmp            (sudo_defs_table[I_SET_UTMP].sd_un.flag)
 #define I_UTMP_RUNAS            81
-#define def_privs               (sudo_defs_table[82].sd_un.str)
+#define def_utmp_runas          (sudo_defs_table[I_UTMP_RUNAS].sd_un.flag)
 #define I_PRIVS                 82
-#define def_limitprivs          (sudo_defs_table[83].sd_un.str)
+#define def_privs               (sudo_defs_table[I_PRIVS].sd_un.str)
 #define I_LIMITPRIVS            83
-#define def_exec_background     (sudo_defs_table[84].sd_un.flag)
+#define def_limitprivs          (sudo_defs_table[I_LIMITPRIVS].sd_un.str)
 #define I_EXEC_BACKGROUND       84
-#define def_pam_service         (sudo_defs_table[85].sd_un.str)
+#define def_exec_background     (sudo_defs_table[I_EXEC_BACKGROUND].sd_un.flag)
 #define I_PAM_SERVICE           85
-#define def_pam_login_service   (sudo_defs_table[86].sd_un.str)
+#define def_pam_service         (sudo_defs_table[I_PAM_SERVICE].sd_un.str)
 #define I_PAM_LOGIN_SERVICE     86
-#define def_pam_setcred         (sudo_defs_table[87].sd_un.flag)
+#define def_pam_login_service   (sudo_defs_table[I_PAM_LOGIN_SERVICE].sd_un.str)
 #define I_PAM_SETCRED           87
-#define def_pam_session         (sudo_defs_table[88].sd_un.flag)
+#define def_pam_setcred         (sudo_defs_table[I_PAM_SETCRED].sd_un.flag)
 #define I_PAM_SESSION           88
-#define def_maxseq              (sudo_defs_table[89].sd_un.uival)
+#define def_pam_session         (sudo_defs_table[I_PAM_SESSION].sd_un.flag)
 #define I_MAXSEQ                89
-#define def_use_netgroups       (sudo_defs_table[90].sd_un.flag)
+#define def_maxseq              (sudo_defs_table[I_MAXSEQ].sd_un.uival)
 #define I_USE_NETGROUPS         90
-#define def_sudoedit_checkdir   (sudo_defs_table[91].sd_un.flag)
+#define def_use_netgroups       (sudo_defs_table[I_USE_NETGROUPS].sd_un.flag)
 #define I_SUDOEDIT_CHECKDIR     91
-#define def_sudoedit_follow     (sudo_defs_table[92].sd_un.flag)
+#define def_sudoedit_checkdir   (sudo_defs_table[I_SUDOEDIT_CHECKDIR].sd_un.flag)
 #define I_SUDOEDIT_FOLLOW       92
-#define def_always_query_group_plugin (sudo_defs_table[93].sd_un.flag)
-#define I_ALWAYS_QUERY_GROUP_PLUGIN93
-#define def_netgroup_tuple      (sudo_defs_table[94].sd_un.flag)
+#define def_sudoedit_follow     (sudo_defs_table[I_SUDOEDIT_FOLLOW].sd_un.flag)
+#define I_ALWAYS_QUERY_GROUP_PLUGIN 93
+#define def_always_query_group_plugin (sudo_defs_table[I_ALWAYS_QUERY_GROUP_PLUGIN].sd_un.flag)
 #define I_NETGROUP_TUPLE        94
-#define def_ignore_audit_errors (sudo_defs_table[95].sd_un.flag)
+#define def_netgroup_tuple      (sudo_defs_table[I_NETGROUP_TUPLE].sd_un.flag)
 #define I_IGNORE_AUDIT_ERRORS   95
-#define def_ignore_iolog_errors (sudo_defs_table[96].sd_un.flag)
+#define def_ignore_audit_errors (sudo_defs_table[I_IGNORE_AUDIT_ERRORS].sd_un.flag)
 #define I_IGNORE_IOLOG_ERRORS   96
-#define def_ignore_logfile_errors (sudo_defs_table[97].sd_un.flag)
+#define def_ignore_iolog_errors (sudo_defs_table[I_IGNORE_IOLOG_ERRORS].sd_un.flag)
 #define I_IGNORE_LOGFILE_ERRORS 97
-#define def_match_group_by_gid  (sudo_defs_table[98].sd_un.flag)
+#define def_ignore_logfile_errors (sudo_defs_table[I_IGNORE_LOGFILE_ERRORS].sd_un.flag)
 #define I_MATCH_GROUP_BY_GID    98
+#define def_match_group_by_gid  (sudo_defs_table[I_MATCH_GROUP_BY_GID].sd_un.flag)
 
 enum def_tuple {
        never,
index 72f56a333d74cc370b3c8a989d2132a9e1318025..a5a4edd5040750425f3a6c357107a7250b1a241d 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 #
 # Generate sudo_defs_table and associated defines
 #
@@ -9,6 +9,8 @@
 #      description (or NULL)
 #      array of struct def_values if TYPE == T_TUPLE
 
+use warnings;
+
 # Deal with optional -o (output) argument
 if ($#ARGV > 0 && $ARGV[0] eq "-o") {
     shift;
@@ -35,7 +37,7 @@ open(CFILE, ">$cfile") || die "$0: can't open $cfile: $!\n";
 $count = 0;
 @tuple_values = ( "never" );
 @records = ();
-while(<IN>) {
+while (<IN>) {
     chomp;
     s/\s*#.*$//;
     next if /^\s*$/;
@@ -102,7 +104,7 @@ for ($i = 0; $i < $count; $i++) {
 # Print each record
 print CFILE "struct sudo_defs_types sudo_defs_table[] = {\n    {\n";
 for ($i = 0; $i < $count; $i++) {
-    &print_record($records[$i], $i);
+    print_record($records[$i], $i);
 }
 print CFILE "\tNULL, 0, NULL\n    }\n};\n";
 
@@ -120,10 +122,15 @@ close(IN);
 close(HEADER);
 close(CFILE);
 
+exit(0);
+
 sub print_record {
     my ($rec, $recnum) = @_;
     my ($i, $v, $defname);
+
     # each variable gets a macro to access its value
+    $defname = "I_" . uc($rec->[0]);
+    printf HEADER "#define %-23s %d\n", $defname, $recnum;
     for ($rec->[1]) {
        if    (/^T_INT/)    { $v = "ival"; }
        elsif (/^T_UINT/)   { $v = "uival"; }
@@ -137,14 +144,9 @@ sub print_record {
        elsif (/^T_FLOAT/)  { $v = "fval"; }
        else { die "$0: unknown defaults type: $_\n"; }
     }
-    printf HEADER "#define %-23s (sudo_defs_table[$recnum].sd_un.${v})\n",
+    printf HEADER "#define %-23s (sudo_defs_table[$defname].sd_un.${v})\n",
        "def_$rec->[0]";
 
-    $defname = "I_" . uc($rec->[0]);
-    printf HEADER "#define %-24s%d", $defname, $recnum;
-    #print HEADER "\t/* $rec->[2] */" if defined($rec->[2]);
-    print HEADER "\n";
-
     print CFILE "\t\"$rec->[0]\", $rec->[1],\n\t$rec->[2],\n";
     if (defined($rec->[3])) {
        printf CFILE "\tdef_data_$rec->[0],\n";