verify_krb5_conf: sort entries, remove duplicates
Change-Id: I23dc60b4c48bcf08ed9ad687ee792366b25db3d7
This commit is contained in:
@@ -409,20 +409,20 @@ struct entry libdefaults_entries[] = {
|
|||||||
{ "kdc_timeout", krb5_config_string, check_time, 0 },
|
{ "kdc_timeout", krb5_config_string, check_time, 0 },
|
||||||
{ "kdc_timesync", krb5_config_string, check_boolean, 0 },
|
{ "kdc_timesync", krb5_config_string, check_boolean, 0 },
|
||||||
{ "log_utc", krb5_config_string, check_boolean, 0 },
|
{ "log_utc", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "max_retries", krb5_config_string, check_time, 0 },
|
||||||
{ "maxretries", krb5_config_string, check_numeric, 0 },
|
{ "maxretries", krb5_config_string, check_numeric, 0 },
|
||||||
|
{ "no-addresses", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "proxiable", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "renew_lifetime", krb5_config_string, check_time, 0 },
|
||||||
{ "scan_interfaces", krb5_config_string, check_boolean, 0 },
|
{ "scan_interfaces", krb5_config_string, check_boolean, 0 },
|
||||||
{ "srv_lookup", krb5_config_string, check_boolean, 0 },
|
{ "srv_lookup", krb5_config_string, check_boolean, 0 },
|
||||||
{ "srv_try_txt", krb5_config_string, check_boolean, 0 },
|
{ "srv_try_txt", krb5_config_string, check_boolean, 0 },
|
||||||
{ "ticket_lifetime", krb5_config_string, check_time, 0 },
|
{ "ticket_lifetime", krb5_config_string, check_time, 0 },
|
||||||
{ "time_format", krb5_config_string, NULL, 0 },
|
{ "time_format", krb5_config_string, NULL, 0 },
|
||||||
{ "transited_realms_reject", krb5_config_string, NULL, 0 },
|
{ "transited_realms_reject", krb5_config_string, NULL, 0 },
|
||||||
{ "no-addresses", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "v4_instance_resolve", krb5_config_string, check_boolean, 0 },
|
{ "v4_instance_resolve", krb5_config_string, check_boolean, 0 },
|
||||||
{ "v4_name_convert", krb5_config_list, v4_name_convert_entries, 0 },
|
{ "v4_name_convert", krb5_config_list, v4_name_convert_entries, 0 },
|
||||||
{ "verify_ap_req_nofail", krb5_config_string, check_boolean, 0 },
|
{ "verify_ap_req_nofail", krb5_config_string, check_boolean, 0 },
|
||||||
{ "max_retries", krb5_config_string, check_time, 0 },
|
|
||||||
{ "renew_lifetime", krb5_config_string, check_time, 0 },
|
|
||||||
{ "proxiable", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "warn_pwexpire", krb5_config_string, check_time, 0 },
|
{ "warn_pwexpire", krb5_config_string, check_time, 0 },
|
||||||
/* MIT stuff */
|
/* MIT stuff */
|
||||||
{ "permitted_enctypes", krb5_config_string, mit_entry, 0 },
|
{ "permitted_enctypes", krb5_config_string, mit_entry, 0 },
|
||||||
@@ -434,45 +434,49 @@ struct entry libdefaults_entries[] = {
|
|||||||
struct entry appdefaults_entries[] = {
|
struct entry appdefaults_entries[] = {
|
||||||
{ "afslog", krb5_config_string, check_boolean, 0 },
|
{ "afslog", krb5_config_string, check_boolean, 0 },
|
||||||
{ "afs-use-524", krb5_config_string, check_524, 0 },
|
{ "afs-use-524", krb5_config_string, check_524, 0 },
|
||||||
{ "encrypt", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "forward", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "forwardable", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "proxiable", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "ticket_lifetime", krb5_config_string, check_time, 0 },
|
|
||||||
{ "renew_lifetime", krb5_config_string, check_time, 0 },
|
|
||||||
{ "no-addresses", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "krb4_get_tickets", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "pkinit_anchors", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_win2k", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_win2k_require_binding", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_require_eku", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_require_krbtgt_otherName", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_require_hostname_match", krb5_config_string, NULL, 0 },
|
|
||||||
#if 0
|
#if 0
|
||||||
{ "anonymous", krb5_config_string, check_boolean, 0 },
|
{ "anonymous", krb5_config_string, check_boolean, 0 },
|
||||||
#endif
|
#endif
|
||||||
|
{ "encrypt", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "forward", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "forwardable", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "krb4_get_tickets", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "proxiable", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "renew_lifetime", krb5_config_string, check_time, 0 },
|
||||||
|
{ "no-addresses", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "pkinit_anchors", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_require_eku", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_require_hostname_match", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_require_krbtgt_otherName", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_win2k", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_win2k_require_binding", krb5_config_string, NULL, 0 },
|
||||||
|
{ "ticket_lifetime", krb5_config_string, check_time, 0 },
|
||||||
{ "", krb5_config_list, appdefaults_entries, 0 },
|
{ "", krb5_config_list, appdefaults_entries, 0 },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct entry realms_entries[] = {
|
struct entry realms_entries[] = {
|
||||||
{ "forwardable", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "proxiable", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "ticket_lifetime", krb5_config_string, check_time, 0 },
|
|
||||||
{ "renew_lifetime", krb5_config_string, check_time, 0 },
|
|
||||||
{ "warn_pwexpire", krb5_config_string, check_time, 0 },
|
|
||||||
{ "kdc", krb5_config_string, check_host, 0 },
|
|
||||||
{ "admin_server", krb5_config_string, check_host, 0 },
|
{ "admin_server", krb5_config_string, check_host, 0 },
|
||||||
|
{ "default_domain", krb5_config_string, NULL, 0 },
|
||||||
|
{ "forwardable", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "kdc", krb5_config_string, check_host, 0 },
|
||||||
{ "kpasswd_server", krb5_config_string, check_host, 0 },
|
{ "kpasswd_server", krb5_config_string, check_host, 0 },
|
||||||
{ "krb524_server", krb5_config_string, check_host, 0 },
|
{ "krb524_server", krb5_config_string, check_host, 0 },
|
||||||
{ "v4_name_convert", krb5_config_list, v4_name_convert_entries, 0 },
|
{ "proxiable", krb5_config_string, check_boolean, 0 },
|
||||||
{ "v4_instance_convert", krb5_config_list, all_strings, 0 },
|
{ "renew_lifetime", krb5_config_string, check_time, 0 },
|
||||||
|
{ "ticket_lifetime", krb5_config_string, check_time, 0 },
|
||||||
{ "v4_domains", krb5_config_string, NULL, 0 },
|
{ "v4_domains", krb5_config_string, NULL, 0 },
|
||||||
{ "default_domain", krb5_config_string, NULL, 0 },
|
{ "v4_instance_convert", krb5_config_list, all_strings, 0 },
|
||||||
|
{ "v4_name_convert", krb5_config_list, v4_name_convert_entries, 0 },
|
||||||
|
{ "warn_pwexpire", krb5_config_string, check_time, 0 },
|
||||||
{ "win2k_pkinit", krb5_config_string, NULL, 0 },
|
{ "win2k_pkinit", krb5_config_string, NULL, 0 },
|
||||||
|
|
||||||
/* MIT stuff */
|
/* MIT stuff */
|
||||||
{ "admin_keytab", krb5_config_string, mit_entry, 0 },
|
{ "admin_keytab", krb5_config_string, mit_entry, 0 },
|
||||||
{ "acl_file", krb5_config_string, mit_entry, 0 },
|
{ "acl_file", krb5_config_string, mit_entry, 0 },
|
||||||
|
{ "database_name", krb5_config_string, mit_entry, 0 },
|
||||||
|
{ "default_principal_expiration", krb5_config_string, mit_entry, 0 },
|
||||||
|
{ "default_principal_flags", krb5_config_string, mit_entry, 0 },
|
||||||
{ "dict_file", krb5_config_string, mit_entry, 0 },
|
{ "dict_file", krb5_config_string, mit_entry, 0 },
|
||||||
{ "kadmind_port", krb5_config_string, mit_entry, 0 },
|
{ "kadmind_port", krb5_config_string, mit_entry, 0 },
|
||||||
{ "kpasswd_port", krb5_config_string, mit_entry, 0 },
|
{ "kpasswd_port", krb5_config_string, mit_entry, 0 },
|
||||||
@@ -481,10 +485,7 @@ struct entry realms_entries[] = {
|
|||||||
{ "key_stash_file", krb5_config_string, mit_entry, 0 },
|
{ "key_stash_file", krb5_config_string, mit_entry, 0 },
|
||||||
{ "max_life", krb5_config_string, mit_entry, 0 },
|
{ "max_life", krb5_config_string, mit_entry, 0 },
|
||||||
{ "max_renewable_life", krb5_config_string, mit_entry, 0 },
|
{ "max_renewable_life", krb5_config_string, mit_entry, 0 },
|
||||||
{ "default_principal_expiration", krb5_config_string, mit_entry, 0 },
|
|
||||||
{ "default_principal_flags", krb5_config_string, mit_entry, 0 },
|
|
||||||
{ "supported_enctypes", krb5_config_string, mit_entry, 0 },
|
{ "supported_enctypes", krb5_config_string, mit_entry, 0 },
|
||||||
{ "database_name", krb5_config_string, mit_entry, 0 },
|
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -495,58 +496,57 @@ struct entry realms_foobar[] = {
|
|||||||
|
|
||||||
|
|
||||||
struct entry kdc_database_entries[] = {
|
struct entry kdc_database_entries[] = {
|
||||||
{ "realm", krb5_config_string, NULL, 0 },
|
|
||||||
{ "dbname", krb5_config_string, NULL, 0 },
|
|
||||||
{ "mkey_file", krb5_config_string, NULL, 0 },
|
|
||||||
{ "acl_file", krb5_config_string, NULL, 0 },
|
{ "acl_file", krb5_config_string, NULL, 0 },
|
||||||
|
{ "dbname", krb5_config_string, NULL, 0 },
|
||||||
{ "log_file", krb5_config_string, NULL, 0 },
|
{ "log_file", krb5_config_string, NULL, 0 },
|
||||||
|
{ "mkey_file", krb5_config_string, NULL, 0 },
|
||||||
|
{ "realm", krb5_config_string, NULL, 0 },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct entry kdc_entries[] = {
|
struct entry kdc_entries[] = {
|
||||||
|
{ "addresses", krb5_config_string, NULL, 0 },
|
||||||
|
{ "allow-anonymous", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "allow-null-ticket-addresses", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "check-ticket-addresses", krb5_config_string, check_boolean, 0 },
|
||||||
{ "database", krb5_config_list, kdc_database_entries, 0 },
|
{ "database", krb5_config_list, kdc_database_entries, 0 },
|
||||||
|
{ "digests_allowed", krb5_config_string, NULL, 0 },
|
||||||
|
{ "enable-524", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "enable-digest", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "enable-kaserver", krb5_config_string, check_boolean, 1 },
|
||||||
|
{ "enable-kerberos4", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "enable-http", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "enable-pkinit", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "encode_as_rep_as_tgs_rep", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "hdb-ldap-create-base", krb5_config_string, NULL, 0 },
|
||||||
|
{ "kdc_warn_pwexpire", krb5_config_string, check_time, 0 },
|
||||||
{ "key-file", krb5_config_string, NULL, 0 },
|
{ "key-file", krb5_config_string, NULL, 0 },
|
||||||
|
{ "kx509_ca", krb5_config_string, NULL, 0 },
|
||||||
|
{ "kx509_include_pkinit_san", krb5_config_string, check_boolean, 0 },
|
||||||
{ "logging", krb5_config_string, check_log, 0 },
|
{ "logging", krb5_config_string, check_log, 0 },
|
||||||
{ "max-request", krb5_config_string, check_bytes, 0 },
|
{ "max-request", krb5_config_string, check_bytes, 0 },
|
||||||
{ "require-preauth", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "ports", krb5_config_string, NULL, 0 },
|
|
||||||
{ "addresses", krb5_config_string, NULL, 0 },
|
|
||||||
{ "enable-kerberos4", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "enable-524", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "enable-http", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "check-ticket-addresses", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "allow-null-ticket-addresses", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "allow-anonymous", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "v4_realm", krb5_config_string, NULL, 0 },
|
|
||||||
{ "enable-kaserver", krb5_config_string, check_boolean, 1 },
|
|
||||||
{ "encode_as_rep_as_tgs_rep", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "kdc_warn_pwexpire", krb5_config_string, check_time, 0 },
|
|
||||||
{ "use_2b", krb5_config_list, NULL, 0 },
|
|
||||||
{ "enable-pkinit", krb5_config_string, check_boolean, 0 },
|
|
||||||
{ "pkinit_identity", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_anchors", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_pool", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_revoke", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_kdc_ocsp", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_principal_in_certificate", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_dh_min_bits", krb5_config_string, NULL, 0 },
|
|
||||||
{ "pkinit_allow_proxy_certificate", krb5_config_string, NULL, 0 },
|
{ "pkinit_allow_proxy_certificate", krb5_config_string, NULL, 0 },
|
||||||
{ "hdb-ldap-create-base", krb5_config_string, NULL, 0 },
|
{ "pkinit_anchors", krb5_config_string, NULL, 0 },
|
||||||
{ "v4-realm", krb5_config_string, NULL, 0 },
|
{ "pkinit_dh_min_bits", krb5_config_string, NULL, 0 },
|
||||||
{ "enable-digest", krb5_config_string, check_boolean, 0 },
|
{ "pkinit_identity", krb5_config_string, NULL, 0 },
|
||||||
{ "digests_allowed", krb5_config_string, NULL, 0 },
|
{ "pkinit_kdc_ocsp", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_pool", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_principal_in_certificate", krb5_config_string, NULL, 0 },
|
||||||
|
{ "pkinit_revoke", krb5_config_string, NULL, 0 },
|
||||||
|
{ "ports", krb5_config_string, NULL, 0 },
|
||||||
{ "require_initial_kca_tickets", krb5_config_string, check_boolean, 0 },
|
{ "require_initial_kca_tickets", krb5_config_string, check_boolean, 0 },
|
||||||
{ "kx509_include_pkinit_san", krb5_config_string, check_boolean, 0 },
|
{ "require-preauth", krb5_config_string, check_boolean, 0 },
|
||||||
{ "kx509_ca", krb5_config_string, NULL, 0 },
|
{ "use_2b", krb5_config_list, NULL, 0 },
|
||||||
|
{ "v4_realm", krb5_config_string, NULL, 0 },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct entry kadmin_entries[] = {
|
struct entry kadmin_entries[] = {
|
||||||
{ "password_lifetime", krb5_config_string, check_time, 0 },
|
|
||||||
{ "default_keys", krb5_config_string, NULL, 0 },
|
{ "default_keys", krb5_config_string, NULL, 0 },
|
||||||
{ "use_v4_salt", krb5_config_string, NULL, 0 },
|
{ "password_lifetime", krb5_config_string, check_time, 0 },
|
||||||
{ "require-preauth", krb5_config_string, check_boolean, 0 },
|
{ "require-preauth", krb5_config_string, check_boolean, 0 },
|
||||||
{ "save-password", krb5_config_string, check_boolean, 0 },
|
{ "save-password", krb5_config_string, check_boolean, 0 },
|
||||||
|
{ "use_v4_salt", krb5_config_string, NULL, 0 },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
struct entry log_strings[] = {
|
struct entry log_strings[] = {
|
||||||
@@ -568,25 +568,26 @@ struct entry capaths_entries[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct entry password_quality_entries[] = {
|
struct entry password_quality_entries[] = {
|
||||||
{ "policies", krb5_config_string, NULL, 0 },
|
|
||||||
{ "external_program", krb5_config_string, NULL, 0 },
|
{ "external_program", krb5_config_string, NULL, 0 },
|
||||||
{ "min_classes", krb5_config_string, check_numeric, 0 },
|
{ "min_classes", krb5_config_string, check_numeric, 0 },
|
||||||
{ "min_length", krb5_config_string, check_numeric, 0 },
|
{ "min_length", krb5_config_string, check_numeric, 0 },
|
||||||
|
{ "policies", krb5_config_string, NULL, 0 },
|
||||||
{ "", krb5_config_list, all_strings, 0 },
|
{ "", krb5_config_list, all_strings, 0 },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct entry toplevel_sections[] = {
|
struct entry toplevel_sections[] = {
|
||||||
{ "libdefaults" , krb5_config_list, libdefaults_entries, 0 },
|
|
||||||
{ "realms", krb5_config_list, realms_foobar, 0 },
|
|
||||||
{ "domain_realm", krb5_config_list, all_strings, 0 },
|
|
||||||
{ "logging", krb5_config_list, log_strings, 0 },
|
|
||||||
{ "kdc", krb5_config_list, kdc_entries, 0 },
|
|
||||||
{ "kadmin", krb5_config_list, kadmin_entries, 0 },
|
|
||||||
{ "appdefaults", krb5_config_list, appdefaults_entries, 0 },
|
{ "appdefaults", krb5_config_list, appdefaults_entries, 0 },
|
||||||
{ "gssapi", krb5_config_list, NULL, 0 },
|
|
||||||
{ "capaths", krb5_config_list, capaths_entries, 0 },
|
{ "capaths", krb5_config_list, capaths_entries, 0 },
|
||||||
|
{ "domain_realm", krb5_config_list, all_strings, 0 },
|
||||||
|
{ "gssapi", krb5_config_list, NULL, 0 },
|
||||||
|
{ "kadmin", krb5_config_list, kadmin_entries, 0 },
|
||||||
|
{ "kdc", krb5_config_list, kdc_entries, 0 },
|
||||||
|
{ "libdefaults" , krb5_config_list, libdefaults_entries, 0 },
|
||||||
|
{ "logging", krb5_config_list, log_strings, 0 },
|
||||||
{ "password_quality", krb5_config_list, password_quality_entries, 0 },
|
{ "password_quality", krb5_config_list, password_quality_entries, 0 },
|
||||||
|
{ "realms", krb5_config_list, realms_foobar, 0 },
|
||||||
|
|
||||||
/* MIT stuff */
|
/* MIT stuff */
|
||||||
{ "kdcdefaults", krb5_config_list, kdcdefaults_entries, 0 },
|
{ "kdcdefaults", krb5_config_list, kdcdefaults_entries, 0 },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
|
Reference in New Issue
Block a user