diff --git a/backport-add-option-for-dp_opt_dyndns_refresh_offset.patch b/backport-add-option-for-dp_opt_dyndns_refresh_offset.patch new file mode 100644 index 0000000000000000000000000000000000000000..14cb358c4c3a9eda124fca1a0a8b4537f9ca34d2 --- /dev/null +++ b/backport-add-option-for-dp_opt_dyndns_refresh_offset.patch @@ -0,0 +1,28 @@ +From ee51f604ad0d32e8e25451909114fb4870f65f3f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20L=C3=B3pez?= +Date: Thu, 14 Nov 2024 17:27:49 +0100 +Subject: [PATCH] OPTS: Add the option for DP_OPT_DYNDNS_REFRESH_OFFSET + +The label `DP_OPT_DYNDNS_REFRESH_OFFSET` was introduced in +https://github.com/SSSD/sssd/blob/fb91349cfeba653942b32141f890e3de78b3fb13/src/providers/be_dyndns.h#L55 +but the corresponding option is missing in +https://github.com/SSSD/sssd/blob/fb91349cfeba653942b32141f890e3de78b3fb13/src/providers/be_dyndns.c#L1200 + +This error was introduced by +https://github.com/SSSD/sssd/commit/35c35de42012481a6bd2690d12d5d11a4ae23ea5 +--- + src/providers/be_dyndns.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/providers/be_dyndns.c b/src/providers/be_dyndns.c +index 2c655ef1eeb..5d0f5111977 100644 +--- a/src/providers/be_dyndns.c ++++ b/src/providers/be_dyndns.c +@@ -1200,6 +1200,7 @@ static struct dp_option default_dyndns_opts[] = { + { "dyndns_update", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE }, + { "dyndns_update_per_family", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE }, + { "dyndns_refresh_interval", DP_OPT_NUMBER, NULL_NUMBER, NULL_NUMBER }, ++ { "dyndns_refresh_interval_offset", DP_OPT_NUMBER, NULL_NUMBER, NULL_NUMBER }, + { "dyndns_iface", DP_OPT_STRING, NULL_STRING, NULL_STRING }, + { "dyndns_ttl", DP_OPT_NUMBER, { .number = 1200 }, NULL_NUMBER }, + { "dyndns_update_ptr", DP_OPT_BOOL, BOOL_TRUE, BOOL_FALSE }, diff --git a/backport-test-default_dyndns_opts.patch b/backport-test-default_dyndns_opts.patch new file mode 100644 index 0000000000000000000000000000000000000000..440e4e9b2d2cba88d59f44678cd7c0a3fefa9994 --- /dev/null +++ b/backport-test-default_dyndns_opts.patch @@ -0,0 +1,62 @@ +From 181b8e90e9a32f33cf75652864fbf0fe4d9f05f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20L=C3=B3pez?= +Date: Thu, 14 Nov 2024 18:46:44 +0100 +Subject: [PATCH] TESTS: Also test default_dyndns_opts + +Compare this structure to ipa_dyndns_opts, which is already compared +to ad_dyndns_opts. +--- + src/providers/be_dyndns.c | 2 +- + src/providers/be_dyndns.h | 1 + + src/tests/ipa_ldap_opt-tests.c | 6 ++++++ + 3 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/providers/be_dyndns.c b/src/providers/be_dyndns.c +index 5d0f5111977..e6fa7dfd69e 100644 +--- a/src/providers/be_dyndns.c ++++ b/src/providers/be_dyndns.c +@@ -1197,7 +1197,7 @@ be_nsupdate_check(void) + return ret; + } + +-static struct dp_option default_dyndns_opts[] = { ++struct dp_option default_dyndns_opts[] = { + { "dyndns_update", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE }, + { "dyndns_update_per_family", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE }, + { "dyndns_refresh_interval", DP_OPT_NUMBER, NULL_NUMBER, NULL_NUMBER }, +diff --git a/src/providers/be_dyndns.h b/src/providers/be_dyndns.h +index 2185fee9563..719c1394255 100644 +--- a/src/providers/be_dyndns.h ++++ b/src/providers/be_dyndns.h +@@ -63,6 +63,7 @@ enum dp_dyndns_opts { + + DP_OPT_DYNDNS /* attrs counter */ + }; ++extern struct dp_option default_dyndns_opts[DP_OPT_DYNDNS + 1]; + + #define DYNDNS_REMOVE_A 0x1 + #define DYNDNS_REMOVE_AAAA 0x2 +diff --git a/src/tests/ipa_ldap_opt-tests.c b/src/tests/ipa_ldap_opt-tests.c +index a1a0e9cc6db..da990acaf9a 100644 +--- a/src/tests/ipa_ldap_opt-tests.c ++++ b/src/tests/ipa_ldap_opt-tests.c +@@ -103,6 +103,10 @@ START_TEST(test_compare_opts) + ret = compare_dp_options(ipa_dyndns_opts, DP_OPT_DYNDNS, + ad_dyndns_opts); + ck_assert_msg(ret == EOK, "[%s]", strerror(ret)); ++ ++ ret = compare_dp_options(ipa_dyndns_opts, DP_OPT_DYNDNS, ++ default_dyndns_opts); ++ ck_assert_msg(ret == EOK, "[%s]", strerror(ret)); + } + END_TEST + +@@ -200,6 +204,8 @@ START_TEST(test_dp_opt_sentinel) + + fail_unless_dp_opt_is_terminator(&default_krb5_opts[KRB5_OPTS]); + ++ fail_unless_dp_opt_is_terminator(&default_dyndns_opts[DP_OPT_DYNDNS]); ++ + fail_unless_dp_opt_is_terminator(&ad_basic_opts[AD_OPTS_BASIC]); + fail_unless_dp_opt_is_terminator(&ad_def_ldap_opts[SDAP_OPTS_BASIC]); + fail_unless_dp_opt_is_terminator(&ad_def_krb5_opts[KRB5_OPTS]); diff --git a/sssd.spec b/sssd.spec index f48c304b1e8e88aaa95b8c15becbe1cc27fe4cf5..72e3ca842b358c76360bae2d198fb408af181262 100644 --- a/sssd.spec +++ b/sssd.spec @@ -15,6 +15,11 @@ URL: https://github.com/SSSD/sssd/ Source0: https://github.com/SSSD/sssd/releases/download/%{version}/sssd-%{version}.tar.gz Patch0001: backport-Make-sure-invalid-krb5-context-is-not-used.patch +Patch0002: backport-fix-Missing-dns_update_per_family-option.patch +Patch0003: backport-honor-ad_use_ldaps-setting-with-ad_machine_pw_renewal.patch +Patch0004: backport-mistype-fix.patch +Patch0005: backport-add-option-for-dp_opt_dyndns_refresh_offset.patch +Patch0006: backport-test-default_dyndns_opts.patch Requires: sssd-ad = %{version}-%{release} Requires: sssd-common = %{version}-%{release}