import 389-ds-base-2.0.11-3.el9

This commit is contained in:
CentOS Sources 2021-12-07 13:10:37 -05:00 committed by Stepan Oksanichenko
parent f005cc0fea
commit b030ce18d5
7 changed files with 119 additions and 431 deletions

View File

@ -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

2
.gitignore vendored
View File

@ -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

View File

@ -1,44 +0,0 @@
From 6e21d41f5d9f6437c00dd0150654415b172e391a Mon Sep 17 00:00:00 2001
From: Mark Reynolds <mreynolds@redhat.com>
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

View File

@ -1,296 +0,0 @@
From faab51b0d14bdf7af013abdd7937f47cc0eb5cdc Mon Sep 17 00:00:00 2001
From: Simon Pichugin <spichugi@redhat.com>
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

View File

@ -1,40 +0,0 @@
From 91b90f583bf4046325438954523c78ea4f33d607 Mon Sep 17 00:00:00 2001
From: Mark Reynolds <mreynolds@redhat.com>
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

View File

@ -0,0 +1,49 @@
From ec74c73eaa56271ce74e985ab6a69b36e98488e4 Mon Sep 17 00:00:00 2001
From: Simon Pichugin <spichugi@redhat.com>
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

View File

@ -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 <vashirov@redhat.com> - 2.0.11-3
- Bump version to 2.0.11-3
- rebuilt
* Thu Nov 25 2021 Thierry Bordaz <tbordaz@redhat.com> - 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 <mreynolds@redhat.com> - 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 <mreynolds@redhat.com> - 2.0.8-6
- Bump version to 2.0.8-6
- Resolves: Bug 2000420 - Not able to preserve users using "ipa user-del --preserve"