From: Nick Porter Date: Wed, 15 Feb 2023 20:16:53 +0000 (+0000) Subject: Use autoload da for LDAP-Sync-Base-DN X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4acc6e5dec3bef1f31fe3767bd3507f536b0b904;p=thirdparty%2Ffreeradius-server.git Use autoload da for LDAP-Sync-Base-DN --- diff --git a/src/listen/ldap_sync/proto_ldap_sync_ldap.c b/src/listen/ldap_sync/proto_ldap_sync_ldap.c index 00dda1ecc49..acf1730a648 100644 --- a/src/listen/ldap_sync/proto_ldap_sync_ldap.c +++ b/src/listen/ldap_sync/proto_ldap_sync_ldap.c @@ -65,10 +65,12 @@ static CONF_PARSER const proto_ldap_sync_ldap_config[] = { }; static fr_dict_t const *dict_ldap_sync; +static fr_dict_t const *dict_freeradius; extern fr_dict_autoload_t proto_ldap_sync_ldap_dict[]; fr_dict_autoload_t proto_ldap_sync_ldap_dict[] = { { .out = &dict_ldap_sync, .proto = "ldap" }, + { .out = &dict_freeradius, .proto = "freeradius" }, { NULL } }; @@ -79,6 +81,7 @@ static fr_dict_attr_t const *attr_ldap_sync_entry_uuid; static fr_dict_attr_t const *attr_ldap_sync_orig_dn; static fr_dict_attr_t const *attr_ldap_sync_root_dn; static fr_dict_attr_t const *attr_packet_type; +static fr_dict_attr_t const *attr_ldap_sync_base_dn; extern fr_dict_attr_autoload_t proto_ldap_sync_ldap_dict_attr[]; fr_dict_attr_autoload_t proto_ldap_sync_ldap_dict_attr[] = { @@ -89,6 +92,7 @@ fr_dict_attr_autoload_t proto_ldap_sync_ldap_dict_attr[] = { { .out = &attr_ldap_sync_orig_dn, .name = "LDAP-Sync.Original-DN", .type = FR_TYPE_STRING, .dict = &dict_ldap_sync }, { .out = &attr_ldap_sync_root_dn, .name = "LDAP-Sync.Directory-Root-DN", .type = FR_TYPE_STRING, .dict = &dict_ldap_sync }, { .out = &attr_packet_type, .name = "Packet-Type", .type = FR_TYPE_UINT32, .dict = &dict_ldap_sync }, + { .out = &attr_ldap_sync_base_dn, .name = "LDAP-Sync-Base-DN", .type = FR_TYPE_STRING, .dict = &dict_freeradius }, { NULL } }; @@ -173,7 +177,6 @@ sync_state_t *sync_state_alloc(TALLOC_CTX *ctx, fr_ldap_connection_t *conn, prot size_t sync_no, sync_config_t const *config) { sync_state_t *sync; - fr_dict_attr_t const *da; fr_pair_t *vp; MEM(sync = talloc_zero(ctx, sync_state_t)); @@ -189,10 +192,7 @@ sync_state_t *sync_state_alloc(TALLOC_CTX *ctx, fr_ldap_connection_t *conn, prot * Create arguments to pass to triggers */ fr_pair_list_init(&sync->trigger_args); - da = fr_dict_attr_child_by_num(fr_dict_root(fr_dict_internal()), FR_LDAP_SYNC_BASE_DN); - fr_assert_msg(da, "Incomplete internal dictionary: Missing definition for \"LDAP-Sync-Base-DN\""); - - fr_pair_list_append_by_da_len(sync, vp, &sync->trigger_args, da, config->base_dn, + fr_pair_list_append_by_da_len(sync, vp, &sync->trigger_args, attr_ldap_sync_base_dn, config->base_dn, talloc_array_length(config->base_dn) - 1, false); /*