diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..0a80fdce31f59c062e2abba28776e9521eddff30 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.gz filter=lfs diff=lfs merge=lfs -text diff --git a/.lfsconfig b/.lfsconfig new file mode 100644 index 0000000000000000000000000000000000000000..57403f1800febf0f295fe2af38339d1ca113e5b1 --- /dev/null +++ b/.lfsconfig @@ -0,0 +1,2 @@ +[lfs] + url = https://artlfs.openeuler.openatom.cn/src-openEuler/sssd diff --git a/backport-add-option-for-dp_opt_dyndns_refresh_offset.patch b/backport-add-option-for-dp_opt_dyndns_refresh_offset.patch deleted file mode 100644 index 14cb358c4c3a9eda124fca1a0a8b4537f9ca34d2..0000000000000000000000000000000000000000 --- a/backport-add-option-for-dp_opt_dyndns_refresh_offset.patch +++ /dev/null @@ -1,28 +0,0 @@ -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-fix-Missing-dns_update_per_family-option.patch b/backport-fix-Missing-dns_update_per_family-option.patch deleted file mode 100644 index 1366ebc9b6c19a0b30e6625308e9962ef868b2b3..0000000000000000000000000000000000000000 --- a/backport-fix-Missing-dns_update_per_family-option.patch +++ /dev/null @@ -1,73 +0,0 @@ -From a822206c7859b5f39af2b2ea1b117850a0589e3c Mon Sep 17 00:00:00 2001 -From: Tomas Halman -Date: Mon, 21 Oct 2024 16:31:38 +0200 -Subject: [PATCH] Missing 'dns_update_per_family' option - -This update fixes missing 'dns_update_per_family' option in python code -and config files. - -Reviewed-by: Alexey Tikhonov ---- - src/config/SSSDConfig/sssdoptions.py | 2 ++ - src/config/SSSDConfigTest.py | 2 ++ - src/config/cfg_rules.ini | 1 + - src/config/etc/sssd.api.conf | 1 + - 4 files changed, 6 insertions(+) - -diff --git a/src/config/SSSDConfig/sssdoptions.py b/src/config/SSSDConfig/sssdoptions.py -index affe2e52918..7eed403e4bd 100644 ---- a/src/config/SSSDConfig/sssdoptions.py -+++ b/src/config/SSSDConfig/sssdoptions.py -@@ -197,6 +197,8 @@ def __init__(self): - 'refresh_expired_interval': _('How often should expired entries be refreshed in background'), - 'refresh_expired_interval_offset': _("Maximum period deviation when refreshing expired entries in background"), - 'dyndns_update': _("Whether to automatically update the client's DNS entry"), -+ 'dyndns_update_per_family': _('Whether DNS update of A and AAAA record should be performed ' -+ 'in one update or in two separate updates'), - 'dyndns_ttl': _("The TTL to apply to the client's DNS entry after updating it"), - 'dyndns_iface': _("The interface whose IP should be used for dynamic DNS updates"), - 'dyndns_refresh_interval': _("How often to periodically update the client's DNS entry"), -diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py -index bc398cc8b8e..1ce4637eda7 100755 ---- a/src/config/SSSDConfigTest.py -+++ b/src/config/SSSDConfigTest.py -@@ -558,6 +558,7 @@ def testListOptions(self): - 'dns_discovery_domain', - 'failover_primary_timeout', - 'dyndns_update', -+ 'dyndns_update_per_family', - 'dyndns_ttl', - 'dyndns_iface', - 'dyndns_refresh_interval', -@@ -919,6 +920,7 @@ def testRemoveProvider(self): - 'dns_discovery_domain', - 'failover_primary_timeout', - 'dyndns_update', -+ 'dyndns_update_per_family', - 'dyndns_ttl', - 'dyndns_iface', - 'dyndns_refresh_interval', -diff --git a/src/config/cfg_rules.ini b/src/config/cfg_rules.ini -index b33cd876b95..950eae630fb 100644 ---- a/src/config/cfg_rules.ini -+++ b/src/config/cfg_rules.ini -@@ -433,6 +433,7 @@ option = refresh_expired_interval_offset - - # Dynamic DNS updates - option = dyndns_update -+option = dyndns_update_per_family - option = dyndns_ttl - option = dyndns_iface - option = dyndns_refresh_interval -diff --git a/src/config/etc/sssd.api.conf b/src/config/etc/sssd.api.conf -index b5d42afbb1e..4377a1fc571 100644 ---- a/src/config/etc/sssd.api.conf -+++ b/src/config/etc/sssd.api.conf -@@ -207,6 +207,7 @@ refresh_expired_interval_offset = int, None, false - - # Dynamic DNS updates - dyndns_update = bool, None, false -+dyndns_update_per_family = bool, None, false - dyndns_ttl = int, None, false - dyndns_iface = str, None, false - dyndns_refresh_interval = int, None, false diff --git a/backport-honor-ad_use_ldaps-setting-with-ad_machine_pw_renewal.patch b/backport-honor-ad_use_ldaps-setting-with-ad_machine_pw_renewal.patch deleted file mode 100644 index bb15c7cca8587277979dd5e94577882eff9a9ff1..0000000000000000000000000000000000000000 --- a/backport-honor-ad_use_ldaps-setting-with-ad_machine_pw_renewal.patch +++ /dev/null @@ -1,58 +0,0 @@ -From d004e7b4b977da3dd9f1d3de910c28c093a6fb26 Mon Sep 17 00:00:00 2001 -From: santeri3700 -Date: Tue, 15 Oct 2024 20:13:20 +0300 -Subject: [PATCH] ad: honor ad_use_ldaps setting with ad_machine_pw_renewal - -The value of ad_use_ldaps was not passed as `--use-ldaps` -argument to the adcli update command which handles -the automatic renewal of AD machine account password. - -Resolves: https://github.com/SSSD/sssd/issues/7642 - -Signed-off-by: santeri3700 - -Reviewed-by: Alexey Tikhonov -Reviewed-by: Sumit Bose ---- - src/providers/ad/ad_machine_pw_renewal.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/providers/ad/ad_machine_pw_renewal.c b/src/providers/ad/ad_machine_pw_renewal.c -index 56b64a2a955..2e54e9bff0d 100644 ---- a/src/providers/ad/ad_machine_pw_renewal.c -+++ b/src/providers/ad/ad_machine_pw_renewal.c -@@ -39,6 +39,7 @@ struct renewal_data { - static errno_t get_adcli_extra_args(const char *ad_domain, - const char *ad_hostname, - const char *ad_keytab, -+ bool ad_use_ldaps, - size_t pw_lifetime_in_days, - bool add_samba_data, - size_t period, -@@ -59,7 +60,7 @@ static errno_t get_adcli_extra_args(const char *ad_domain, - return ENOMEM; - } - -- args = talloc_array(renewal_data, const char *, 9); -+ args = talloc_array(renewal_data, const char *, 10); - if (args == NULL) { - DEBUG(SSSDBG_OP_FAILURE, "talloc_array failed.\n"); - return ENOMEM; -@@ -79,6 +80,9 @@ static errno_t get_adcli_extra_args(const char *ad_domain, - args[c++] = talloc_asprintf(args, "--host-keytab=%s", ad_keytab); - } - args[c++] = talloc_asprintf(args, "--domain=%s", ad_domain); -+ if (ad_use_ldaps) { -+ args[c++] = talloc_strdup(args, "--use-ldaps"); -+ } - if (DEBUG_IS_SET(SSSDBG_TRACE_LIBS)) { - args[c++] = talloc_strdup(args, "--verbose"); - } -@@ -390,6 +394,7 @@ errno_t ad_machine_account_password_renewal_init(struct be_ctx *be_ctx, - dp_opt_get_cstring(ad_opts->basic, AD_HOSTNAME), - dp_opt_get_cstring(ad_opts->id_ctx->sdap_id_ctx->opts->basic, - SDAP_KRB5_KEYTAB), -+ dp_opt_get_bool(ad_opts->basic, AD_USE_LDAPS), - lifetime, - dp_opt_get_bool(ad_opts->basic, - AD_UPDATE_SAMBA_MACHINE_ACCOUNT_PASSWORD), diff --git a/backport-ldap_child-make-sure-invalid-krb5-context-is-not-use.patch b/backport-ldap_child-make-sure-invalid-krb5-context-is-not-use.patch deleted file mode 100644 index d33cda0c445d9bf0e9c5d584013fe841a9b31fae..0000000000000000000000000000000000000000 --- a/backport-ldap_child-make-sure-invalid-krb5-context-is-not-use.patch +++ /dev/null @@ -1,54 +0,0 @@ -From fce94aec3f335cbe33c509b14e389b9df0748744 Mon Sep 17 00:00:00 2001 -From: Sumit Bose -Date: Thu, 21 Nov 2024 09:16:09 +0100 -Subject: [PATCH] ldap_child: make sure invalid krb5 context is not used -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Resolves: https://github.com/SSSD/sssd/issues/7715 - -Reviewed-by: Alejandro López -Reviewed-by: Alexey Tikhonov ---- - src/util/sss_krb5.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/src/util/sss_krb5.c b/src/util/sss_krb5.c -index aa3b5b96e..6b6dd2069 100644 ---- a/src/util/sss_krb5.c -+++ b/src/util/sss_krb5.c -@@ -45,6 +45,10 @@ const char *sss_printable_keytab_name(krb5_context ctx, const char *keytab_name) - return keytab_name; - } - -+ if (ctx == NULL) { -+ return "-unknown-"; -+ } -+ - if (krb5_kt_default_name(ctx, buff, sizeof(buff)) != 0) { - return "-default keytab-"; - } -@@ -1122,8 +1126,9 @@ krb5_error_code sss_krb5_init_context(krb5_context *context) - { - krb5_error_code kerr; - const char *msg; -+ krb5_context ctx; - -- kerr = krb5_init_context(context); -+ kerr = krb5_init_context(&ctx); - if (kerr != 0) { - /* It is safe to call (sss_)krb5_get_error_message() with NULL as first - * argument. */ -@@ -1132,6 +1137,8 @@ krb5_error_code sss_krb5_init_context(krb5_context *context) - "Failed to init Kerberos context [%s]\n", msg); - sss_log(SSS_LOG_CRIT, "Failed to init Kerberos context [%s]\n", msg); - sss_krb5_free_error_message(NULL, msg); -+ } else { -+ *context = ctx; - } - - return kerr; --- -2.43.0 - diff --git a/backport-test-default_dyndns_opts.patch b/backport-test-default_dyndns_opts.patch deleted file mode 100644 index 440e4e9b2d2cba88d59f44678cd7c0a3fefa9994..0000000000000000000000000000000000000000 --- a/backport-test-default_dyndns_opts.patch +++ /dev/null @@ -1,62 +0,0 @@ -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-2.9.5.tar.gz b/sssd-2.9.5.tar.gz deleted file mode 100644 index f584fd8553e65ecb0e1051a45ed49f42dc3597d3..0000000000000000000000000000000000000000 Binary files a/sssd-2.9.5.tar.gz and /dev/null differ diff --git a/sssd-2.9.7.tar.gz b/sssd-2.9.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6b495872bd41465d51d863511074a2ef13d5fde --- /dev/null +++ b/sssd-2.9.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b5284a4d72b67c0897699794360d79e0f67461957e20273c2649f025e76c248 +size 9161891 diff --git a/sssd-openEuler-replace-version.patch b/sssd-openEuler-replace-version.patch new file mode 100644 index 0000000000000000000000000000000000000000..3145ed5c2fadf3261f077b74b666ab16e937d485 --- /dev/null +++ b/sssd-openEuler-replace-version.patch @@ -0,0 +1,27 @@ +diff --git a/src/config/setup.py.in b/src/config/setup.py.in +index 27f63c4..9b9db31 100644 +--- a/src/config/setup.py.in ++++ b/src/config/setup.py.in +@@ -24,9 +24,21 @@ Python-level packaging using distutils. + + from distutils.core import setup + ++def sanitize_version(version): ++ """ ++ We need to convert Fedora version guidelines which we follow in version.m4 ++ to Python guidelines. See: ++ * https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ ++ * https://packaging.python.org/en/latest/discussions/versioning/ ++ """ ++ # X.Y.Z-alpha1 -> X.Y.Za1 ++ # X.Y.Z-beta1 -> X.Y.Zb1 ++ # X.Y.Z-rc1 -> X.Y.Zrc1 ++ return version.replace('-', '').replace('alpha', 'a').replace('beta', 'b').replace(' (LTS)', '') ++ + setup( + name='SSSDConfig', +- version='@VERSION@', ++ version=sanitize_version('@VERSION@'), + license='GPLv3+', + url='https://github.com/SSSD/sssd/', + packages=['SSSDConfig'], diff --git a/sssd.spec b/sssd.spec index a27dfea0a28edeecb04e31e0bbf9642feb3162a8..b3b3f161cf10c93f2bc5b818d1edada97d4e6913 100644 --- a/sssd.spec +++ b/sssd.spec @@ -7,20 +7,16 @@ %global samba_package_version %(rpm -q samba-devel --queryformat %{version}-%{release}) Name: sssd -Version: 2.9.5 -Release: 5 +Version: 2.9.7 +Release: 1 Summary: System Security Services Daemon License: GPL-3.0-or-later URL: https://github.com/SSSD/sssd/ Source0: https://github.com/SSSD/sssd/releases/download/%{version}/sssd-%{version}.tar.gz +Patch0000: sssd-openEuler-replace-version.patch 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 -Patch0007: backport-ldap_child-make-sure-invalid-krb5-context-is-not-use.patch +Patch0002: backport-mistype-fix.patch Requires: sssd-ad = %{version}-%{release} Requires: sssd-common = %{version}-%{release} @@ -422,7 +418,7 @@ sed -i -e 's:/usr/bin/python:/usr/bin/python3:' src/tools/sss_obfuscate %make_install # Prepare language files -/usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT sssd +%find_lang sssd # install default sssd.conf file install -m600 src/examples/sssd-example.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.conf @@ -919,6 +915,9 @@ fi %systemd_postun_with_restart sssd.service %changelog +* Mon Jun 16 2025 Funda Wang - 2.9.7-1 +- update to 2.9.7 + * Wed Dec 18 2024 wangjiang - 2.9.5-5 - Type:bugfix - ID:NA diff --git a/sssd.yaml b/sssd.yaml index 64abac2dff13e61a3cae7f14a032b2c7847fd171..ab20b640de944d6ec554f58a9baf67bb4d510920 100644 --- a/sssd.yaml +++ b/sssd.yaml @@ -1,4 +1,4 @@ version_control: github src_repo: SSSD/sssd -tag_prefix: ^sssd- -seperator: "_" +tag_prefix: +separator: .