From 567fe7b2594f0fae79721e4a9949e0391a00201d Mon Sep 17 00:00:00 2001 From: Firstyear <william@blackhats.net.au> Date: Fri, 28 Mar 2025 10:46:00 +1000 Subject: [PATCH] Add max_ber_size to freeipa sync (#3530) --- tools/iam_migrations/freeipa/src/config.rs | 3 +++ tools/iam_migrations/freeipa/src/main.rs | 1 + tools/iam_migrations/ldap/src/config.rs | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/iam_migrations/freeipa/src/config.rs b/tools/iam_migrations/freeipa/src/config.rs index e13876b6c..1080108b9 100644 --- a/tools/iam_migrations/freeipa/src/config.rs +++ b/tools/iam_migrations/freeipa/src/config.rs @@ -16,6 +16,9 @@ pub struct Config { pub sync_password_as_unix_password: Option<bool>, + /// Maximum LDAP message size (in kilobytes) + pub max_ber_size: Option<usize>, + // pub entry: Option<Vec<EntryConfig>>, #[serde(flatten)] pub entry_map: BTreeMap<Uuid, EntryConfig>, diff --git a/tools/iam_migrations/freeipa/src/main.rs b/tools/iam_migrations/freeipa/src/main.rs index 7e682b69c..34aaa07b1 100644 --- a/tools/iam_migrations/freeipa/src/main.rs +++ b/tools/iam_migrations/freeipa/src/main.rs @@ -306,6 +306,7 @@ async fn run_sync( // Preflight check. // * can we connect to ipa? let mut ipa_client = match LdapClientBuilder::new(&sync_config.ipa_uri) + .max_ber_size(sync_config.max_ber_size) .add_tls_ca(&sync_config.ipa_ca) .build() .await diff --git a/tools/iam_migrations/ldap/src/config.rs b/tools/iam_migrations/ldap/src/config.rs index dd7c48049..eddb9b0c8 100644 --- a/tools/iam_migrations/ldap/src/config.rs +++ b/tools/iam_migrations/ldap/src/config.rs @@ -113,11 +113,11 @@ pub struct Config { #[serde(default)] pub group_attr_schema: GroupAttrSchema, - #[serde(flatten)] - pub entry_map: BTreeMap<Uuid, EntryConfig>, - /// Maximum LDAP message size (in kilobytes) pub max_ber_size: Option<usize>, + + #[serde(flatten)] + pub entry_map: BTreeMap<Uuid, EntryConfig>, } #[derive(Debug, Deserialize, Default, Clone)]