ad_opts.c revision ffe2522a208cddd415d7c3498dcc73ffda863b6f
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl/*
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl SSSD
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl Authors:
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl Stephen Gallagher <sgallagh@redhat.com>
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl Copyright (C) 2012 Red Hat
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl This program is free software; you can redistribute it and/or modify
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl it under the terms of the GNU General Public License as published by
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl the Free Software Foundation; either version 3 of the License, or
a530dde7009b0a808300c420def741354a4d13d2Martin Kühl (at your option) any later version.
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco This program is distributed in the hope that it will be useful,
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco but WITHOUT ANY WARRANTY; without even the implied warranty of
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco GNU General Public License for more details.
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco You should have received a copy of the GNU General Public License
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco along with this program. If not, see <http://www.gnu.org/licenses/>.
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco*/
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco#include "src/providers/data_provider.h"
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco#include "db/sysdb_services.h"
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco#include "db/sysdb_autofs.h"
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco#include "providers/ldap/ldap_common.h"
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco#include "config.h"
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riescostruct dp_option ad_basic_opts[] = {
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_domain", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ad_backup_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ad_hostname", DP_OPT_STRING, NULL_STRING, NULL_STRING },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "krb5_keytab", DP_OPT_STRING, NULL_STRING, NULL_STRING },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "krb5_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING},
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ad_enable_dns_sites", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ad_access_filter", DP_OPT_STRING, NULL_STRING, NULL_STRING},
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ad_enable_gc", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_access_control", DP_OPT_STRING, { AD_GPO_ACCESS_MODE_DEFAULT }, NULL_STRING },
fecce42517d20490f893c4a9dee29b000e1653eaAdrián Riesco { "ad_gpo_cache_timeout", DP_OPT_NUMBER, { .number = 5 }, NULL_NUMBER },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ad_gpo_map_interactive", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_map_remote_interactive", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_map_network", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_map_batch", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_map_service", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_map_permit", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_map_deny", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_gpo_default_right", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_site", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_confd_path", DP_OPT_STRING, { KRB5_MAPPING_DIR }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_maximum_machine_account_password_age", DP_OPT_NUMBER, { .number = 30 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ad_machine_account_password_renewal_opts", DP_OPT_STRING, { "86400:750" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco DP_OPTION_TERMINATOR
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco};
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riescostruct dp_option ad_def_ldap_opts[] = {
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_uri", DP_OPT_STRING, NULL_STRING, NULL_STRING },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ldap_backup_uri", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_default_bind_dn", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_default_authtok_type", DP_OPT_STRING, { "password" }, NULL_STRING},
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_default_authtok", DP_OPT_BLOB, NULL_BLOB, NULL_BLOB },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_search_timeout", DP_OPT_NUMBER, { .number = 6 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_network_timeout", DP_OPT_NUMBER, { .number = 6 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_opt_timeout", DP_OPT_NUMBER, { .number = 6 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_tls_reqcert", DP_OPT_STRING, { "hard" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_search_scope", DP_OPT_STRING, { "sub" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_search_filter", DP_OPT_STRING, NULL_STRING, NULL_STRING },
7474965b2e6323002c96c0b39a59843cde201870Adrián Riesco { "ldap_user_extra_attrs", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_group_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_group_search_scope", DP_OPT_STRING, { "sub" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_group_search_filter", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_service_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_full_refresh_interval", DP_OPT_NUMBER, { .number = 21600 }, NULL_NUMBER }, /* 360 mins */
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_smart_refresh_interval", DP_OPT_NUMBER, { .number = 900 }, NULL_NUMBER }, /* 15 mins */
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_use_host_filter", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_hostnames", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_ip", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sudo_include_netgroups", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
7474965b2e6323002c96c0b39a59843cde201870Adrián Riesco { "ldap_sudo_include_regexp", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_autofs_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_autofs_map_master_name", DP_OPT_STRING, { "auto.master" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_schema", DP_OPT_STRING, { "ad" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_offline_timeout", DP_OPT_NUMBER, { .number = 60 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_force_upper_case_realm", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_enumeration_refresh_timeout", DP_OPT_NUMBER, { .number = 300 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_purge_cache_timeout", DP_OPT_NUMBER, { .number = 0 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_tls_cacert", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_tls_cacertdir", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_tls_cert", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_tls_key", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_tls_cipher_suite", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_id_use_start_tls", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
7474965b2e6323002c96c0b39a59843cde201870Adrián Riesco { "ldap_id_mapping", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sasl_mech", DP_OPT_STRING, { "gssapi" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sasl_authid", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sasl_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sasl_minssf", DP_OPT_NUMBER, { .number = -1 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_krb5_keytab", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_krb5_init_creds", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco /* use the same parm name as the krb5 module so we set it only once */
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_backup_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_canonicalize", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_use_kdcinfo", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
7474965b2e6323002c96c0b39a59843cde201870Adrián Riesco { "ldap_pwd_policy", DP_OPT_STRING, { "none" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_referrals", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "account_cache_expiration", DP_OPT_NUMBER, { .number = 0 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_dns_service_name", DP_OPT_STRING, { SSS_LDAP_SRV_NAME }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_krb5_ticket_lifetime", DP_OPT_NUMBER, { .number = (24 * 60 * 60) }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_access_filter", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_netgroup_search_base", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_group_nesting_level", DP_OPT_NUMBER, { .number = 2 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_deref", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_account_expire_policy", DP_OPT_STRING, { "ad" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_access_order", DP_OPT_STRING, { "filter" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_chpass_uri", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_chpass_backup_uri", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_chpass_dns_service_name", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_chpass_update_last_change", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_enumeration_search_timeout", DP_OPT_NUMBER, { .number = 60 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco /* Do not include ldap_auth_disable_tls_never_use_in_production in the
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco * manpages or SSSDConfig API
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco */
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_auth_disable_tls_never_use_in_production", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_page_size", DP_OPT_NUMBER, { .number = 1000 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_deref_threshold", DP_OPT_NUMBER, { .number = 10 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_sasl_canonicalize", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_connection_expire_timeout", DP_OPT_NUMBER, { .number = 900 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_disable_paging", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_idmap_range_min", DP_OPT_NUMBER, { .number = 200000 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_idmap_range_max", DP_OPT_NUMBER, { .number = 2000200000LL }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_idmap_range_size", DP_OPT_NUMBER, { .number = 200000 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_idmap_autorid_compat", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
fecce42517d20490f893c4a9dee29b000e1653eaAdrián Riesco { "ldap_idmap_default_domain", DP_OPT_STRING, NULL_STRING, NULL_STRING },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_idmap_default_domain_sid", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_idmap_helper_table_size", DP_OPT_NUMBER, { .number = 10 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_groups_use_matching_rule_in_chain", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_initgroups_use_matching_rule_in_chain", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_use_tokengroups", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE},
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_rfc2307_fallback_to_local_users", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_disable_range_retrieval", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_min_id", DP_OPT_NUMBER, NULL_NUMBER, NULL_NUMBER},
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_max_id", DP_OPT_NUMBER, NULL_NUMBER, NULL_NUMBER},
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_pwdlockout_dn", DP_OPT_STRING, NULL_STRING, NULL_STRING },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "wildcard_limit", DP_OPT_NUMBER, { .number = 1000 }, NULL_NUMBER},
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco DP_OPTION_TERMINATOR
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco};
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riescostruct dp_option ad_def_krb5_opts[] = {
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "krb5_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_backup_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_ccachedir", DP_OPT_STRING, { DEFAULT_CCACHE_DIR }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_ccname_template", DP_OPT_STRING, NULL_STRING, NULL_STRING},
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_auth_timeout", DP_OPT_NUMBER, { .number = 6 }, NULL_NUMBER },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_keytab", DP_OPT_STRING, { "/etc/krb5.keytab" }, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_validate", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "krb5_kpasswd", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_backup_kpasswd", DP_OPT_STRING, NULL_STRING, NULL_STRING },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "krb5_store_password_if_offline", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "krb5_renewable_lifetime", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_lifetime", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_renew_interval", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_use_fast", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_fast_principal", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_canonicalize", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "krb5_use_enterprise_principal", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_use_kdcinfo", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "krb5_map_user", DP_OPT_STRING, NULL_STRING, NULL_STRING },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco DP_OPTION_TERMINATOR
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco};
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riescostruct sdap_attr_map ad_2008r2_attr_map[] = {
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ldap_entry_usn", SDAP_AD_USN, SYSDB_USN, NULL },
d72e314a1952b4418fb1c98b17dbab0d16bba585Adrián Riesco { "ldap_rootdse_last_usn", SDAP_AD_LAST_USN, SYSDB_HIGH_USN, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco};
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco
fecce42517d20490f893c4a9dee29b000e1653eaAdrián Riescostruct sdap_attr_map ad_2008r2_user_map[] = {
fecce42517d20490f893c4a9dee29b000e1653eaAdrián Riesco { "ldap_user_object_class", "user", SYSDB_USER_CLASS, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_name", "sAMAccountName", SYSDB_NAME, NULL },
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_user_pwd", "unixUserPassword", SYSDB_PWD, NULL },
3f8cdebaede9921402318d525b57a9af8f9279d3Adrián Riesco { "ldap_user_uid_number", "uidNumber", SYSDB_UIDNUM, NULL },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_gid_number", "gidNumber", SYSDB_GIDNUM, NULL },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_gecos", "gecos", SYSDB_GECOS, NULL },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_home_directory", "unixHomeDirectory", SYSDB_HOMEDIR, NULL },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_shell", "loginShell", SYSDB_SHELL, NULL },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_principal", "userPrincipalName", SYSDB_UPN, NULL },
5318901bb69bf247e0f341312c800ba4ea87e46bAdrián Riesco { "ldap_user_fullname", "name", SYSDB_FULLNAME, NULL },
fecce42517d20490f893c4a9dee29b000e1653eaAdrián Riesco { "ldap_user_member_of", "memberOf", SYSDB_MEMBEROF, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_uuid", "objectGUID", SYSDB_UUID, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_objectsid", "objectSID", SYSDB_SID, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_primary_group", "primaryGroupID", SYSDB_PRIMARY_GROUP, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_modify_timestamp", "whenChanged", SYSDB_ORIG_MODSTAMP, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_user_entry_usn", SDAP_AD_USN, SYSDB_USN, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_shadow_last_change", NULL, SYSDB_SHADOWPW_LASTCHANGE, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_user_shadow_min", NULL, SYSDB_SHADOWPW_MIN, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_user_shadow_max", NULL, SYSDB_SHADOWPW_MAX, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_user_shadow_warning", NULL, SYSDB_SHADOWPW_WARNING, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_shadow_inactive", NULL, SYSDB_SHADOWPW_INACTIVE, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_shadow_expire", NULL, SYSDB_SHADOWPW_EXPIRE, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_user_shadow_flag", NULL, SYSDB_SHADOWPW_FLAG, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_krb_last_pwd_change", NULL, SYSDB_KRBPW_LASTCHANGE, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_user_krb_password_expiration", NULL, SYSDB_KRBPW_EXPIRATION, NULL },
b9840e4ee6fda6e42fa4ee9f337482ccc4839a39Adrián Riesco { "ldap_pwd_attribute", NULL, SYSDB_PWD_ATTRIBUTE, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_authorized_service", NULL, SYSDB_AUTHORIZED_SERVICE, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_ad_account_expires", "accountExpires", SYSDB_AD_ACCOUNT_EXPIRES, NULL},
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_ad_user_account_control", "userAccountControl", SYSDB_AD_USER_ACCOUNT_CONTROL, NULL},
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_ns_account_lock", NULL, SYSDB_NS_ACCOUNT_LOCK, NULL},
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_user_authorized_host", NULL, SYSDB_AUTHORIZED_HOST, NULL },
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_user_nds_login_disabled", NULL, SYSDB_NDS_LOGIN_DISABLED, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_user_nds_login_expiration_time", NULL, SYSDB_NDS_LOGIN_EXPIRATION_TIME, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_nds_login_allowed_time_map", NULL, SYSDB_NDS_LOGIN_ALLOWED_TIME_MAP, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_ssh_public_key", NULL, SYSDB_SSH_PUBKEY, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_auth_type", NULL, SYSDB_AUTH_TYPE, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_user_certificate", "userCertificate;binary", SYSDB_USER_CERT, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco};
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riescostruct sdap_attr_map ad_2008r2_group_map[] = {
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_object_class", "group", SYSDB_GROUP_CLASS, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_object_class_alt", NULL, SYSDB_GROUP_CLASS, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_group_name", "sAMAccountName", SYSDB_NAME, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_pwd", NULL, SYSDB_PWD, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_gid_number", "gidNumber", SYSDB_GIDNUM, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_member", "member", SYSDB_MEMBER, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco { "ldap_group_uuid", "objectGUID", SYSDB_UUID, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_objectsid", "objectSID", SYSDB_SID, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_modify_timestamp", "whenChanged", SYSDB_ORIG_MODSTAMP, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_entry_usn", SDAP_AD_USN, SYSDB_USN, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_type", "groupType", SYSDB_GROUP_TYPE, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_group_external_member", NULL, SYSDB_EXTERNAL_MEMBER, NULL },
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco};
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riescostruct sdap_attr_map ad_netgroup_map[] = {
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_netgroup_object_class", "nisNetgroup", SYSDB_NETGROUP_CLASS, NULL },
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_netgroup_name", "cn", SYSDB_NAME, NULL },
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_netgroup_member", "memberNisNetgroup", SYSDB_ORIG_NETGROUP_MEMBER, NULL },
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_netgroup_triple", "nisNetgroupTriple", SYSDB_NETGROUP_TRIPLE, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_netgroup_modify_timestamp", "modifyTimestamp", SYSDB_ORIG_MODSTAMP, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco};
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riescostruct sdap_attr_map ad_service_map[] = {
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_service_object_class", "ipService", SYSDB_SVC_CLASS, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_service_name", "cn", SYSDB_NAME, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_service_port", "ipServicePort", SYSDB_SVC_PORT, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_service_proto", "ipServiceProtocol", SYSDB_SVC_PROTO, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_service_entry_usn", NULL, SYSDB_USN, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco};
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riescostruct sdap_attr_map ad_autofs_mobject_map[] = {
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_autofs_map_object_class", "nisMap", SYSDB_AUTOFS_MAP_OC, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_autofs_map_name", "nisMapName", SYSDB_AUTOFS_MAP_NAME, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco};
7fc57d0f02d0fec1192376ccebe2be0224cb9a55Adrián Riesco
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riescostruct sdap_attr_map ad_autofs_entry_map[] = {
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_autofs_entry_object_class", "nisObject", SYSDB_AUTOFS_ENTRY_OC, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "ldap_autofs_entry_key", "cn", SYSDB_AUTOFS_ENTRY_KEY, NULL },
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "ldap_autofs_entry_value", "nisMapEntry", SYSDB_AUTOFS_ENTRY_VALUE, NULL },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco SDAP_ATTR_MAP_TERMINATOR
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco};
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riescostruct dp_option ad_dyndns_opts[] = {
27aad79faa0eec8d0e7dda32bca710db95bd2d0aAdrián Riesco { "dyndns_update", DP_OPT_BOOL, BOOL_TRUE, BOOL_FALSE },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_refresh_interval", DP_OPT_NUMBER, { .number = 86400 }, NULL_NUMBER },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_iface", DP_OPT_STRING, NULL_STRING, NULL_STRING },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_ttl", DP_OPT_NUMBER, { .number = 3600 }, NULL_NUMBER },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_update_ptr", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_force_tcp", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_auth", DP_OPT_STRING, { "gss-tsig" }, NULL_STRING },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco { "dyndns_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco DP_OPTION_TERMINATOR
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco};
aea9000fc94442cbfc92596f4264473c0fce51e4Adrián Riesco