diff --git a/.389-ds-base.metadata b/.389-ds-base.metadata index 8648fda..1186c8b 100644 --- a/.389-ds-base.metadata +++ b/.389-ds-base.metadata @@ -1,2 +1,2 @@ -bb047a562479b91b3a0ef66b45aaee5e43bddac9 SOURCES/389-ds-base-2.0.8.tar.bz2 +3793bb1f6fd7bbc9843438375dfecaa52ed942dd SOURCES/389-ds-base-2.0.11.tar.bz2 9e06b5cc57fd185379d007696da153893cf73e30 SOURCES/jemalloc-5.2.1.tar.bz2 diff --git a/.gitignore b/.gitignore index 7738aab..d1e4f79 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/389-ds-base-2.0.8.tar.bz2 +SOURCES/389-ds-base-2.0.11.tar.bz2 SOURCES/jemalloc-5.2.1.tar.bz2 diff --git a/SOURCES/0001-Issue-4884-server-crashes-when-dnaInterval-attribute.patch b/SOURCES/0001-Issue-4884-server-crashes-when-dnaInterval-attribute.patch deleted file mode 100644 index 872378b..0000000 --- a/SOURCES/0001-Issue-4884-server-crashes-when-dnaInterval-attribute.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 6e21d41f5d9f6437c00dd0150654415b172e391a Mon Sep 17 00:00:00 2001 -From: Mark Reynolds -Date: Wed, 25 Aug 2021 16:54:57 -0400 -Subject: [PATCH 1/3] Issue 4884 - server crashes when dnaInterval attribute is - set to zero - -Bug Description: - -A division by zero crash occurs if the dnaInterval is set to zero - -Fix Description: - -Validate the config value of dnaInterval and adjust it to the -default/safe value of "1" if needed. - -relates: https://github.com/389ds/389-ds-base/issues/4884 - -Reviewed by: tbordaz(Thanks!) ---- - ldap/servers/plugins/dna/dna.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/ldap/servers/plugins/dna/dna.c b/ldap/servers/plugins/dna/dna.c -index 928a3f54a..c983ebdd0 100644 ---- a/ldap/servers/plugins/dna/dna.c -+++ b/ldap/servers/plugins/dna/dna.c -@@ -1025,7 +1025,14 @@ dna_parse_config_entry(Slapi_PBlock *pb, Slapi_Entry *e, int apply) - - value = slapi_entry_attr_get_charptr(e, DNA_INTERVAL); - if (value) { -+ errno = 0; - entry->interval = strtoull(value, 0, 0); -+ if (entry->interval == 0 || errno == ERANGE) { -+ slapi_log_err(SLAPI_LOG_WARNING, DNA_PLUGIN_SUBSYSTEM, -+ "dna_parse_config_entry - Invalid value for dnaInterval (%s), " -+ "Using default value of 1\n", value); -+ entry->interval = 1; -+ } - slapi_ch_free_string(&value); - } - --- -2.31.1 - diff --git a/SOURCES/0002-Issue-4894-IPA-failure-in-ipa-user-del-preserve-4907.patch b/SOURCES/0002-Issue-4894-IPA-failure-in-ipa-user-del-preserve-4907.patch deleted file mode 100644 index f274d36..0000000 --- a/SOURCES/0002-Issue-4894-IPA-failure-in-ipa-user-del-preserve-4907.patch +++ /dev/null @@ -1,296 +0,0 @@ -From faab51b0d14bdf7af013abdd7937f47cc0eb5cdc Mon Sep 17 00:00:00 2001 -From: Simon Pichugin -Date: Fri, 10 Sep 2021 14:17:41 -0700 -Subject: [PATCH] Issue 4894 - IPA failure in ipa user-del --preserve (#4907) - -Bug Description: Starting with 389-ds 2.0.8 on rawhide, -any call to ipa user-del --preserve fails with -This entry already exists. - -Fix Description: We should split 'dn' parameter in searchAllSubtrees -into parent and target. As one of them is used for excluding the -subtree checks and another one for searching. -Improve 'superior' processing when we don't change the parent. -Rename variables in a more sane way. - -Fixes: https://github.com/389ds/389-ds-base/issues/4894 - -Reviewed by: @Firstyear, @tbordaz, @progier389 (Thanks!) ---- - ldap/servers/plugins/uiduniq/uid.c | 78 +++++++++++++++--------------- - 1 file changed, 39 insertions(+), 39 deletions(-) - -diff --git a/ldap/servers/plugins/uiduniq/uid.c b/ldap/servers/plugins/uiduniq/uid.c -index 9924623a7..5b763b551 100644 ---- a/ldap/servers/plugins/uiduniq/uid.c -+++ b/ldap/servers/plugins/uiduniq/uid.c -@@ -770,13 +770,13 @@ search_one_berval(Slapi_DN *baseDN, const char **attrNames, const struct berval - * - * Return: - * LDAP_SUCCESS - no matches, or the attribute matches the -- * target dn. -+ * source (target) dn. - * LDAP_CONSTRAINT_VIOLATION - an entry was found that already - * contains the attribute value. - * LDAP_OPERATIONS_ERROR - a server failure. - */ - static int --searchAllSubtrees(Slapi_DN **subtrees, Slapi_DN **exclude_subtrees, const char **attrNames, Slapi_Attr *attr, struct berval **values, const char *requiredObjectClass, Slapi_DN *dn, PRBool unique_in_all_subtrees) -+searchAllSubtrees(Slapi_DN **subtrees, Slapi_DN **exclude_subtrees, const char **attrNames, Slapi_Attr *attr, struct berval **values, const char *requiredObjectClass, Slapi_DN *destinationSDN, Slapi_DN *sourceSDN, PRBool unique_in_all_subtrees) - { - int result = LDAP_SUCCESS; - int i; -@@ -788,12 +788,12 @@ searchAllSubtrees(Slapi_DN **subtrees, Slapi_DN **exclude_subtrees, const char * - * are unique in all the monitored subtrees - */ - -- /* First check the target entry is in one of -+ /* First check the destination entry is in one of - * the monitored subtree, so adding 'values' would - * violate constraint - */ - for (i = 0; subtrees && subtrees[i]; i++) { -- if (slapi_sdn_issuffix(dn, subtrees[i])) { -+ if (slapi_sdn_issuffix(destinationSDN, subtrees[i])) { - in_a_subtree = PR_TRUE; - break; - } -@@ -808,7 +808,7 @@ searchAllSubtrees(Slapi_DN **subtrees, Slapi_DN **exclude_subtrees, const char * - if (exclude_subtrees != NULL) { - PRBool in_a_subtree = PR_FALSE; - for (i = 0; exclude_subtrees && exclude_subtrees[i]; i++) { -- if (slapi_sdn_issuffix(dn, exclude_subtrees[i])) { -+ if (slapi_sdn_issuffix(destinationSDN, exclude_subtrees[i])) { - in_a_subtree = PR_TRUE; - break; - } -@@ -820,7 +820,7 @@ searchAllSubtrees(Slapi_DN **subtrees, Slapi_DN **exclude_subtrees, const char * - - /* - * For each DN in the managed list, do uniqueness checking if -- * the target DN is a subnode in the tree. -+ * the destination (target) DN is a subnode in the tree. - */ - for (i = 0; subtrees && subtrees[i]; i++) { - Slapi_DN *sufdn = subtrees[i]; -@@ -828,8 +828,8 @@ searchAllSubtrees(Slapi_DN **subtrees, Slapi_DN **exclude_subtrees, const char * - * The DN should already be normalized, so we don't have to - * worry about that here. - */ -- if (unique_in_all_subtrees || slapi_sdn_issuffix(dn, sufdn)) { -- result = search(sufdn, attrNames, attr, values, requiredObjectClass, dn, exclude_subtrees); -+ if (unique_in_all_subtrees || slapi_sdn_issuffix(destinationSDN, sufdn)) { -+ result = search(sufdn, attrNames, attr, values, requiredObjectClass, sourceSDN, exclude_subtrees); - if (result) - break; - } -@@ -903,20 +903,20 @@ getArguments(Slapi_PBlock *pb, char **attrName, char **markerObjectClass, char * - * - * Return: - * LDAP_SUCCESS - no matches, or the attribute matches the -- * target dn. -+ * source (target) dn. - * LDAP_CONSTRAINT_VIOLATION - an entry was found that already - * contains the attribute value. - * LDAP_OPERATIONS_ERROR - a server failure. - */ - static int --findSubtreeAndSearch(Slapi_DN *parentDN, const char **attrNames, Slapi_Attr *attr, struct berval **values, const char *requiredObjectClass, Slapi_DN *target, const char *markerObjectClass, Slapi_DN **excludes) -+findSubtreeAndSearch(Slapi_DN *destinationSDN, const char **attrNames, Slapi_Attr *attr, struct berval **values, const char *requiredObjectClass, Slapi_DN *sourceSDN, const char *markerObjectClass, Slapi_DN **excludes) - { - int result = LDAP_SUCCESS; - Slapi_PBlock *spb = NULL; - Slapi_DN *curpar = slapi_sdn_new(); - Slapi_DN *newpar = NULL; - -- slapi_sdn_get_parent(parentDN, curpar); -+ slapi_sdn_get_parent(destinationSDN, curpar); - while (slapi_sdn_get_dn(curpar) != NULL) { - if ((spb = dnHasObjectClass(curpar, markerObjectClass))) { - freePblock(spb); -@@ -925,7 +925,7 @@ findSubtreeAndSearch(Slapi_DN *parentDN, const char **attrNames, Slapi_Attr *att - * to have the attribute already. - */ - result = search(curpar, attrNames, attr, values, requiredObjectClass, -- target, excludes); -+ sourceSDN, excludes); - break; - } - newpar = slapi_sdn_new(); -@@ -964,7 +964,7 @@ preop_add(Slapi_PBlock *pb) - int err; - char *markerObjectClass = NULL; - char *requiredObjectClass = NULL; -- Slapi_DN *sdn = NULL; -+ Slapi_DN *targetSDN = NULL; - int isupdatedn; - Slapi_Entry *e; - Slapi_Attr *attr; -@@ -998,16 +998,16 @@ preop_add(Slapi_PBlock *pb) - attr_friendly = config->attr_friendly; - - /* -- * Get the target DN for this add operation -+ * Get the target SDN for this add operation - */ -- err = slapi_pblock_get(pb, SLAPI_ADD_TARGET_SDN, &sdn); -+ err = slapi_pblock_get(pb, SLAPI_ADD_TARGET_SDN, &targetSDN); - if (err) { - result = uid_op_error(51); - break; - } - - #ifdef DEBUG -- slapi_log_err(SLAPI_LOG_PLUGIN, plugin_name, "preop_add - ADD target=%s\n", slapi_sdn_get_dn(sdn)); -+ slapi_log_err(SLAPI_LOG_PLUGIN, plugin_name, "preop_add - ADD target=%s\n", slapi_sdn_get_dn(targetSDN)); - #endif - - /* -@@ -1040,13 +1040,13 @@ preop_add(Slapi_PBlock *pb) - */ - if (NULL != markerObjectClass) { - /* Subtree defined by location of marker object class */ -- result = findSubtreeAndSearch(sdn, attrNames, attr, NULL, -- requiredObjectClass, sdn, -+ result = findSubtreeAndSearch(targetSDN, attrNames, attr, NULL, -+ requiredObjectClass, targetSDN, - markerObjectClass, config->exclude_subtrees); - } else { - /* Subtrees listed on invocation line */ - result = searchAllSubtrees(config->subtrees, config->exclude_subtrees, attrNames, attr, NULL, -- requiredObjectClass, sdn, config->unique_in_all_subtrees); -+ requiredObjectClass, targetSDN, targetSDN, config->unique_in_all_subtrees); - } - if (result != LDAP_SUCCESS) { - break; -@@ -1120,7 +1120,7 @@ preop_modify(Slapi_PBlock *pb) - int modcount = 0; - int ii; - LDAPMod *mod; -- Slapi_DN *sdn = NULL; -+ Slapi_DN *targetSDN = NULL; - int isupdatedn; - int i = 0; - -@@ -1186,8 +1186,8 @@ preop_modify(Slapi_PBlock *pb) - break; /* no mods to check, we are done */ - } - -- /* Get the target DN */ -- err = slapi_pblock_get(pb, SLAPI_MODIFY_TARGET_SDN, &sdn); -+ /* Get the target SDN */ -+ err = slapi_pblock_get(pb, SLAPI_MODIFY_TARGET_SDN, &targetSDN); - if (err) { - result = uid_op_error(11); - break; -@@ -1197,7 +1197,7 @@ preop_modify(Slapi_PBlock *pb) - * Check if it has the required object class - */ - if (requiredObjectClass && -- !(spb = dnHasObjectClass(sdn, requiredObjectClass))) { -+ !(spb = dnHasObjectClass(targetSDN, requiredObjectClass))) { - break; - } - -@@ -1213,13 +1213,13 @@ preop_modify(Slapi_PBlock *pb) - mod = checkmods[ii]; - if (NULL != markerObjectClass) { - /* Subtree defined by location of marker object class */ -- result = findSubtreeAndSearch(sdn, attrNames, NULL, -+ result = findSubtreeAndSearch(targetSDN, attrNames, NULL, - mod->mod_bvalues, requiredObjectClass, -- sdn, markerObjectClass, config->exclude_subtrees); -+ targetSDN, markerObjectClass, config->exclude_subtrees); - } else { - /* Subtrees listed on invocation line */ - result = searchAllSubtrees(config->subtrees, config->exclude_subtrees, attrNames, NULL, -- mod->mod_bvalues, requiredObjectClass, sdn, config->unique_in_all_subtrees); -+ mod->mod_bvalues, requiredObjectClass, targetSDN, targetSDN, config->unique_in_all_subtrees); - } - } - END -@@ -1271,8 +1271,8 @@ preop_modrdn(Slapi_PBlock *pb) - int err; - char *markerObjectClass = NULL; - char *requiredObjectClass = NULL; -- Slapi_DN *sdn = NULL; -- Slapi_DN *superior; -+ Slapi_DN *sourceSDN = NULL; -+ Slapi_DN *destinationSDN; - char *rdn; - int deloldrdn = 0; - int isupdatedn; -@@ -1311,14 +1311,14 @@ preop_modrdn(Slapi_PBlock *pb) - } - - /* Get the DN of the entry being renamed */ -- err = slapi_pblock_get(pb, SLAPI_MODRDN_TARGET_SDN, &sdn); -+ err = slapi_pblock_get(pb, SLAPI_MODRDN_TARGET_SDN, &sourceSDN); - if (err) { - result = uid_op_error(31); - break; - } - - /* Get superior value - unimplemented in 3.0/4.0/5.0 DS */ -- err = slapi_pblock_get(pb, SLAPI_MODRDN_NEWSUPERIOR_SDN, &superior); -+ err = slapi_pblock_get(pb, SLAPI_MODRDN_NEWSUPERIOR_SDN, &destinationSDN); - if (err) { - result = uid_op_error(32); - break; -@@ -1326,11 +1326,11 @@ preop_modrdn(Slapi_PBlock *pb) - - /* - * No superior means the entry is just renamed at -- * its current level in the tree. Use the target DN for -+ * its current level in the tree. Use the source SDN for - * determining which managed tree this belongs to - */ -- if (!superior) -- superior = sdn; -+ if (!destinationSDN) -+ slapi_sdn_get_parent(sourceSDN, destinationSDN); - - /* Get the new RDN - this has the attribute values */ - err = slapi_pblock_get(pb, SLAPI_MODRDN_NEWRDN, &rdn); -@@ -1352,10 +1352,10 @@ preop_modrdn(Slapi_PBlock *pb) - - /* Get the entry that is being renamed so we can make a dummy copy - * of what it will look like after the rename. */ -- err = slapi_search_get_entry(&entry_pb, sdn, NULL, &e, plugin_identity); -+ err = slapi_search_get_entry(&entry_pb, sourceSDN, NULL, &e, plugin_identity); - if (err != LDAP_SUCCESS) { - result = uid_op_error(35); -- /* We want to return a no such object error if the target doesn't exist. */ -+ /* We want to return a no such object error if the source SDN doesn't exist. */ - if (err == LDAP_NO_SUCH_OBJECT) { - result = err; - } -@@ -1364,7 +1364,7 @@ preop_modrdn(Slapi_PBlock *pb) - - /* Apply the rename operation to the dummy entry. */ - /* slapi_entry_rename does not expect rdn normalized */ -- err = slapi_entry_rename(e, rdn, deloldrdn, superior); -+ err = slapi_entry_rename(e, rdn, deloldrdn, destinationSDN); - if (err != LDAP_SUCCESS) { - result = uid_op_error(36); - break; -@@ -1392,13 +1392,13 @@ preop_modrdn(Slapi_PBlock *pb) - */ - if (NULL != markerObjectClass) { - /* Subtree defined by location of marker object class */ -- result = findSubtreeAndSearch(slapi_entry_get_sdn(e), attrNames, attr, NULL, -- requiredObjectClass, superior, -+ result = findSubtreeAndSearch(destinationSDN, attrNames, attr, NULL, -+ requiredObjectClass, sourceSDN, - markerObjectClass, config->exclude_subtrees); - } else { - /* Subtrees listed on invocation line */ - result = searchAllSubtrees(config->subtrees, config->exclude_subtrees, attrNames, attr, NULL, -- requiredObjectClass, superior, config->unique_in_all_subtrees); -+ requiredObjectClass, destinationSDN, sourceSDN, config->unique_in_all_subtrees); - } - if (result != LDAP_SUCCESS) { - break; --- -2.31.1 - diff --git a/SOURCES/0003-Issue-4169-backport-lib389-cert-list-fix.patch b/SOURCES/0003-Issue-4169-backport-lib389-cert-list-fix.patch deleted file mode 100644 index 1d851a6..0000000 --- a/SOURCES/0003-Issue-4169-backport-lib389-cert-list-fix.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 91b90f583bf4046325438954523c78ea4f33d607 Mon Sep 17 00:00:00 2001 -From: Mark Reynolds -Date: Fri, 10 Sep 2021 09:39:57 -0400 -Subject: [PATCH] Issue 4169 - backport lib389 cert list fix - -Description: We didn't call ensure_str() on the output from certutil -commands - -relates: https://github.com/389ds/389-ds-base/issues/4169 - -Reviewed by: mreynolds(one line commit rule) ---- - src/lib389/lib389/nss_ssl.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/lib389/lib389/nss_ssl.py b/src/lib389/lib389/nss_ssl.py -index 1cd2768f1..6dc0c26d3 100644 ---- a/src/lib389/lib389/nss_ssl.py -+++ b/src/lib389/lib389/nss_ssl.py -@@ -325,7 +325,7 @@ only. - ] - self.log.debug("nss cmd: %s", format_cmd_list(cmd)) - try: -- certdetails = check_output(cmd, stderr=subprocess.STDOUT, encoding='utf-8') -+ certdetails = ensure_str(check_output(cmd, stderr=subprocess.STDOUT, encoding='utf-8')) - except subprocess.CalledProcessError as e: - raise ValueError(e.output.decode('utf-8').rstrip()) - end_date_str = certdetails.split("Not After : ")[1].split("\n")[0] -@@ -905,7 +905,7 @@ only. - except subprocess.CalledProcessError as e: - raise ValueError(e.output.decode('utf-8').rstrip()) - -- return result -+ return ensure_str(result) - - - def get_cert_details(self, nickname): --- -2.31.1 - diff --git a/SOURCES/389-ds-base-revert-db-home-fix.patch b/SOURCES/389-ds-base-revert-db-home-fix.patch new file mode 100644 index 0000000..c4f41d9 --- /dev/null +++ b/SOURCES/389-ds-base-revert-db-home-fix.patch @@ -0,0 +1,49 @@ +From ec74c73eaa56271ce74e985ab6a69b36e98488e4 Mon Sep 17 00:00:00 2001 +From: Simon Pichugin +Date: Wed, 24 Nov 2021 08:35:17 -0800 +Subject: [PATCH] Revert "Issue 2790 - Set db home directory by default" + +This reverts commit 269f1f8e879a6fc098bb8cff780df6915e8ecb38. +--- + ldap/admin/src/defaults.inf.in | 2 +- + src/lib389/lib389/instance/setup.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ldap/admin/src/defaults.inf.in b/ldap/admin/src/defaults.inf.in +index 28f908bcd..96a3b3eb1 100644 +--- a/ldap/admin/src/defaults.inf.in ++++ b/ldap/admin/src/defaults.inf.in +@@ -59,7 +59,7 @@ access_log = @localstatedir@/log/dirsrv/slapd-{instance_name}/access + audit_log = @localstatedir@/log/dirsrv/slapd-{instance_name}/audit + error_log = @localstatedir@/log/dirsrv/slapd-{instance_name}/errors + db_dir = @localstatedir@/lib/dirsrv/slapd-{instance_name}/db +-db_home_dir = /dev/shm/slapd-{instance_name} ++db_home_dir = @localstatedir@/lib/dirsrv/slapd-{instance_name}/db + backup_dir = @localstatedir@/lib/dirsrv/slapd-{instance_name}/bak + ldif_dir = @localstatedir@/lib/dirsrv/slapd-{instance_name}/ldif + +diff --git a/src/lib389/lib389/instance/setup.py b/src/lib389/lib389/instance/setup.py +index 0669e5856..4cbdda4fc 100644 +--- a/src/lib389/lib389/instance/setup.py ++++ b/src/lib389/lib389/instance/setup.py +@@ -775,7 +775,7 @@ class SetupDs(object): + self.log.info("Create file system structures ...") + # Create all the needed paths + # we should only need to make bak_dir, cert_dir, config_dir, db_dir, ldif_dir, lock_dir, log_dir, run_dir? +- for path in ('backup_dir', 'cert_dir', 'db_dir', 'db_home_dir', 'ldif_dir', 'lock_dir', 'log_dir', 'run_dir'): ++ for path in ('backup_dir', 'cert_dir', 'db_dir', 'ldif_dir', 'lock_dir', 'log_dir', 'run_dir'): + self.log.debug("ACTION: creating %s", slapd[path]) + try: + os.umask(0o007) # For parent dirs that get created -> sets 770 for perms +@@ -912,7 +912,7 @@ class SetupDs(object): + if general['selinux']: + self.log.info("Perform SELinux labeling ...") + selinux_paths = ('backup_dir', 'cert_dir', 'config_dir', 'db_dir', +- 'ldif_dir', 'lock_dir', 'log_dir', 'db_home_dir', ++ 'ldif_dir', 'lock_dir', 'log_dir', + 'run_dir', 'schema_dir', 'tmp_dir') + for path in selinux_paths: + selinux_restorecon(slapd[path]) +-- +2.31.1 + diff --git a/SPECS/389-ds-base.spec b/SPECS/389-ds-base.spec index 4e55987..1008486 100644 --- a/SPECS/389-ds-base.spec +++ b/SPECS/389-ds-base.spec @@ -46,8 +46,8 @@ ExcludeArch: i686 Summary: 389 Directory Server (base) Name: 389-ds-base -Version: 2.0.8 -Release: 6%{?dist} +Version: 2.0.11 +Release: 3%{?dist} License: GPLv3+ and ASL 2.0 and MPLv2.0 and Boost URL: https://www.port389.org Conflicts: selinux-policy-base < 3.9.8 @@ -58,86 +58,91 @@ Obsoletes: %{name}-legacy-tools-debuginfo < 1.4.4.6 Provides: ldif2ldbm >= 0 ##### Bundled cargo crates list - START ##### -Provides: bundled(crate(ahash)) = 0.7.2 +Provides: bundled(crate(ahash)) = 0.7.6 Provides: bundled(crate(ansi_term)) = 0.11.0 Provides: bundled(crate(atty)) = 0.2.14 Provides: bundled(crate(autocfg)) = 1.0.1 Provides: bundled(crate(base64)) = 0.13.0 -Provides: bundled(crate(bitflags)) = 1.2.1 +Provides: bundled(crate(bitflags)) = 1.3.2 Provides: bundled(crate(byteorder)) = 1.4.3 Provides: bundled(crate(cbindgen)) = 0.9.1 -Provides: bundled(crate(cc)) = 1.0.67 +Provides: bundled(crate(cc)) = 1.0.72 Provides: bundled(crate(cfg-if)) = 1.0.0 Provides: bundled(crate(clap)) = 2.33.3 -Provides: bundled(crate(concread)) = 0.2.9 -Provides: bundled(crate(crossbeam)) = 0.8.0 +Provides: bundled(crate(concread)) = 0.2.19 +Provides: bundled(crate(crossbeam)) = 0.8.1 Provides: bundled(crate(crossbeam-channel)) = 0.5.1 -Provides: bundled(crate(crossbeam-deque)) = 0.8.0 -Provides: bundled(crate(crossbeam-epoch)) = 0.9.3 -Provides: bundled(crate(crossbeam-queue)) = 0.3.1 -Provides: bundled(crate(crossbeam-utils)) = 0.8.3 +Provides: bundled(crate(crossbeam-deque)) = 0.8.1 +Provides: bundled(crate(crossbeam-epoch)) = 0.9.5 +Provides: bundled(crate(crossbeam-queue)) = 0.3.2 +Provides: bundled(crate(crossbeam-utils)) = 0.8.5 Provides: bundled(crate(entryuuid)) = 0.1.0 Provides: bundled(crate(entryuuid_syntax)) = 0.1.0 Provides: bundled(crate(fernet)) = 0.1.4 Provides: bundled(crate(foreign-types)) = 0.3.2 Provides: bundled(crate(foreign-types-shared)) = 0.1.1 -Provides: bundled(crate(getrandom)) = 0.2.2 -Provides: bundled(crate(hermit-abi)) = 0.1.18 -Provides: bundled(crate(instant)) = 0.1.9 -Provides: bundled(crate(itoa)) = 0.4.7 -Provides: bundled(crate(jobserver)) = 0.1.21 +Provides: bundled(crate(getrandom)) = 0.2.3 +Provides: bundled(crate(hashbrown)) = 0.11.2 +Provides: bundled(crate(hermit-abi)) = 0.1.19 +Provides: bundled(crate(instant)) = 0.1.12 +Provides: bundled(crate(itoa)) = 0.4.8 +Provides: bundled(crate(jobserver)) = 0.1.24 Provides: bundled(crate(lazy_static)) = 1.4.0 -Provides: bundled(crate(libc)) = 0.2.93 +Provides: bundled(crate(libc)) = 0.2.107 Provides: bundled(crate(librnsslapd)) = 0.1.0 Provides: bundled(crate(librslapd)) = 0.1.0 -Provides: bundled(crate(lock_api)) = 0.4.3 +Provides: bundled(crate(lock_api)) = 0.4.5 Provides: bundled(crate(log)) = 0.4.14 -Provides: bundled(crate(memoffset)) = 0.6.3 -Provides: bundled(crate(once_cell)) = 1.7.2 -Provides: bundled(crate(openssl)) = 0.10.35 -Provides: bundled(crate(openssl-sys)) = 0.9.65 -Provides: bundled(crate(parking_lot)) = 0.11.1 -Provides: bundled(crate(parking_lot_core)) = 0.8.3 +Provides: bundled(crate(lru)) = 0.6.6 +Provides: bundled(crate(memoffset)) = 0.6.4 +Provides: bundled(crate(once_cell)) = 1.8.0 +Provides: bundled(crate(openssl)) = 0.10.38 +Provides: bundled(crate(openssl-sys)) = 0.9.71 +Provides: bundled(crate(parking_lot)) = 0.11.2 +Provides: bundled(crate(parking_lot_core)) = 0.8.5 Provides: bundled(crate(paste)) = 0.1.18 Provides: bundled(crate(paste-impl)) = 0.1.18 -Provides: bundled(crate(pkg-config)) = 0.3.19 -Provides: bundled(crate(ppv-lite86)) = 0.2.10 +Provides: bundled(crate(pin-project-lite)) = 0.2.7 +Provides: bundled(crate(pkg-config)) = 0.3.22 +Provides: bundled(crate(ppv-lite86)) = 0.2.15 Provides: bundled(crate(proc-macro-hack)) = 0.5.19 -Provides: bundled(crate(proc-macro2)) = 1.0.26 +Provides: bundled(crate(proc-macro2)) = 1.0.32 Provides: bundled(crate(pwdchan)) = 0.1.0 -Provides: bundled(crate(quote)) = 1.0.9 -Provides: bundled(crate(rand)) = 0.8.3 -Provides: bundled(crate(rand_chacha)) = 0.3.0 -Provides: bundled(crate(rand_core)) = 0.6.2 -Provides: bundled(crate(rand_hc)) = 0.3.0 -Provides: bundled(crate(redox_syscall)) = 0.2.6 +Provides: bundled(crate(quote)) = 1.0.10 +Provides: bundled(crate(rand)) = 0.8.4 +Provides: bundled(crate(rand_chacha)) = 0.3.1 +Provides: bundled(crate(rand_core)) = 0.6.3 +Provides: bundled(crate(rand_hc)) = 0.3.1 +Provides: bundled(crate(redox_syscall)) = 0.2.10 Provides: bundled(crate(remove_dir_all)) = 0.5.3 Provides: bundled(crate(ryu)) = 1.0.5 Provides: bundled(crate(scopeguard)) = 1.1.0 -Provides: bundled(crate(serde)) = 1.0.125 -Provides: bundled(crate(serde_derive)) = 1.0.125 -Provides: bundled(crate(serde_json)) = 1.0.64 +Provides: bundled(crate(serde)) = 1.0.130 +Provides: bundled(crate(serde_derive)) = 1.0.130 +Provides: bundled(crate(serde_json)) = 1.0.71 Provides: bundled(crate(slapd)) = 0.1.0 Provides: bundled(crate(slapi_r_plugin)) = 0.1.0 -Provides: bundled(crate(smallvec)) = 1.6.1 +Provides: bundled(crate(smallvec)) = 1.7.0 Provides: bundled(crate(strsim)) = 0.8.0 -Provides: bundled(crate(syn)) = 1.0.69 -Provides: bundled(crate(synstructure)) = 0.12.4 +Provides: bundled(crate(syn)) = 1.0.81 +Provides: bundled(crate(synstructure)) = 0.12.6 Provides: bundled(crate(tempfile)) = 3.2.0 Provides: bundled(crate(textwrap)) = 0.11.0 +Provides: bundled(crate(tokio)) = 1.14.0 +Provides: bundled(crate(tokio-macros)) = 1.6.0 Provides: bundled(crate(toml)) = 0.5.8 -Provides: bundled(crate(unicode-width)) = 0.1.8 -Provides: bundled(crate(unicode-xid)) = 0.2.1 +Provides: bundled(crate(unicode-width)) = 0.1.9 +Provides: bundled(crate(unicode-xid)) = 0.2.2 Provides: bundled(crate(uuid)) = 0.8.2 -Provides: bundled(crate(vcpkg)) = 0.2.11 +Provides: bundled(crate(vcpkg)) = 0.2.15 Provides: bundled(crate(vec_map)) = 0.8.2 Provides: bundled(crate(version_check)) = 0.9.3 Provides: bundled(crate(wasi)) = 0.10.2+wasi_snapshot_preview1 Provides: bundled(crate(winapi)) = 0.3.9 Provides: bundled(crate(winapi-i686-pc-windows-gnu)) = 0.4.0 Provides: bundled(crate(winapi-x86_64-pc-windows-gnu)) = 0.4.0 -Provides: bundled(crate(zeroize)) = 1.2.0 -Provides: bundled(crate(zeroize_derive)) = 1.0.1 +Provides: bundled(crate(zeroize)) = 1.4.3 +Provides: bundled(crate(zeroize_derive)) = 1.2.2 ##### Bundled cargo crates list - END ##### BuildRequires: nspr-devel @@ -256,9 +261,9 @@ Source2: %{name}-devel.README %if %{bundle_jemalloc} Source3: https://github.com/jemalloc/%{jemalloc_name}/releases/download/%{jemalloc_ver}/%{jemalloc_name}-%{jemalloc_ver}.tar.bz2 %endif -Patch01: 0001-Issue-4884-server-crashes-when-dnaInterval-attribute.patch -Patch02: 0002-Issue-4894-IPA-failure-in-ipa-user-del-preserve-4907.patch -Patch03: 0003-Issue-4169-backport-lib389-cert-list-fix.patch + +# The patch should be removed after selinux-policy bz2015928 is fixed +Patch0: 389-ds-base-revert-db-home-fix.patch %description 389 Directory Server is an LDAPv3 compliant server. The base package includes @@ -437,8 +442,7 @@ autoreconf -fiv --with-systemdgroupname=%{groupname} \ --libexecdir=%{_libexecdir}/%{pkgname} \ $NSSARGS $ASAN_FLAGS $RUST_FLAGS $CLANG_FLAGS $COCKPIT_FLAGS \ - --enable-cmocka \ - --enable-perl + --enable-cmocka --enable-new-dtags # lib389 @@ -708,6 +712,21 @@ exit 0 %endif %changelog +* Thu Nov 25 2021 Viktor Ashirov - 2.0.11-3 +- Bump version to 2.0.11-3 +- rebuilt + +* Thu Nov 25 2021 Thierry Bordaz - 2.0.11-2 +- Bump version to 2.0.11-2 +- Revert commit "Set db home directory by default" + +* Thu Nov 18 2021 Mark Reynolds - 2.0.11-1 +- Bump version to 2.0.11-1 +- Resolves: Bug 2024693 - Rebase RHEL 9.0 with 389-ds-base +- Resolves: Bug 2015996 - Log the Auto Member invalid regex rules in the LDAP errors log +- Resolves: Bug 2020554 - ipa user-add fails with "gecos: value invalid per syntax: Invalid syntax" +- Resolves: Bug 1779685 - PBKDF2 hashing does not work in FIPS mode + * Fri Sep 17 2021 Mark Reynolds - 2.0.8-6 - Bump version to 2.0.8-6 - Resolves: Bug 2000420 - Not able to preserve users using "ipa user-del --preserve"