Compare commits

...
Sign in to create a new pull request.

250 commits

Author SHA1 Message Date
Fedora Release Engineering
cd5135cf3a Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 02:25:37 +00:00
Viktor Ashirov
26f66fc9f3 Fix broken FreeIPA upgrade and replication issues
- Resolves: rhbz#2424132 Upgrade from freeipa-4.12.5-3 and 390-ds-base-3.1.3-10 to latest rawhide fails
2026-01-12 12:18:28 +01:00
Viktor Ashirov
e3abfab8ae Correct License: string for robdb-libs 2026-01-09 19:43:17 +01:00
Viktor Ashirov
6a9fe72ef8 Fix broken FreeIPA upgrade and replication issues
- Resolves: rhbz#2424132 Upgrade from freeipa-4.12.5-3 and 390-ds-base-3.1.3-10 to latest rawhide fails
- Fix jemalloc compilation issue with GCC 15
- Issue 7096 - During replication online total init the function idl_id_is_in_idlist is not scaling with large database
- Issue 7118 - Revise paged result search locking
- Issue 7108 - Fix shutdown crash in entry cache destruction

Use correct tarball from upstream.
2026-01-09 18:48:11 +01:00
Yaakov Selkowitz
0e19d9ccb9 Restore libdb in sources 2025-12-24 00:59:03 -05:00
Mark Reynolds
c134ea11db Issue 7147 - entrycache_eviction_test is failing (#7148)
Issue 1793 - RFE - Dynamic lists - UI and CLI updates
Issue 7119 - Fix DNA shared config replication test (#7143)
Issue 7081 - Repl Log Analysis - Implement data sampling with performance and timezone fixes (#7086)
Issue 1793 - RFE - Implement dynamic lists
Issue 7112 - dsctrl dblib bdb2mdb core dumps and won't allow conversion (#7144)
Issue 7053 - Remove memberof_del_dn_from_groups from MemberOf plugin (#7064)
Issue 7138 - test_cleanallruv_repl does not restart supplier3 (#7139)
Issue 6753 - Port ticket47921 test to indirect_cos_test using DSLdapObject (#7134)
Issue 7128 - memory corruption in alias entry plugin (#7131)
Issue 7091 - Duplicate local password policy entries listed (#7092)
Issue 7124 - BDB cursor race condition with transaction isolation (#7125)
Issue 6951 - Dynamic Certificate refresh phase 1 - Search support (#7117)
Issue 7132 - Keep alive entry updated too soon after an offline import (#7133)
Issue 7135 - Not enough space for tests on GH runner (#7136)
Issue 7121 - LeakSanitizer: various leaks during replication (#7122)
Issue 7115 - LeakSanitizer: leak in `slapd_bind_local_user()` (#7116)
Issue 7109 - AddressSanitizer: SEGV ldap/servers/slapd/csnset.c:302 in csnset_dup (#7114)
Issue 7119 - Harden DNA plugin locking for shared server list operations (#7120)
Issue 7084 - UI - schema - sorting attributes breaks expanded row
Issue 6753 - Port ticket47910 test to logconv_test using DSLdapObject (#7098)
Issue 6753 - Port ticket47920 test to ldap_controls_test using DSLdapObject (#7103)
Issue 7007 - Improve paged result search locking
Issue 7041 - Add WebUI test for group member management (#7111)
Issue 3555 - UI - Fix audit issue with npm - glob (#7107)
Issue 7089 - Fix dsconf certificate list (#7090)
Issue 7076, 6992, 6784, 6214 - Fix CI test failures (#7077)
Bump js-yaml from 4.1.0 to 4.1.1 in /src/cockpit/389-console (#7097)
Issue 7069 - Fix error reporting in HAProxy trusted IP parsing (#7094)
Issue 7049 - RetroCL plugin generates invalid LDIF
Issue 7055 - Online initialization of consumers fails with error -23 (#7075)
Issue 6753 - Remove ticket 47900 test (#7087)
Issue 6753 - Port ticket 49008 test (#7080)
Issue 7042 - Enable global_backend_lock when memberofallbackend is enabled (#7043)
Issue 7078 - audit json logging does not encode binary values
Issue 7069 - Add Subnet/CIDR Support for HAProxy Trusted IPs (#7070)
Issue 7056 - DSBLE0007 doesn't generate remediation steps for missing indexes
Issue 6660 - CLI, UI - Improve replication log analyzer usability (#7062)
Issue 7065 - A search filter containing a non normalized DN assertion does not return matching entries (#7068)
Issue 7071 - search filter (&(cn:dn:=groups)) no longer returns results
Issue 7073 - Add NDN cache size configuration and enforcement tests (#7074)
Issue 6753 - Removing ticket 47871 test and porting to DSLdapObject (#7045)
Issue 7041 - CLI/UI - memberOf - no way to add/remove specific group filters
Issue 6753 - Port ticket 48228 test (#7067)
Issue 7029 - Add test case to measure ndn cache performance impact (#7030)
Issue 7061 - CLI/UI - Improve error messages for dsconf localpwp list
Issue 7059 - UI - unable to upload pem file
Issue 7032 - The new ipahealthcheck test ipahealthcheck.ds.backends.BackendsCheck raises CRITICAL issue (#7036)
Issue 7047 - MemberOf plugin logs null attribute name on fixup task completion (#7048)
Issue 7044 - RFE - index sudoHost by default (#7046)
Issue 6846 - Attribute uniqueness is not enforced with modrdn (#7026)
Issue 6784 - Support of Entry cache pinned entries (#6785)
Issue 6979 - Improve the way to detect asynchronous operations in the access logs (#6980)
Issue 6753 - Port ticket 47931 test (#7038)
Issue 7035 - RFE - memberOf - adding scoping for specific groups
CLI/UI - Add option to delete all replication conflict entries
Issue 7033 - lib389 -  basic plugin status not in JSON
Issue 7023 - UI - if first instance that is loaded is stopped it breaks parts of the UI
Issue 6753 - Removing ticket 47714 test and porting to DSLdapObject (#6946)
Issue 7027 - 389-ds-base OpenScanHub Leaks Detected (#7028)
Issue 6753 - Removing ticket 47676 test and porting to DSLdapObject (#6938)
Issue 6966 - On large DB, unlimited IDL scan limit reduce the SRCH performance (#6967)
Issue 6660 - UI - Improve replication log analysis charts and usability (#6968)
Issue 6753 - Removing ticket 47653MMR test and porting to DSLdapObject (#6926)
Issue 7021 - Units for changing MDB max size are not consistent across different tools (#7022)
Issue 6753 - Removing ticket 49463 test and porting to DSLdapObject (#6899)
Issue 6954 - do not delete referrals on chain_on_update backend
Issue 6982 - UI - MemberOf shared config does not validate DN properly (#6983)
Issue 6740 - Fix FIPS mode test failures in syncrepl, mapping tree, and resource limits (#6993)
Issue 7018 - BUG - prevent stack depth being hit (#7019)
Issue 7014 - memberOf - ignored deferred updates with LMDB
Issue 7002 - restore is failing. (#7003)
Issue 6758 - Fix WebUI monitoring test failure due to FormSelect component deprecation (#7004)
Issue 6753 - Removing ticket 47869 test and porting to DSLdapObject (#7001)
Issue 6753 - Port ticket 49073 test (#7005)
Issue 7016 - fix NULL deref in send_referrals_from_entry() (#7017)
Issue 6753 - Port ticket 47815 test (#7000)
Issue 7010 - Fix certdir underflow in slapd_nss_init() (#7011)
Issue 7012 - improve dscrl dbverify result when backend does not exists (#7013)
Issue 6753 - Removing ticket 477828 test and porting to DSLdapObject (#6989)
Issue 6753 - Removing ticket 47721 test and porting to DSLdapObject (#6973)
Issue 6992 - Improve handling of mismatched ldif import (#6999)
Issue 6997 - Logic error in get_bdb_impl_status prevents bdb2mdb execution (#6998)
Issue 6810 - Deprecate PAM PTA plugin configuration attributes in base entry - fix memleak (#6988)
Issue 6971 - bundle-rust-npm.py: TypeError: argument of type 'NoneType' is not iterable (#6972)
Fix overflow in certmap filter/DN buffers (#6995)
Issue 6753 - Port ticket 49386 test (#6987)
Issue 6753 - Removing ticket 47787 test and porting to DSLdapObject (#6976)
Issue 6753 - Port ticket 49072 test (#6984)
Issue 6990 - UI - Replace deprecated Select components with new TypeaheadSelect (#6996)
Issue 6990 - UI - Fix typeahead Select fields losing values on Enter keypress (#6991)
Issue 6887 - Enhance logconv.py to add support for JSON access logs (#6889)
Issue 6985 - Some logconv CI tests fail with BDB (#6986)
Issue 6891 - JSON logging - add wrapper function that checks for NULL
Issue 4835 - dsconf display an incomplete help with changelog setting (#6769)
Issue 6753 - Port ticket 47963 & 49184 tests (#6970)
Issue 6753 - Port ticket 47829 & 47833 tests
Issue 6977 - UI - Show error message when trying to use unavailable ports (#6978)
Issue 6956 - More UI fixes
Issue 6626 - Fix version
Issue 6900 - Rename test files for proper pytest discovery (#6909)
Issue 6947 - Revise time skew check in healthcheck tool and add option to exclude checks
Issue 6805 - RFE - Multiple backend entry cache tuning
Issue 6753 - Port and fix ticket 47823 tests
Issue 6843 - Add CI tests for logconv.py (#6856)
Issue 6933 - When deferred memberof update is enabled after the server crashed it should not launch memberof fixup task by default (#6935)
UI - update Radio handlers and LDAP entries last modified time
Issue 6810 - Deprecate PAM PTA plugin configuration attributes in base entry (#6832)
Issue 6660 - UI - Fix minor typo (#6955)
Issue 6753 - Port ticket 47808 test
Issue 6910 - Fix latest coverity issues
Issue 6753 - Removing ticket 50232 test and porting to DSLdapObject (#6861)
Issue 6919 - numSubordinates/tombstoneNumSubordinates are inconsisten… (#6920)
Issue 6430 - Fix build with bundled libdb
Issue 6342 - buffer owerflow in the function parseVariant (#6927)
Issue 6940 - dsconf monitor server fails with ldapi:// due to absent server ID (#6941)
Issue 6936 - Make user/subtree policy creation idempotent (#6937)
Migrate from PR_Poll to epoll and timerfd. (#6924)
Issue 6928 - The parentId attribute is indexed with improper matching rule
Issue 6753 - Removing ticket 49540 test and porting to DSLdapObject (#6877)
Issue 6904 - Fix config_test.py::test_lmdb_config
Issue 5120 - Fix compilation error
Issue 6929 - Compilation failure with rust-1.89 on Fedora ELN
Issue 6922 - AddressSanitizer: leaks found by acl test suite
Issue 6519 - Add basic dsidm account tests
Issue 6753 - Port ticket test 47573
Issue 6875 - Fix dsidm tests
Issues 6913, 6886, 6250 - Adjust xfail marks (#6914)
Issue 6768 - ns-slapd crashes when a referral is added (#6780)
Issue 6468 - CLI - Fix default error log level
Issue 6181 - RFE - Allow system to manage uid/gid at startup
Issue 6901 - Update changelog trimming logging - fix tests
Issue 6778 - Memory leak in roles_cache_create_object_from_entry part 2
Issue 6897 - Fix disk monitoring test failures and improve test maintainability (#6898)
Issue 6884 - Mask password hashes in audit logs (#6885)
Issue 6594 - Add test for numSubordinates replication consistency with tombstones (#6862)
Issue 6250 - Add test for entryUSN overflow on failed add operations (#6821)
Issue 6895 - Crash if repl keep alive entry can not be created
Issue 6663 - Fix NULL subsystem crash in JSON error logging (#6883)
Issue 6430 - implement read-only bdb (#6431)
Issue 6901 - Update changelog trimming logging
Issue 6880 - Fix ds_logs test suite failure
Issue 6352 - Fix DeprecationWarning
Issue 6800 - Rerun the check in verbose mode on failure
Issue 6893 - Log user that is updated during password modify extended operation
Issue 6772 - dsconf - Replicas with the "consumer" role allow for viewing and modification of their changelog. (#6773)
Issue 6829 - Update parametrized docstring for tests
Issue 6888 - Missing access JSON logging for TLS/Client auth
Issue 6878 - Prevent repeated disconnect logs during shutdown (#6879)
Issue 6872 - compressed log rotation creates files with world readable permission
Issue 6859 - str2filter is not fully applying matching rules
Issue 5733 - Remove outdated Dockerfiles
Issue 6800 - Check for minimal supported Python version
Issue 6868 - UI - schema attribute table expansion break after moving to a new page
Issue 6865 - AddressSanitizer: leak in agmt_update_init_status
Issue 6848 - AddressSanitizer: leak in do_search
Issue 6850 - AddressSanitizer: memory leak in mdb_init
Issue 6854 - Refactor for improved data management (#6855)
Issue 6756 - CLI, UI - Properly handle disabled NDN cache (#6757)
Issue 6857 - uiduniq: allow specifying match rules in the filter
Issue 6852 - Move ds* CLI tools back to /sbin
Issue 6753 - Port ticket tests 48294 & 48295
Issue 6753 - Add 'add_exclude_subtree' and 'remove_exclude_subtree' methods to Attribute uniqueness plugin
Issue 6841 - Cancel Actions when PR is updated
Issue 6838 - lib389/replica.py is using nonexistent datetime.UTC in Python 3.9
Issue 6822 - Backend creation cleanup and Database UI tab error handling (#6823)
Issue 6782 - Improve paged result locking
Issue 6829 - Update parametrized docstring for tests
2025-12-16 15:24:48 -05:00
Python Maint
0fbd2343c9 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:06:10 +02:00
Yaakov Selkowitz
8a64e863ed Fix build --with-bundle-libdb, enable for ELN
While the goal is to ship no BDB backend in RHEL 11, this currently cannot
be built without one.  As such, building with a bundled libdb and then
dropping the -bdb subpackage from ELN CRB gets us as close as possible to
that state for now.

https://github.com/389ds/389-ds-base/issues/6944
https://github.com/389ds/389-ds-base/pull/6945
2025-08-20 17:44:50 -04:00
Python Maint
a4238f09da Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 15:24:07 +02:00
Viktor Ashirov
f4f2109f94 Rebuild for https://fedoraproject.org/wiki/Changes/389_Directory_Server_3.2.0 2025-08-11 13:38:41 +02:00
František Zatloukal
11a2e08521 Rebuilt for icu 77.1 2025-08-06 09:52:20 +02:00
Fedora Release Engineering
ad5313fd73 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 15:39:11 +00:00
Yaakov Selkowitz
c01eeaf809 Fix checksum of libdb sources
[skip changelog]
2025-07-09 12:48:07 -04:00
Viktor Ashirov
53a2fcc07b Remove old patches
[skip changelog]
2025-07-08 09:46:38 +02:00
Viktor Ashirov
a800aa34d1 Update sources file 2025-06-30 11:57:30 +02:00
Viktor Ashirov
5ed75f148c Update to 3.1.3 2025-06-30 11:49:06 +02:00
Viktor Ashirov
9c09966b8b Resolves: Issue 6776 - Enabling audit log makes slapd coredump 2025-06-16 14:20:58 +02:00
Python Maint
7ab459a547 Rebuilt for Python 3.14 2025-06-03 13:57:04 +02:00
Miro Hrončok
250f86dedd python3-lib389: Remove manually specified runtime Requires
The requires are automatically generated
and their manual repetition is forbidden by packaging guidelines.

> Automatically determined dependencies MUST NOT be duplicated by manual dependencies.

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_package_dependencies

Even further:

> Packages SHOULD NOT have an explicit runtime dependency on python3.

https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_dependencies

I kept the Requires for python3-libselinux as it is not generated.
I have not checked whether or not this dependency is actually required.

---

My main motivation is this: https://github.com/389ds/389-ds-base/pull/6719

Once released upstream,
the runtime dependency on python3-setuptools will be redundant.
By deleting it now,
I reduce the risk of having it in the spec even after the upstream change lands.
2025-04-02 12:18:27 +02:00
Yaakov Selkowitz
07e8a882bc Fix build of bundled libdb with GCC 15
GCC 15 defaults to C23.  libdb is obsolete and the last release was over a
decade ago, and therefore cannot be expected to compile to the latest
standards.
2025-03-05 08:14:45 -05:00
Viktor Ashirov
1e3c90db19 Update to 3.1.2-5
- Resolves: Issue 6489 - After log rotation refresh the FD pointer
- Resolves: Issue 6554 - During import of entries without nsUniqueId, a supplier generates duplicate nsUniqueId (LMDB only)
- Resolves: Issue 6555 - Potential crash when deleting a replicated backend
2025-02-14 14:43:03 +01:00
Zbigniew Jędrzejewski-Szmek
6343e0d443 Drop call to %sysusers_create_compat
After https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers,
rpm will handle this automatically.
2025-02-08 16:34:03 +01:00
Björn Esser
78d0143425
Add explicit BR: libxcrypt-devel
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2025-02-01 19:52:34 +01:00
Viktor Ashirov
ca8f74ff67 Replace python3-magic with python3-file-magic 2025-01-25 17:22:27 +01:00
Viktor Ashirov
c0a85dde2d Update to 3.1.2 2025-01-24 15:00:02 +01:00
Fedora Release Engineering
16dbfc769e Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-20 07:16:14 +00:00
Fedora Release Engineering
409e247670 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 08:19:55 +00:00
Pete Walter
cc3b929de3 Rebuild for ICU 76 2024-12-08 22:02:34 +00:00
Viktor Ashirov
fc8a2a3a6f Fix source URL 2024-10-30 11:46:51 +01:00
Miroslav Suchý
0082bb49b0 Add exception to GPL license in license tag
See https://gitlab.com/fedora/legal/fedora-license-data/-/issues/517
2024-10-29 22:25:15 +00:00
Viktor Ashirov
6ee4494a7a Resolves: VLV errors in Fedora 40 with RSNv3 and pruning enabled (rhbz#2317851) 2024-10-15 13:28:42 +02:00
Viktor Ashirov
9d411e6f98 Replace lmdb with lmdb-libs in Requires 2024-07-30 13:51:33 +02:00
Viktor Ashirov
315706ba43 Update to 3.1.1
...
- Resolves: CVE-2024-1062 (rhbz#2261884)
- Resolves: CVE-2024-2199 (rhbz#2283632)
- Resolves: CVE-2024-3657 (rhbz#2283631)
- Resolves: CVE-2024-5953 (rhbz#2292109)
2024-07-30 11:58:16 +02:00
Fedora Release Engineering
1cf86bb6f0 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 14:39:40 +00:00
Yaakov Selkowitz
0dd17702a8 Use bundled libdb on RHEL and ELN
Based on c10s:
8dfbbc21d0
2024-06-25 15:56:38 -04:00
Yaakov Selkowitz
46083690af Fix bundled libdb build with RPM 4.20
https://github.com/389ds/389-ds-base/pull/6235
2024-06-25 01:05:46 -04:00
Viktor Ashirov
291e311dd3 Drop pytest dependency 2024-06-17 09:58:18 +02:00
Viktor Ashirov
2303613243 Drop obsolete perl MODULE_COMPAT requirement 2024-06-13 16:51:14 +02:00
Miro Hrončok
60a22a6d73 Stop Providing libjemalloc.so.2()(64bit)
This was removed in eeb80bdccc
and it made 389-ds-base-libs and 389-ds-base Provides libjemalloc.so.2()(64bit).

Package Requiring it would install 389-ds-base-libs instead of jemalloc,
failing to execute with:

    $ nsupdate
    nsupdate: error while loading shared libraries: libjemalloc.so.2:
    cannot open shared object file: No such file or directory
2024-06-10 07:42:51 +02:00
Python Maint
27db1de21e Rebuilt for Python 3.13 2024-06-07 22:44:48 +02:00
Viktor Ashirov
ebbd5286c6 Exclude i686 architecture
[skip changelog]
2024-06-01 19:14:48 +02:00
Viktor Ashirov
eeb80bdccc Sync spec file with the upstream spec file 2024-05-31 22:05:00 +02:00
Viktor Ashirov
b308bcac8d Convert to %autorelease and %autochangelog
[skip changelog]
2024-05-31 21:47:30 +02:00
James Chapman
e6aa402601 Bump version to 3.1.0
Issue 6142 - Fix CI tests (#6161)
Issue 6157 - Cockipt crashes when getting replication status if topology contains an old 389ds version (#6158)
Issue 5105 - lmdb - Cannot create entries with long rdn - fix covscan (#6131)
Issue 6086 - Ambiguous warning about SELinux in dscreate for non-root user
Issue 6094 - Add coverity scan workflow
Issue 5962 - Rearrange includes for 32-bit support logic
Issue 6046 - Make dscreate to work during kickstart installations
Issue 6073 - Improve error log when running out of memory (#6084)
Issue 6071 - Instance creation/removal is slow
Issue 6010 - 389 ds ignores nsslapd-maxdescriptors (#6027)
Issue 6075 - Ignore build artifacts (#6076)
Issue 6068 - Add dscontainer stop function
2024-05-15 12:25:05 +01:00
Viktor Ashirov
51c0d48236 Drop unused patch 2024-04-24 14:25:10 +02:00
Viktor Ashirov
d4e20edc57 Enable CI gating 2024-04-24 14:23:54 +02:00
James Chapman
a78efd2e11 Bump version to 3.0.2
Issue 6082 - Remove explicit dependencies toward libdb - revert default (#6145)
Issue 6142 - [RFE] Add LMDB configuration related checks into Healthcheck tool (#6143)
Issue 6141 - freeipa test_topology_TestCASpecificRUVs is failing (#6144)
Issue 6136 - failure in freeipa tests (#6137)
Issue 6119 - Synchronise accept_thread with slapd_daemon (#6120)
Issue 6105 - lmdb - Cannot create entries with long rdn (#6130)
Issue 6082 - Remove explicit dependencies toward libdb (#6083)
Issue i6057 - Fix3 - Fix covscan issues (#6127)
Issue 6057 - vlv search may result wrong result with lmdb - Fix 2 (#6121)
Issue 6057 - vlv search may result wrong result with lmdb (#6091)
Issue 6092 - passwordHistory is not updated with a pre-hashed password (#6093)
Issue 6133 - Move slapi_pblock_set_flag_operation_notes() to slapi-plugin.h
Issue 6125 - dscreate interactive fails when chosing mdb backend (#6126)
Issue 6110 - Typo in Account Policy plugin message
Issue 6080 - ns-slapd crash in referint_get_config (#6081)
Issue 6117 - Fix the UTC offset print (#6118)
Issue 5305 - OpenLDAP version autodetection doesn't work
Issue 6112 - RFE - add new operation note for MFA authentications
Issue 5842 - Add log buffering to audit log
Issue 3527 - Support HAProxy and Instance on the same machine configuration (#6107)
Issue 6103 - New connection timeout error breaks errormap (#6104)
Issue 6096 - Improve connection timeout error logging (#6097)
Issue 6067 - Improve dsidm CLI No Such Entry handling (#6079)
Issue 6067 - Add hidden -v and -j options to each CLI subcommand (#6088)
Issue 6061 - Certificate lifetime displayed as NaN
2024-04-15 15:26:50 +01:00
Pete Walter
1e6b70d7c1 Rebuild for ICU 74 2024-01-31 19:11:29 +00:00
Simon Pichugin
e374e35b04 Bump version to 3.0.1
Issue 6043, 6044 - Enhance Rust and JS bundling and add SPDX licenses for both (#6045)
Issue 3555 - Remove audit-ci from dependencies (#6056)
Issue 6052 - Paged results test sets hostname to `localhost` on test collection
Issue 6051 - Drop unused pytest markers
Issue 6049 - lmdb - changelog is wrongly recreated by reindex task (#6050)
Issue 6047 - Add a check for tagged commits
Issue 6041 - dscreate ds-root - accepts relative path (#6042)
Switch default backend to lmdb and bump version to 3.0 (#6013)
Issue 6032 - Replication broken after backup restore (#6035)
Issue 6037 - Server crash at startup in vlvIndex_delete (#6038)
Issue 6034 - Change replica_id from str to int
Issue 6028 - vlv index keys inconsistencies (#6031)
Issue 5989 - RFE support of inChain Matching Rule (#5990)
Issue 6022 - lmdb inconsistency between vlv index and vlv cache names (#6026)
Issue 6015 - Fix typo remeber (#6014)
Issue 6016 - Pin upload/download artifacts action to v3
Issue 5939 - During an update, if the target entry is reverted in the entry cache, the server should not retry to lock it (#6007)
Issue 4673 - Update Rust crates
Issue 6004 - idletimeout may be ignored (#6005)
Issue 5954 - Disable Transparent Huge Pages
Issue 5997 - test_inactivty_and_expiration CI testcase is wrong (#5999)
Issue 5993 - Fix several race condition around CI tests (#5996)
Issue 5944 - Reversion of the entry cache should be limited to BETXN plugin failures (#5994)
Bump openssl from 0.10.55 to 0.10.60 in /src (#5995)
Issue 5980 - Improve instance startup failure handling (#5991)
Issue 5976 - Fix freeipa install regression with lmdb (#5977)
Issue 5984 - Crash when paged result search are abandoned - fix2 (#5987)
Issue 5984 - Crash when paged result search are abandoned (#5985)
Issue 5947 - CI test_vlv_recreation_reindex fails on LMDB (#5979)
2024-01-30 12:30:41 -08:00
Fedora Release Engineering
10d5e9ae35 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-29 10:42:17 +00:00
Fedora Release Engineering
bff8e54841 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 20:39:09 +00:00
Fedora Release Engineering
fd0449a448 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 09:04:49 +00:00
Fedora Release Engineering
fd4c2c06c1 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-18 11:59:55 +00:00
Viktor Ashirov
1f152da46b Bump version to 2.4.5
Issue 5989 - RFE support of inChain Matching Rule (#5990)
Issue 5939 - During an update, if the target entry is reverted in the entry cache, the server should not retry to lock it (#6007)
Issue 5944 - Reversion of the entry cache should be limited to BETXN plugin failures (#5994)
Issue 5954 - Disable Transparent Huge Pages
Issue 5984 - Crash when paged result search are abandoned - fix2 (#5987)
Issue 5984 - Crash when paged result search are abandoned (#5985)
2024-01-18 11:08:10 +01:00
James Chapman
66e8918336 Bump version to 2.4.4
Issue 5971 - CLI - Fix password prompt for repl status (#5972)
Issue 5973 - Fix fedora cop RawHide builds (#5974)
Revert "Issue 5761 - Worker thread dynamic management (#5796)" (#5970)
Issue 5966 - CLI - Custom schema object is removed on a failed edit (#5967)
Issue 5786 - Update permissions for Release workflow
Issue 5960 - Subpackages should have more strict interdependencies
Issue 3555 - UI - Fix audit issue with npm - babel/traverse (#5959)
Issue 4843 - Fix dscreate create-template issue (#5950)
bugfix for --passwd-file not working on latest version (#5934)
Issue 5843 - dsconf / dscreate should be able to handle lmdb parameters (#5943)
Bump postcss from 8.4.24 to 8.4.31 in /src/cockpit/389-console (#5945)
Issue 5938 - Attribute Names changed to lowercase after adding the Attributes (#5940)
issue 5924 - ASAN server build crash when looping opening/closing connections (#5926)
Issue 1925 - Add a CI test (#5936)
Issue 5732 - Localizing Cockpit's 389ds Plugin using CockpitPoPlugin (#5764)
Issue 1870 - Add a CI test (#5929)
Issue 843 - Add a warning to slapi_valueset_add_value_ext (#5925)
Issue 5761 - Worker thread dynamic management (#5796)
Issue 1802 - Improve ldclt man page (#5928)
Issue 1456 - Add a CI test that verifies there is no issue (#5927)
Issue 1317 - Add a CI test (#5923)
Issue 1081 - CI - Add more tests for overwriting x-origin issue (#5815)
Issue 1115 - Add a CI test (#5913)
Issue 5848 - Fix condition and add a CI test (#5916)
Issue 5848 - Fix condition and add a CI test (#5916)
Issue 5914 - UI - server settings page validation improvements and db index fixes
Issue 5909 - Multi listener hang with 20k connections (#5917)
Issue 5902 - Fix previous commit regression (#5919)
pass instance correctly to ds_is_older (#5903)
Issue 5909 - Multi listener hang with 20k connections (#5910)
Issue 5722 - improve testcase (#5904)
Issue 5203 - outdated version in provided metadata for lib389
Bug Description:
issue 5890 part 2 - Need a tester for testing multiple listening thread feature (#5897)
Issue i5846 - Crash when lmdb import is aborted (#5881)
Issue 5894 - lmdb import error fails with Could not store the entry (#5895)
Issue 5890 - Need a tester for testing multiple listening thread feature (#5891)
Issue 5082 - slugify: ModuleNotFoundError when running test cases
Issue 4551 - Part 2 - Fix build warning of previous PR (#5888)
Issue 5834 - AccountPolicyPlugin erroring for some users (#5866)
Issue 5872 - part 2 - fix is_dbi regression (#5887)
Issue 4758 - Add tests for WebUI
Issue 5848 - dsconf should prevent setting the replicaID for hub and consumer roles (#5849)
Issue 5883 - Remove connection mutex contention risk on autobind (#5886)
Issue 5872 - `dbscan()` in lib389 can return bytes
2024-01-18 10:32:47 +01:00
Mark Reynolds
298baaf1c0 Bump version to 2.4.3-1
Issue 5729 - Memory leak in factory_create_extension (#5814)
Issue 5870 - ns-slapd crashes at startup if a backend has no suffix (#5871)
Issue 5876 - CI Test random failure - Import (#5879)
Issue 5877 - test_basic_ldapagent breaks test_setup_ds_as_non_root* tests
Issue 5867 - lib389 should use filter for tarfile as recommended by PEP 706 (#5868)
Issue 5853 - Update Cargo.lock and fix minor warning (#5854)
Issue 5785 - CLI - arg completion is broken
Issue 5864 - Server fails to start after reboot because it's unable to access nsslapd-rundir
Issue 5856 - SyntaxWarning: invalid escape sequence '\,'
Issue 5859 - dbscan fails with AttributeError: 'list' object has no attribute 'extends'
Issue 3527 - UI - Add nsslapd-haproxy-trusted-ip to server setting (#5839)
Issue 4551 - Paged search impacts performance (#5838)
Issue 4758 - Add tests for WebUI
Issue 4169 - UI - Fix retrochangelog and schema Typeaheads (#5837)
issue 5833 - dsconf monitor backend fails on lmdb (#5835)
Issue 3555 - UI - Fix audit issue with npm - stylelint (#5836)
2023-08-03 16:21:10 -04:00
Mark Reynolds
66c7a2c53f Bump version to 2.4.3-1
Issue 5729 - Memory leak in factory_create_extension (#5814)
Issue 5870 - ns-slapd crashes at startup if a backend has no suffix (#5871)
Issue 5876 - CI Test random failure - Import (#5879)
Issue 5877 - test_basic_ldapagent breaks test_setup_ds_as_non_root* tests
Issue 5867 - lib389 should use filter for tarfile as recommended by PEP 706 (#5868)
Issue 5853 - Update Cargo.lock and fix minor warning (#5854)
Issue 5785 - CLI - arg completion is broken
Issue 5864 - Server fails to start after reboot because it's unable to access nsslapd-rundir
Issue 5856 - SyntaxWarning: invalid escape sequence '\,'
Issue 5859 - dbscan fails with AttributeError: 'list' object has no attribute 'extends'
Issue 3527 - UI - Add nsslapd-haproxy-trusted-ip to server setting (#5839)
Issue 4551 - Paged search impacts performance (#5838)
Issue 4758 - Add tests for WebUI
Issue 4169 - UI - Fix retrochangelog and schema Typeaheads (#5837)
issue 5833 - dsconf monitor backend fails on lmdb (#5835)
Issue 3555 - UI - Fix audit issue with npm - stylelint (#5836)
2023-08-03 14:57:06 -04:00
Mark Reynolds
70852658a4 Bump version to 2.4.2-5
Add the bash completion scripts to the appropriate files section
2023-07-24 15:32:49 -04:00
Fedora Release Engineering
59f217afda Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 10:53:12 +00:00
František Zatloukal
a0aa3a1e6a Rebuilt for ICU 73.2 2023-07-11 22:12:36 +02:00
Mark Reynolds
c7d3a6be63 Bump version to 2.4.2-2
Issue 5752 - RFE - Provide a history for LastLoginTime (#5807)
= Issue 4719 CI - Add dsconf add a PTA URL test
2023-07-10 13:31:58 -04:00
Mark Reynolds
41a274793a Bump version to 2.4.2
Issue 5793 - UI - fix suffix selection in export modal
Issue 5793 - UI - Fix minor crashes (#5827)
Issue 5825 - healthcheck - password storage scheme warning needs more info
Issue 5822 - Allow empty export path for db2ldif
Issue 5755 - Massive memory leaking on update operations (#5824)
Issue 5701 - CI - Add more tests for referral mode fix (#5810)
Issue 5551 - Almost empty and not loaded ns-slapd high cpu load
Issue 5755 - The Massive memory leaking on update operations (#5803)
Issue 2375 - CLI - Healthcheck - revise and add new checks
Bump openssl from 0.10.52 to 0.10.55 in /src
Issue 5793 - UI - movce from webpack to esbuild bundler
Issue 5752 - CI - Add more tests for lastLoginHistorySize RFE (#5802)
Issue 3527 - Fix HAProxy x390x compatibility and compiler warnings (#5801)
Issue 5798 - CLI - Add multi-valued support to dsconf config (#5799)
Issue 5781 - Bug handling return code of pre-extended operation plugin.
Issue 5785 - move bash completion to post section of specfile
Issue 5156 - (cont) RFE slapi_memberof reusing memberof values (#5744)
Issue 4758 - Add tests for WebUI
Issue 3527 - Add PROXY protocol support (#5762)
Issue 5789 - Improve ds-replcheck error handling
Issue 5786 - CLI - registers tools for bash completion
Issue 5786 - Set minimal permissions on GitHub Workflows (#5787)
Issue 5646 - Various memory leaks (#5725)
Issue 5778 - UI - Remove error message if .dsrc is missing
Issue 5751 - Cleanallruv task crashes on consumer (#5775)
2023-07-07 15:27:26 -04:00
Python Maint
47834ef75a Rebuilt for Python 3.12 2023-06-28 19:02:29 +02:00
Mark Reynolds
66643dd6cf Bump version to 2.4.1
Issue 5770 - RFE - Extend Password Adminstrators to allow skipping password info updates
Issue 5768 - CLI/UI - cert checks are too strict, and other issues
Issue 5722 - fix compilation warnings (#5771)
Issue 5765 - Improve installer selinux handling
Issue 152  - RFE - Add support for LDAP alias entries
Issue 5052 - BUG - Custom filters prevented entry deletion (#5060)
Issue 5752 - RFE - Provide a history for LastLoginTime (#5753)
Issue 5722 - RFE When a filter contains 'nsrole', improve response time by rewriting the filter (#5723)
Issue 5704 - crash in sync_refresh_initial_content (#5720)
Issue 5738 - RFE - UI - Read/write replication monitor info to .dsrc file
Issue 5156 - build warnings (#5758)
Issue 5749 - RFE - Allow Account Policy Plugin to handle inactivity and expiration at the same time
Issue 5743 - Disabling replica crashes the server (#5746)
Issue 2562 - Copy config files into backup directory
Issue 5156 - fix build breakage from slapi-memberof commit
Issue 4758 - Add tests for WebUI
2023-05-18 10:11:38 -04:00
Mark Reynolds
4278187fdb Bump version to 2.4.0
Issue 5156 - RFE that implement slapi_memberof (#5694)
Issue 5734 - RFE - Exclude pwdFailureTime and ContextCSN (#5735)
Issue 5726 - ns-slapd crashing in ldbm_back_upgradednformat (#5727)
Issue 4758 - Add tests for WebUI
Issue 5718 - Memory leak in connection table (#5719)
Issue 5705 - Add config parameter to close client conns on failed bind (#5712)
Issue 4758 - Add tests for WebUI
Issue 5643 - Memory leak in entryrdn during delete (#5717)
Issue 5714 - UI - fix typo, db settings, log settings, and LDAP editor paginations
Issue 5701 - CLI - Fix referral mode setting (#5708)
Bump openssl from 0.10.45 to 0.10.48 in /src (#5709)
Issue 5710 - subtree search statistics for index lookup does not report ancestorid/entryrdn lookups (#5711)
Issue 5697 - Obsolete nsslapd-ldapimaprootdn attribute (#5698)
Issue 1081 - Stop schema replication from overwriting x-origin
Issue 4812 - Listener thread does not scale with a high num of established connections (#5706)
Issue 4812 - Listener thread does not scale with a high num of established connections (#5681)
Bump webpack from 5.75.0 to 5.76.0 in /src/cockpit/389-console (#5699)
Issue 5598 - (3rd) In 2.x, SRCH throughput drops by 10% because of handling of referral (#5692)
Issue 5598 - (2nd) In 2.x, SRCH throughput drops by 10% because of handling of referral (#5691)
Issue 5687 - UI - sensitive information disclosure
Issue 5661 - LMDB hangs while Rebuilding the replication changelog RUV (#5676)
Issue 5554 - Add more tests to security_basic_test suite
Issue 4583 - Update specfile to skip checks of ASAN builds
Issue 4758 - Add tests for WebUI
Issue 3604 - UI - Add support for Subject Alternative Names in CSR
Issue 5600 - buffer overflow when enabling sync repl plugin when dynamic plugins is enabled
Issue 5640 - Update logconv for new logging format
Issue 5162 - CI - fix error message for invalid pem file
Issue 5598 - In 2.x, SRCH throughput drops by 10% because of handling of referral (#5604)
Issue 5671 - covscan - clang warning (#5672)
Issue 5267 - CI - Fix issues with nsslapd-return-original-entrydn
Issue 5666 - CLI - Add timeout parameter for tasks
Issue 5567 - CLI - make ldifgen use the same default ldif name for all options
Issue 5647 - Fix unused variable warning from previous commit (#5670)
Issue 5162 - Lib389 - verify certificate type before adding
Issue 5642 - Build fails against setuptools 67.0.0
Issue 5630 - CLI - need to add logging filter for stdout
Issue 5646 - CLI/UI - do not hardcode password storage schemes
Issue 5640 - Update logconv for new logging format
issue 5647 - covscan: memory leak in audit log when adding entries (#5650)
Issue 5658 - CLI - unable to add attribute with matching rule
Issue 5653 - covscan - fix invalid dereference
Issue 5652 - Libasan crash in replication/cascading_test (#5659)
Issue 5628 - Handle graceful timeout in CI tests (#5657)
Issue 5648 - Covscan - Compiler warnings (#5651)
Issue 5630 - CLI - error messages should goto stderr
Issue 2435 - RFE - Raise IDL Scan Limit to INT_MAX (#5639)
Issue 5632 - CLI - improve error handling with db2ldif
Issue 5517 - Replication conflict CI test sometime fails (#5518)
Issue 5634 - Deprecated warning related to github action workflow code (#5635)
Issue 5637 - Covscan - fix Buffer Overflows (#5638)
Issue 5624 - RFE - UI - export certificates, and import text base64 encoded certificates
Bump tokio from 1.24.1 to 1.25.0 in /src (#5629)
Issue 4577 - Add LMDB pytest github action (#5627)
Issue 4293 - RFE - CLI - add dsrc options for setting user and group subtrees
Remove stale libevent(-devel) dependency
Issue 5578 - dscreate ds-root does not normaile paths (#5613)
Issue 5497 - boolean attributes should be case insensitive
2023-04-25 16:18:53 -04:00
Viktor Ashirov
763153ab35 Add missing patch 2023-03-31 10:24:04 +02:00
Viktor Ashirov
cc94ca8b85 Fix build issue against setuptools 67.0.0 (#2183375) 2023-03-31 10:21:48 +02:00
Simon Pichugin
8550918238 Use systemd-sysusers for dirsrv user and group (#2173834) 2023-02-28 11:47:22 -08:00
Mark Reynolds
80aafdcae5 Bump version to 2.3.2
Issue 5547 - automember plugin improvements
Issue 5607, 5351, 5611 - UI/CLI - fix various issues
Issue 5610 - Build failure on Debian
Issue 5608 - UI - need to replace some "const" with "let"
Issue 5560 - dscreate run by non superuser set defaults requiring superuser privilege (#5579)
Issue 3604 - Create a private key/CSR with dsconf/Cockpit (#5584)
Issue 5605 - Adding a slapi_log_backtrace function in libslapd (#5606)
Issue 5602 - UI - browser crash when trying to modify read-only variable
Issue 5581 - UI - Support cockpit dark theme
Issue 5593 - CLI - dsidm account subtree-status fails with TypeError
Issue 5591 - BUG - Segfault in cl5configtrim with invalid confi (#5592)
Fix latest npm audit failures
Issue 5599 - CI - webui tests randomly fail
Issue 5348 - RFE - CLI - add functionality to do bulk updates to entries
Issue 5588 - Fix CI tests
Issue 5585 - lib389 password policy DN handling is incorrect (#5587)
Issue 5521 - UI - Update plugins for new split PAM and LDAP pass thru auth
Bump json5 from 2.2.1 to 2.2.3 in /src/cockpit/389-console
Issue 5236 - UI add specialized group edit modal
Issue 5550 - dsconf monitor crashes with Error math domain error (#5553)
Issue 5278 - CLI - dsidm asks for the old password on password reset
Issue 5531 - CI - use universal_lines in capture_output
Issue 5425 - CLI - add confirmation arg when deleting backend
Issue 5558 - non-root instance fails to start on creation (#5559)
Issue 5545 - A random crash in import over lmdb (#5546)
Issue 3615 - CLI - prevent virtual attribute indexing
Update specfile and rust crates
Issue 5413 - Allow mutliple MemberOf fixup tasks with different bases/filters
Issue 5554 - Add more tests to security_basic_test suite (#5555)
Issue 5561 - Nightly tests are failing
Issue 5521 - RFE - split pass through auth cli
Issue 5521 - BUG - Pam PTA multiple issues
Issue 5544 - Increase default task TTL
Issue 5526 - RFE - Improve saslauthd migration options (#5528)
Issue 5539 - Make logger's parameter name unified (#5540)
Issue 5541 - Fix typo in `lib389.cli_conf.backend._get_backend` (#5542)
Issue 3729 - (cont) RFE Extend log of operations statistics in access log (#5538)
Issue 5534 - Fix a rebase typo (#5537)
Issue 5534 - Add copyright text to the repository files
2023-01-23 09:22:09 -05:00
Fedora Release Engineering
a1e04f6d05 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 19:34:04 +00:00
Pete Walter
ac53f0a2be Rebuild for ICU 72 2022-12-31 02:17:06 +00:00
Mark Reynolds
145cec1ec7 Bump version to 2.3.1
Issue 5532 - Make db compaction TOD day more robust.
Issue 3729 - RFE Extend log of operations statistics in access log (#5508)
Issue 5529 - UI - Fix npm vulnerability in loader-utils
Issue 5490 - tombstone in entryrdn index with lmdb but not with bdb (#5498)
Issue 5162 - Fix dsctl tls ca-certfiicate add-cert arg requirement
Issue 5510 - remove twalk_r dependency to build on RHEL8 (#5516)
Issue 5162 - RFE - CLI allow adding CA certificate bundles
Issue 5440 - memberof is slow on update/fixup if there are several 'groupattr' (#5455)
Issue 5512 - BUG - skip pwdPolicyChecker OC in migration (#5513)
Issue 3555 - UI - fix audit issue with npm loader-utils (#5514)
Issue 5505 - Fix compiler warning (#5506)
Issue 5469 - Increase the default value of nsslapd-conntablesize (#5472)
Issue 5408 - lmdb import is slow (#5481)
Issue 5429 - healthcheck - add checks for MemberOf group attrs being indexed
Issue 5502 - RFE - Add option to display entry attributes in audit log
Issue 5495 - BUG - Minor fix to dds skip, inconsistent attrs caused errors (#5501)
Issue 5367 - RFE - store full DN in database record
Issue 5495 - RFE - skip dds during migration. (#5496)
Issue 5491 - UI - Add rework and finish jpegPhoto functionality (#5492)
Issue 5368 - Retro Changelog trimming does not work (#5486)
Issue 5487 - Fix various issues with logconv.pl
Issue 5476 - RFE - add memberUid read aci by default (#5477)
Issue 5482 - lib389 - Can not enable replication with a mixed case suffix
Issue 5478 - Random crash in connection code during server shutdown (#5479)
Issue 3061 - RFE - Add password policy debug log level
Issue 5302 - Release tarballs don't contain cockpit webapp
Issue 5262 - high contention in find_entry_internal_dn on mixed load (#5264)
Issue 4324 - Revert recursive pthread mutex change (#5463)
Issue 5462 - RFE - add missing default indexes (#5464)
Issue 5465 - Fix dbscan linking (#5466)
Issue 5271 - Serialization of pam_passthrough causing high etimes (#5272)
Issue 5453 - UI/CLI - Changing Root DN breaks UI
Issue 5446 - Fix some covscan issues (#5451)
Issue 4308 - checking if an entry is a referral is expensive
Issue 5447 - UI - add NDN max cache size to UI
Issue 5443 - UI - disable save button while saving
Issue 5413 - Allow only one MemberOf fixup task at a time
Issue 4592 - dscreate error with custom dir_path (#5434)
Issue 5158 - entryuuid fixup tasks fails in replicated topology (#5439)
2022-11-18 08:43:03 -05:00
Mark Reynolds
b82c997263 Update specfile for pcre2-devel 2022-09-20 08:57:50 -04:00
Mark Reynolds
e4421eca14 Bump version to 2.3.0-2
Update old pcre-devel requirement to pcre2-devel
2022-09-20 08:52:26 -04:00
Mark Reynolds
165637f066 Bump version to 2.3.0
Issue 5012 - Migrate pcre to pcre2 - remove match limit
Issue 5356 - Make Rust non-optional and update default password storage scheme
Issue 5012 - Migrate pcre to pcre2
Issue 5428 - Fix regression with nscpEntryWsi computation
Fix missing 'not' in description (closes #5423) (#5424)
Issue 5421 - CI - makes replication/acceptance_test.py::test_modify_entry more robust (#5422)
Issue 3903 - fix repl keep alive event interval
Issue 5418 - Sync_repl may crash while managing invalid cookie (#5420)
Issue 5415 - Hostname when set to localhost causing failures in other tests
Issue 5412 - lib389 - do not set backend name to lowercase
Issue 5407 - sync_repl crashes if enabled while dynamic plugin is enabled (#5411)
Issue 5385 - LMDB - import crash in rdncache_add_elem (#5406)
Issue 5403 - Memory leak in conntection table mulit list (#5404)
Issue 3903 - keep alive update event starts too soon
Issue 5397 - Fix various memory leaks
Issue 5399 - UI - LDAP Editor is not updated when we switch instances (#5400)
Issue 3903 - Supplier should do periodic updates
Issue 5377 - Code cleanup: Fix Covscan invalid reference (#5393)
Issue 5394 - configure doesn't check for lmdb and json-c
Issue 5392 - dscreate fails when using alternative ports in the SELinux hi_reserved_port_t label range
Issue 5386 - BUG - Update sudoers schema to correctly support UTF-8 (#5387)
Issue 5388 - fix use-after-free and deadcode
Issue 5383 - UI - Various fixes and RFE's for UI
Issue 4656 - Remove problematic language from source code
Issue 5380 - Separate cleanAllRUV code into new file
Issue 5322 - optime & wtime on rejected connections is not properly set
Issue 5335 - RFE - Add Security Audit Log
Issue 5375 - CI - disable TLS hostname checking
Issue 981  - Managed Entries betxnpreoperation - transaction not aborted on managed entry failure (#5369)
Issue 5373 - dsidm user get_dn fails with search_ext() argument 1 must be str, not function
Issue 5371 - Update npm and cargo packages
Issue 3069 - Support ECDSA private keys for TLS (#5365)
Issue 5290 - Importing certificate chain files via "import-server-key-cert" no longer works (#5293)
2022-09-01 15:50:20 -04:00
František Zatloukal
d9d24b0ede Rebuilt for ICU 71.1 2022-08-01 15:02:07 +02:00
Fedora Release Engineering
3ff5ed12ac Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 18:22:29 +00:00
Mark Reynolds
459f9c8265 Bump version to 2.2.2
Issue 5221 - fix covscan (#5359)
Issue 5294 - Report Portal 5 is not processing an XML file with (#5358)
Issue 5353 - CLI - dsconf backend export breaks with multiple backends
Issue 5346 - New connection table fails with ASAN failures (#5350)
Issue 5345 - BUG - openldap migration fails when ppolicy is active (#5347)
Issue 5323 - BUG - improve skipping of monitor db (#5340)
Issue 5329 - Improve replication extended op logging
Issue 5343 - Various improvements to winsync
Issue 4932 - CLI - add parser aliases to long arg names
Issue 5332 - BUG - normalise filter as intended
Issue 5327 - Validate test metadata
Issue 4812 - Scalability with high number of connections (#5090)
Issue 4348 - Add tests for dsidm
Issue 5333 - 389-ds-base fails to build with Python 3.11
2022-07-05 12:21:18 -04:00
Python Maint
c3f89a86c3 Rebuilt for Python 3.11 2022-06-16 17:58:54 +02:00
Mark Reynolds
1d58aef426 Bump version to 2.2.1-3
Issue 5332 - BUG - normalise filter as intended
Issue 5327 - Validate test metadata
Issue 4348 - Add tests for dsidm
Bump crossbeam-utils from 0.8.6 to 0.8.8 in /src
Issue 5333 - 389-ds-base fails to build with Python 3.11
2022-06-15 13:45:44 -04:00
Python Maint
7fe71f3ded Rebuilt for Python 3.11 2022-06-13 20:39:22 +02:00
Mark Reynolds
9f03f8a232 Bump version to 2.2.1
Issue 5323 - BUG - Fix issue in mdb tests with monitor (#5326)
Issue 5170 - BUG - incorrect behaviour of filter test (#5315)
Issue 5324 - plugin acceptance test needs hardening
Issue 5319 - dsctl_tls_test.py fails with openssl-3.x
Issue 5323 - BUG - migrating database for monitoring interface lead to crash (#5321)
Issue 5304 - Need a compatibility option about sub suffix handling (#5310)
Issue 5313 - dbgen test uses deprecated -h HOST and -p PORT options for ldapmodify
Issue 5311 - Missing Requires for acl in the spec file
Issue 5305 - OpenLDAP version autodetection doesn't work
Issue 5307 - VERSION_PREREL is not set correctly in CI builds
Issue 5302 - Release tarballs don't contain cockpit webapp
Issue 5170 - RFE - improve filter logging to assist debugging (#5301)
Issue 5299 - jemalloc 5.3 released
Issue 5175 - Remove stale zlib-devel dependency declaration (#5173)
Issue 5294 - Report Portal 5 is not processing test results XML file
Issue 5170 - BUG - ldapsubentries were incorrectly returned (#5285)
Issue 5291 - Harden ReplicationManager.wait_for_replication (#5292)
Issue  379 - RFE - Compress rotated logs (fix linker)
Issue  379 - RFE - Compress rotated logs
Issue 5281 - HIGH - basic test does not run
Issue 5284 - Replication broken after password change (#5286)
Issue 5279 - dscontainer: TypeError: unsupported operand type(s) for /: 'str' and 'int'
Issue 5170 - RFE - Filter optimiser (#5171)
Issue 5276 - CLI - improve task handling
Issue 5126 - Memory leak in slapi_ldap_get_lderrno (#5153)
Issue 3 - ansible-ds - Prefix handling fix (#5275)
Issue 5273 - CLI - add arg completer for instance name
Issue 2893 - CLI - dscreate - add options for setting up replication
Issue 4866 - CLI - when enabling replication set changelog trimming by default
Issue 5241 - UI - Add account locking missing functionality (#5251)
Issue 5180 - snmp_collator tries to unlock NULL mutex (#5266)
Issue 4904 - Fix various small issues
lib389 prerequisite for ansible-ds (#5253)
Issue 5260 - BUG - OpenLDAP allows multiple names of memberof overlay (#5261)
Issue 5252 - During DEL, vlv search can erroneously return NULL candidate (#5256)
Issue 5254 - dscreate create-template regression due to 5a3bdc336 (#5255)
Issue 5210 - Python undefined names in lib389
Issue 5065 - Crash in suite plugins - test_dna_max_value (#5108)
Issue 5247 - BUG - Missing attributes in samba schema (#5248)
Issue 5242- Craft message may crash the server (#5243)
Issue 4775 -plugin entryuuid failing (#5229)
Issue 5239 - Nightly copr builds are broken
Issue 5237 - audit-ci: Cannot convert undefined or null to object
Issue 5234 - UI - rename Users and Groups tab
Issue 5227 - UI - No way to move back to Get Started step (#5233)
Issue 5217 - Simplify instance creation and administration by non root user (#5224)
2022-06-03 14:06:50 -04:00
Viktor Ashirov
0aaf5d460b Remove unused relprefix and prerel macros that break rpmdev-bumpspec logic
During mass rebuilds NVR is bumped by rpmdev-bumpspec. But it can't
handle complex Release: fields such as ours, that has  %{prerel} and
%{relprefix} macros. It adds .1 after the %{dist} macro instead of
increasing the release number.
The issue for rpmdev-bumpspec is unsolved since 2012:
https://pagure.io/rpmdevtools/issue/18

These macros are unused by us and only cause issues when NVR is bumped.
So let's remove them.
2022-06-02 10:26:54 +02:00
Viktor Ashirov
0853e355f9 Update tests.yml
Change upstream repo URL and remove 389-ds-base-legacy-tools package
that is no longer present.
2022-06-02 10:03:30 +02:00
Mark Reynolds
e34784505a Bump version to 2.1.1
Issue 5230 - Race condition in RHDS disk monitoring functions
Issue 4299 - UI - Add CoS funtionality (#5196)
Issue 5225 - UI - impossible to manually set entry cache
Issue 5186 - UI - Fix SASL Mapping regex test feature
Issue 5221 - User with expired password can still login with full privledges
Issue 5218 - double-free of the virtual attribute context in persistent search (#5219)
Issue 5193 - Incomplete ruv occasionally returned from ruv search (#5194)
Issue 5200 - dscontainer should use environment variables with DS_ prefix
Issue 5189 - memberOf plugin exclude subtree not cleaning up groups on modrdn
Issue 5051 - RFE - ADSync flatten tree (#5192)
Issue 5188 - UI - LDAP editor - add entry and group types
Issue 5184 - memberOf does not work correctly with multiple include scopes
Issue 5162 - BUG - error on importing chain files (#5164)
Issue 5186 - UI - Fix SASL Mapping regex validation and other minor improvements
Issue 5048 - Support for nsslapd-tcp-fin-timeout and nsslapd-tcp-keepalive-time (#5179)
Issue 5122 - dsconf instance backend suffix set doesn't accept backend name (#5178)
Issue 5032 - Fix configure option in specfile (#5174)
Issue 5176 - CI rewriter fails when libslapd.so.0 does not exist (#5177)
Issue 5160 - BUG - x- prefix in descr-oid can confuse oid parser (#5161)
Issue 5137 - RFE - improve sssd conf output (#5138)
Issue 5102 - BUG - container may fail with bare uid/gid (#5140)
Issue 5145 - Fix covscan errors
Issue 4721 - UI - attribute uniqueness crashes UI when there are no configs
Issue 5155 - RFE - Provide an option to abort an Auto Member rebuild task
Issue 4299 - UI - Add Role funtionality (#5163)
Issue 5050 - bdb bulk op fails if fs page size > 8K (#5150)
Issue 5149 - Build failure on EL8 - undefined reference to `twalk_r'
Issue 5142 - CLI - dsctl dbgen is broken
Issue 4678 - Added test cases
2022-03-23 11:44:28 -04:00
Mark Reynolds
7a69d01ec0 Bump version to 2.2.0-1
Issue 5230 - Race condition in RHDS disk monitoring functions
Issue 5193 - Incomplete ruv occasionally returned from ruv search (#5194)
Issue 4970 - Add support for recursively deleting subentries
Issue 4299 - UI - Add CoS funtionality (#5196)
Issue 5225 - UI - impossible to manually set entry cache
Issue 5186 - UI - Fix SASL Mapping regex test feature
Issue 5221 - User with expired password can still login with full privledges
Issue 5218 - double-free of the virtual attribute context in persistent search (#5219)
Issue 5214 - CI Test tests/suites/replication/virtual_attribute_replication_test.py (#5215)
Issue 5197 - Build break in lib389 with INSTALL_PREFIX (#5198)
Issue 5200 - dscontainer should use environment variables with DS_ prefix
Issue 5189 - memberOf plugin exclude subtree not cleaning up groups on modrdn
Issue 5051 - RFE - ADSync flatten tree (#5192)
Issue 5188 - UI - LDAP editor - add entry and group types
Issue 5184 - memberOf does not work correctly with multiple include scopes
Issue 5162 - BUG - error on importing chain files (#5164)
Issue 5186 - UI - Fix SASL Mapping regex validation and other minor improvements
Issue 5048 - Support for nsslapd-tcp-fin-timeout and nsslapd-tcp-keepalive-time (#5179)
Issue 5122 - dsconf instance backend suffix set doesn't accept backend name (#5178)
Issue 5032 - Fix configure option in specfile (#5174)
Issue 5176 - CI rewriter fails when libslapd.so.0 does not exist (#5177)
Issue 5160 - BUG - x- prefix in descr-oid can confuse oid parser (#5161)
Issue 5137 - RFE - improve sssd conf output (#5138)
Issue 5102 - BUG - container may fail with bare uid/gid (#5140)
Issue 5145 - Fix covscan errors
Issue 4721 - UI - attribute uniqueness crashes UI when there are no configs
Issue 5155 - RFE - Provide an option to abort an Auto Member rebuild task
Issue 4299 - UI - Add Role funtionality (#5163)
Issue 5050 - bdb bulk op fails if fs page size > 8K (#5150)
Issue 5149 - Build failure on EL8 - undefined reference to `twalk_r'
Issue 5142 - CLI - dsctl dbgen is broken
Issue 4678 - Added test cases
2022-03-23 10:49:59 -04:00
Mark Reynolds
04994aacbb Bump version to 2.1.0-1
Issue 4299 - UI - fix minor issues with ldap editor (table view)
Issue 4299 - UI - fix minor issues with ldap editor
Issue 5103 - UI - Add support for TPR to web console (#5111)
Issue 2790 - RFE - set db home directory to /dev/shm by default
Issue 5127 - ds_selinux_restorecon.sh: always exit 0
Issue 5135 - UI - Disk monitoring threshold does update properly
Issue 5129 - BUG - Incorrect fn signature in add_index (#5130)
Issue 5132 - Update Rust crate lru to fix CVE
Issue 3555 - UI - fix audit issue with npm nanoid
Issue 4299 - UI - Add ACI editing features
Issue 5127 - run restorecon on /dev/shm at server startup
Issue 5124 - dscontainer fails to create an instance
Issue 5098 - Multiple issues around replication and CI test test_online_reinit_may_hang (#5109)
Issue 4939 - Redesign LMDB import (#5071)
Issue 5113 - Increase timestamp precision for development builds
Issue 5115 - AttributeError: type object 'build_manpages' has no attribute 'build_manpages'
Issue 5117 - Revert skipif line from CI test (#5118)
Issue 5102 - BUG - container may fail with bare uid/gid (#5110)
Issue 5077 - UI - Add retrocl exclude attribute functionality (#5078)
Issue 5105 - During a bind, if the target entry is not reachable the operation may complete without sending result (#5107)
Issue 5074 - retro changelog cli updates (#5075)
Issue 3584 - Add is_fips check to password tests (#5100)
Issue 5095 - sync-repl with openldap may send truncated syncUUID (#5099)
Issue 5032 - Fix OpenLDAP version check (#5091)
Issue 5080 - BUG - multiple index types not handled in openldap migration (#5094)
Issue 2929 - Fix github warnings
Issue 5053 - Improve GitHub Actions debugging
Issue 5088 - dsctl dblib broken because of a merge issue (#5089)
Issue 5079 - BUG - multiple ways to specific primary (#5087)
Issue 5085 - Race condition about snmp collator at startup (#5086)
Issue 5082 - slugify: ModuleNotFoundError when running test cases
Issue 4959 - Invalid /etc/hosts setup can cause isLocalHost to fail (#5003)
Issue 5037 - in OpenQA changelog trimming can crashes (#5070)
Issue 5049 - ns-slapd crash in replication/acceptance_test.py (#5063)
Issue 4890 - Need cli to easely get simple performance statistics (#4891)
Issue 5011 - test_replica_backup_and_restore random failure (#5066)
Issue 4299 - UI LDAP editor - add "edit" and "rename" functionality
Issue 5018 - RFE - openSUSE systemd hardening (#5019)
Issue 4962 - Fix various UI bugs - Database and Backups (#5044)
Issue 5055 - Improve core dump detection and collection in PR CI
Issue 4994 - Revert retrocl dependency workaround (#4995)
Issue 5046 - BUG - update concread (#5047)
Issue 5043 - BUG - Result must be used compiler warning (#5045)
Issue 4312 - performance search rate: contention on global monitoring counters (#4940)
Issue 5034 - is_dbi contains an invalid debug message that trigger failure in import_tests (#5035)
Issue 5029 - Unbind generates incorrent closed error message (#5030)
Issue 4165 - Don't apply RootDN access control restrictions to UNIX connections
Issue 4931 - RFE: dsidm - add creation of service accounts
Issue 5024 - BUG - windows ro replica sigsegv (#5027)
Issue 4758 - Add tests for WebUI
Issue 5032 - OpenLDAP is not shipped with non-threaded version of libldap (#5033)
Issue 5038 - BUG - dsconf tls may fail due to incorrect cert path (#5039)
Issue 5020 - BUG - improve clarity of posix win sync logging (#5021)
Issue 5011 - test_replica_backup_and_restore random failure (#5028)
Issue 5025 - RFE - remove useless logging (#5026)
Issue 5008 - If a non critical plugin can not be loaded/initialized, bootstrap should succeeds (#5009)
Issue 4962 - Fix various UI bugs - Settings and Monitor (#5016)
Issue 4976 - Failure in suites/import/import_test.py::test_fast_slow_import (#5017)
Issue 5014 - UI - Add group creation to LDAP editor
Issue 5006 - UI - LDAP editor tree not being properly updated
Issue 4923 - issue about LMDB dbi versus txn handling (#4924)
Issue 5001 - Update CI test for new availableSASLMechs attribute
Issue 4959 - Invalid /etc/hosts setup can cause isLocalHost to fail.
Issue 5001 - Fix next round of UI bugs:
Issue 4962 - Fix various UI bugs - dsctl and ciphers (#5000)
Issue 4734 - ldif2db - import of entry with no parent doesnt generate a warning
Issue 4778 - [RFE] Schedule execution of "compactdb" at specific date/time
Issue 4978 - use more portable python command for checking containers
Issue 4990 - CI tests: improve robustness of fourwaymmr (#4991)
Issue 4992 - BUG - slapd.socket container fix (#4993)
Issue 4984 - BUG - pid file handling (#4986)
Issue 4460 - python3-lib389 ignore the configuration parameters from … (#4906)
Issue 4982 - BUG - missing inttypes.h (#4983)
Issue 4758 - Add tests for WebUI
Issue 4972 - gecos with IA5 introduces a compatibility issue with previous (#4981)
Issue 4096 - Missing perl dependencies for logconv.pl
Issue 4758 - Add tests for WebUI
Issue 4978 - make installer robust
Issue 4898 - Implement bdb to lmdb CLI migration tools (#4952)
Issue 4976 - Failure in suites/import/import_test.py::test_fast_slow_import
Issue 4973 - update snmp to use /run/dirsrv for PID file
Issue 4973 - installer changes permissions on /run
Issue 4959 - BUG - Invalid /etc/hosts setup can cause isLocalHost (#4960)
Issue 4962 - Fix various UI bugs - Plugins (#4969)
Issue 4092 - systemd-tmpfiles warnings
Issue 4956 - Automember allows invalid regex, and does not log proper error
Issue 4731 - Promoting/demoting a replica can crash the server
Issue 4962 - Fix various UI bugs part 1
Issue 3584 - Fix PBKDF2_SHA256 hashing in FIPS mode (#4949)
Issue 4943 - Fix csn generator to limit time skew drift (#4946)
Issue 4954 - pytest is killed by OOM killer when the whole test suite is executed
Issue 2790 - Set db home directory by default
Issue 4299 - Merge LDAP editor code into Cockpit UI
Issue 4938 - max_failure_count can be reached in dscontainer on slow machine with missing debug exception trace
Issue 4921 - logconv.pl -j: Use of uninitialized value (#4922)
Issue 4896 - improve CI tests report in case of SERVER_DOWN exception (#4897)
Issue 4678 - RFE automatique disable of virtual attribute checking (#4918)
Issue 4847 - BUG - potential deadlock in replica (#4936)
Issue 4513 - fix ACI CI tests involving ip/hostname rules
Issue 4925 - Performance ACI: targetfilter evaluation result can be reused (#4926)
Issue 4916 - Memory leak in ldap-agent
Issue 4656 DS Remove problematic language from CLI tools and UI (#4893)
Issue 4908 - Updated several dsconf --help entries (typos, wrong descriptions, etc.)
Issue 4912 - Account Policy plugin does not set the config entry DN
Issue 4863 - typoes in logconv.pl
Issue 4796 - Add support for nsslapd-state to CLI & UI
Issue 4894 - IPA failure in ipa user-del --preserve (#4907)
Issue 4914 - BUG - resolve duplicate stderr with clang (#4915)
Issue 4912 - dsidm command crashing when account policy plugin is enabled
Issue 4910 - db reindex corrupts RUV tombstone nsuiqueid index
Issue 4577 - Add GitHub actions
Issue 4901 - Add COPR integration
Issue 4869 - Fix retro cl trimming misuse of monotonic/realtime clocks
Issue 4889 - bdb lock deadlock while reindex/import vlv index (#4892)
Issue 4773 - Extend CI tests for DNA interval assignment
Issue 4887 - UI - fix minor regression from camelCase fixup
Issue 4887 - UI - Update webpack.config.js and package.json
Issue 4725 [RFE] DS - Update the password policy to support Temporary Password Rules (#4853)
Issue 4149 - UI - Migrate the remaining components to PF4
Issue 4169 - Migrate Replication & Schema tabs to PF4
Issue 4875 - CLI - Add some verbosity to installer
Issue 4884 - server crashes when dnaInterval attribute is set to zero
Issue 4880: Revert removed_config_49298_test.py wrongly modified by issue 4699 (#4881)
Issue 4699 - backend redesign phase 4 - db-mdb plugin implementation (#4716)
Issue 4877 - RFE - EntryUUID to validate UUIDs on fixup (#4878)
Issue 4872 - BUG - entryuuid enabled by default causes replication issues (#4876)
Issue 4775 - Add entryuuid CLI and Fixup (#4776)
Issue 4763 - Attribute Uniqueness Plugin uses wrong subtree on ModRDN (#4871)
Issue 4851 - Typos in "dsconf pwpolicy set --help" (#4867)
Issue 4096 - Missing perl dependencies for logconv.pl
Issue 4736 - lib389 - fix regression in certutil error checking
2022-02-02 13:52:00 -05:00
Adam Williamson
2ad9ed3121 Add patch file missing from last commit 2022-01-27 12:31:35 -08:00
Adam Williamson
1611a2fcbf Backport #5141, fix startup when directory doesn't exist (#2047323) 2022-01-27 11:21:43 -08:00
Viktor Ashirov
0dd8948e7c Use Rust 2018 edition for concread on EL8 2022-01-25 16:25:35 +01:00
Mark Reynolds
0074e3f5ba Bump version to 2.0.13
Issue 5132 - Update Rust crate lru to fix CVE
Issue 3555 - UI - fix audit issue with npm nanoid
Issue 4299 - UI - Add ACI editing features
Issue 4299 - UI - LDAP editor - add "edit" and "rename" functionality
Issue 5127 - run restorecon on /dev/shm at server startup
Issue 5124 - dscontainer fails to create an instance
Issue 4312 - fix compiler warnings
Issue 5115 - AttributeError: type object 'build_manpages' has no attribute 'build_manpages'
Issue 4312 - performance search rate: contention on global monitoring counters (#4940)
Issue 5105 - During a bind, if the target entry is not reachable the operation may complete without sending result (#5107)
Issue 5095 - sync-repl with openldap may send truncated syncUUID (#5099)
Issue 3584 - Add is_fips check to password tests (#5100)
Issue 5074 - retro changelog cli updates (#5075)
Issue 4994 - Revert retrocl dependency workaround (#4995)
2022-01-24 14:00:05 -05:00
Fedora Release Engineering
c532bb9b68 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 19:09:45 +00:00
Mark Reynolds
2351af3f1f Bump version to 2.0.12-1
Issue 4299 - UI LDAP editor - add "edit" and "rename" functionality
Issue 4962 - Fix various UI bugs - Database and Backups (#5044)
Issue 5046 - BUG - update concread (#5047)
Issue 5043 - BUG - Result must be used compiler warning (#5045)
Issue 4165 - Don't apply RootDN access control restrictions to UNIX connections
Issue 4931 - RFE: dsidm - add creation of service accounts
Issue 5024 - BUG - windows ro replica sigsegv (#5027)
Issue 5020 - BUG - improve clarity of posix win sync logging (#5021)
Issue 5008 - If a non critical plugin can not be loaded/initialized, bootstrap should succeeds (#5009)
2021-12-16 17:30:03 -05:00
Mark Reynolds
3d04292979 Bump version to 2.0.11
Issue 4962 - Fix various UI bugs - Settings and Monitor (#5016)
Issue 5014 - UI - Add group creation to LDAP editor
Issue 5006 - UI - LDAP editor tree not being properly updated
Issue 5001 - Update CI test for new availableSASLMechs attribute
Issue 4959 - Invalid /etc/hosts setup can cause isLocalHost to fail.
Issue 5001 - Fix next round of UI bugs:
Issue 4962 - Fix various UI bugs - dsctl and ciphers (#5000)
Issue 4978 - use more portable python command for checking containers
Issue 4678 - RFE automatique disable of virtual attribute checking (#4918)
Issue 4972 - gecos with IA5 introduces a compatibility issue with previous (#4981)
Issue 4978 - make installer robust
Issue 4976 - Failure in suites/import/import_test.py::test_fast_slow_import
Issue 4973 - update snmp to use /run/dirsrv for PID file
Issue 4962 - Fix various UI bugs - Plugins (#4969)
Issue 4973 - installer changes permissions on /run
Issue 4092 - systemd-tmpfiles warnings
Issue 4956 - Automember allows invalid regex, and does not log proper error
Issue 4731 - Promoting/demoting a replica can crash the server
Issue 4962 - Fix various UI bugs part 1
Issue 3584 - Fix PBKDF2_SHA256 hashing in FIPS mode (#4949)
Issue 4943 - Fix csn generator to limit time skew drift (#4946)
Issue 2790 - Set db home directory by default
Issue 4299 - Merge LDAP editor code into Cockpit UI
Issue 4938 - max_failure_count can be reached in dscontainer on slow machine with missing debug exception trace
Issue 4921 - logconv.pl -j: Use of uninitialized value (#4922)
Issue 4847 - BUG - potential deadlock in replica (#4936)
Issue 4513 - fix ACI CI tests involving ip/hostname rules
Issue 4925 - Performance ACI: targetfilter evaluation result can be reused (#4926)
Issue 4916 - Memory leak in ldap-agent
2021-11-22 20:08:03 -05:00
Viktor Ashirov
da1ce1e0f7 Use split perl dependencies only on Fedora >= 33 and RHEL >= 9
Resolves rhbz#2016595
2021-11-04 08:46:38 +01:00
Mark Reynolds
f6889418c5 Bump version to 2.0.10
Issue 4908 - Updated several dsconf --help entries (typos, wrong descriptions, etc.)
Issue 4912 - Account Policy plugin does not set the config entry DN
Issue 4863 - typoes in logconv.pl
Issue 4796 - Add support for nsslapd-state to CLI & UI
Issue 4894 - IPA failure in ipa user-del --preserve (#4907)
Issue 4912 - dsidm command crashing when account policy plugin is enabled
Issue 4910 - db reindex corrupts RUV tombstone nsuiqueid index
Issue 4869 - Fix retro cl trimming misuse of monotonic/realtime clocks
Issue 4887 - UI - fix minor regression from camelCase fixup
2021-09-20 09:54:09 -04:00
Sahana Prasad
839c0c7eb1 Rebuilt with OpenSSL 3.0.0 2021-09-14 19:19:06 +02:00
Fedora Release Engineering
1feedc33f2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 15:35:24 +00:00
Fedora Release Engineering
a8e72d4ac4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 10:40:58 +00:00
Mark Reynolds
7466cff129 Bump version to 2.0.7
Issue 4443 - Internal unindexed searches in syncrepl/retro changelog
Issue 4603 - Reindexing a single backend (#4831)
Issue 4169 - UI - migrate Server Tab forms to PF4
Issue 4817 - BUG - locked crypt accounts on import may allow all passwords (#4819)
Issue 4820 - RFE - control flow integrity (#4821)
Issue 4706 - negative wtime for compare operations (#4780)
Issue 4414 - SIGFPE crash in rhds disk monitoring routine (#4829)
Issue 4262 - Fix Index out of bound in fractional test (#4828)
Issue 4826 - Filter argparse-manpage from autogenerated requires
Issue 4822 - Fix CI temporary password: fixture leftover breaks them (#4823)
Issue 2820 - Fix CI test suite issues
2021-07-15 14:24:25 -04:00
Thierry Bordaz
831791b49b Bump version to 2.0.6
Issue 4803 - Improve DB Locks Monitoring Feature Descriptions
Issue 4803 - Improve DB Locks Monitoring Feature Descriptions (#4810)
Issue 4169 - UI - Migrate Typeaheads to PF4 (#4808)
Issue 4414 - disk monitoring - prevent division by zero crash
Issue 4788 - CLI should support Temporary Password Rules attributes (#4793)
Issue 4656 - Fix replication plugin rename dependency issues
Issue 4656 - replication name change upgrade code causes crash with dynamic plugins
Issue 4506 - Improve SASL logging
Issue 4709 - Fix double free in dbscan
Issue 4093 - Fix MEP test case
Issue 4747 - Remove unstable/unstatus tests (followup) (#4809)
Issue 4791 - Missing dependency for RetroCL RFE (#4792)
Issue 4794 - BUG - don't capture container output (#4798)
Issue 4593 - Log an additional message if the server certificate nickname doesn't match nsSSLPersonalitySSL value
Issue 4797 - ACL IP ADDRESS evaluation may corrupt c_isreplication_session connection flags (#4799)
Issue 4169 - UI Migrate checkbox to PF4 (#4769)
Issue 4447 - Crash when the Referential Integrity log is manually edited
Issue 4773 - Add CI test for DNA interval assignment
Issue 4789 - Temporary password rules are not enforce with local password policy (#4790)
Issue 4379 - fixing regression in test_info_disclosure
Issue 4379 - Allow more than 1 empty AttributeDescription for ldapsearch, without the risk of denial of service
Issue 4379 - Allow more than 1 empty AttributeDescription for ldapsearch, without the risk of denial of service
Issue 4575 Update test docstrings metadata
Issue 4753 - Adjust our tests to 389-ds-base-snmp missing in RHEL 9 Appstream
removed the snmp_present() from utils.py as we have get_rpm_version() in conftest.py
Issue 4753 - Adjust our tests to 389-ds-base-snmp missing in RHEL 9 Appstream
2021-06-24 11:20:43 +02:00
Python Maint
d1e505dec6 Rebuilt for Python 3.10 2021-06-04 19:58:51 +02:00
Mark Reynolds
4b440cd4f3 Bump version to 2.0.5
Issue 4778 - RFE - Allow setting TOD for db compaction and add task
Issue 4169 - UI - Port plugin tables to PF4
Issue 4656 - Allow backward compatilbity for replication plugin name change
Issue 4764 - replicated operation sometime checks ACI (#4783)
Issue 2820 - Fix CI test suite issues
Issue 4781 - There are some typos in man-pages
Issue 4773 - Enable interval feature of DNA plugin
Issue 4623 - RFE - Monitor the current DB locks (#4762)
Issue 3555 - Fix UI audit issue
Issue 4725 - Fix compiler warnings
Issue 4770 - Lower FIPS logging severity
Issue 4765 - database suffix unexpectdly changed from .db to .db4 (#4766)
Issue 4725 - [RFE] DS - Update the password policy to support a Temporary Password Rules (#4727)
Issue 4747 - Remove unstable/unstatus tests from PRCI (#4748)
Issue 4759 - Fix coverity issue (#4760)
Issue 4169 - UI - Migrate Buttons to PF4 (#4745)
Issue 4714 - dscontainer fails with rootless podman
Issue 4750 - Fix compiler warning in retrocl (#4751)
Issue 4742 - UI - should always use LDAPI path when calling CLI
Issue 4169 - UI - Migrate Server, Security, and Schema tables to PF4
Issue 4667 - incorrect accounting of readers in vattr rwlock (#4732)
Issue 4701 - RFE - Exclude attributes from retro changelog (#4723)
Issue 4740 - Fix CI lib389 userPwdPolicy and subtreePwdPolicy (#4741)
Issue 4711 - SIGSEV with sync_repl (#4738)
Issue 4734 - import of entry with no parent warning (#4735)
Issue 4729 - GitHub Actions fails to run pytest tests
Issue 4656 - Remove problematic language from source code
Issue 4632 - dscontainer: SyntaxWarning: "is" with a literal.
Issue 4169 - UI - migrate replication tables to PF4
Issue 4637 - ndn cache leak (#4724)
Issue 4577 - Fix ASAN flags in specfile
Issue 4169 - UI - PF4 migration - database tables
issue 4653 - refactor ldbm backend to allow replacement of BDB - phase 3e - dbscan (#4709)
2021-05-30 10:14:25 -04:00
Christian Heimes
7a744575fa Enable interval feature of DNA plugin (resolves: rhbz#1962671) 2021-05-20 16:12:01 +02:00
Pete Walter
7f1440cb1e Rebuild for ICU 69 2021-05-20 00:52:28 +01:00
Pete Walter
b7bca6f86e Rebuild for ICU 69 2021-05-19 16:43:41 +01:00
Thierry Bordaz
b8d7d0ed50 Issue 4765 - database suffix unexpectdly changed from .db to .db4 (#4766) 2021-05-19 15:04:22 +02:00
Thierry Bordaz
cf285c29b1 Bump version to 2.0.4.3
Issue 4765 - database suffix unexpectdly changed from .db to .db4 (#4766)
2021-05-19 11:08:55 +02:00
Viktor Ashirov
0b0735d132 Fix NVR 2021-05-07 10:09:32 +02:00
Simon Pichugin
a04e9ff8f7 Add Rust bundled Provides and Update License 2021-04-09 12:19:12 +02:00
Thierry Bordaz
fa350ec502 Bump version to 2.0.4
Issue 4680 - 389ds coredump (@389ds/389-ds-base-nightly) in replica install with CA (#4715)
Issue 3965 - RFE - Implement the Password Policy attribute "pwdReset" (#4713)
Issue 4700 - Regression in winsync replication agreement (#4712)
Issue 3965 - RFE - Implement the Password Policy attribute "pwdReset" (#4710)
Issue 4169 - UI - migrate monitor tables to PF4
issue 4585 - backend redesign phase 3c - dbregion test removal (#4665)
Issue 2736 - remove remaining perl references
Issue 2736 - https://github.com/389ds/389-ds-base/issues/2736
Issue 4706 - negative wtime in access log for CMP operations
Issue 3585 - LDAP server returning controltype in different sequence
Issue 4127 - With Accounts/Account module delete fuction is not working (#4697)
Issue 4666 - BUG - cb_ping_farm can fail with anonymous binds disabled (#4669)
Issue 4671 - UI - Fix browser crashes
Issue 4169 - UI - Add PF4 charts for server stats
Issue 4648 - Fix some issues and improvement around CI tests (#4651)
Issue  4654  Updates to tickets/ticket48234_test.py  (#4654)
Issue 4229 - Fix Rust linking
Issue 4673 - Update Rust crates
Issue 4658 - monitor - connection start date is incorrect
Issue 4169 - UI - migrate modals to PF4
Issue 4656 - remove problematic language from ds-replcheck
Issue 4459 - lib389 - Default paths should use dse.ldif if the server is down
Issue 4656 - Remove problematic language from UI/CLI/lib389
Issue 4661 - RFE - allow importing openldap schemas (#4662)
Issue 4659 - restart after openldap migration to enable plugins (#4660)
Merge pull request #4664 from mreynolds389/issue4663
issue 4552 - Backup Redesign phase 3b - use dbimpl in replicatin plugin (#4622)
Issue 4643 - Add a tool that generates Rust dependencies for a specfile (#4645)
Issue 4646 - CLI/UI - revise DNA plugin management
Issue 4644 - Large updates can reset the CLcache to the beginning of the changelog (#4647)
Issue 4649 - crash in sync_repl when a MODRDN create a cenotaph (#4652)
Issue 4169 - UI - Migrate alerts to PF4
Issue 4169 - UI - Migrate Accordians to PF4 ExpandableSection
Issue 4595 - Paged search lookthroughlimit bug (#4602)
Issue 4169 - UI - port charts to PF4
Issue 2820 - Fix CI test suite issues
Issue 4513 - CI - make acl ip address tests more robust
2021-04-08 18:50:11 +02:00
Zbigniew Jędrzejewski-Szmek
94b5c174c1 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:14:14 +01:00
Alexander Bokovoy
d593e73a4a Remove a revert of the fix for Issue 4609
- CVE - info disclosure when authenticating(breaks Dogtag)
- Dogtag has fixed own code that failed in the presence of the fix for Issue 4609
2021-02-26 21:21:00 +02:00
Mark Reynolds
cbe869776a Bump version to 2.0.3-2
Revert Issue 4609 - CVE - info disclosure when authenticating(breaks DogTag)
2021-02-26 21:21:00 +02:00
Mark Reynolds
5a5753301e Bump version to 2.0.3
Issue 4619 - remove pytest requirement from lib389
Issue 4615 - log message when psearch first exceeds max threads per conn
Issue 4469 - Backend redesing phase 3a - implement dbimpl API and use it in back-ldbm (#4618)
Issue 4324 - Some architectures the cache line size file does not exist
Issue 4593 - RFE - Print help when nsSSLPersonalitySSL is not found (#4614)
Issue 4469 - Backend redesign phase 3a - bdb dependency removal from back-ldbm
PR 4564 - Update dscontainer
Issue 4149 - UI - port TreeView and opther components to PF4
Issue 4577 - Add GitHub actions
Issue 4591 - RFE - improve openldap_to_ds help and features (#4607)
issue 4612 - Fix pytest fourwaymmr_test for non root user (#4613)
Issue 4609 - CVE - info disclosure when authenticating
Issue 4348 - Add tests for dsidm
Issue 4571 - Stale libdb-utils dependency
Issue 4600 - performance modify rate: reduce lock contention on the object extension factory (#4601)
Issue 4577 - Add GitHub actions
Issue 4588 - BUG - unable to compile without xcrypt (#4589)
Issue 4579 - libasan detects heap-use-after-free in URP test (#4584)
Issue 4581 - A failed re-indexing leaves the database in broken state (#4582)
Issue 4348 - Add tests for dsidm
Issue 4577 - Add GitHub actions
Issue 4563 - Failure on s390x: 'Fails to split RDN "o=pki-tomcat-CA" into components' (#4573)
Issue 4093 - fix compiler warnings and update doxygen
Issue 4575 - Update test docstrings metadata
Issue 4526 - sync_repl: when completing an operation in the pending list, it can select the wrong operation (#4553)
Issue 4324 - Performance search rate: change entry cache monitor to recursive pthread mutex (#4569)
Issue 4513 - Add DS version check to SSL version test (#4570)
Issue 5442 - Search results are different between RHDS10 and RHDS11
Issue 4396 - Minor memory leak in backend (#4558)
Issue 4513 - Fix replication CI test failures (#4557)
Issue 4513 - Fix replication CI test failures (#4557)
Issue 4153 - Added a CI test (#4556)
Issue 4506 - BUG - fix oob alloc for fds (#4555)
Issue 4548 - CLI - dsconf needs better root DN access control plugin validation
Issue 4506 - Temporary fix for io issues (#4516)
Issue 4535 - lib389 - Fix log function in backends.py
Issue 4534 - libasan read buffer overflow in filtercmp (#4541)
Issue 4544 - Compiler warnings on krb5 functions (#4545)
Update rpm.mk for RUST tarballs
2021-02-26 21:21:00 +02:00
Fedora Release Engineering
f841ce7ce5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-25 22:12:41 +00:00
Mark Reynolds
a5985f5eb8 Bump version to 2.0.2
Issue 4539 - BUG - no such file if no overlays in openldap during migration (#4540)
Issue 4528 - Fix cn=monitor SCOPE_ONE search (#4529)
Issue 4535 - lib389 - healthcheck throws exception if backend is not replicated
Issue 4537 - Use KRB5_CLIENT_KTNAME for client keytabs (#4523)
Issue 4513 - CI Tests - fix test failures
Issue 4504 - insure that repl_monitor_test use ldapi (for RHEL) - fix merge issue (#4533)
Issue 4315 - performance search rate: nagle triggers high rate of setsocketopt
Issue 4504 - pytest test_dsconf_replication_monitor fails on RHEL - Fix merging issue (#4530)
Issue 4504 - Insure ldapi is enabled in repl_monitor_test.py (Needed on RHEL) (#4527)
Issue 4506 - BUG - Fix bounds on fd table population (#4520)
Issue 4521 - DS crash in deref plugin if dereferenced entry exists but is not returned by internal search (#4525)
Issue 4219 - Log internal unindexed searches (notes=A)
Issue 4384 - Separate eventq into REALTIME and MONOTONIC
Issue 4381 - RFE - LDAPI authentication DN rewritter
Issue 4513 - Fix schema test and lib389 task module (#4514)
Issue 4414 - disk monitoring - prevent division by zero crash
Issue 4517 - BUG: Multiple systemd pin warnings (#4518)
Issue 4507 - Improve csngen testing task (#4508)
Issue 4498 - BUG - entryuuid replication may not work (#4503)
Issue 4480 - Unexpected info returned to ldap request (#4491)
Issue 4504 - Fix pytest test_dsconf_replication_monitor (#4505)
Issue 4373 - BUG - one line cleanup, free results in mt if ent 0 (#4502)
Issue 4500 - Add cockpit enabling to dsctl
Issue 4272 - RFE - add support for gost-yescrypt for hashing passwords (#4497)
Issue 1795 - RFE - Enable logging for libldap and libber in error log (#4481)
Issue 3522 - Remove DES to AES conversion code
Issue 4492 - Changelog cache can upload updates from a wrong starting point (CSN) (#4493)
Issue 4373 - BUG - calloc of size 0 in MT build (#4496)
Issue 4483 - heap-use-after-free in slapi_be_getsuffix
Issue 4486 - Remove random ldif file generation from import test (#4487)
Issue 4224 - cleanup specfile after libsds removal
Issue 4421 - Unable to build with Rust enabled in closed environment
Issue 4489 - Remove return statement from a void function (#4490)
Issue 4229 - RFE - Improve rust linking and build performance (#4474)
Issue 4224 - openldap can become confused with entryuuid
Issue 4313 - improve tests and improve readme re refdel
Issue 4313 - fix potential syncrepl data corruption
Issue 4419 - Warn users of skipped entries during ldif2db online import (#4476)
Issue 4243 - Fix test (4th): SyncRepl plugin provides a wrong (#4475)
Issue 4315 - performance search rate: nagle triggers high rate of setsocketopt (#4437)
Issue 4460 - BUG - add machine name to subject alt names in SSCA (#4472)
Issue 4446 - RFE - openldap password hashers
Issue 4284 - dsidm fails to delete an organizationalUnit entry
Issue 4243 - Fix test: SyncRepl plugin provides a wrong cookie (#4466) (#4466)
Issue 4464 - RFE - clang with ds+asan+rust
Issue 4105 - Remove python.six (fix regression)
Issue 4384 - Use MONOTONIC clock for all timing events and conditions
Issue 4418 - ldif2db - offline. Warn the user of skipped entries
Issue 4243 - Fix test: SyncRepl plugin provides a wrong cookie (#4467)
Issue 4460 - BUG  - lib389 should use system tls policy
Issue 3657 - Add options to dsctl for dsrc file
Issue 4454 - RFE - fix version numbers to allow object caching
Issue 3986 - UI - Handle objectclasses that do not have X-ORIGIN set
Issue 4297 - 2nd fix for on ADD replication URP issue internal searches with filter containing unescaped chars (#4439)
Issue 4112 - Added a CI test (#4441)
Issue 4449 - dsconf replication monitor fails to retrieve database RUV - consumer (Unavailable) (#4451)
Issue 4105 - Remove python.six from lib389 (#4456)
Issue 4440 - BUG - ldifgen with --start-idx option fails with unsupported operand (#4444)
Issue 4410 - RFE - ndn cache with arc in rust
Issue 4373 - BUG - Mapping Tree nodes can be created that are invalid
Issue 4428 - BUG Paged Results with critical false causes sigsegv in chaining
Issue 4428 - Paged Results with Chaining Test Case
Issue 2054 - do not add referrals for masters with different data generation
Issue 4383 - Do not normalize escaped spaces in a DN
Issue 4432 - After a failed online import the next imports are very slow
Issue 4316 - performance search rate: useless poll on network send callback (#4424)
Issue 4281 - dsidm user status fails with Error: 'nsUserAccount' object has no attribute 'is_locked'
Issue 4429 - NULL dereference in revert_cache()
Issue 4412 - Fix CLI repl-agmt requirement for parameters (#4422)
Issue 4407 - RFE - remove http client and presence plugin (#4409)
Issue 4398 - build problems at alpine linux
Issue 4415 - unable to query schema if there are extra parenthesis
2021-01-14 16:42:31 -05:00
Tom Stellard
e0d848b767 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-15 01:01:35 +00:00
Mark Reynolds
ded5ac3473 Bump version to 2.0.1
Issue 4420 - change NVR to use X.X.X instead of X.X.X.X
Issue 4391 - DSE config modify does not call be_postop (#4394)
Issue 4218 - Verify the new wtime and optime access log keywords (#4397)
Issue 4176 - CL trimming causes high CPU
Issue 2058 - Add keep alive entry after on-line initialization - second version (#4399)
Issue 4403 - RFE - OpenLDAP pw hash migration tests (#4408)
2020-11-03 14:08:49 -05:00
Mark Reynolds
d9f3efb8f9 Bump version to 1.4.5.0
Issue 2526 - revert backend validation check
Issue 4262 - more perl removal cleanup
Issue 2526 - retrocl backend created out of order
2020-10-28 12:42:10 -04:00
Mark Reynolds
aa29d088bc Bump version to 1.4.5.0
Issue 2526 - revert backend validation check
Issue 4262 - more perl removal cleanup
Issue 2526 - retrocl backend created out of order
2020-10-28 12:41:33 -04:00
Adam Williamson
6c4e197d98 Backport fix for Issue 2526 - retrocl backend created out of order 2020-10-27 16:18:54 -07:00
Mark Reynolds
1aab708f1c Bump version to 1.4.4.6
Issue 4262 - Remove legacy tools subpackage (final cleanup)
Issue 4262 - Remove legacy tools subpackage (restart instances after rpm install)
Issue 4262 - Remove legacy tools subpackage
Issue 2526 - revert API change in slapi_be_getsuffix()
Issue 4363 - Sync repl: per thread structure was incorrectly initialized (#4395)
Issue 4392 - Update create_test.py
Issue 2820 - Fix CI tests (#4365)
Issue 2526 - suffix management in backends incorrect
Issue 4389 - errors log with incorrectly formatted message parent_update_on_childchange
Issue 4295 - Fix a closing quote issue (#4386)
Issue 1199 - Misleading message in access log for idle timeout (#4385)
Issue 3600 - RFE - openldap migration tooling (#4318)
Issue 4176 - import ldif2cl task should not close all changelogs
Issue 4159 - Healthcheck code DSBLE0002 not returned on disabled suffix
Issue 4379 - allow more than 1 empty AttributeDescription for ldapsearch, without the risk of denial of service (#4380)
Issue 4329 - Sync repl - if a serie of updates target the same entry then the cookie get wrong changenumber (#4356)
Issue 3555 - Fix npm audit issues (#4370)
Issue 4372 - BUG - Chaining DB did not validate bind mech parameters (#4374)
Issue 4334 - RFE - Task timeout may cause larger dataset imports to fail (#4359)
Issue 4361 - RFE - add - dscreate --advanced flag to avoid user confusion
Issue 4368 - ds-replcheck crashes when processing glue entries
Issue 4366 - lib389 - Fix account status inactivity checks
Issue 4265 - UI - Make the secondary plugins read-only (#4364)
Issue 4360 - password policy max sequence sets is not working as expected
Issue 4348 - Add tests for dsidm
Issue 4350 - One line, fix invalid type error in tls_cacertdir check (#4358)
2020-10-26 17:06:43 -04:00
Zbigniew Jędrzejewski-Szmek
4c8bec71a8 Rebuilt for libevent 2.1.12 (#2)
See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/QOQW2BJBYMTIEUQIAYVEIX2L5IIOHDZL/
2020-09-29 22:52:45 +02:00
Zbigniew Jędrzejewski-Szmek
d0f06efd68 Rebuilt for libevent 2.1.12
See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/QOQW2BJBYMTIEUQIAYVEIX2L5IIOHDZL/
2020-09-29 20:25:49 +02:00
Josef Řídký
38cce89794 Rebuilt for new net-snmp release 2020-08-27 14:12:00 +02:00
Fedora Release Engineering
598927ac1b - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 10:09:46 +00:00
Mark Reynolds
75facac545 Bump version to 1.4.4.4
Issue 51175 - resolve plugin name leaking
Issue 51187 - UI - stop importing Cockpit's PF css
Issue 51192 - Add option to reject internal unindexed searches
Issue 50840 - Fix test docstrings metadata-1
Issue 50840 - Fix test docstrings metadata
Issue 50980 - fix foo_filter_rewrite
Issue 51165 - add more logconv stats for the new access log keywords
Issue 50928 - Unable to create a suffix with countryName either via dscreate or the admin console
Issue 51188 - db2ldif crashes when LDIF file can't be accessed
Issue 50545 - Port remaining legacy tools to new python CLI
Issue 51165 - add new access log keywords for wtime and optime
Issue 49761 - Fix CI test suite issues ( Port remaning acceptance test suit part 1)
Issue 51070 - Port Import TET module to python3 part2
Issue 51142 - Port manage Entry TET suit to python 3 part 1
Issue 50860 - Port Password Policy test cases from TET to python3 final
Issue 50696 - Fix Allowed and Denied Ciphers lists - WebUI
Issue 51169 - UI - attr uniqueness - selecting empty subtree crashes cockpit
Issue 49256 - log warning when thread number is very different from autotuned value
Issue 51157 - Reindex task may create abandoned index file
Issue 50873 - Fix issues with healthcheck tool
Issue 50860 - Port Password Policy test cases from TET to python3 part2
Issue 51166 - Log an error when a search is fully unindexed
Issue 50544 - OpenLDAP syncrepl compatability
Issue 51161 - fix SLE15.2 install issps
Issue 49999 - rpm.mk build-cockpit should clean cockpit_dist first
Issue 51144 - dsctl fails with instance names that contain slapd-
Issue 51155 - Fix OID for sambaConfig objectclass
Issue 51159 - dsidm ou delete fails
Issue 50984 - Memory leaks in disk monitoring
Issue 51131 - improve mutex alloc in conntable
Issue 49761 - Fix CI tests
Issue 49859 - A distinguished value can be missing in an entry
Issue 50791 - Healthcheck should look for notes=A/F in access log
Issue 51072 - Set the default minimum worker threads
Issue 51140 - missing ifdef
Issue 50912 - pwdReset can be modified by a user
Issue 50781 - Make building cockpit plugin optional
Issue 51100 - Correct numSubordinates value for cn=monitor
Issue 51136 - dsctl and dsidm do not errors correctly when using JSON
Issue 137 - fix compiler warning
Issue 50781 - Make building cockpit plugin optional
Issue 51132 - Winsync setting winSyncWindowsFilter not working as expected
Issue 51034 - labeledURIObject
Issue 50545 - Port remaining legacy tools to new python CLI
Issue 50889 - Extract pem files into a private namespace
Issue 137 - Implement EntryUUID plugin
Issue 51072 - improve autotune defaults
Issue 51115 - enable samba3.ldif by default
Issue 51118 - UI - improve modal validation when creating an instance
Issue 50746 - Add option to healthcheck to list all the lint reports
2020-07-08 17:26:26 -04:00
Jitka Plesnikova
4e54c25b29 Perl 5.32 rebuild 2020-06-22 19:32:08 +02:00
Mark Reynolds
08950f906b Bump version to 1.4.4.3
Issue 50931 - RFE AD filter rewriter for ObjectCategory
Issue 50860 - Port Password Policy test cases from TET to python3 part1
Issue 51113 - Allow using uid for replication manager entry
Issue 51095 - abort operation if CSN can not be generated
Issue 51110 - Fix ASAN ODR warnings
Issue 49850 - ldbm_get_nonleaf_ids() painfully slow for databases with many non-leaf entries
Issue 51102 - RFE - ds-replcheck - make online timeout configurable
Issue 51076 - remove unnecessary slapi entry dups
Issue 51086 - Improve dscreate instance name validation
Issue:51070 - Port Import TET module to python3 part1
Issue 51037 - compiler warning
Issue 50989 - ignore pid when it is ourself in protect_db
Issue 51037 - RFE AD filter rewriter for ObjectSID
Issue 50499 - Fix some npm audit issues
Issue 51091 - healthcheck json report fails when mapping tree is deleted
Issue 51079 - container pid start and stop issues
Issue 49761 - Fix CI tests
Issue 50610 - Fix return code when it's nothing to free
Issue 50610 - memory leaks in dbscan and changelog encryption
Issue 51076 - prevent unnecessarily duplication of the target entry
Issue 50940 - Permissions of some shipped directories may change over time
Issue 50873 - Fix issues with healthcheck tool
Issue 51082 - abort when a empty valueset is freed
Issue 50201 - nsIndexIDListScanLimit accepts any value
2020-05-29 17:00:45 -04:00
Miro Hrončok
d387fb1d39 Rebuilt for Python 3.9 2020-05-26 02:39:17 +02:00
Pete Walter
c317fa7b0f Rebuild for ICU 67 2020-05-15 13:51:34 +01:00
Mark Reynolds
1d3c66fe0f Bump version to 1.4.4.2
Issue 51078 - Add nsslapd-enable-upgrade-hash to the schema
Issue 51054 - Revise ACI target syntax checking
Issue 51068 - deadlock when updating the schema
Issue 51042 - try to use both c_rehash and openssl rehash
Issue 51042 - switch from c_rehash to openssl rehash
Issue 50992 - Bump jemalloc version and enable profiling
Issue 51060 - unable to set sslVersionMin to TLS1.0
Issue 51064 - Unable to install server where IPv6 is disabled
Issue 51051 - CLI fix consistency issues with confirmations
Issue 50655 - etime displayed has an order of magnitude 10 times smaller than it should be
Issue 49731 - undo db_home_dir under /dev/shm/dirsrv for now
Issue 51054 - AddressSanitizer: heap-buffer-overflow in ldap_utf8prev
Issue 49761 - Fix CI tests
Issue 51047 - React deprecating ComponentWillMount
Issue 50499 - fix npm audit issues
Issue 50545 - Port dbgen.pl to dsctl
Issue 51027 - Test passwordHistory is not rewritten on a fail attempt
2020-05-08 15:43:30 -04:00
Mark Reynolds
503b23f046 Bump version to 1.4.4.1
Issue 51024 - syncrepl_entry callback does not contain attributes added by postoperation plugins
Issue 50877 - task to run tests of csn generator
Issue 49731 - undo db_home_dir under /dev/shm/dirsrv for now
Issue 48055 - CI test - automember_plugin(part3)
Issue 51035 - Heavy StartTLS connection load can randomly fail with err=1
Issue 51031 - UI - transition between two instances needs improvement
2020-04-22 14:47:38 -04:00
Mark Reynolds
bfdd824452 Bump version to 1.4.4.0
Issue 50933 - 10rfc2307compat.ldif is not ready to be used by default
Issue 50931 - RFE AD filter rewriter for ObjectCategory
Issue 51016 - Fix memory leaks in changelog5_init and perfctrs_init
Issue 50980 - RFE extend usability for slapi_compute_add_search_rewriter and slapi_compute_add_evaluator
Issue 51008 - dbhome in containers
Issue 50875 - Refactor passwordUserAttributes's and passwordBadWords's code
Issue 51014 - slapi_pal.c possible static buffer overflow
Issue 50545 - remove dbmon "incr" option from arg parser
Issue 50545 - Port dbmon.sh to dsconf
Issue 51005 - AttributeUniqueness plugin's DN parameter should not have a default value
Issue 49731 - Fix additional issues with setting db home directory by default
Issue 50337 - Replace exec() with setattr()
Issue 50905 - intermittent SSL hang with rhds
Issue 50952 - SSCA lacks basicConstraint:CA
Issue 50640 - Database links: get_monitor() takes 1 positional argument but 2 were given
Issue 50869 - Setting nsslapd-allowed-sasl-mechanisms truncates the value
2020-04-16 13:33:52 -04:00
Mark Reynolds
a0a8d33632 Bump version to 1.4.3.5
Issue 50994 - Fix latest UI bugs found by QE
Issue 50933 - rfc2307compat.ldif
Issue 50337 - Replace exec() with setattr()
Issue 50984 - Memory leaks in disk monitoring
Issue 50984 - Memory leaks in disk monitoring
Issue 49731 - dscreate fails in silent mode because of db_home_dir
Issue 50975 - Revise UI branding with new minimized build
Issue 49437 - Fix memory leak with indirect COS
Issue 49731 - Do not add db_home_dir to template-dse.ldif
Issue 49731 - set and use db_home_directory by default
Issue 50971 - fix BSD_SOURCE
Issue 50744 - -n option of dbverify does not work
Issue 50952 - SSCA lacks basicConstraint:CA
Issue 50976 - Clean up Web UI source directory from unused files
Issue 50955 - Fix memory leaks in chaining plugin(part 2)
Issue 50966 - UI - Database indexes not using typeAhead correctly
Issue 50974 - UI - wrong title in "Delete Suffix" popup
Issue 50972 - Fix cockpit plugin build
Issue 49761 - Fix CI test suite issues
Issue 50971 - Support building on FreeBSD.
Issue 50960 - [RFE] Advance options in RHDS Disk Monitoring Framework
Issue 50800 - wildcards in rootdn-allow-ip attribute are not accepted
Issue 50963 - We should bundle *.min.js files of Console
Issue 50860 - Port Password Policy test cases from TET to python3 Password grace limit section.
Issue 50860 - Port Password Policy test cases from TET to python3 series of bugs Port final
Issue 50954 - buildnum.py - fix date formatting issue
2020-04-01 13:00:23 -04:00
Mark Reynolds
5a6ac14eb5 Bump version to 1.4.3.4
Issue 50954 - Port buildnum.pl to python(part 2)
Issue 50955 - Fix memory leaks in chaining plugin
Issue 50954 - Port buildnum.pl to python
Issue 50947 - change 00core.ldif objectClasses for openldap migration
Issue 50755 - setting nsslapd-db-home-directory is overriding db_directory
Issue 50937 - Update CLI for new backend split configuration
Issue 50860 - Port Password Policy test cases from TET to python3 pwp.sh
Issue 50945 - givenname alias of gn from openldap
Issue 50935 - systemd override in lib389 for dscontainer
Issue 50499 - Fix npm audit issues
Issue 49761 - Fix CI test suite issues
Issue 50618 - clean compiler warning and log level
Issue 50889 - fix compiler issues
Issue 50884 - Health check tool DSEldif check fails
Issue 50926 - Remove dual spinner and other UI fixes
Issue 50928 - Unable to create a suffix with countryName
Issue 50758 - Only Recommend bash-completion, not Require
Issue 50923 - Fix a test regression
Issue 50904 - Connect All React Components And Refactor the Main Navigation Tab Code
Issue 50920 - cl-dump exit code is 0 even if command fails with invalid arguments
Issue 50923 - Add test - dsctl fails to remove instances with dashes in the name
Issue 50919 - Backend delete fails using dsconf
Issue 50872 - dsconf can't create GSSAPI replication agreements
Issue 50912 - RFE - add password policy attribute pwdReset
Issue 50914 - No error returned when adding an entry matching filters for a non existing automember group
Issue 50889 - Extract pem files into a private namespace
Issue 50909 - nsDS5ReplicaId cant be set to the old value it had before
Issue 50686 - Port fractional replication test cases from TET to python3 final
Issue 49845 - Remove pkgconfig check for libasan
Issue:50860 - Port Password Policy test cases from TET to python3 bug624080
Issue:50860 - Port Password Policy test cases from TET to python3 series of bugs
Issue 50786 - connection table freelist
Issue 50618 - support cgroupv2
Issue 50900 - Fix cargo offline build
Issue 50898 - ldclt core dumped when run with -e genldif option
2020-03-16 11:37:36 -04:00
Matus Honek
5b3e513fa1 Bring back the necessary c_rehash util
Resolves: #1803370
(cherry picked from commit 6befc19988)
2020-02-17 14:45:48 +01:00
Mark Reynolds
a253fc7e96 Bump version to 1.4.3.3-2
Remove unneeded perl dependencies
Change bash-completion to "Recommends" instead of "Requires"
2020-02-14 13:30:39 -05:00
Mark Reynolds
4bfede7213 Bump version to 1.4.3.3
Bump version to 1.4.3.3
Issue 50855 - remove unused file from UI
Issue 50855 - UI: Port Server Tab to React
Issue 49845 - README does not contain complete information on building
Issue 50686 - Port fractional replication test cases from TET to python3 part 1
Issue 49623 - cont cenotaph errors on modrdn operations
Issue 50882 - Fix healthcheck errors for instances that do not have TLS enabled
Issue 50886 - Typo in the replication debug message
Issue 50873 - Fix healthcheck and virtual attr check
Issue 50873 - Fix issues with healthcheck tool
Issue 50028 - Add a new CI test case
Issue 49946 - Add a new CI test case
Issue 50117 - Add a new CI test case
Issue 50787 - fix implementation of attr unique
Issue 50859 - support running only with ldaps socket
Issue 50823 - dsctl doesn't work with 'slapd-' in the instance name
Issue 49624 - cont - DB Deadlock on modrdn appears to corrupt database and entry cache
Issue 50867 - Fix minor buildsys issues
Issue 50737 - Allow building with rust online without vendoring
Issue 50831 - add cargo.lock to allow offline builds
Issue 50694 - import PEM certs on startup
Issue 50857 - Memory leak in ACI using IP subject
Issue 49761 - Fix CI test suite issues
Issue 50853 - Fix NULL pointer deref in config setting
Issue 50850 - Fix dsctl healthcheck for python36
Issue 49990 - Need to enforce a hard maximum limit for file descriptors
Issue 48707 - ldapssotoken for authentication
2020-02-13 16:52:19 -05:00
Fedora Release Engineering
fc53d8e065 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 09:07:21 +00:00
Viktor Ashirov
5b5bb920d2 Issue 50680 - Remove branding from upstream spec file 2020-01-27 21:56:25 +01:00
Mark Reynolds
00c5c5cf49 Bump version to 1.4.3.2
Issue 49254 - Fix compiler failures and warnings
Issue 50741 - cont bdb_start - Detected Disorderly Shutdown
Issue 50836 - Port Schema UI tab to React
Issue 50842 - Decrease 389-console Cockpit component size
Issue 50790 - Add result text when filter is invalid
Issue 50627 - Add ASAN logs to HTML report
Issue 50834 - Incorrectly setting the NSS default SSL version max
Issue 50829 - Disk monitoring rotated log cleanup causes heap-use-after-free
Issue 50709 - (cont) Several memory leaks reported by Valgrind for 389-ds 1.3.9.1-10
Issue 50784 - performance testing scripts
Issue 50599 - Fix memory leak when removing db region files
Issue 49395 - Set the default TLS version min to TLS1.2
Issue 50818 - dsconf pwdpolicy get error
Issue 50824 - dsctl remove fails with "name 'ensure_str' is not defined"
Issue 50599 - Remove db region files prior to db recovery
Issue 50812 - dscontainer executable should be placed under /usr/libexec/dirsrv/
Issue 50816 - dsconf allows the root password to be set to nothing
Issue 50798 - incorrect bytes in format string(fix import issue)
2020-01-23 15:28:50 -05:00
Adam Williamson
a2478bfa8c Backport two more fixes from upstream
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-16 20:50:47 +00:00
Adam Williamson
604ea19cf8 Add patch file for last commit
Yes, I missed a bit from a patch to fix a missing bit, I am
aware of the irony
2020-01-16 00:02:14 +00:00
Adam Williamson
e9b229a7e8 Backport 828aad0 to fix missing imports from 1.4.3.1 2020-01-16 00:01:04 +00:00
Mark Reynolds
6f9c53b048 Bump version to 1.4.3.1
Issue 50798 - incorrect bytes in format string
Issue 50545 - Add the new replication monitor functionality to UI
Issue 50806 - Fix minor issues in lib389 health checks
Issue 50690 - Port Password Storage test cases from TET to python3 part 1
Issue 49761 - Fix CI test suite issues
Issue 49761 - Fix CI test suite issues
Issue 50754 - Add Restore Change Log option to CLI
Issue 48055 - CI test - automember_plugin(part2)
Issue 50667 - dsctl -l did not respect PREFIX
Issue 50780 - More CLI fixes
Issue 50649 - lib389 without defaults.inf
Issue 50780 - Fix UI issues
Issue 50727 - correct mistaken options in filter validation patch
Issue 50779 - lib389 - conflict compare fails for DN's with spaces
Set branch version to 1.4.3.0
2020-01-13 15:44:12 -05:00
Matus Honek
caf81c2e0a Bump version to 1.4.2.5-3
Fix python-argcomplete tinkering, since the call to the command alters a file
owned by python-argcomplete, and which turns out to be unnecessary.

Resolves: #1781131
2019-12-09 17:15:46 +01:00
Mark Reynolds
192716709d Bump version to 1.4.2.5-2
Fix specfile typo (bash-completion)
2019-12-06 17:53:54 -05:00
Mark Reynolds
7d09a11c1e Fix specfile dependancy for setuptools 2019-12-06 16:20:37 -05:00
Mark Reynolds
903ed99222 Bump version to 1.4.2.5
Issue 50747 - Port readnsstate to dsctl
Issue 50758 - Enable CLI arg completion
Issue 50753 - Dumping the changelog to a file doesn't work
Issue 50745 - ns-slapd hangs during CleanAllRUV tests
Issue 50734 - lib389 creates non-SSCA cert DBs with misleading README.txt
Issue 48851 - investigate and port TET matching rules filter tests(cert)
Issue 50443 - Create a module in lib389 to Convert a byte sequence to a properly escaped for LDAP
Issue 50664 - DS can fail to recover if an empty directory exists in db
Issue 50736 - RetroCL trimming may crash at shutdown if trimming configuration is invalid
Issue 50741 - bdb_start - Detected Disorderly Shutdown last time Directory Server was running
Issue 50572 - After running cl-dump dbdir/cldb/*ldif.done are not deleted
Issue 50701 - Fix type in lint report
Issue 50729 - add support for gssapi tests on suse
Issue 50701 - Add additional healthchecks to dsconf
Issue 50711 - `dsconf security` lacks option for setting nsTLSAllowClientRenegotiation attribute
Issue 50439 - Update docker integration for Fedora
Issue 48851 - Investigate and port TET matching rules filter tests(last test cases for match)
Issue 50499 - Fix npm audit issues
Issue 50722 - Test IDs are not unique
Issue 50712 - Version comparison doesn't work correctly on git builds
Issue 50499 - Fix npm audit issues
Issue 50706 - Missing lib389 dependency - packaging
2019-12-06 16:09:15 -05:00
Mark Reynolds
6866f017fd Bump version to 1.4.2.4-2
Fix specfile dependancy issue
2019-11-15 09:06:51 -05:00
Mark Reynolds
2c436d3ed9 Bump version to 1.4.2.4
Issue 50634 - Fix CLI error parsing for non-string values
Issue 50659 - AddressSanitizer: SEGV ... in bdb_pre_close
Issue 50716 - CVE-2019-14824 (BZ#1748199) - deref plugin displays restricted attributes
Issue 50644 - fix regression with creating sample entries
Issue 50699 - Add Disk Monitor to CLI and UI
Issue 50716 - CVE-2019-14824 (BZ#1748199) - deref plugin displays restricted attributes
Issue 50536 - After audit log file is rotated, DS version string is logged after each update
Issue 50712 - Version comparison doesn't work correctly on git builds
Issue 50706 - Missing lib389 dependency - packaging
Issue 49761 - Fix CI test suite issues
Issue 50683 - Makefile.am contains unused RPM-related targets
Issue 50696 - Fix various UI bugs
Issue 50641 - Update default aci to allows users to change their own password
Issue 50007, 50648 - improve x509 handling in dsctl
Issue 50689 - Failed db restore task does not report an error
Issue 50199 - Disable perl by default
Issue 50633 - Add cargo vendor support for offline builds
Issue 50499 - Fix npm audit issues
2019-11-14 12:28:14 -05:00
Mark Reynolds
6d34b170e7 Bump version to 1.4.2.3
Issue 50592 - Port Replication Tab to ReactJS
Issue 50680 - Remove branding from upstream spec file
Issue 50669 - Remove nunc-stans in favour of reworking current conn code (add.)
Issue 48055 - CI test - automember_plugin(part1)
Issue 50677 - Map subtree searches with NULL base to default naming context
Issue 50669 - Fix RPM build
Issue 50669 - remove nunc-stans
Issue 49850 - cont -fix crash in ldbm_non_leaf
Issue 50634 - Clean up CLI errors output - Fix wrong exception
Issue 50660 - Build failure on Fedora 31
Issue 50634 - Clean up CLI errors output
Issue 48851 - Investigate and port TET matching rules filter tests(match more test cases)
Issue 50428 - Log the actual base DN when the search fails with "invalid attribute request"
Issue 49850 -  ldbm_get_nonleaf_ids() slow for databases with many non-leaf entries
Issue 50655 - access log etime is not properly formatted
Issue 50653 -  objectclass parsing fails to log error message text
Issue 50646 - Improve task handling during shutdowns
Issue 50627 - Support platforms without pytest_html
Issue 49476 - backend refactoring phase1, fix failing tests
Issue 49476 - refactor ldbm backend to allow replacement of BDB
Issue 50349 - additional fix: filter schema check must handle subtypes
Issue 48851 - investigate and port TET matching rules filter tests(indexing more test cases)
Issue 50638 - RecursionError: maximum recursion depth exceeded while calling a Python object
Issue 50636 - Crash during sasl bind
Issue 50632 - Add ensure attr state so that diffs are easier from 389-ds-portal
Issue 50619 - extend commands to have more modify options
Issue 50499 - Fix npm audit issues
2019-11-03 23:11:00 -05:00
Mark Reynolds
6a8b7353f8 Bump version to 1.4.2.3
Issue 50592 - Port Replication Tab to ReactJS
Issue 50680 - Remove branding from upstream spec file
Issue 50669 - Remove nunc-stans in favour of reworking current conn code (add.)
Issue 48055 - CI test - automember_plugin(part1)
Issue 50677 - Map subtree searches with NULL base to default naming context
Issue 50669 - Fix RPM build
Issue 50669 - remove nunc-stans
Issue 49850 - cont -fix crash in ldbm_non_leaf
Issue 50634 - Clean up CLI errors output - Fix wrong exception
Issue 50660 - Build failure on Fedora 31
Issue 50634 - Clean up CLI errors output
Issue 48851 - Investigate and port TET matching rules filter tests(match more test cases)
Issue 50428 - Log the actual base DN when the search fails with "invalid attribute request"
Issue 49850 -  ldbm_get_nonleaf_ids() slow for databases with many non-leaf entries
Issue 50655 - access log etime is not properly formatted
Issue 50653 -  objectclass parsing fails to log error message text
Issue 50646 - Improve task handling during shutdowns
Issue 50627 - Support platforms without pytest_html
Issue 49476 - backend refactoring phase1, fix failing tests
Issue 49476 - refactor ldbm backend to allow replacement of BDB
Issue 50349 - additional fix: filter schema check must handle subtypes
Issue 48851 - investigate and port TET matching rules filter tests(indexing more test cases)
Issue 50638 - RecursionError: maximum recursion depth exceeded while calling a Python object
Issue 50636 - Crash during sasl bind
Issue 50632 - Add ensure attr state so that diffs are easier from 389-ds-portal
Issue 50619 - extend commands to have more modify options
Issue 50499 - Fix npm audit issues
2019-11-03 22:56:15 -05:00
Pete Walter
da5ea9650a Rebuild for ICU 65 2019-11-01 16:04:40 +00:00
Mark Reynolds
96fbb6a09a Bump version to 1.4.2.2-3
Address perl provides and requires filter
2019-09-27 18:19:10 -04:00
Mark Reynolds
abbe7a9773 Revert perl filter 2019-09-26 12:12:54 -04:00
Mark Reynolds
268a9b9874 Bump version to 1.4.2.2
Issue 50627 - Add ASAN logs to HTML report
Issue 50545 - Port repl-monitor.pl to lib389 CLI
Issue 50622 - ds_selinux_enabled may crash on suse
Issue 50595 - remove syslog.target requirement
Issue 50617 - disable cargo lock
Issue 50620 - Fix regressions from 50506 (slapi_enry_attr_get_ref)
Issue 50615 - Log current test name to journald
Issue 50610 - memory leak in dbscan
2019-09-26 09:57:14 -04:00
Mark Reynolds
c4f9e6d27d Fix version number 2019-09-17 11:37:16 -04:00
Mark Reynolds
f8998184da Fix spec file typo 2019-09-17 11:32:30 -04:00
Mark Reynolds
7b42b230e4 * Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> 1.4.1.6-1.2
Rebuilt for Python 3.8
Bump version to 1.4.2.1
Issue 50581 - ns-slapd crashes during ldapi search
Issue 50604 - Fix UI validation
Issue 50510 - etime can contain invalid nanosecond value
Issue 50593 - Investigate URP handling on standalone instance
Issue 50506 - Fix regression for relication stripattrs
Issue 50580 - Perl can't be disabled in configure
Issue 50584, 49212 - docker healthcheck and configuration
Issue 50546 - fix more UI issues(part 2)
Do not use comparision with "is" for empty value
Issue 50546 - fix more UI issues
Issue 50586 - lib389 - Fix DSEldif long line processing
Issue 50173 - Add the validate-syntax task to the dsconf schema
Issue 50546 - Fix various issues in UI
Bump version to 1.4.2.0
Issue 50576 - Same proc uid/gid maps to rootdn for ldapi sasl
Issue 50567, 50568 - strict host check disable and display container version
Issue 50550 - DS installer debug messages leaking to ipa-server-install
Issue 50545 - Port fixup-memberuid and add the functionality to CLI and UI
Issue 50572 - After running cl-dump dbdir/cldb/*ldif.done are not deleted
Issue 50578 - Add SKIP_AUDIT_CI flag for Cockpit builds
Issue 50349 - filter schema validation
Issue 48055 - CI test-(Plugin configuration should throw proper error messages if not configured properly)
Issue 49324 - idl_new fix assert
Issue 50564 - Fix rust libraries by default and improve docker
Issue 50206 - Refactor lock, unlock and status of dsidm account/role
Issue 49324 - idl_new report index name in error conditions
Issue 49761 - Fix CI test suite issues
Issue 50506 - Fix regression from slapi_entry_attr_get_ref refactor
Issue 50499 - Audit fix - Update npm 'eslint-utils' version
Issue 49624 - modrdn silently fails if DB deadlock occurs
Issue 50542 - Fix crashes in filter tests
Issue 49761 - Fix CI test suite issues
Issue 50542 - Entry cache contention during base search
Issue 50462 - Fix CI tests
Issue 50490 - objects and memory leaks
Issue 50538 - Move CI test to individual file
Issue 50538 - cleanAllRUV task limit is not enforced for replicated tasks
Issue 50536 - Audit log heading written to log after every update
Issue 50525 - nsslapd-defaultnamingcontext does not change when the assigned suffix gets deleted
Issue 50534 - CLI change schema edit subcommand to replace
Issue 50506 - cont Fix invalid frees from pointer reference calls
Issue 50507 - Fix Cockpit UI styling for PF4
Issue 48851 - investigate and port TET matching rules filter tests(indexing final)
Issue 48851 - Add more test cases to the match test suite(mode replace)
Issue 50530 - Directory Server not RFC 4511 compliant with requested attr "1.1"
Issue 50529 - LDAP server returning PWP controls in different sequence
Issue 50506 - Fix invalid frees from pointer reference calls.
Issue 50506 - Replace slapi_entry_attr_get_charptr() with slapi_entry_attr_get_ref()
Issue 50521 - Add regressions in CI tests
Issue 50510 - etime can contain invalid nanosecond value
Issue 50488 - Create a monitor for disk space usagedisk-space-mon
Issue 50511 - lib389 PosixGroups type can not handle rdn properly
Issue 50508 - UI - fix local password policy form
2019-09-17 11:19:11 -04:00
Miro Hrončok
4f0d0028f3 Rebuilt for Python 3.8 2019-08-19 10:00:22 +02:00
Fedora Release Engineering
39e686d89c - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 15:36:15 +00:00
Mark Reynolds
f786fdfe8d Bump version to 1.4.1.6
Issue 50355 - SSL version min and max not correctly applied
Issue 50497 - Port cl-dump.pl tool to Python using lib389
Issue 48851 - investigate and port TET matching rules filter tests(Final)
Issue 50417 - fix regression from previous commit
Issue 50425 - Add jemalloc LD_PRELOAD to systemd drop-in file
Issue 50325 - Add Security tab to UI
Issue 49789 - By default, do not manage unhashed password
Issue 49421 - Implement password hash upgrade on bind.
Issue 49421 - on bind password upgrade proof of concept
Issue 50493 - connection_is_free to trylock
Issue 50459 - Correct issue with allocation state
Issue 50499 - Fix audit issues and remove jquery from the whitelist
Issue 50459 - c_mutex to use pthread_mutex to allow ns sharing
Issue 50484 - Add a release build dockerfile and dscontainer improvements
Issue 50486 - Update jemalloc to 5.2.0
2019-07-19 11:40:02 -04:00
Mark Reynolds
be762d94db Update sources 2019-07-08 16:03:42 -04:00
Mark Reynolds
7c8a0b7bff Bump version to 1.4.1.5
Issue 50431 - Fix regression from coverity fix (crash in memberOf plugin)
Issue 49239 - Add a new CI test case
Issue 49997 - Add a new CI test case
Issue 50177 - Add a new CI test case, also added fixes in lib389
Issue 49761 - Fix CI test suite issues
Issue 50474 - Unify result codes for add and modify of repl5 config
Issue 50472 - memory leak with encryption
Issue 50462 - Fix Root DN access control plugin CI tests
Issue 50462 - Fix CI tests
Issue 50217 - Implement dsconf security section
Issue 48851 - Add more test cases to the match test suite.
Issue 50378 - ACI's with IPv4 and IPv6 bind rules do not work for IPv6 clients
Issue 50439 - fix waitpid issue when pid does not exist
Issue 50454 - Fix Cockpit UI branding
Issue 48851 - investigate and port TET matching rules filter tests(index)
Issue 49232 - Truncate the message when buffer capacity is exceeded
2019-07-08 15:54:15 -04:00
Mark Reynolds
75fbc695bf Fix version artifact 2019-06-18 17:03:58 -04:00
Mark Reynolds
ce439a224d Add missing jemalloc source 2019-06-18 16:46:51 -04:00
Mark Reynolds
f00fa97c79 Bump version to 1.4.1.4
Issue 49361 - Use IPv6 friendly network functions
Issue 48851 - Investigate and port TET matching rules filter tests(bug772777)
Issue 50446 - NameError: name 'ds_is_older' is not defined
Issue 49602 - Revise replication status messages
Issue 50439 - Update docker integration to work out of source directory
Issue 50037 - revert path changes as it breaks prefix/rpm builds
Issue 50431 - Fix regression from coverity fix
Issue 50370 - CleanAllRUV task crashing during server shutdown
Issue 48851 - investigate and port TET matching rules filter tests(match)
Issue 50417 - Fix missing quote in some legacy tools
Issue 50431 - Fix covscan warnings
Revert "Issue 49960 - Core schema contains strings instead of numer oids"
Issue 50426 - nsSSL3Ciphers is limited to 1024 characters
Issue 50052 - Fix rpm.mk according to audit-ci change
Issue 50365 - PIDFile= references path below legacy directory /var/run/
Issue 50428 - Log the actual base DN when the search fails with "invalid attribute request"
Issue 50329 - (2nd) Possible Security Issue: DOS due to ioblocktimeout not applying to TLS
Issue 50417 - Revise legacy tool scripts to work with new systemd changes
Issue 48851 - Add more search filters to vfilter_simple test suite
Issue 49761 - Fix CI test suite issues
Issue 49875 - Move SystemD service config to a drop-in file
Issue 50413 - ds-replcheck - Always display the Result Summary
Issue 50052 - Add package-lock.json and use "npm ci"
Issue 48851 - investigate and port TET matching rules filter tests(vfilter simple)
Issue 50355 -  NSS can change the requested SSL min and max versions
Issue 48851 - investigate and port TET matching rules filter tests(vfilter_ld)
Issue 50390 - Add Managed Entries Plug-in Config Entry schema
Issue 49730 - Remove unused Mozilla ldapsdk variables
2019-06-18 16:40:25 -04:00
Jitka Plesnikova
91e7a283fa Perl 5.30 rebuild 2019-05-31 07:06:48 +02:00
Mark Reynolds
c086e066c4 Bump version to 1.4.1.3
Issue 49761 - Fix CI test suite issues
Issue 50041 - Add the rest UI Plugin tabs - Part 2
Issue 50340 - 2nd try - structs for diabled plugins will not be freed
Issue 50403 - Instance creation fails on 1.3.9 using perl utils and latest lib389
Issue 50389 - ns-slapd craches while two threads are polling the same connection
Issue 48851 - investigate and port TET matching rules filter tests(scanlimit)
Issue 50037 - lib389 fails to install in venv under non-root user
Issue 50112 - Port ACI test suit from TET to python3(userattr)
Issue 50393 - maxlogsperdir accepting negative values
Issue 50112 - Port ACI test suit from TET to python3(roledn)
Issue 49960 - Core schema contains strings instead of numer oids
Issue 50396 - Crash in PAM plugin when user does not exist
Issue 50387 - enable_tls() should label ports with ldap_port_t
Issue 50390 - Add Managed Entries Plug-in Config Entry schema
Issue 50306 - Fix regression with maxbersize
Issue 50384 - Missing dependency: cracklib-dicts
Issue 49029 - [RFE] improve internal operations logging
Issue 49761 - Fix CI test suite issues
Issue 50374 - dsdim posixgroup create fails with ERROR
Issue 50251 - clear text passwords visable in CLI verbose mode logging
Issue 50378 - ACI's with IPv4 and IPv6 bind rules do not work for IPv6 clients
Issue 48851 - investigate and port TET matching rules filter tests
Issue 50220 - attr_encryption test suite failing
Issue 50370 -  CleanAllRUV task crashing during server shutdown
Issue 50340 - structs for disabled plugins will not be freed
Issue 50164 - Add test for dscreate to basic test suite
Issue 50363 - ds-replcheck incorrectly reports error out of order multi-valued attributes
Issue 49730 - MozLDAP bindings have been unsupported for a while
Issue 50353 - Categorize tests by tiers
Issue 50303 - Add creation date to task data
Issue 50358 -  Create a Bitwise Plugin class in plugins.py
Remove the nss3 path prefix from the cert.h C preprocessor source file inclusion
Issue 50329 - revert fix
Issue 50112 - Port ACI test suit from TET to python3(keyaci)
Issue 50344 - tidy rpm vs build systemd flag handling
Issue 50067 - Fix krb5 dependency in a specfile
Issue 50340 - structs for diabled plugins will not be freed
Issue 50327 - Add replication conflict support to UI
Issue 50327 - Add replication conflict entry support to lib389/CLI
Issue 50329 - improve connection default parameters
Issue 50313 - Add a NestedRole type to lib389
Issue 50112 - Port ACI test suit from TET to python3(Delete and  Add)
Issue 49390, 50019 - support cn=config compare operations
Issue 50041 - Add the rest UI Plugin tabs - Part 1
Issue 50329 - Possible Security Issue: DOS due to ioblocktimeout not applying to TLS
Issue 49990 - Increase the default FD limits
Issue 50306 - (cont typo) Move connection config inside struct
Issue 50291 - Add monitor tab functionality to Cockpit UI
Issue 50317 - fix ds-backtrace issue on latest gdb
Issue 50305 - Revise CleanAllRUV task restart process
Issue 49915 - Fix typo
Issue 50026 - Audit log does not capture the operation where nsslapd-lookthroughlimit is modified
Issue 49899 - fix pin.txt and pwdfile permissions
Issue 49915 - Add regression test
Issue 50303 - Add task creation date to task data
Issue 50306 - Move connection config inside struct
Issue 50240 - Improve task logging
Issue 50032 - Fix deprecation warnings in tests
Issue 50310 - fix sasl header include
Issue 49390 - improve compare and cn=config compare tests
2019-05-24 15:14:46 -04:00
Adam Williamson
3efd0a4468 Rebuild without changes to be newer than 1.4.1.2-1 (see #1694990) 2019-04-03 15:52:11 -07:00
Mark Reynolds
762e206bee Bump version to 1.4.1.2-2
Fix lib389 python requirement
2019-03-29 21:02:12 -04:00
Mark Reynolds
3289ef5966 Bump version to 1.4.1.2-1
Ticket 50308 - Revise memory leak fix
Ticket 50308 - Fix memory leaks for repeat binds and replication
Ticket 40067 - Use PKG_CHECK_MODULES to detect libraries
Ticket 49873 - (cont 3rd) cleanup debug log
Ticket 49873 - (cont 2nd) Contention on virtual attribute lookup
Ticket 50292 - Fix Plugin CLI and UI issues
Ticket 50112 - Port ACI test suit from TET to python3(misc and syntax)
Ticket 50289 - Fix various database UI issues
Ticket 49463 - After cleanALLruv, replication is looping on keep alive DEL
Ticket 50300 - Fix memory leak in automember plugin
Ticket 50265 - the warning about skew time could last forever
Ticket 50260 - Invalid cache flushing improvements
Ticket 49561 - MEP plugin, upon direct op failure, will delete twice the same managed entry
Ticket 50077 - Do not automatically turn automember postop modifies on
Ticket 50282 - OPERATIONS ERROR when trying to delete a group with automember members
Ticket 49715 - extend account functionality
Ticket 49873 - (cont) Contention on virtual attribute lookup
Ticket 50260 - backend txn plugins can corrupt entry cache
Ticket 50255 - Port password policy test to use DSLdapObject
Ticket 49667 - 49668 - remove old spec files
Ticket 50276 - 389-ds-console is not built on RHEL8 if cockpit_dist is already present
Ticket 50112 - Port ACI test suit from TET to python3(Search)
Ticket 50259 - implement dn construction test
Ticket 50273 - reduce default replicaton agmt timeout
Ticket 50208 - lib389- Fix issue with list all instances
Ticket 50112 - Port ACI test suit from TET to python3(Global Group)
Ticket 50041 - Add CLI functionality for special plugins
Ticket 50263 - LDAPS port not listening after installation
Ticket 49575 - Indicate autosize value errors and corrective actions
Ticket 50137 - create should not check in non-stateful mode for exist
Ticket 49655 - remove doap file
Ticket 50197 - Fix dscreate regression
Ticket 50234 - one level search returns not matching entry
Ticket 50257 - lib389 - password policy user vs subtree checks are broken
Ticket 50253 -  Making an nsManagedRoleDefinition type in src/lib389/lib389/idm/nsrole.py
Ticket 49029 - [RFE] improve internal operations logging
Ticket 50230 - improve ioerror msg when not root/dirsrv
Ticket 50246 - Fix the regression in old control tools
Ticket 50197 - Container integration part 2
Ticket 50197 - Container init tools
Ticket 50232 - export creates not importable ldif file
Ticket 50215 - UI - implement Database Tab in reachJS
Ticket 50243 - refint modrdn stress test
Ticket 50238 - Failed modrdn can corrupt entry cache
Ticket 50236 - memberOf should be more robust
Ticket 50213 - fix list instance issue
Ticket 50219 - Add generic filter to DSLdapObjects
Ticket 50227 - Making an cosClassicDefinition type in src/lib389/lib389/cos.py
Ticket 50112 - Port ACI test suit from TET to python3(modify)
Ticket 50224 - warnings on deprecated API usage
Ticket 50112 - Port ACI test suit from TET to python3(valueaci)
Ticket 50112 - Port ACI test suit from TET to python3(Aci Atter)
Ticket 50208 - make instances mark off based on dse.ldif not sysconfig
Ticket 50170 - composable object types for nsRole in lib389
Ticket 50199 - disable perl by default
Ticket 50211 - Making an actual Anonymous type in lib389/idm/account.py
Ticket 50155 - password history check has no way to just check the current password
Ticket 49873 - Contention on virtual attribute lookup
Ticket 50197 - Container integration improvements
Ticket 50195 - improve selinux error messages in interactive
Ticket 49658 - In replicated topology a single-valued attribute can diverge
Ticket 50111 - Use pkg-config to detect icu
Ticket 50165 - Fix issues with dscreate
Ticket 50177 - import task should not be deleted too rapidely after import finishes to be able to query the status
Ticket 50140 - Use high ports in container installs
Ticket 50184 - Add cli tool parity to dsconf/dsctl
Ticket 50159 - sssd and config display
2019-03-29 18:04:42 -04:00
Mark Reynolds
9a0edfc937 Bump version to 1.4.1.2-1
Ticket 50308 - Revise memory leak fix
Ticket 50308 - Fix memory leaks for repeat binds and replication
Ticket 40067 - Use PKG_CHECK_MODULES to detect libraries
Ticket 49873 - (cont 3rd) cleanup debug log
Ticket 49873 - (cont 2nd) Contention on virtual attribute lookup
Ticket 50292 - Fix Plugin CLI and UI issues
Ticket 50112 - Port ACI test suit from TET to python3(misc and syntax)
Ticket 50289 - Fix various database UI issues
Ticket 49463 - After cleanALLruv, replication is looping on keep alive DEL
Ticket 50300 - Fix memory leak in automember plugin
Ticket 50265 - the warning about skew time could last forever
Ticket 50260 - Invalid cache flushing improvements
Ticket 49561 - MEP plugin, upon direct op failure, will delete twice the same managed entry
Ticket 50077 - Do not automatically turn automember postop modifies on
Ticket 50282 - OPERATIONS ERROR when trying to delete a group with automember members
Ticket 49715 - extend account functionality
Ticket 49873 - (cont) Contention on virtual attribute lookup
Ticket 50260 - backend txn plugins can corrupt entry cache
Ticket 50255 - Port password policy test to use DSLdapObject
Ticket 49667 - 49668 - remove old spec files
Ticket 50276 - 389-ds-console is not built on RHEL8 if cockpit_dist is already present
Ticket 50112 - Port ACI test suit from TET to python3(Search)
Ticket 50259 - implement dn construction test
Ticket 50273 - reduce default replicaton agmt timeout
Ticket 50208 - lib389- Fix issue with list all instances
Ticket 50112 - Port ACI test suit from TET to python3(Global Group)
Ticket 50041 - Add CLI functionality for special plugins
Ticket 50263 - LDAPS port not listening after installation
Ticket 49575 - Indicate autosize value errors and corrective actions
Ticket 50137 - create should not check in non-stateful mode for exist
Ticket 49655 - remove doap file
Ticket 50197 - Fix dscreate regression
Ticket 50234 - one level search returns not matching entry
Ticket 50257 - lib389 - password policy user vs subtree checks are broken
Ticket 50253 -  Making an nsManagedRoleDefinition type in src/lib389/lib389/idm/nsrole.py
Ticket 49029 - [RFE] improve internal operations logging
Ticket 50230 - improve ioerror msg when not root/dirsrv
Ticket 50246 - Fix the regression in old control tools
Ticket 50197 - Container integration part 2
Ticket 50197 - Container init tools
Ticket 50232 - export creates not importable ldif file
Ticket 50215 - UI - implement Database Tab in reachJS
Ticket 50243 - refint modrdn stress test
Ticket 50238 - Failed modrdn can corrupt entry cache
Ticket 50236 - memberOf should be more robust
Ticket 50213 - fix list instance issue
Ticket 50219 - Add generic filter to DSLdapObjects
Ticket 50227 - Making an cosClassicDefinition type in src/lib389/lib389/cos.py
Ticket 50112 - Port ACI test suit from TET to python3(modify)
Ticket 50224 - warnings on deprecated API usage
Ticket 50112 - Port ACI test suit from TET to python3(valueaci)
Ticket 50112 - Port ACI test suit from TET to python3(Aci Atter)
Ticket 50208 - make instances mark off based on dse.ldif not sysconfig
Ticket 50170 - composable object types for nsRole in lib389
Ticket 50199 - disable perl by default
Ticket 50211 - Making an actual Anonymous type in lib389/idm/account.py
Ticket 50155 - password history check has no way to just check the current password
Ticket 49873 - Contention on virtual attribute lookup
Ticket 50197 - Container integration improvements
Ticket 50195 - improve selinux error messages in interactive
Ticket 49658 - In replicated topology a single-valued attribute can diverge
Ticket 50111 - Use pkg-config to detect icu
Ticket 50165 - Fix issues with dscreate
Ticket 50177 - import task should not be deleted too rapidely after import finishes to be able to query the status
Ticket 50140 - Use high ports in container installs
Ticket 50184 - Add cli tool parity to dsconf/dsctl
Ticket 50159 - sssd and config display
2019-03-29 17:33:02 -04:00
Fedora Release Engineering
7b95822780 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 11:18:41 +00:00
Mark Reynolds
a0bfaeac22 update sources for jemalloc (again) 2019-01-30 15:32:28 -05:00
Mark Reynolds
924438668f Bump version to 1.4.1.1
Ticket 50151 - lib389 support cli add/replace/delete on objects
 Ticket 50041 - CLI and WebUI - Add memberOf plugin functionality
2019-01-30 15:27:22 -05:00
Igor Gnatenko
a308318bc4 Remove unneeded %clean section
It is the behavior since EPEL5.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-29 05:45:14 +01:00
Igor Gnatenko
57dc2fe663 Remove obsolete Group tag
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-28 20:17:38 +01:00
Pete Walter
3dad9e43ca Rebuild for ICU 63 2019-01-23 22:02:47 +00:00
Björn Esser
86f5156a94
Rebuilt for libcrypt.so.2 (#1666033) 2019-01-14 18:54:44 +01:00
Mark Reynolds
956526fd69 Update sources 2018-12-14 14:18:23 -05:00
Mark Reynolds
93e2bea0c0 Bump version to 1.4.0.20
Ticket 49994 - Add test for backend/suffix CLI functions
Ticket 50090 - refactor fetch_attr() to slapi_fetch_attr()
Ticket 50091 - shadowWarning is not generated if passwordWarning is lower than 86400 seconds (1 day)
Ticket 50056 - Fix CLI/UI bugs
Ticket 49864 - Revised replication status messages for transient errors
Ticket 50071 - Set ports in local_simple_allocate function
Ticket 50065 - lib389 aci parsing is too strict
Ticket 50061 - Improve schema loading in UI
Ticket 50063 - Crash after attempting to restore a single backend
Ticket 50062 - Replace error by warning in the state machine defined in repl5_inc_run
Ticket 50041 - Set the React dataflow foundation and add basic plugin UI
Ticket 50028 - Revise ds-replcheck usage
TIcket 50057 - Pass argument into hashtable_new
Ticket 50053 - improve testcase
Ticket 50053 - Subtree password policy overrides a user-defined password policy
Ticket 49974 - lib389 - List instances with initconfig_dir instead of sysconf_dir
Ticket 49984 - Add an empty domain creation to the dscreate
Ticket 49950 -  PassSync not setting pwdLastSet attribute in Active Directory after Pw update from LDAP sync for normal user
Ticket 50046 - Remove irrelevant debug-log messages from CLI tools
Ticket 50022, 50012, 49956, and 49800: Various dsctl/dscreate fixes
Ticket 49927 - dsctl db2index does not work
Ticket 49814 - dscreate should handle selinux ports that are in a range
Ticket 49543 - fix certmap dn comparison
Ticket 49994 - comment out dev paths
Ticket 49994 - Add backend features to CLI
Ticket 48081 - Add new CI tests for password
2018-12-14 13:58:18 -05:00
Mark Reynolds
aa7c0c779b Update sourcesfile 2018-11-15 10:55:06 -05:00
Mark Reynolds
a85ad4cef5 Bump version to 1.4.0.19
Ticket 50026 - audit logs does not capture the operation where nsslapd-lookthroughlimit is modified
Ticket 50020 - during MODRDN referential integrity can fail erronously while updating large groups
Ticket 49999 - Finish up the transfer to React
Ticket 50004 - lib389 - improve X-ORIGIN schema parsing
Ticket 50013 - Log warn instead of ERR when aci target does not exist.
Ticket 49975 - followup for broken prefix deployment
Ticket 49999 - Add dist-bz2 target for Koji build system
Ticket 49814 - Add specfile requirements for python3-libselinux
Ticket 49814 - Add specfile requirements for python3-selinux
Ticket 49999 - Integrate React structure into cockpit-389-ds
Ticket 49995 - Fix Tickets with internal op logging
Ticket 49997 - RFE: ds-replcheck could validate suffix exists and it's replicated
Ticket 49985 - memberof may silently fails to update a member
Ticket 49967 - entry cache corruption after failed MODRDN
Ticket 49975 - Add missing include file to main.c
Ticket 49814 - skip standard ports for selinux labelling
Ticket 49814 - dscreate should set the port selinux labels
Ticket 49856 - Remove backend option from bak2db
Ticket 49926 - Fix various Tickets with replication UI
Ticket 49975 - SUSE rpmlint Tickets
Ticket 49939 - Fix ldapi path in lib389
Ticket 49978 - Add CLI logging function for UI
Ticket 49929 - Modifications required for the Test Case Management System
Ticket 49979 - Fix regression in last commit
Ticket 49979 - Remove dirsrv tests subpackage
Ticket 49928 - Fix various small WebUI schema Tickets
Ticket 49926 - UI - comment out dev cli patchs
Ticket 49926 - Add replication functionality to UI
2018-11-15 10:46:41 -05:00
Mark Reynolds
dccdf8e794 Bump version to 1.4.0.18
Ticket 49968 - Confusing CRITICAL message: list_candidates - NULL idl was recieved from filter_candidates_ext
Ticket 49946 - upgrade of 389-ds-base could remove replication agreements.
Ticket 49969 - DOS caused by malformed search operation (part 2)
2018-10-10 12:50:05 -04:00
Mark Reynolds
e8490bb36e Bump version to 1.4.0.17-2
Ticket 49969 - DOS caused by malformed search operation (security fix)
Ticket 49943 - rfc3673_all_oper_attrs_test is not strict enough
Ticket 49915 - Master ns-slapd had 100% CPU usage after starting replication and replication cannot finish
Ticket 49963 - ASAN build fails on F28
Ticket 49947 - Coverity Fixes
Ticket 49958 - extended search fail to match entries
Ticket 49928 - WebUI schema functionality and improve CLI part
Ticket 49954 - On s390x arch retrieved DB page size is stored as size_t rather than uint32_t
Ticket 49928 - Refactor and improve schema CLI/lib389 part to DSLdapObject
Ticket 49926 - Fix replication tests on 1.3.x
Ticket 49926 - Add replication functionality to dsconf
Ticket 49887 - Clean up thread local usage
Ticket 49937 - Log buffer exceeded emergency logging msg is not thread-safe (security fix)
Ticket 49866 - fix typo in cos template in pwpolicy subtree create
Ticket 49930 - Correction of the existing fixture function names to remove test_ prefix
Ticket 49932 - Crash in delete_passwdPolicy when persistent search connections are terminated unexpectedly
Ticket 48053 - Add attribute encryption test cases
Ticket 49866 - Refactor PwPolicy lib389/CLI module
Ticket 49877 - Add log level functionality to UI
2018-10-09 15:18:05 -04:00
Mark Reynolds
d7c4b88b08 Add sources 2018-09-25 15:14:26 -04:00
Mark Reynolds
31b6db2a82 Bump version to 1.4.0.17
Ticket 49947 - Coverity: 389-ds-base-1.4.0.16.20180905git8ff8cb8
Ticket 49958 - extended search fail to match entries
Ticket 49928 - WebUI schema functionality and improve CLI part
Ticket 49954 - On s390x arch retrieved DB page size is stored as size_t rather than uint32_t
Ticket 49928 - Refactor and improve schema CLI/lib389 part to DSLdapObject
Ticket 49926 - Fix replication tests on 1.3.x
Ticket 49926 - Add replication functionality to dsconf
Ticket 49887 - Clean thread local usage
Ticket 49937 - Log buffer exceeded emergency logging msg is not thread-safe
Ticket 49866 - fix typo in cos template in pwpolicy subtree create
Ticket 49930 - Correction of the existing fixture function names to remove test_ prefix
Ticket 49932 - Crash in delete_passwdPolicy when persistent search connections are terminated unexpectedly
Ticket 48053 - Add attribute encryption test cases
Ticket 49866 - Refactor PwPolicy lib389/CLI module
Ticket 49877 - Add log level functionality to UI
2018-09-25 15:09:49 -04:00
Viktor Ashirov
4aedd70f16 Add CI tests using the standard test interface 2018-09-11 12:01:20 +02:00
Mark Reynolds
9d6a85b93c Update sources 2018-08-24 17:00:29 -04:00
Mark Reynolds
fee9beaa14 Bump version to 1.4.0.16
Revert "Ticket 49372 - filter optimisation improvements for common queries"
Revert "Ticket 49432 - filter optimise crash"
Ticket 49887: Fix SASL map creation when --disable-perl
Ticket 49858 - Add backup/restore and import/export functionality to WebUI/CLI
2018-08-24 16:52:49 -04:00
Mark Reynolds
a1ed3b7a96 Bump version to 1.4.0.15
Ticket 49029 - Internal logging thread data needs to allocate int pointers
Ticket 48061 : CI test - config
Ticket 48377 - Only ship libjemalloc.so.2
Ticket 49885 - On some platform fips does not exist
2018-08-16 13:38:59 -04:00
Viktor Ashirov
34cc859646 Fix spec file syntax error 2018-08-15 13:43:56 +02:00
Mark Reynolds
a3cf4b4136 Bump version to 1.4.0.14-2
Fix legacy tool scriplet error
Remove ldconfig calls
Only provide libjemalloc.so.2
2018-08-13 13:35:45 -04:00
Mark Reynolds
868bfa17dd Fix specfile
- Fix legacy tool scriplet error
- Remove ldconfig calls
- Only provide libjemalloc.so.2
2018-08-13 13:32:05 -04:00
Mark Reynolds
a108692f93 Bump version to 1.4.0.14
Ticket 49891 - Use "__python3" macro for python scripts
Ticket 49890 - ldapsearch with server side sort crashes the ldap server
Ticket 49029 - RFE -improve internal operations logging
Ticket 49893 - disable nunc-stans by default
Ticket 48377 - Update file name for LD_PRELOAD
Ticket 49884 - Improve nunc-stans test to detect socket errors sooner
Ticket 49888 - Use perl filter in rpm specfile
Ticket 49866 - Add password policy features to CLI/UI
Ticket 49881 - Missing check for crack.h
Ticket 48056 - Add more test cases to the basic suite
Ticket 49761 - Fix replication test suite issues
Ticket 49381 - Refactor the plugin test suite docstrings
Ticket 49837 - Add new password policy attributes to UI
Ticket 49794 - RFE - Add pam_pwquality features to password syntax checking
Ticket 49867 - Fix CLI tools' double output
2018-08-10 11:51:14 -04:00
Mark Reynolds
a1a3ebbe0f Bump version to 1.4.0.13
Ticket 49854 - ns-slapd should create run_dir and lock_dir directories at startup
Ticket 49806 - Add SASL functionality to CLI/UI
Ticket 49789 - backout original security fix as it caused a regression in FreeIPA
Ticket 49857 - RPM scriptlet for 389-ds-base-legacy-tools throws an error
2018-07-19 14:59:05 -04:00
Mark Reynolds
e77ad85173 Bump version to 1.4.0.12-1
Ticket 48377 - Move jemalloc license to /usr/share/licences
Ticket 49813 - Revised interactive installer
Ticket 49789 - By default, do not manage unhashed password
Ticket 49844 - lib389: don't set up logging at module scope
Ticket 49546 - Fix issues with MIB file
Ticket 49840 - ds-replcheck command returns traceback errors against ldif files having garbage content when run in offline mode
Ticket 49640 - Cleanup plugin bootstrap logging
Ticket 49835 - lib389: fix logging
Ticket 48818 - For a replica bindDNGroup, should be fetched the first time it is used not when the replica is started
Ticket 49780 - acl_copyEval_context double free
Ticket 49830 - Import fails if backend name is "default"
Ticket 49832 - remove tcmalloc references
Ticket 49813 - dscreate - add interactive installer
Ticket 49808 - Add option to add backend to dscreate
Ticket 49811 - lib389 setup.py should install autogenerated man pages
Ticket 49795 - UI - add "action" backend funtionality
Ticket 49588 - Add py3 support for tickets : part-3
Ticket 49820 - lib389 requires wrong python ldap library
Ticket 49791 - Update docker file for new dscreate options
Ticket 49761 - Fix more CI test issues
Ticket 49811 - Update man pages
Ticket 49783 - UI - add server configuration backend
Ticket 49717 - Add conftest.py for tests
Ticket 49588 - Add py3 support for tickets
Ticket 49793 - Updated descriptions in dscreate example INF file
Ticket 49471 - Rename dscreate options
Ticket 49751 - passwordMustChange attribute is not honored by a RO consumer if using "Chain on Update"
Ticket 49734 - Fix various issues with Disk Monitoring
Update Source0 URL in rpm/389-ds-base.spec.in
2018-07-17 14:49:29 -04:00
Fedora Release Engineering
c7206ba544 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 18:52:26 +00:00
Pete Walter
5ac6c17865 Rebuild for ICU 62 2018-07-10 18:39:33 +01:00
Jason Tibbitts
0490f8c2bd Remove needless use of %defattr 2018-07-10 00:05:14 -05:00
Petr Písař
86ba8c4f7f Perl 5.28 rebuild 2018-07-03 12:15:32 +02:00
Miro Hrončok
c2c3577b8a Rebuilt for Python 3.7 2018-07-02 18:24:37 +02:00
Jitka Plesnikova
e05bd8aebb Perl 5.28 rebuild 2018-06-29 21:52:53 +02:00
Mark Reynolds
38eed59ddf Bump version to 1.4.0.11-2
Add python3-lib389 requirement
2018-06-21 15:27:47 -04:00
Mark Reynolds
e607a346b3 Update sources 2018-06-19 14:22:10 -04:00
Mark Reynolds
d2303c91f8 Bump version to 1.4.0.11
Test for issue #49788
Fixing 4-byte UTF-8 character validation
Ticket 49777 - add config subcommand to dsconf
Ticket 49712 - lib389 CLI tools should return a result code on failures
Issue 49588 - Add py3 support for tickets : part-2
Remove old RHEL/fedora version checking from upstream specfile
Ticket 48204 - remove python2 from scripts
Ticket 49576 - ds-replcheck: fix certificate directory verification
Bug 1591761 - 389-ds-base: Remove jemalloc exports
2018-06-19 14:16:58 -04:00
Miro Hrončok
d49224213c Rebuilt for Python 3.7 2018-06-19 10:39:02 +02:00
Mark Reynolds
a51fda2b83 Remove reference to stop-dirsrv in legacy files 2018-06-11 15:54:07 -04:00
Mark Reynolds
296c2ca5ec Update sources 2018-06-08 20:13:57 -04:00
Mark Reynolds
79a8179223 add man page for ns-slapd 2018-06-08 16:33:43 -04:00
Mark Reynolds
0bd8f0b8bc update sources 2018-06-08 16:14:42 -04:00
Mark Reynolds
c458a6124f Bump verision to 1.4.0.10-1
Ticket 49640 - Errors about PBKDF2 password storage plugin at server startup
Ticket 49571 - perl subpackage and python installer by default
Ticket 49740 - UI - Replication monitor color coding is not colorblind friendly
Ticket 49741 - UI - View/Edit replication agreement hangs WebUI
Ticket 49703 - UI - Set default values in create instance form
Ticket 49742 - Fine grained password policy can impact search performance
Ticket 49768 - Under network intensive load persistent search can erronously decrease connection refcnt
Ticket 49765 - compiler warning
Ticket 49689 - Cockpit subpackage does not build in PREFIX installations
Ticket 49765 - Async operations can hang when the server is running nunc-stans
Ticket 49745 - UI add filter options for error log severity levels
Ticket 49761 - Fix test suite issues
Ticket 49754 - instances created with dscreate can not be upgraded with setup-ds.pl
Ticket 47902 - UI - add continuous refresh log feature
Ticket 49381 - Add docstrings to plugin test suites - Part 1
Ticket 49646 - Improve TLS cert processing in lib389 CLI
Ticket 49748 - Passthru plugin startTLS option not working
Ticket 49732 - Optimize resource limit checking for rootdn issued searches
Ticket 48377 - Bundle jemalloc
Ticket 49736 - Hardening of active connection list
Ticket 48184 - clean up and delete connections at shutdown (3rd)
Ticket 49675 - Revise coverity fix
Ticket 49333 - Do not remove versioned man pages
Ticket 49683 - Add support for JSON option in lib389 CLI tools
Ticket 49704 - Error log from the installer is concatenating all lines into one
Ticket 49726 - DS only accepts RSA and Fortezza cipher families
Ticket 49722 - Errors log full of " WARN - keys2idl - recieved NULL idl from index_read_ext_allids, treating as empty set" messages
Ticket 49582 - Add py3 support to memberof_plugin test suite
Ticket 49675 - Fix coverity issues
Ticket 49576 - Add support of ";deletedattribute" in ds-replcheck
Ticket 49706 - Finish UI patternfly convertions
Ticket 49684 - AC_PROG_CC clobbers CFLAGS set by --enable-debug
Ticket 49678 - organiSational vs organiZational spelling in lib389
Ticket 49689 - Fix local "make install" after adding cockpit subpackage
Ticket 49689 - Move Cockpit UI plugin to a subpackage
Ticket 49679 - Missing nunc-stans documentation and doxygen warnings
Ticket 49588 - Add py3 support for tickets : part-1
Ticket 49576 - Update ds-replcheck for new conflict entries
Ticket 48184 - clean up and delete connections at shutdown (2nd try)
Ticket 49698 - Remove unneeded patternfly files from Cockpit package
Ticket 49581 - Fix dynamic plugins test suite
Ticket 49665 - remove obsoleted upgrade scripts
Ticket 49693 - A DB_DEADLOCK while adding a tombstone (RUV) leads to access of an already freed entry
Ticket 49696 - replicated operations should be serialized
Ticket 49669 - Invalid cachemem size can crash the server during a restore
Ticket 49684 - AC_PROG_CC clobbers CFLAGS set by --enable-debug
Ticket 49685 - make clean fails if cargo is not installed
Ticket 49106 - Move ds_* scripts to libexec
Ticket 49657 - Fix cascading replication scenario in lib389 API
Ticket 49671 - Readonly replicas should not write internal ops to changelog
Ticket 49673 - nsslapd-cachememsize can't be set to a value bigger than MAX_INT
Ticket 49519 - Convert Cockpit UI to use strictly patternfly stylesheets
Ticket 49665 - Upgrade script doesn't enable CRYPT password storage plug-in
Ticket 49665 - Upgrade script doesn't enable PBKDF2 password storage plug-in
2018-06-08 16:06:51 -04:00
Mark Reynolds
9206b33331 Bump version to 1.4.0.9-2
Add openssl-perl requirement for new python installer
2018-05-15 14:05:07 -04:00
Mark Reynolds
72d89c4881 Bump version to 1.4.0.9
Ticket 49661 - CVE-2018-1089 - Crash from long search filter
Ticket 49652 - DENY aci's are not handled properly
Ticket 49650 - lib389 enable_tls doesn't work on F28
Ticket 49538 - replace cacertdir_rehash with openssl rehash
Ticket 49406 - Port backend_test.py test to DSLdapObject implementation
Ticket 49649 - Use reentrant crypt_r()
Ticket 49642 - lib389 should generate a more complex password
Ticket 49612 - lib389 remove_ds_instance() does not remove systemd units
Ticket 49644 - crash in debug build
2018-05-08 11:46:10 -04:00
Pete Walter
b785b153f4 Rebuild for ICU 61.1 2018-04-30 08:29:11 +01:00
Mark Reynolds
a24b154d37 Bump version to 1.4.0.8-1
Ticket 49639 - Crash when failing to read from SASL conn
Ticket 49109 - nsDS5ReplicaTransportInfo should accept StartTLS as an option
Ticket 49586 - Add py3 support to plugins test suite
Ticket 49511 - memory leak in pwdhash
2018-04-19 18:55:40 -04:00
Mark Reynolds
94780b622d Bump version to 1.4.0.7-2
Fix the devel srvcore requirements
2018-04-16 11:02:47 -04:00
Mark Reynolds
a880a76292 Bump version to 1.4.0.7
Ticket 49477 - Missing pbkdf python
Ticket 49552 - Fix the last of the build issues on F28/29
Ticket 49522 - Fix build issues on F28
Ticket 49631 - same csn generated twice
Ticket 49585 - Add py3 support to password test suite : part-3
Ticket 49585 - Add py3 support to password test suite : part-2
Ticket 48184 - revert previous patch around unuc-stans shutdown crash
Ticket 49585 - Add py3 support to password test suite
Ticket 46918 - Fix compiler warnings on arm
Ticket 49601 - Replace HAVE_SYSTEMD define with WITH_SYSTEMD in svrcore
Ticket 49619 - adjustment of csn_generator can fail so next generated csn can be equal to the most recent one received
Ticket 49608 - Add support for gcc/clang sanitizers
Ticket 49606 - Improve lib389 documentation
Ticket 49552 - Fix build issues on F28
Ticket 49603 - 389-ds-base package rebuilt on EPEL can't be installed due to missing dependencies
Ticket 49593 - NDN cache stats should be under the global stats
Ticket 49599 - Revise replication total init status messages
Ticket 49596 - repl-monitor.pl fails to find db tombstone/RUV entry
Ticket 49589 - merge svrcore into 389-ds-base
Ticket 49560 - Add a test case for extract-pemfiles
Ticket 49239 - Add a test suite for ds-replcheck tool RFE
Ticket 49369 - merge svrcore into 389-ds-base
2018-04-13 10:47:29 -04:00
Till Maas
3491be2a68 Remove BR on tcp_wrappers (https://bugzilla.redhat.com/show_bug.cgi?id=1518749) 2018-03-29 13:30:51 +02:00
Mark Reynolds
863e909908 Bump version to 1.4.0.6
Ticket 49545 - final substring extended filter search returns invalid result
Ticket 49572 - ns_job_wait race on condvar
Ticket 49584 - Fix Tickets with paged_results test suite
Ticket 49161 - memberof fails if group is moved into scope
Ticket 49447 - PBKDF2 on upgrade
ticket 49551 - correctly handle subordinates and tombstone numsubordinates
Ticket 49043 - Add replica conflict test suite
Ticket 49296 - Fix race condition in connection code with  anonymous limits
Ticket 49568 - Fix integer overflow on 32bit platforms
Ticket 48085 - Add encryption cl5 test suite
Ticket 49566 - ds-replcheck needs to work with hidden conflict entries
Ticket 49519 - Add more Cockpit UI content
Ticket 49551 - fix memory leak found by coverity
Ticket 49551 - v3 - correct handling of numsubordinates for cenotaphs and tombstone delete
Ticket 49278 - Add a new CI test case
Ticket 49560 - nsslapd-extract-pemfiles should be enabled by default as openldap is moving to openssl
Ticket 49557 - Add config option for checking CRL on outbound SSL Connections
Ticket 49446 - Add CI test case
Ticket 35 -    Description: Add support for managing automember to dsconf
Ticket 49544 - cli release preperation
Ticket 48006 - Add a new CI test case
2018-03-06 15:07:53 -05:00
Mark Reynolds
0852ce978a Bump version to 1.4.0.6
Ticket 49545 - final substring extended filter search returns invalid result
Ticket 49572 - ns_job_wait race on condvar
Ticket 49584 - Fix Tickets with paged_results test suite
Ticket 49161 - memberof fails if group is moved into scope
Ticket 49447 - PBKDF2 on upgrade
ticket 49551 - correctly handle subordinates and tombstone numsubordinates
Ticket 49043 - Add replica conflict test suite
Ticket 49296 - Fix race condition in connection code with  anonymous limits
Ticket 49568 - Fix integer overflow on 32bit platforms
Ticket 48085 - Add encryption cl5 test suite
Ticket 49566 - ds-replcheck needs to work with hidden conflict entries
Ticket 49519 - Add more Cockpit UI content
Ticket 49551 - fix memory leak found by coverity
Ticket 49551 - v3 - correct handling of numsubordinates for cenotaphs and tombstone delete
Ticket 49278 - Add a new CI test case
Ticket 49560 - nsslapd-extract-pemfiles should be enabled by default as openldap is moving to openssl
Ticket 49557 - Add config option for checking CRL on outbound SSL Connections
Ticket 49446 - Add CI test case
Ticket 35 -    Description: Add support for managing automember to dsconf
Ticket 49544 - cli release preperation
Ticket 48006 - Add a new CI test case
2018-03-06 14:25:46 -05:00
Mark Reynolds
011873603f Add cyrus-sasl-plain requirement 2018-02-19 11:18:03 -05:00
Mark Reynolds
cd23285e7d Correct python util package 2018-02-17 21:00:49 -05:00
Mark Reynolds
7a4f7499f5 Fix package requirements to use Python 3 packages for LDAP and SELinux 2018-02-15 16:49:18 -05:00
Mark Reynolds
5b671b0041 Only exclude Ix86 arches 2018-02-15 16:16:02 -05:00
Adam Williamson
afec1837e2 Rebuild for libevent soname bump 2018-02-15 12:29:41 -08:00
Dennis Gilmore
f6db4e73b4 exclude the currently supported Fedora 32 bit arches
https://bugzilla.redhat.com/show_bug.cgi?id=1544386
upstream has dropped supporting 32 bit arches

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2018-02-15 08:09:31 -06:00
Igor Gnatenko
9e3e808c50
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 09:53:36 +01:00
Igor Gnatenko
1d71598c10 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:00:22 +01:00
Igor Gnatenko
a79010bf52
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:04:06 +01:00
Fedora Release Engineering
55f88176b7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 00:20:59 +00:00
Mark Reynolds
482fad4fba Bump version to 1.4.0.5
CVE-2017-15134 389-ds-base: Remote DoS via search filters in slapi_filter_sprintf
Ticket 49546 - Fix broken snmp MIB file
Ticket 49554 - update readme
Ticket 49554 - Update Makefile for README.md
Ticket 49400 - Make CLANG configurable
Ticket 49530 - Add pseudolocalization option for dbgen
Ticket 49523 - Fixed skipif marker, topology fixture and log message
Ticket 49544 - Double check pw prompts
Ticket 49548 - Cockpit UI - installer should also setup Cockpit
2018-01-31 14:59:09 -05:00
Mark Reynolds
a7312c556a Bump version to 1.4.0.4
Ticket 49540 - Indexing task is reported finished too early regarding the backend status
Ticket 49534 - Fix coverity regression
Ticket 49544 - cli release preperation, group improvements
Ticket 49542 - Unpackaged files on el7 break rpm build
Ticket 49541 - repl config should not allow rid 65535 for masters
Ticket 49370 - Add all the password policy defaults to a new local policy
Ticket 49425 - improve demo objects for install
Ticket 49537 - allow asan to build with stable rustc
Ticket 49526 - Improve create_test.py script
Ticket 49516 - Add python 3 support for replication suite
Ticket 49534 - Fix coverity issues and regression
Ticket 49532 - coverity issues - fix compiler warnings & clang issues
Ticket 49531 - coverity issues - fix memory leaks
Ticket 49463 - After cleanALLruv, there is a flow of keep alive DEL
Ticket 49529 - Fix Coverity warnings: invalid deferences
Ticket 49509 - Indexing of internationalized matching rules is failing
Ticket 49527 - Improve ds* cli tool testing
Ticket 49474 - purge saslmaps before gssapi test
Ticket 49413 - Changelog trimming ignores disabled replica-agreement
Ticket 49446 - cleanallruv should ignore cleaned replica Id in processing changelog if in force mode
Ticket 49278 - GetEffectiveRights gives false-negative
Ticket 49508 - memory leak in cn=replica plugin setup
Ticket 48118 - Add CI test case
Ticket 49520 - Cockpit UI - Add database chaining HTML
Ticket 49512 - Add ds-cockpit-setup to rpm spec file
Ticket 49523 - Refactor CI test
Ticket 49524 - Password policy: minimum token length fails  when the token length is equal to attribute length
Ticket 49517 - Cockpit UI - Add correct png files
Ticket 49517 - Cockput UI - revise config layout
Ticket 49523 - memberof: schema violation error message is confusing as memberof will likely repair target entry
Ticket 49312 - Added a new test case for "-D configdir"
Ticket 49512 - remove backup directories from cockpit source
Ticket 49512 - Add initial Cockpit UI Plugin
Ticket 49515 - cannot link, missing -fPIC
Ticket 49474 - Improve GSSAPI testing capability
Ticket 49493 - heap use after free in csn_as_string
Ticket 49379 - Add Python 3 support to CI test
Ticket 49431 - Add CI test case
Ticket 49495 - cos stress test and improvements.
Ticket 49495 - Fix memory management is vattr.
Ticket 49494 - python 2 bytes mode.
Ticket 49471 - heap-buffer-overflow in ss_unescape
Ticket 48184 - close connections at shutdown cleanly.
Ticket 49218 - Certmap - support TLS tests
Ticket 49470 - overflow in pblock_get
Ticket 49443 - Add CI test case
Ticket 49484 - Minor cli tool fixes.
Ticket 49486 - change ns stress core to use absolute int width.
Ticket 49445 - Improve regression test to detect memory leak.
Ticket 49445 - Memory leak in ldif2db
Ticket 49485 - Typo in gccsec_defs
Ticket 49479 - Remove unused 'batch' argument from lib389
Ticket 49480 - Improvements to support IPA install.
Ticket 49474 - sasl allow mechs does not operate correctly
Ticket 49449 - Load sysctl values on rpm upgrade.
Ticket 49374 - Add CI test case
Ticket 49325 - fix rust linking.
Ticket 49475 - docker poc improvements.
Ticket 49461 - Improve db2index handling for test 49290
Ticket 47536 - Add Python 3 support and move test case to suites
Ticket 49444 - huaf in task.c during high load import
Ticket 49460 - replica_write_ruv log a failure even when it succeeds
Ticket 49298 - Ticket with test case and remove-ds.pl
Ticket 49408 - Add a test case for nsds5ReplicaId checks
Ticket 3 lib389 - python 3 support for subset of pwd cases
Ticket 35 lib389 - dsconf automember support
2018-01-29 18:42:58 -05:00
Björn Esser
cbdebb33d6
Rebuilt for switch to libxcrypt 2018-01-20 23:06:22 +01:00
Pete Walter
059ded44a1 Rebuild for ICU 60.1 2017-11-30 20:17:31 +00:00
Mark Reynolds
9db5b08f21 Bump version to 1.4.0.3
Ticket 49457 - Fix spal_meminfo_get function prototype
Ticket 49455 - Add tests to monitor test suit.
Ticket 49448 - dynamic default pw scheme based on environment.
Ticket 49298 - fix complier warn
Ticket 49298 - Correct error codes with config restore.
Ticket 49454 - SSL Client Authentication breaks in FIPS mode
Ticket 49453 - passwd.py to use pwdhash defaults.
Ticket 49427 - whitespace in fedse.c
Ticket 49410 - opened connection can remain no longer poll, like hanging
Ticket 48118 - fix compiler warning for incorrect return type
Ticket 49451 - Add environment markers to lib389 dependencies
Ticket 49325 - Proof of concept rust tqueue in sds
Ticket 49443 - scope one searches in 1.3.7 give incorrect results
Ticket 48118 - At startup, changelog can be erronously rebuilt after a normal shutdown
Ticket 49412 - SIGSEV when setting invalid changelog config value
Ticket 49441 - Import crashes - oneline fix
Ticket 49377 - Incoming BER too large with TLS on plain port
Ticket 49441 - Import crashes with large indexed binary  attributes
Ticket 49435 - Fix NS race condition on loaded test systems
Ticket 77 - lib389 - Refactor docstrings in rST format - part 2
Ticket 17 - lib389 - dsremove support
Ticket 3 - lib389 - python 3 compat for paged results test
Ticket 3 - lib389 - Python 3 support for memberof plugin test suit
Ticket 3 - lib389 - config test
Ticket 3 - lib389 - python 3 support ds_logs tests
Ticket 3 - lib389 - python 3 support for betxn test
2017-11-20 11:14:12 -05:00
Mark Reynolds
4e7c5c2667 Bump version to 1.4.0.2-2
Add python-lib389 build requirements
2017-11-03 14:39:01 -04:00
Mark Reynolds
09fb13d153 Bump version to 1.4.0.2
Ticket 48393 - fix copy and paste error
Ticket 49439 - cleanallruv is not logging information
Ticket 48393 - Improve replication config validation
Ticket lib389 3 - Python 3 support for ACL test suite
Ticket 103 - sysconfig not found
Ticket 49436 - double free in COS in some conditions
Ticket 48007 - CI test to test changelog trimming interval
Ticket 49424 - Resolve csiphash alignment issues
Ticket lib389 3 - Python 3 support for pwdPolicy_controls_test.py
Ticket 3 - python 3 support - filter test
Ticket 49434 - RPM build errors
Ticket 49432 - filter optimise crash
Ticket 49432 - Add complex fliter CI test
Ticket 48894 - harden valueset_array_to_sorted_quick valueset  access
Ticket 49401 - Fix compiler incompatible-pointer-types warnings
Ticket 48681 - Use of uninitialized value in string ne at /usr/bin/logconv.pl
Ticket 49409 - Update lib389 requirements
Ticket 49401 - improve valueset sorted performance on delete
Ticket 49374 -  server fails to start because maxdisksize is recognized incorrectly
Ticket 49408 - Server allows to set any nsds5replicaid in the existing replica entry
Ticket 49407 - status-dirsrv shows ellipsed lines
Ticket 48681 - Use of uninitialized value in string ne at /usr/bin/logconv.pl
Ticket 49386 - Memberof should be ignore MODRDN when the pre/post entry are identical
Ticket 48006 - Missing warning for invalid replica backoff  configuration
Ticket 49064 - testcase hardening
Ticket 49064 - RFE allow to enable MemberOf plugin in dedicated consumer
Ticket lib389 3 - python 3 support
Ticket 49402 - Adding a database entry with the same database name that was deleted hangs server at shutdown
Ticket 48235 - remove memberof lock (cherry-pick error)
Ticket 49394 - build warning
Ticket 49381 - Refactor numerous suite docstrings - Part 2
Ticket 49394 - slapi_pblock_get may leave unchanged the provided variable
Ticket 49403 - tidy ns logging
Ticket 49381 - Refactor filter test suite docstrings
Ticket 48235 - Remove memberOf global lock
Ticket 103 - Make sysconfig where it is expected to exist
Ticket 49400 - Add clang support to rpm builds
Ticket 49381 - Refactor ACL test suite docstrings
Ticket 49363 - Merge lib389
Ticket 101 - BaseException.message has been deprecated in Python3
Ticket 102 - referral support
Ticket 99 - Fix typo in create_topology
Ticket #98 - Fix dbscan output
Ticket #77 - Fix changelogdb param issue
Ticket #77 - Refactor docstrings in rST format - part 1
Ticket 96 - Change binaries' names
Ticket 77 - Add sphinx documentation
Ticket 43 - Add support for Referential Integrity plugin
Ticket 45 - Add support for Rootdn Access Control plugin
Ticket 46 - dsconf support for dynamic schema reload
Ticket 74 - Advice users to set referint-update-delay to 0
Ticket 92 - display_attr() should return str not bytes in py3
Ticket 93 - Fix test cases in ctl_dbtasks_test.py
Ticket 88 - python install and remove for tests
Ticket 85 - Remove legacy replication attribute
Ticket 91 - Fix replication topology
Ticket 89 - Fix inconsistency with serverid
Ticket 79 - Fix replica.py and add tests
Ticket 86 - add build dir to gitignore
Ticket 83 - Add an util for generating instance parameters
Ticket 87 - Update accesslog regec for HR etimes
Ticket 49 - Add support for whoami plugin
Ticket 48 - Add support for USN plugin
Ticket 78 - Add exists() method to DSLdapObject
Ticket 31 - Allow complete removal of some memberOf attrs
Ticket31 - Add memberOf fix-up task
Ticket 67 - Add ensure_int function
Ticket 59 - lib389 support for index management.
Ticket 67 - get attr by type
Ticket 70 - Improve repl tools
Ticket 50 - typo in db2* in dsctl
Ticket 31 - Add status command and SkipNested support for MemberOf
Ticket 31 - Add functional tests for MemberOf plugin
Ticket 66 - expand healthcheck for Directory Server
Ticket 69 - add specfile requires
Ticket 31 - Initial MemberOf plugin support
Ticket 50 - Add db2* tasks to dsctl
Ticket 65 - Add m2c2 topology
Ticket 63 - part 2, agreement test
Ticket 63 - lib389 python 3 fix
Ticket 62 - dirsrv offline log
Ticket 60 - add dsrc to dsconf and dsidm
Ticket 32 - Add TLS external bind support for testing
Ticket 27 - Fix get function in tests
Ticket 28 - userAccount for older versions without nsmemberof
Ticket 27 - Improve dseldif API
Ticket 30 - Add initial support for account lock and unlock.
Ticket 29 - fix incorrect format in tools
Ticket 28 - Change default objectClasses for users and groups
Ticket 1 - Fix missing dn / rdn on config.
Ticket 27 - Add a module for working with dse.ldif file
Ticket 1 - cn=config comparison
Ticket 21 - Missing serverid in dirsrv_test due to incorrect allocation
Ticket 26 - improve lib389 sasl support
Ticket 24 - Join paths using os.path.join instead of string concatenation
Ticket 25 - Fix RUV __repr__ function
Ticket 23 - Use DirSrv.exists() instead of manually checking for instance's existence
Ticket 1 - cn=config comparison
Ticket 22 - Specify a basedn parameter for IDM modules
Ticket 19 - missing readme.md in python3
Ticket 20 - Use the DN_DM constant instead of hard coding its value
Ticket 19 - Missing file and improve make
Ticket 14 - Remane dsadm to dsctl
Ticket 16 - Reset InstScriptsEnabled argument during the init
Ticket 14 - Remane dsadm to dsctl
Ticket 13 - Add init function to create new domain entries
Ticket 15 - Improve instance configuration ability
Ticket 10 - Improve command line tool arguments
Ticket 9 - Convert readme to MD
Ticket 7 - Add pause and resume methods to topology fixtures
Ticket 49172 - Allow lib389 to read system schema and instance
Ticket 49172 - Allow lib389 to read system schema and instance
Ticket 6 - Bump lib389 version 1.0.4
Ticket 5 - Fix container build on fedora
Ticket 4 - Cert detection breaks some tests
Ticket 49137 - Add sasl plain tests, lib389 support
Ticket 2 - pytest mark with version relies on root
Ticket 49126 - DIT management tool
Ticket 49101 - Python 2 generate example entries
Ticket 49103 - python 2 support for installer
Ticket 47747 - Add topology_i2 and topology_i3
Ticket 49087 - lib389 resolve jenkins issues
Ticket 48413 - Improvements to lib389 for rest
Ticket 49083 - Support prefix for discovery of the defaults.inf file.
Ticket 49055 - Fix debugging mode issue
Ticket 49060 - Increase number of masters, hubs and consumers in topology
Ticket 47747 - Add more topology fixtures
Ticket 47840 - Add InstScriptsEnabled argument
Ticket 47747 - Add topology fixtures module
Ticket 48707 - Implement draft-wibrown-ldapssotoken-01
Ticket 49022 - Lib389, py3 installer cannot create entries in backend
Ticket 49024 - Fix paths to the dbdir parent
Ticket 49024 - Fix db_dir paths
Ticket 49024 - Fix paths in tools module
Ticket 48961 - Fix lib389 minor issues shown by 48961 test
Ticket 49010 - Lib389 fails to start with systemctl changes
Ticket 49007 - lib389 fixes for paths to use online values
Ticket 49005 - Update lib389 to work in containers correctly.
Ticket 48991 - Fix lib389 spec for python2 and python3
Ticket 48984 - Add lib389 paths module
Ticket 48951 - dsadm dsconfig status and plugin
Ticket 47957 - Update the replication "idle" status string
Ticket 48951 - dsadm and dsconf base files
Ticket 48952 - Restart command needs a sleep
Ticket 48949 - Fix ups for style and correctness
Ticket 48949 - added copying slapd-collations.conf
Ticket 48949 - change default file path generation - use os.path.join
Ticket 48949 - os.makedirs() exist_ok not python2 compatible, added try/except
Ticket 48949 - configparser fallback not python2 compatible
Ticket 48946 - openConnection should not fully popluate DirSrv object
Ticket 48832 - Add DirSrvTools.getLocalhost() function
Ticket 48382 - Fix serverCmd to get sbin dir properly
Bug 1347760 - Information disclosure via repeated use of LDAP ADD operation, etc.
Ticket 48937 - Cleanup valgrind wrapper script
Ticket 48923 - Fix additional issue with serverCmd
Ticket 48923 - serverCmd timeout not working as expected
Ticket 48917 - Attribute presence
Ticket 48911 - Plugin improvements for lib389
Ticket 48911 - Improve plugin support based on new mapped objects
Ticket 48910 - Fixes for backend tests and lib389 reliability.
Ticket 48860 - Add replication tools
Ticket 48888 - Correction to create of dsldapobject
Ticket 48886 - Fix NSS SSL library in lib389
Ticket 48885 - Fix spec file requires
Ticket 48884 - Bugfixes for mapped object and new connections
Ticket 48878 - better style for backend in backend_test.py
Ticket 48878 - pep8 fixes part 2
Ticket 48878 - pep8 fixes and fix rpm to build
Ticket 48853 - Prerelease installer
Ticket 48820 - Begin to test compatability with py.test3, and the new orm
Ticket 48434 - Fix for negative tz offsets
Ticket 48857 - Remove python-krbV from lib389
Ticket 48820 - Fix tests to ensure they work with the new object types
Ticket 48820 - Move Encryption and RSA to the new object types
Ticket 48820 - Proof of concept of orm style mapping of configs and objects
Ticket 48820 - Clitool rename
Ticket 48431 - lib389 integrate ldclt
Ticket 48434 - lib389 logging tools
Ticket 48796 - add function to remove logs
Ticket 48771 - lib389 - get ns-slapd version
Ticket 48830 - Convert lib389 to ip route tools
Ticket 48763 - backup should run regardless of existing backups.
Ticket 48434 - lib389 logging tools
Ticket 48798 - EL6 compat for lib389 tests for DH params
Ticket 48798 - lib389 add ability to create nss ca and certificate
Ticket 48433 - Aci linting tools
Ticket 48791 - format args in server tools
Ticket 48399 - Helper makefile is missing mkdir dist
Ticket 48399 - Helper makefile is missing mkdir dist
Ticket 48794 - lib389 build requires are on a single line
Ticket 48660 - Add function to convert binary values in an entry to base64
Ticket 48764 - Fix mit krb password to be random.
Ticket 48765 - Change default ports for standalone topology
Ticket 48750 - Clean up logging to improve command experience
Ticket 48751 - Improve lib389 ldapi support
Ticket 48399 - Add helper makefile to lib389 to build and install
Ticket 48661 - Agreement test suite fails at the test_changes case
Ticket 48407 - Add test coverage module for lib389 repo
Ticket 48357 - clitools should standarise their args
Ticket 48560 - Make verbose handling consistent
Ticket 48419 - getadminport() should not a be a static method
Ticket 48408 - RFE escaped default suffix for tests
Ticket 48401 - Revert typecheck
Ticket 48401 - lib389 Entry hasAttr returs dict instead of false
Ticket 48390 - RFE Improvements to lib389 monitor features for rest389
Ticket 48358 - Add new spec file
Ticket 48371 - weaker host check on localhost.localdomain
Ticket 58358 - Update spec file with pre-release versioning
Ticket 48358 - Make Fedora packaging changes to the spec file
Ticket 48358 - Prepare lib389 for Fedora Packaging
Ticket 48364 - Fix test failures
Ticket 48360 - Refactor the delete agreement function
Ticket 48361 - Expand 389ds monitoring capabilities
Ticket 48246 - Adding license/copyright to lib389 files
Ticket 48340 - Add basic monitor support to lib389 https://fedorahosted.org/389/ticket/48340
Ticket 48353 - Add Replication REST support to lib389
Ticket 47840 - Fix regression
Ticket 48343 - lib389 krb5 realm management https://fedorahosted.org/389/ticket/48343
Ticket 47840 - fix lib389 to use sbin scripts  https://fedorahosted.org/389/ticket/47840
Ticket 48335 - Add SASL support to lib389
Ticket 48329 - Fix case-senstive scyheam comparisions
Ticket 48303 - Fix lib389 broken tests
Ticket 48329 - add matching rule functions to schema module
Ticket 48324 - fix boolean capitalisation (one line) https://fedorahosted.org/389/ticket/48324
Ticket 48321 - Improve is_a_dn check to prevent mistakes with lib389 auth https://fedorahosted.org/389/ticket/48321
Ticket 48322 - Allow reindex function to reindex all attributes
Ticket 48319 - Fix ldap.LDAPError exception processing
Ticket 48318 - Do not delete a changelog while disabling a replication by suffix
Ticket 48308 - Add __eq__ and __ne__ to Entry to allow fast comparison https://fedorahosted.org/389/ticket/48308
Ticket 48303 - Fix lib389 broken tests - backend_test
Ticket 48309 - Fix lib389 lib imports
Ticket 48303 - Fix lib389 broken tests - agreement_test
Ticket 48303 - Fix lib389 broken tests - aci_parse_test
Ticket 48301 - add tox support
Ticket 48204 - update lib389 for python3
Ticket 48273 - Improve valgrind functions
Ticket 48271 - Fix for self.prefix being none when SER_DEPLOYED_DIR is none https://fedorahosted.org/389/ticket/48271
Ticket 48259 - Add aci parsing utilities to lib389
Ticket 48252 - (lib389) adding get_bin_dir and dbscan
Ticket 48247 - Change the default user to 'dirsrv'
Ticket 47848 - Add new function to create ldif files
Ticket 48239 - Fix for prefix allocation of un-initialised dirsrv objects
Ticket 48237 - Add lib389 helper to enable and disable logging services.
Ticket 48236 - Add get effective rights helper to lib389
Ticket 48238 - Add objectclass and attribute type query mechanisms
Ticket 48029 - Add missing replication related functions
Ticket 48028 - add valgrind wrapper for ns-slapd
Ticket 48028 - lib389 - add valgrind functions
Ticket 48022 - lib389 - Add all the server tasks
Ticket 48023 - create function to test replication between servers
Ticket 48020 - lib389 - need to reset args_instance with  every DirSrv init
Ticket 48000 - Repl agmts need more time to stop
Ticket 48004 - Fix various issues
Ticket 48000 - replica agreement pause/resume should have a short sleep
Ticket 47990 - Add check for ".removed" instances when doing an upgrade
Ticket 47990 - Add "upgrade" function to lib389
Ticket 47691 - using lib389 with RPMs
Ticket 47848 - Add support for setuptools.
Ticket 47855 - Add function to clear tmp directory
Ticket 47851 - Need to retrieve tmp directory path
Ticket 47845 - add stripcsn option to tombstone fixup task
Ticket 47851 - Add function to retrieve dirsrvtests data directory
Ticket 47845 - Add backup/restore/fixup tombstone tasks to lib389
Ticket 47819 - Add the new precise tombstone purging config attribute
Ticket 47695 - Add plugins/tasks/Index
Ticket 47648 - lib389 - add schema classes, methods
Ticket 47671 - CI lib389: allow to open a DirSrv without having to create the instance
Ticket 47600 - Replica/Agreement/Changelog not conform to the design
Ticket 47652 - replica add fails: MT.list return a list not an entry
Ticket 47635 - MT/Backend/Suffix to be conform with the design
Ticket 47625 - CI lib389: DirSrv not conform to the design
Ticket 47595 - fail to detect/reinit already existing instance/backup
Ticket 47590 - CI tests: add/split functions around replication
Ticket 47584 - CI tests: add backup/restore of an instance
Ticket 47578 - CI tests: removal of 'sudo' and absolute path in lib389
Ticket 47568 - Rename DSAdmin class
Ticket 47566 - Initial import of DSadmin into 389-test repos
2017-11-03 14:00:46 -04:00
Mark Reynolds
839f3f322c Set selinux-policy version 2017-10-18 15:51:19 -04:00
Mark Reynolds
2c0caedd21 Bump version to 1.4.0.1-2
Ticket 49400 - Add clang support and libatomic
2017-10-16 13:49:55 -04:00
Mark Reynolds
f536eabac5 Bump version to 1.4.0.1-1
Ticket 49038 - remove legacy replication - change cleanup script precedence
Ticket 49392 - memavailable not available
Ticket 49235 - pbkdf2 by default
Ticket 49279 - remove dsktune
Ticket 49372 - filter optimisation improvements for common queries
Ticket 49320 - Activating already active role returns error 16
Ticket 49389 - unable to retrieve specific cosAttribute when subtree password policy is configured
Ticket 49092 - Add CI test for schema-reload
Ticket 49388 - repl-monitor - matches null string many times in regex
Ticket 49387 - pbkdf2 settings were too aggressive
Ticket 49385 - Fix coverity warnings
Ticket 49305 - Need to wrap atomic calls
Ticket 48973 - Indexing a ExactIA5Match attribute with a IgnoreIA5Match matching rule triggers a warning
Ticket 49378 - server init fails
Ticket 49305 - Need to wrap atomic calls
Ticket 49180 - add CI test
Ticket 49180 - errors log filled with attrlist_replace - attr_replace
2017-10-09 10:37:29 -04:00
Mark Reynolds
41d58bd007 Bump version to 1.4.0.0-1 2017-09-22 11:51:38 -04:00
Mark Reynolds
70280973e3 Update source code location 2017-09-06 10:31:03 -04:00
Mark Reynolds
8839c36caa Bump version to 1.3.7.4
Ticket 49371 - Cleanup update script
Ticket 48831 - Autotune dncache with entry cache.
Ticket 49312 - pwdhash -D used default hash algo
Ticket 49043 - make replication conflicts transparent to clients
Ticket 49371 - Fix rpm build
Ticket 49371 - Template dse.ldif did not contain all needed plugins
Ticket 49295 - Fix CI Tests
Ticket 49050 - make objectclass ldapsubentry effective immediately
2017-09-06 09:45:43 -04:00
Mark Reynolds
ef3d7efd79 Bump version to 1.3.7.3
Ticket 49354 - fix regression in total init due to mistake in range fetch
Ticket 49370 - local password policies should use the same defaults as the global policy
Ticket 48989 - Delete slow lib389 test
Ticket 49367 - missing braces in idsktune
Ticket 49364 - incorrect function declaration.
Ticket 49275 - fix tls auth regression
Ticket 49038 - Revise creation of cn=replication,cn=config
Ticket 49368 - Fix typo in log message
Ticket 48059 - Add docstrings to CLU tests
Ticket 47840 - Add docstrings to setup tests
Ticket 49348 - support perlless and wrapperless install
2017-09-01 10:50:09 -04:00
Mark Reynolds
17bfc6a06f Bump verison to 1.3.7.2
Ticket 49038 - Fix regression from legacy code cleanup
Ticket 49295 - Fix CI tests
Ticket 48067 - Add bugzilla tests for ds_logs
Ticket 49356 - mapping tree crash can occur during tot init
Ticket 49275 - fix compiler warns for gcc 7
Ticket 49248 - Add a docstring to account locking test case
Ticket 49445 - remove dead code
Ticket 48081 - Add regression tests for pwpolicy
Ticket 48056 - Add docstrings to basic test suite
Ticket 49349 - global name 'imap' is not defined
Ticket 83 - lib389 - Fix tests and create_test.py
Ticket 48185 - Remove referint-logchanges attr from referint's config
Ticket 48081 - Add regression tests for pwpolicy
Ticket 83 - lib389 - Replace topology agmt objects
Ticket 49331 - change autoscaling defaults
Ticket 49330 - Improve ndn cache performance.
Ticket 49347 - reproducable build numbers
Ticket 39344 - changelog ldif import fails
Ticket 49337 - Add regression tests for import tests
Ticket 49309 - syntax checking on referint's delay attr
Ticket 49336 - SECURITY: Locked account provides different return code
Ticket 49332 - Event queue is not working
Ticket 49313 - Change the retrochangelog default cache size
Ticket 49329 - Descriptive error msg for USN cleanup task
Ticket 49328 - Cleanup source code
Ticket 49299 - Add normalized dn cache stats to dbmon.sh
Ticket 49290 - improve idl handling in complex searches
Ticket 49328 - Update clang-format config file
Ticket 49091 - remove usage of changelog semaphore
Ticket 49275 - shadow warnings for gcc7 - pass 1
Ticket 49316 - fix missing not condition in clock cleanu
Ticket 49038 - Remove legacy replication
Ticket 49287 - v3 extend csnpl handling to multiple backends
Ticket 49310 - remove sds logging in debug builds
Ticket 49031 - Improve memberof with a cache of group parents
Ticket 49316 - Fix clock unsafety in DS
Ticket 48210 - Add IP addr and connid to monitor output
Ticket 49295 - Fix CI tests and compiler warnings
Ticket 49295 - Fix CI tests
Ticket 49305 - Improve atomic behaviours in 389-ds
Ticket 49298 - fix missing header
Ticket 49314 - Add untracked files to the .gitignore
Ticket 49303 - Fix error in CI test
Ticket 49302 - fix dirsrv importst due to lib389 change
Ticket 49303 - Add option to disable TLS client-initiated renegotiation
Ticket 49298 - force sync() on shutdown
Ticket 49306 - make -f rpm.mk rpms produces build without tcmalloc enabled
Ticket 49297 - improve search perf in bpt by removing a deref
Ticket 49284 - resolve crash in memberof when deleting attrs
Ticket 49290 - unindexed range searches don't provide notes=U
Ticket 49301 - Add one logpipe test case
2017-08-22 10:32:21 -04:00
17 changed files with 3026 additions and 3492 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

151
.gitignore vendored
View file

@ -1,149 +1,4 @@
*~
/389-ds-base-1.2.7.2.tar.bz2
/389-ds-base-1.2.7.3.tar.bz2
/389-ds-base-1.2.7.4.tar.bz2
/389-ds-base-1.2.7.5.tar.bz2
/389-ds-base-1.2.8.a1.tar.bz2
/389-ds-base-1.2.8.a2.tar.bz2
/389-ds-base-1.2.8.a3.tar.bz2
/389-ds-base-1.2.8.rc1.tar.bz2
/389-ds-base-1.2.8.rc2.tar.bz2
/389-ds-base-1.2.8.rc4.tar.bz2
/389-ds-base-1.2.8.rc5.tar.bz2
/389-ds-base-1.2.8.0.tar.bz2
/389-ds-base-1.2.8.1.tar.bz2
/389-ds-base-1.2.8.2.tar.bz2
/389-ds-base-1.2.8.3.tar.bz2
/389-ds-base-1.2.9.a1.tar.bz2
/389-ds-base-1.2.9.a2.tar.bz2
/389-ds-base-1.2.9.0.tar.bz2
/389-ds-base-1.2.9.1.tar.bz2
/389-ds-base-1.2.9.2.tar.bz2
/389-ds-base-1.2.9.3.tar.bz2
/389-ds-base-1.2.9.4.tar.bz2
/389-ds-base-1.2.9.5.tar.bz2
/389-ds-base-1.2.9.6.tar.bz2
/389-ds-base-1.2.9.7.tar.bz2
/389-ds-base-1.2.9.8.tar.bz2
/389-ds-base-1.2.9.9.tar.bz2
/389-ds-base-1.2.9.10.tar.bz2
/389-ds-base-1.2.10.a1.tar.bz2
/389-ds-base-1.2.10.a2.tar.bz2
/389-ds-base-1.2.10.a3.tar.bz2
/389-ds-base-1.2.10.a4.tar.bz2
/389-ds-base-1.2.10.a5.tar.bz2
/389-ds-base-1.2.10.a6.tar.bz2
/389-ds-base-1.2.10.a7.tar.bz2
/389-ds-base-1.2.10.a8.tar.bz2
/389-ds-base-1.2.10.rc1.tar.bz2
/389-ds-base-1.2.10.0.tar.bz2
/389-ds-base-1.2.10.1.tar.bz2
/389-ds-base-1.2.10.2.tar.bz2
/389-ds-base-1.2.10.3.tar.bz2
/389-ds-base-1.2.10.4.tar.bz2
/389-ds-base-1.2.11.a1.tar.bz2
/389-ds-base-1.2.11.1.tar.bz2
/389-ds-base-1.2.11.2.tar.bz2
/389-ds-base-1.2.11.3.tar.bz2
/389-ds-base-1.2.11.4.tar.bz2
/389-ds-base-1.2.11.5.tar.bz2
/389-ds-base-1.2.11.6.tar.bz2
/389-ds-base-1.2.11.7.tar.bz2
/389-ds-base-1.2.11.8.tar.bz2
/389-ds-base-1.2.11.9.tar.bz2
/389-ds-base-1.2.11.10.tar.bz2
/389-ds-base-1.2.11.11.tar.bz2
/389-ds-base-1.2.11.12.tar.bz2
/389-ds-base-1.2.11.13.tar.bz2
/389-ds-base-1.2.11.14.tar.bz2
/389-ds-base-1.2.11.15.tar.bz2
/389-ds-base-1.3.0.a1.tar.bz2
/389-ds-base-1.3.0.rc1.tar.bz2
/389-ds-base-1.3.0.rc2.tar.bz2
/389-ds-base-1.3.0.rc3.tar.bz2
/389-ds-base-1.3.0.0.tar.bz2
/389-ds-base-1.3.0.1.tar.bz2
/389-ds-base-1.3.0.2.tar.bz2
/389-ds-base-1.3.0.3.tar.bz2
/389-ds-base-1.3.0.4.tar.bz2
/389-ds-base-1.3.0.5.tar.bz2
/389-ds-base-1.3.1.0.tar.bz2
/389-ds-base-1.3.1.1.tar.bz2
/389-ds-base-1.3.1.2.tar.bz2
/389-ds-base-1.3.1.3.tar.bz2
/389-ds-base-1.3.1.4.tar.bz2
/389-ds-base-1.3.1.5.tar.bz2
/389-ds-base-1.3.1.6.tar.bz2
/389-ds-base-1.3.1.7.tar.bz2
/389-ds-base-1.3.1.8.tar.bz2
/389-ds-base-1.3.1.9.tar.bz2
/389-ds-base-1.3.1.10.tar.bz2
/389-ds-base-1.3.1.11.tar.bz2
/389-ds-base-1.3.2.0.tar.bz2
/389-ds-base-1.3.2.1.tar.bz2
/389-ds-base-1.3.2.2.tar.bz2
/389-ds-base-1.3.2.3.tar.bz2
/389-ds-base-1.3.2.4.tar.bz2
/389-ds-base-1.3.2.5.tar.bz2
/389-ds-base-1.3.2.6.tar.bz2
/389-ds-base-1.3.2.7.tar.bz2
/389-ds-base-1.3.2.8.tar.bz2
/389-ds-base-1.3.2.9.tar.bz2
/389-ds-base-1.3.2.10.tar.bz2
/389-ds-base-1.3.2.11.tar.bz2
/389-ds-base-1.3.2.12.tar.bz2
/389-ds-base-1.3.2.13.tar.bz2
/389-ds-base-1.3.2.14.tar.bz2
/389-ds-base-1.3.2.15.tar.bz2
/389-ds-base-1.3.2.16.tar.bz2
/389-ds-base-1.3.2.17.tar.bz2
/389-ds-base-1.3.2.18.tar.bz2
/389-ds-base-1.3.2.19.tar.bz2
/389-ds-base-1.3.2.20.tar.bz2
/389-ds-base-1.3.2.21.tar.bz2
/389-ds-base-1.3.2.22.tar.bz2
/389-ds-base-1.3.2.23.tar.bz2
/389-ds-base-1.3.3.0.tar.bz2
/389-ds-base-1.3.3.2.tar.bz2
/389-ds-base-1.3.3.3.tar.bz2
/389-ds-base-1.3.3.4.tar.bz2
/389-ds-base-1.3.3.5.tar.bz2
/389-ds-base-1.3.3.6.tar.bz2
/389-ds-base-1.3.3.7.tar.bz2
/389-ds-base-1.3.3.8.tar.bz2
/389-ds-base-1.3.3.9.tar.bz2
/389-ds-base-1.3.3.10.tar.bz2
/389-ds-base-1.3.3.11.tar.bz2
/389-ds-base-1.3.3.12.tar.bz2
/389-ds-base-1.3.4.0.tar.bz2
/nunc-stans-0.1.3.tar.bz2
/nunc-stans-0.1.4.tar.bz2
/389-ds-base-1.3.4.1.tar.bz2
/nunc-stans-0.1.5.tar.bz2
/389-ds-base-1.3.4.2.tar.bz2
/389-ds-base-1.3.4.3.tar.bz2
/389-ds-base-1.3.4.4.tar.bz2
/389-ds-base-1.3.4.5.tar.bz2
/389-ds-base-1.3.4.6.tar.bz2
/389-ds-base-1.3.4.7.tar.bz2
/389-ds-base-1.3.4.8.tar.bz2
/389-ds-base-1.3.5.0.tar.bz2
/nunc-stans-0.1.8.tar.bz2
/389-ds-base-1.3.5.1.tar.bz2
/389-ds-base-1.3.5.3.tar.bz2
/389-ds-base-1.3.5.4.tar.bz2
/389-ds-base-1.3.5.5.tar.bz2
/389-ds-base-1.3.5.6.tar.bz2
/389-ds-base-1.3.5.10.tar.bz2
/389-ds-base-1.3.5.11.tar.bz2
/389-ds-base-1.3.5.12.tar.bz2
/389-ds-base-1.3.5.13.tar.bz2
/389-ds-base-1.3.5.14.tar.bz2
/nunc-stans-0.2.0.tar.bz2
/389-ds-base-1.3.6.1.tar.bz2
/389-ds-base-1.3.6.2.tar.bz2
/389-ds-base-1.3.6.3.tar.bz2
/389-ds-base-1.3.6.4.tar.bz2
/389-ds-base-1.3.6.5.tar.bz2
/389-ds-base-1.3.6.6.tar.bz2
/389-ds-base-1.3.7.1.tar.bz2
/389-ds-base-*.tar.bz2
/jemalloc-*.tar.bz2
/libdb-5.3.28-59.tar.bz2

View file

@ -0,0 +1,318 @@
From 1c9c535888b9a850095794787d67900b04924a76 Mon Sep 17 00:00:00 2001
From: tbordaz <tbordaz@redhat.com>
Date: Wed, 7 Jan 2026 11:21:12 +0100
Subject: [PATCH] Issue 7096 - During replication online total init the
function idl_id_is_in_idlist is not scaling with large database (#7145)
Bug description:
During a online total initialization, the supplier sorts
the candidate list of entries so that the parents are sent before
children entries.
With large DB the ID array used for the sorting is not
scaling. It takes so long to build the candidate list that
the connection gets closed
Fix description:
Instead of using an ID array, uses a list of ID ranges
fixes: #7096
Reviewed by: Mark Reynolds, Pierre Rogier (Thanks !!)
---
ldap/servers/slapd/back-ldbm/back-ldbm.h | 12 ++
ldap/servers/slapd/back-ldbm/idl_common.c | 163 ++++++++++++++++++
ldap/servers/slapd/back-ldbm/idl_new.c | 30 ++--
.../servers/slapd/back-ldbm/proto-back-ldbm.h | 3 +
4 files changed, 189 insertions(+), 19 deletions(-)
diff --git a/ldap/servers/slapd/back-ldbm/back-ldbm.h b/ldap/servers/slapd/back-ldbm/back-ldbm.h
index 1bc36720d..b187c26bc 100644
--- a/ldap/servers/slapd/back-ldbm/back-ldbm.h
+++ b/ldap/servers/slapd/back-ldbm/back-ldbm.h
@@ -282,6 +282,18 @@ typedef struct _idlist_set
#define INDIRECT_BLOCK(idl) ((idl)->b_nids == INDBLOCK)
#define IDL_NIDS(idl) (idl ? (idl)->b_nids : (NIDS)0)
+/*
+ * used by the supplier during online total init
+ * it stores the ranges of ID that are already present
+ * in the candidate list ('parentid>=1')
+ */
+typedef struct IdRange {
+ ID first;
+ ID last;
+ struct IdRange *next;
+} IdRange_t;
+
+
typedef size_t idl_iterator;
/* small hashtable implementation used in the entry cache -- the table
diff --git a/ldap/servers/slapd/back-ldbm/idl_common.c b/ldap/servers/slapd/back-ldbm/idl_common.c
index fcb0ece4b..fdc9b4e67 100644
--- a/ldap/servers/slapd/back-ldbm/idl_common.c
+++ b/ldap/servers/slapd/back-ldbm/idl_common.c
@@ -172,6 +172,169 @@ idl_min(IDList *a, IDList *b)
return (a->b_nids > b->b_nids ? b : a);
}
+/*
+ * This is a faster version of idl_id_is_in_idlist.
+ * idl_id_is_in_idlist uses an array of ID so lookup is expensive
+ * idl_id_is_in_idlist_ranges uses a list of ranges of ID lookup is faster
+ * returns
+ * 1: 'id' is present in idrange_list
+ * 0: 'id' is not present in idrange_list
+ */
+int
+idl_id_is_in_idlist_ranges(IDList *idl, IdRange_t *idrange_list, ID id)
+{
+ IdRange_t *range = idrange_list;
+ int found = 0;
+
+ if (NULL == idl || NOID == id) {
+ return 0; /* not in the list */
+ }
+ if (ALLIDS(idl)) {
+ return 1; /* in the list */
+ }
+
+ for(;range; range = range->next) {
+ if (id > range->last) {
+ /* check if it belongs to the next range */
+ continue;
+ }
+ if (id >= range->first) {
+ /* It belongs to that range [first..last ] */
+ found = 1;
+ break;
+ } else {
+ /* this range is after id */
+ break;
+ }
+ }
+ return found;
+}
+
+/* This function is used during the online total initialisation
+ * (see next function)
+ * It frees all ranges of ID in the list
+ */
+void idrange_free(IdRange_t **head)
+{
+ IdRange_t *curr, *sav;
+
+ if ((head == NULL) || (*head == NULL)) {
+ return;
+ }
+ curr = *head;
+ sav = NULL;
+ for (; curr;) {
+ sav = curr;
+ curr = curr->next;
+ slapi_ch_free((void *) &sav);
+ }
+ if (sav) {
+ slapi_ch_free((void *) &sav);
+ }
+ *head = NULL;
+}
+
+/* This function is used during the online total initialisation
+ * Because a MODRDN can move entries under a parent that
+ * has a higher ID we need to sort the IDList so that parents
+ * are sent, to the consumer, before the children are sent.
+ * The sorting with a simple IDlist does not scale instead
+ * a list of IDs ranges is much faster.
+ * In that list we only ADD/lookup ID.
+ */
+IdRange_t *idrange_add_id(IdRange_t **head, ID id)
+{
+ if (head == NULL) {
+ slapi_log_err(SLAPI_LOG_ERR, "idrange_add_id",
+ "Can not add ID %d in non defined list\n", id);
+ return NULL;
+ }
+
+ if (*head == NULL) {
+ /* This is the first range */
+ IdRange_t *new_range = (IdRange_t *)slapi_ch_malloc(sizeof(IdRange_t));
+ new_range->first = id;
+ new_range->last = id;
+ new_range->next = NULL;
+ *head = new_range;
+ return *head;
+ }
+
+ IdRange_t *curr = *head, *prev = NULL;
+
+ /* First, find if id already falls within any existing range, or it is adjacent to any */
+ while (curr) {
+ if (id >= curr->first && id <= curr->last) {
+ /* inside a range, nothing to do */
+ return curr;
+ }
+
+ if (id == curr->last + 1) {
+ /* Extend this range upwards */
+ curr->last = id;
+
+ /* Check for possible merge with next range */
+ IdRange_t *next = curr->next;
+ if (next && curr->last + 1 >= next->first) {
+ slapi_log_err(SLAPI_LOG_REPL, "idrange_add_id",
+ "(id=%d) merge current with next range [%d..%d]\n", id, curr->first, curr->last);
+ curr->last = (next->last > curr->last) ? next->last : curr->last;
+ curr->next = next->next;
+ slapi_ch_free((void*) &next);
+ } else {
+ slapi_log_err(SLAPI_LOG_REPL, "idrange_add_id",
+ "(id=%d) extend forward current range [%d..%d]\n", id, curr->first, curr->last);
+ }
+ return curr;
+ }
+
+ if (id + 1 == curr->first) {
+ /* Extend this range downwards */
+ curr->first = id;
+
+ /* Check for possible merge with previous range */
+ if (prev && prev->last + 1 >= curr->first) {
+ prev->last = curr->last;
+ prev->next = curr->next;
+ slapi_ch_free((void *) &curr);
+ slapi_log_err(SLAPI_LOG_REPL, "idrange_add_id",
+ "(id=%d) merge current with previous range [%d..%d]\n", id, prev->first, prev->last);
+ return prev;
+ } else {
+ slapi_log_err(SLAPI_LOG_REPL, "idrange_add_id",
+ "(id=%d) extend backward current range [%d..%d]\n", id, curr->first, curr->last);
+ return curr;
+ }
+ }
+
+ /* If id is before the current range, break so we can insert before */
+ if (id < curr->first) {
+ break;
+ }
+
+ prev = curr;
+ curr = curr->next;
+ }
+ /* Need to insert a new standalone IdRange */
+ IdRange_t *new_range = (IdRange_t *)slapi_ch_malloc(sizeof(IdRange_t));
+ new_range->first = id;
+ new_range->last = id;
+ new_range->next = curr;
+
+ if (prev) {
+ slapi_log_err(SLAPI_LOG_REPL, "idrange_add_id",
+ "(id=%d) add new range [%d..%d]\n", id, new_range->first, new_range->last);
+ prev->next = new_range;
+ } else {
+ /* Insert at head */
+ slapi_log_err(SLAPI_LOG_REPL, "idrange_add_id",
+ "(id=%d) head range [%d..%d]\n", id, new_range->first, new_range->last);
+ *head = new_range;
+ }
+ return *head;
+}
+
+
int
idl_id_is_in_idlist(IDList *idl, ID id)
{
diff --git a/ldap/servers/slapd/back-ldbm/idl_new.c b/ldap/servers/slapd/back-ldbm/idl_new.c
index 5fbcaff2e..2d978353f 100644
--- a/ldap/servers/slapd/back-ldbm/idl_new.c
+++ b/ldap/servers/slapd/back-ldbm/idl_new.c
@@ -417,7 +417,6 @@ idl_new_range_fetch(
{
int ret = 0;
int ret2 = 0;
- int idl_rc = 0;
dbi_cursor_t cursor = {0};
IDList *idl = NULL;
dbi_val_t cur_key = {0};
@@ -436,6 +435,7 @@ idl_new_range_fetch(
size_t leftoverlen = 32;
size_t leftovercnt = 0;
char *index_id = get_index_name(be, db, ai);
+ IdRange_t *idrange_list = NULL;
if (NULL == flag_err) {
@@ -578,10 +578,12 @@ idl_new_range_fetch(
* found entry is the one from the suffix
*/
suffix = key;
- idl_rc = idl_append_extend(&idl, id);
- } else if ((key == suffix) || idl_id_is_in_idlist(idl, key)) {
+ idl_append_extend(&idl, id);
+ idrange_add_id(&idrange_list, id);
+ } else if ((key == suffix) || idl_id_is_in_idlist_ranges(idl, idrange_list, key)) {
/* the parent is the suffix or already in idl. */
- idl_rc = idl_append_extend(&idl, id);
+ idl_append_extend(&idl, id);
+ idrange_add_id(&idrange_list, id);
} else {
/* Otherwise, keep the {key,id} in leftover array */
if (!leftover) {
@@ -596,13 +598,7 @@ idl_new_range_fetch(
leftovercnt++;
}
} else {
- idl_rc = idl_append_extend(&idl, id);
- }
- if (idl_rc) {
- slapi_log_err(SLAPI_LOG_ERR, "idl_new_range_fetch",
- "Unable to extend id list (err=%d)\n", idl_rc);
- idl_free(&idl);
- goto error;
+ idl_append_extend(&idl, id);
}
count++;
@@ -695,21 +691,17 @@ error:
while(remaining > 0) {
for (size_t i = 0; i < leftovercnt; i++) {
- if (leftover[i].key > 0 && idl_id_is_in_idlist(idl, leftover[i].key) != 0) {
+ if (leftover[i].key > 0 && idl_id_is_in_idlist_ranges(idl, idrange_list, leftover[i].key) != 0) {
/* if the leftover key has its parent in the idl */
- idl_rc = idl_append_extend(&idl, leftover[i].id);
- if (idl_rc) {
- slapi_log_err(SLAPI_LOG_ERR, "idl_new_range_fetch",
- "Unable to extend id list (err=%d)\n", idl_rc);
- idl_free(&idl);
- return NULL;
- }
+ idl_append_extend(&idl, leftover[i].id);
+ idrange_add_id(&idrange_list, leftover[i].id);
leftover[i].key = 0;
remaining--;
}
}
}
slapi_ch_free((void **)&leftover);
+ idrange_free(&idrange_list);
}
slapi_log_err(SLAPI_LOG_FILTER, "idl_new_range_fetch",
"Found %d candidates; error code is: %d\n",
diff --git a/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h b/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h
index 91d61098a..30a7aa11f 100644
--- a/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h
+++ b/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h
@@ -217,6 +217,9 @@ ID idl_firstid(IDList *idl);
ID idl_nextid(IDList *idl, ID id);
int idl_init_private(backend *be, struct attrinfo *a);
int idl_release_private(struct attrinfo *a);
+IdRange_t *idrange_add_id(IdRange_t **head, ID id);
+void idrange_free(IdRange_t **head);
+int idl_id_is_in_idlist_ranges(IDList *idl, IdRange_t *idrange_list, ID id);
int idl_id_is_in_idlist(IDList *idl, ID id);
idl_iterator idl_iterator_init(const IDList *idl);
--
2.52.0

View file

@ -0,0 +1,765 @@
From 446bc42e7b64a8496c2c3fe486f86bba318bed5e Mon Sep 17 00:00:00 2001
From: Mark Reynolds <mreynolds@redhat.com>
Date: Wed, 7 Jan 2026 16:55:27 -0500
Subject: [PATCH] Issue - Revise paged result search locking
Description:
Move to a single lock approach verses having two locks. This will impact
concurrency when multiple async paged result searches are done on the same
connection, but it simplifies the code and avoids race conditions and
deadlocks.
Relates: https://github.com/389ds/389-ds-base/issues/7118
Reviewed by: progier & tbordaz (Thanks!!)
---
ldap/servers/slapd/abandon.c | 2 +-
ldap/servers/slapd/opshared.c | 60 ++++----
ldap/servers/slapd/pagedresults.c | 228 +++++++++++++++++++-----------
ldap/servers/slapd/proto-slap.h | 26 ++--
ldap/servers/slapd/slap.h | 5 +-
5 files changed, 187 insertions(+), 134 deletions(-)
diff --git a/ldap/servers/slapd/abandon.c b/ldap/servers/slapd/abandon.c
index 6024fcd31..1f47c531c 100644
--- a/ldap/servers/slapd/abandon.c
+++ b/ldap/servers/slapd/abandon.c
@@ -179,7 +179,7 @@ do_abandon(Slapi_PBlock *pb)
logpb.tv_sec = -1;
logpb.tv_nsec = -1;
- if (0 == pagedresults_free_one_msgid(pb_conn, id, pageresult_lock_get_addr(pb_conn))) {
+ if (0 == pagedresults_free_one_msgid(pb_conn, id, PR_NOT_LOCKED)) {
if (log_format != LOG_FORMAT_DEFAULT) {
/* JSON logging */
logpb.target_op = "Simple Paged Results";
diff --git a/ldap/servers/slapd/opshared.c b/ldap/servers/slapd/opshared.c
index a5cddfd23..bf800f7dc 100644
--- a/ldap/servers/slapd/opshared.c
+++ b/ldap/servers/slapd/opshared.c
@@ -572,8 +572,8 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
be = be_list[index];
}
}
- pr_search_result = pagedresults_get_search_result(pb_conn, operation, 0 /*not locked*/, pr_idx);
- estimate = pagedresults_get_search_result_set_size_estimate(pb_conn, operation, pr_idx);
+ pr_search_result = pagedresults_get_search_result(pb_conn, operation, PR_NOT_LOCKED, pr_idx);
+ estimate = pagedresults_get_search_result_set_size_estimate(pb_conn, operation, PR_NOT_LOCKED, pr_idx);
/* Set operation note flags as required. */
if (pagedresults_get_unindexed(pb_conn, operation, pr_idx)) {
slapi_pblock_set_flag_operation_notes(pb, SLAPI_OP_NOTE_UNINDEXED);
@@ -619,14 +619,7 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
int32_t tlimit;
slapi_pblock_get(pb, SLAPI_SEARCH_TIMELIMIT, &tlimit);
pagedresults_set_timelimit(pb_conn, operation, (time_t)tlimit, pr_idx);
- /* When using this mutex in conjunction with the main paged
- * result lock, you must do so in this order:
- *
- * --> pagedresults_lock()
- * --> pagedresults_mutex
- * <-- pagedresults_mutex
- * <-- pagedresults_unlock()
- */
+ /* IMPORTANT: Never acquire pagedresults_mutex when holding c_mutex. */
pagedresults_mutex = pageresult_lock_get_addr(pb_conn);
}
@@ -743,17 +736,15 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
if (op_is_pagedresults(operation) && pr_search_result) {
void *sr = NULL;
/* PAGED RESULTS and already have the search results from the prev op */
- pagedresults_lock(pb_conn, pr_idx);
/*
* In async paged result case, the search result might be released
* by other theads. We need to double check it in the locked region.
*/
pthread_mutex_lock(pagedresults_mutex);
- pr_search_result = pagedresults_get_search_result(pb_conn, operation, 1 /*locked*/, pr_idx);
+ pr_search_result = pagedresults_get_search_result(pb_conn, operation, PR_LOCKED, pr_idx);
if (pr_search_result) {
- if (pagedresults_is_abandoned_or_notavailable(pb_conn, 1 /*locked*/, pr_idx)) {
+ if (pagedresults_is_abandoned_or_notavailable(pb_conn, PR_LOCKED, pr_idx)) {
pthread_mutex_unlock(pagedresults_mutex);
- pagedresults_unlock(pb_conn, pr_idx);
/* Previous operation was abandoned and the simplepaged object is not in use. */
send_ldap_result(pb, 0, NULL, "Simple Paged Results Search abandoned", 0, NULL);
rc = LDAP_SUCCESS;
@@ -764,14 +755,13 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
/* search result could be reset in the backend/dse */
slapi_pblock_get(pb, SLAPI_SEARCH_RESULT_SET, &sr);
- pagedresults_set_search_result(pb_conn, operation, sr, 1 /*locked*/, pr_idx);
+ pagedresults_set_search_result(pb_conn, operation, sr, PR_LOCKED, pr_idx);
}
} else {
pr_stat = PAGEDRESULTS_SEARCH_END;
rc = LDAP_SUCCESS;
}
pthread_mutex_unlock(pagedresults_mutex);
- pagedresults_unlock(pb_conn, pr_idx);
if ((PAGEDRESULTS_SEARCH_END == pr_stat) || (0 == pnentries)) {
/* no more entries to send in the backend */
@@ -789,22 +779,22 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
}
pagedresults_set_response_control(pb, 0, estimate,
curr_search_count, pr_idx);
- if (pagedresults_get_with_sort(pb_conn, operation, pr_idx)) {
+ if (pagedresults_get_with_sort(pb_conn, operation, PR_NOT_LOCKED, pr_idx)) {
sort_make_sort_response_control(pb, CONN_GET_SORT_RESULT_CODE, NULL);
}
pagedresults_set_search_result_set_size_estimate(pb_conn,
operation,
- estimate, pr_idx);
+ estimate, PR_NOT_LOCKED, pr_idx);
if (PAGEDRESULTS_SEARCH_END == pr_stat) {
- pagedresults_lock(pb_conn, pr_idx);
+ pthread_mutex_lock(pagedresults_mutex);
slapi_pblock_set(pb, SLAPI_SEARCH_RESULT_SET, NULL);
- if (!pagedresults_is_abandoned_or_notavailable(pb_conn, 0 /*not locked*/, pr_idx)) {
- pagedresults_free_one(pb_conn, operation, pr_idx);
+ if (!pagedresults_is_abandoned_or_notavailable(pb_conn, PR_LOCKED, pr_idx)) {
+ pagedresults_free_one(pb_conn, operation, PR_LOCKED, pr_idx);
}
- pagedresults_unlock(pb_conn, pr_idx);
+ pthread_mutex_unlock(pagedresults_mutex);
if (next_be) {
/* no more entries, but at least another backend */
- if (pagedresults_set_current_be(pb_conn, next_be, pr_idx, 0) < 0) {
+ if (pagedresults_set_current_be(pb_conn, next_be, pr_idx, PR_NOT_LOCKED) < 0) {
goto free_and_return;
}
}
@@ -915,7 +905,7 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
}
}
pagedresults_set_search_result(pb_conn, operation, NULL, 1, pr_idx);
- rc = pagedresults_set_current_be(pb_conn, NULL, pr_idx, 1);
+ rc = pagedresults_set_current_be(pb_conn, NULL, pr_idx, PR_LOCKED);
pthread_mutex_unlock(pagedresults_mutex);
#pragma GCC diagnostic pop
}
@@ -954,7 +944,7 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
pthread_mutex_lock(pagedresults_mutex);
pagedresults_set_search_result(pb_conn, operation, NULL, 1, pr_idx);
be->be_search_results_release(&sr);
- rc = pagedresults_set_current_be(pb_conn, next_be, pr_idx, 1);
+ rc = pagedresults_set_current_be(pb_conn, next_be, pr_idx, PR_LOCKED);
pthread_mutex_unlock(pagedresults_mutex);
pr_stat = PAGEDRESULTS_SEARCH_END; /* make sure stat is SEARCH_END */
if (NULL == next_be) {
@@ -967,23 +957,23 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
} else {
curr_search_count = pnentries;
slapi_pblock_get(pb, SLAPI_SEARCH_RESULT_SET_SIZE_ESTIMATE, &estimate);
- pagedresults_lock(pb_conn, pr_idx);
- if ((pagedresults_set_current_be(pb_conn, be, pr_idx, 0) < 0) ||
- (pagedresults_set_search_result(pb_conn, operation, sr, 0, pr_idx) < 0) ||
- (pagedresults_set_search_result_count(pb_conn, operation, curr_search_count, pr_idx) < 0) ||
- (pagedresults_set_search_result_set_size_estimate(pb_conn, operation, estimate, pr_idx) < 0) ||
- (pagedresults_set_with_sort(pb_conn, operation, with_sort, pr_idx) < 0)) {
- pagedresults_unlock(pb_conn, pr_idx);
+ pthread_mutex_lock(pagedresults_mutex);
+ if ((pagedresults_set_current_be(pb_conn, be, pr_idx, PR_LOCKED) < 0) ||
+ (pagedresults_set_search_result(pb_conn, operation, sr, PR_LOCKED, pr_idx) < 0) ||
+ (pagedresults_set_search_result_count(pb_conn, operation, curr_search_count, PR_LOCKED, pr_idx) < 0) ||
+ (pagedresults_set_search_result_set_size_estimate(pb_conn, operation, estimate, PR_LOCKED, pr_idx) < 0) ||
+ (pagedresults_set_with_sort(pb_conn, operation, with_sort, PR_LOCKED, pr_idx) < 0)) {
+ pthread_mutex_unlock(pagedresults_mutex);
cache_return_target_entry(pb, be, operation);
goto free_and_return;
}
- pagedresults_unlock(pb_conn, pr_idx);
+ pthread_mutex_unlock(pagedresults_mutex);
}
slapi_pblock_set(pb, SLAPI_SEARCH_RESULT_SET, NULL);
next_be = NULL; /* to break the loop */
if (operation->o_status & SLAPI_OP_STATUS_ABANDONED) {
/* It turned out this search was abandoned. */
- pagedresults_free_one_msgid(pb_conn, operation->o_msgid, pagedresults_mutex);
+ pagedresults_free_one_msgid(pb_conn, operation->o_msgid, PR_NOT_LOCKED);
/* paged-results-request was abandoned; making an empty cookie. */
pagedresults_set_response_control(pb, 0, estimate, -1, pr_idx);
send_ldap_result(pb, 0, NULL, "Simple Paged Results Search abandoned", 0, NULL);
@@ -993,7 +983,7 @@ op_shared_search(Slapi_PBlock *pb, int send_result)
}
pagedresults_set_response_control(pb, 0, estimate, curr_search_count, pr_idx);
if (curr_search_count == -1) {
- pagedresults_free_one(pb_conn, operation, pr_idx);
+ pagedresults_free_one(pb_conn, operation, PR_NOT_LOCKED, pr_idx);
}
}
diff --git a/ldap/servers/slapd/pagedresults.c b/ldap/servers/slapd/pagedresults.c
index 941ab97e3..0d6c4a1aa 100644
--- a/ldap/servers/slapd/pagedresults.c
+++ b/ldap/servers/slapd/pagedresults.c
@@ -34,9 +34,9 @@ pageresult_lock_cleanup()
slapi_ch_free((void**)&lock_hash);
}
-/* Beware to the lock order with c_mutex:
- * c_mutex is sometime locked while holding pageresult_lock
- * ==> Do not lock pageresult_lock when holing c_mutex
+/* Lock ordering constraint with c_mutex:
+ * c_mutex is sometimes locked while holding pageresult_lock.
+ * Therefore: DO NOT acquire pageresult_lock when holding c_mutex.
*/
pthread_mutex_t *
pageresult_lock_get_addr(Connection *conn)
@@ -44,7 +44,11 @@ pageresult_lock_get_addr(Connection *conn)
return &lock_hash[(((size_t)conn)/sizeof (Connection))%LOCK_HASH_SIZE];
}
-/* helper function to clean up one prp slot */
+/* helper function to clean up one prp slot
+ *
+ * NOTE: This function must be called while holding the pageresult_lock
+ * (via pageresult_lock_get_addr(conn)) to ensure thread-safe cleanup.
+ */
static void
_pr_cleanup_one_slot(PagedResults *prp)
{
@@ -56,7 +60,7 @@ _pr_cleanup_one_slot(PagedResults *prp)
prp->pr_current_be->be_search_results_release(&(prp->pr_search_result_set));
}
- /* clean up the slot except the mutex */
+ /* clean up the slot */
prp->pr_current_be = NULL;
prp->pr_search_result_set = NULL;
prp->pr_search_result_count = 0;
@@ -136,6 +140,8 @@ pagedresults_parse_control_value(Slapi_PBlock *pb,
return LDAP_UNWILLING_TO_PERFORM;
}
+ /* Acquire hash-based lock for paged results list access
+ * IMPORTANT: Never acquire this lock when holding c_mutex */
pthread_mutex_lock(pageresult_lock_get_addr(conn));
/* the ber encoding is no longer needed */
ber_free(ber, 1);
@@ -184,10 +190,6 @@ pagedresults_parse_control_value(Slapi_PBlock *pb,
goto bail;
}
- if ((*index > -1) && (*index < conn->c_pagedresults.prl_maxlen) &&
- !conn->c_pagedresults.prl_list[*index].pr_mutex) {
- conn->c_pagedresults.prl_list[*index].pr_mutex = PR_NewLock();
- }
conn->c_pagedresults.prl_count++;
} else {
/* Repeated paged results request.
@@ -327,8 +329,14 @@ bailout:
"<= idx=%d\n", index);
}
+/*
+ * Free one paged result entry by index.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_free_one(Connection *conn, Operation *op, int index)
+pagedresults_free_one(Connection *conn, Operation *op, bool locked, int index)
{
int rc = -1;
@@ -338,7 +346,9 @@ pagedresults_free_one(Connection *conn, Operation *op, int index)
slapi_log_err(SLAPI_LOG_TRACE, "pagedresults_free_one",
"=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (conn->c_pagedresults.prl_count <= 0) {
slapi_log_err(SLAPI_LOG_TRACE, "pagedresults_free_one",
"conn=%" PRIu64 " paged requests list count is %d\n",
@@ -349,7 +359,9 @@ pagedresults_free_one(Connection *conn, Operation *op, int index)
conn->c_pagedresults.prl_count--;
rc = 0;
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
}
slapi_log_err(SLAPI_LOG_TRACE, "pagedresults_free_one", "<= %d\n", rc);
@@ -357,21 +369,28 @@ pagedresults_free_one(Connection *conn, Operation *op, int index)
}
/*
- * Used for abandoning - pageresult_lock_get_addr(conn) is already locked in do_abandone.
+ * Free one paged result entry by message ID.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
*/
int
-pagedresults_free_one_msgid(Connection *conn, ber_int_t msgid, pthread_mutex_t *mutex)
+pagedresults_free_one_msgid(Connection *conn, ber_int_t msgid, bool locked)
{
int rc = -1;
int i;
+ pthread_mutex_t *lock = NULL;
if (conn && (msgid > -1)) {
if (conn->c_pagedresults.prl_maxlen <= 0) {
; /* Not a paged result. */
} else {
slapi_log_err(SLAPI_LOG_TRACE,
- "pagedresults_free_one_msgid_nolock", "=> msgid=%d\n", msgid);
- pthread_mutex_lock(mutex);
+ "pagedresults_free_one_msgid", "=> msgid=%d\n", msgid);
+ lock = pageresult_lock_get_addr(conn);
+ if (!locked) {
+ pthread_mutex_lock(lock);
+ }
for (i = 0; i < conn->c_pagedresults.prl_maxlen; i++) {
if (conn->c_pagedresults.prl_list[i].pr_msgid == msgid) {
PagedResults *prp = conn->c_pagedresults.prl_list + i;
@@ -390,9 +409,11 @@ pagedresults_free_one_msgid(Connection *conn, ber_int_t msgid, pthread_mutex_t *
break;
}
}
- pthread_mutex_unlock(mutex);
+ if (!locked) {
+ pthread_mutex_unlock(lock);
+ }
slapi_log_err(SLAPI_LOG_TRACE,
- "pagedresults_free_one_msgid_nolock", "<= %d\n", rc);
+ "pagedresults_free_one_msgid", "<= %d\n", rc);
}
}
@@ -418,29 +439,43 @@ pagedresults_get_current_be(Connection *conn, int index)
return be;
}
+/*
+ * Set current backend for a paged result entry.
+ *
+ * Locking: If locked=false, acquires pageresult_lock. If locked=true, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_set_current_be(Connection *conn, Slapi_Backend *be, int index, int nolock)
+pagedresults_set_current_be(Connection *conn, Slapi_Backend *be, int index, bool locked)
{
int rc = -1;
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_set_current_be", "=> idx=%d\n", index);
if (conn && (index > -1)) {
- if (!nolock)
+ if (!locked) {
pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
conn->c_pagedresults.prl_list[index].pr_current_be = be;
}
rc = 0;
- if (!nolock)
+ if (!locked) {
pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
}
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_set_current_be", "<= %d\n", rc);
return rc;
}
+/*
+ * Get search result set for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
void *
-pagedresults_get_search_result(Connection *conn, Operation *op, int locked, int index)
+pagedresults_get_search_result(Connection *conn, Operation *op, bool locked, int index)
{
void *sr = NULL;
if (!op_is_pagedresults(op)) {
@@ -465,8 +500,14 @@ pagedresults_get_search_result(Connection *conn, Operation *op, int locked, int
return sr;
}
+/*
+ * Set search result set for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_set_search_result(Connection *conn, Operation *op, void *sr, int locked, int index)
+pagedresults_set_search_result(Connection *conn, Operation *op, void *sr, bool locked, int index)
{
int rc = -1;
if (!op_is_pagedresults(op)) {
@@ -494,8 +535,14 @@ pagedresults_set_search_result(Connection *conn, Operation *op, void *sr, int lo
return rc;
}
+/*
+ * Get search result count for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_get_search_result_count(Connection *conn, Operation *op, int index)
+pagedresults_get_search_result_count(Connection *conn, Operation *op, bool locked, int index)
{
int count = 0;
if (!op_is_pagedresults(op)) {
@@ -504,19 +551,29 @@ pagedresults_get_search_result_count(Connection *conn, Operation *op, int index)
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_get_search_result_count", "=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
count = conn->c_pagedresults.prl_list[index].pr_search_result_count;
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
}
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_get_search_result_count", "<= %d\n", count);
return count;
}
+/*
+ * Set search result count for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_set_search_result_count(Connection *conn, Operation *op, int count, int index)
+pagedresults_set_search_result_count(Connection *conn, Operation *op, int count, bool locked, int index)
{
int rc = -1;
if (!op_is_pagedresults(op)) {
@@ -525,11 +582,15 @@ pagedresults_set_search_result_count(Connection *conn, Operation *op, int count,
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_set_search_result_count", "=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
conn->c_pagedresults.prl_list[index].pr_search_result_count = count;
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
rc = 0;
}
slapi_log_err(SLAPI_LOG_TRACE,
@@ -537,9 +598,16 @@ pagedresults_set_search_result_count(Connection *conn, Operation *op, int count,
return rc;
}
+/*
+ * Get search result set size estimate for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
pagedresults_get_search_result_set_size_estimate(Connection *conn,
Operation *op,
+ bool locked,
int index)
{
int count = 0;
@@ -550,11 +618,15 @@ pagedresults_get_search_result_set_size_estimate(Connection *conn,
"pagedresults_get_search_result_set_size_estimate",
"=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
count = conn->c_pagedresults.prl_list[index].pr_search_result_set_size_estimate;
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
}
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_get_search_result_set_size_estimate", "<= %d\n",
@@ -562,10 +634,17 @@ pagedresults_get_search_result_set_size_estimate(Connection *conn,
return count;
}
+/*
+ * Set search result set size estimate for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
pagedresults_set_search_result_set_size_estimate(Connection *conn,
Operation *op,
int count,
+ bool locked,
int index)
{
int rc = -1;
@@ -576,11 +655,15 @@ pagedresults_set_search_result_set_size_estimate(Connection *conn,
"pagedresults_set_search_result_set_size_estimate",
"=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
conn->c_pagedresults.prl_list[index].pr_search_result_set_size_estimate = count;
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
rc = 0;
}
slapi_log_err(SLAPI_LOG_TRACE,
@@ -589,8 +672,14 @@ pagedresults_set_search_result_set_size_estimate(Connection *conn,
return rc;
}
+/*
+ * Get with_sort flag for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_get_with_sort(Connection *conn, Operation *op, int index)
+pagedresults_get_with_sort(Connection *conn, Operation *op, bool locked, int index)
{
int flags = 0;
if (!op_is_pagedresults(op)) {
@@ -599,19 +688,29 @@ pagedresults_get_with_sort(Connection *conn, Operation *op, int index)
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_get_with_sort", "=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
flags = conn->c_pagedresults.prl_list[index].pr_flags & CONN_FLAG_PAGEDRESULTS_WITH_SORT;
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
}
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_get_with_sort", "<= %d\n", flags);
return flags;
}
+/*
+ * Set with_sort flag for a paged result entry.
+ *
+ * Locking: If locked=0, acquires pageresult_lock. If locked=1, assumes
+ * caller already holds pageresult_lock. Never call when holding c_mutex.
+ */
int
-pagedresults_set_with_sort(Connection *conn, Operation *op, int flags, int index)
+pagedresults_set_with_sort(Connection *conn, Operation *op, int flags, bool locked, int index)
{
int rc = -1;
if (!op_is_pagedresults(op)) {
@@ -620,14 +719,18 @@ pagedresults_set_with_sort(Connection *conn, Operation *op, int flags, int index
slapi_log_err(SLAPI_LOG_TRACE,
"pagedresults_set_with_sort", "=> idx=%d\n", index);
if (conn && (index > -1)) {
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_lock(pageresult_lock_get_addr(conn));
+ }
if (index < conn->c_pagedresults.prl_maxlen) {
if (flags & OP_FLAG_SERVER_SIDE_SORTING) {
conn->c_pagedresults.prl_list[index].pr_flags |=
CONN_FLAG_PAGEDRESULTS_WITH_SORT;
}
}
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ if (!locked) {
+ pthread_mutex_unlock(pageresult_lock_get_addr(conn));
+ }
rc = 0;
}
slapi_log_err(SLAPI_LOG_TRACE, "pagedresults_set_with_sort", "<= %d\n", rc);
@@ -802,10 +905,6 @@ pagedresults_cleanup(Connection *conn, int needlock)
rc = 1;
}
prp->pr_current_be = NULL;
- if (prp->pr_mutex) {
- PR_DestroyLock(prp->pr_mutex);
- prp->pr_mutex = NULL;
- }
memset(prp, '\0', sizeof(PagedResults));
}
conn->c_pagedresults.prl_count = 0;
@@ -840,10 +939,6 @@ pagedresults_cleanup_all(Connection *conn, int needlock)
i < conn->c_pagedresults.prl_maxlen;
i++) {
prp = conn->c_pagedresults.prl_list + i;
- if (prp->pr_mutex) {
- PR_DestroyLock(prp->pr_mutex);
- prp->pr_mutex = NULL;
- }
if (prp->pr_current_be && prp->pr_search_result_set &&
prp->pr_current_be->be_search_results_release) {
prp->pr_current_be->be_search_results_release(&(prp->pr_search_result_set));
@@ -1010,43 +1105,8 @@ op_set_pagedresults(Operation *op)
op->o_flags |= OP_FLAG_PAGED_RESULTS;
}
-/*
- * pagedresults_lock/unlock -- introduced to protect search results for the
- * asynchronous searches. Do not call these functions while the PR conn lock
- * is held (e.g. pageresult_lock_get_addr(conn))
- */
-void
-pagedresults_lock(Connection *conn, int index)
-{
- PagedResults *prp;
- if (!conn || (index < 0) || (index >= conn->c_pagedresults.prl_maxlen)) {
- return;
- }
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
- prp = conn->c_pagedresults.prl_list + index;
- if (prp->pr_mutex) {
- PR_Lock(prp->pr_mutex);
- }
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
-}
-
-void
-pagedresults_unlock(Connection *conn, int index)
-{
- PagedResults *prp;
- if (!conn || (index < 0) || (index >= conn->c_pagedresults.prl_maxlen)) {
- return;
- }
- pthread_mutex_lock(pageresult_lock_get_addr(conn));
- prp = conn->c_pagedresults.prl_list + index;
- if (prp->pr_mutex) {
- PR_Unlock(prp->pr_mutex);
- }
- pthread_mutex_unlock(pageresult_lock_get_addr(conn));
-}
-
int
-pagedresults_is_abandoned_or_notavailable(Connection *conn, int locked, int index)
+pagedresults_is_abandoned_or_notavailable(Connection *conn, bool locked, int index)
{
PagedResults *prp;
int32_t result;
@@ -1066,7 +1126,7 @@ pagedresults_is_abandoned_or_notavailable(Connection *conn, int locked, int inde
}
int
-pagedresults_set_search_result_pb(Slapi_PBlock *pb, void *sr, int locked)
+pagedresults_set_search_result_pb(Slapi_PBlock *pb, void *sr, bool locked)
{
int rc = -1;
Connection *conn = NULL;
diff --git a/ldap/servers/slapd/proto-slap.h b/ldap/servers/slapd/proto-slap.h
index 765c12bf5..455d6d718 100644
--- a/ldap/servers/slapd/proto-slap.h
+++ b/ldap/servers/slapd/proto-slap.h
@@ -1614,20 +1614,22 @@ pthread_mutex_t *pageresult_lock_get_addr(Connection *conn);
int pagedresults_parse_control_value(Slapi_PBlock *pb, struct berval *psbvp, ber_int_t *pagesize, int *index, Slapi_Backend *be);
void pagedresults_set_response_control(Slapi_PBlock *pb, int iscritical, ber_int_t estimate, int curr_search_count, int index);
Slapi_Backend *pagedresults_get_current_be(Connection *conn, int index);
-int pagedresults_set_current_be(Connection *conn, Slapi_Backend *be, int index, int nolock);
-void *pagedresults_get_search_result(Connection *conn, Operation *op, int locked, int index);
-int pagedresults_set_search_result(Connection *conn, Operation *op, void *sr, int locked, int index);
-int pagedresults_get_search_result_count(Connection *conn, Operation *op, int index);
-int pagedresults_set_search_result_count(Connection *conn, Operation *op, int cnt, int index);
+int pagedresults_set_current_be(Connection *conn, Slapi_Backend *be, int index, bool locked);
+void *pagedresults_get_search_result(Connection *conn, Operation *op, bool locked, int index);
+int pagedresults_set_search_result(Connection *conn, Operation *op, void *sr, bool locked, int index);
+int pagedresults_get_search_result_count(Connection *conn, Operation *op, bool locked, int index);
+int pagedresults_set_search_result_count(Connection *conn, Operation *op, int cnt, bool locked, int index);
int pagedresults_get_search_result_set_size_estimate(Connection *conn,
Operation *op,
+ bool locked,
int index);
int pagedresults_set_search_result_set_size_estimate(Connection *conn,
Operation *op,
int cnt,
+ bool locked,
int index);
-int pagedresults_get_with_sort(Connection *conn, Operation *op, int index);
-int pagedresults_set_with_sort(Connection *conn, Operation *op, int flags, int index);
+int pagedresults_get_with_sort(Connection *conn, Operation *op, bool locked, int index);
+int pagedresults_set_with_sort(Connection *conn, Operation *op, int flags, bool locked, int index);
int pagedresults_get_unindexed(Connection *conn, Operation *op, int index);
int pagedresults_set_unindexed(Connection *conn, Operation *op, int index);
int pagedresults_get_sort_result_code(Connection *conn, Operation *op, int index);
@@ -1639,15 +1641,13 @@ int pagedresults_cleanup(Connection *conn, int needlock);
int pagedresults_is_timedout_nolock(Connection *conn);
int pagedresults_reset_timedout_nolock(Connection *conn);
int pagedresults_in_use_nolock(Connection *conn);
-int pagedresults_free_one(Connection *conn, Operation *op, int index);
-int pagedresults_free_one_msgid(Connection *conn, ber_int_t msgid, pthread_mutex_t *mutex);
+int pagedresults_free_one(Connection *conn, Operation *op, bool locked, int index);
+int pagedresults_free_one_msgid(Connection *conn, ber_int_t msgid, bool locked);
int op_is_pagedresults(Operation *op);
int pagedresults_cleanup_all(Connection *conn, int needlock);
void op_set_pagedresults(Operation *op);
-void pagedresults_lock(Connection *conn, int index);
-void pagedresults_unlock(Connection *conn, int index);
-int pagedresults_is_abandoned_or_notavailable(Connection *conn, int locked, int index);
-int pagedresults_set_search_result_pb(Slapi_PBlock *pb, void *sr, int locked);
+int pagedresults_is_abandoned_or_notavailable(Connection *conn, bool locked, int index);
+int pagedresults_set_search_result_pb(Slapi_PBlock *pb, void *sr, bool locked);
/*
* sort.c
diff --git a/ldap/servers/slapd/slap.h b/ldap/servers/slapd/slap.h
index 11c5602e3..d494931c2 100644
--- a/ldap/servers/slapd/slap.h
+++ b/ldap/servers/slapd/slap.h
@@ -89,6 +89,10 @@ static char ptokPBE[34] = "Internal (Software) Token ";
#include <stdbool.h>
#include <time.h> /* For timespec definitions */
+/* Macros for paged results lock parameter */
+#define PR_LOCKED true
+#define PR_NOT_LOCKED false
+
/* Provides our int types and platform specific requirements. */
#include <slapi_pal.h>
@@ -1669,7 +1673,6 @@ typedef struct _paged_results
struct timespec pr_timelimit_hr; /* expiry time of this request rel to clock monotonic */
int pr_flags;
ber_int_t pr_msgid; /* msgid of the request; to abandon */
- PRLock *pr_mutex; /* protect each conn structure */
} PagedResults;
/* array of simple paged structure stashed in connection */
--
2.52.0

View file

@ -0,0 +1,183 @@
From 4936f953fa3b0726c2b178f135cd78dcac7463ba Mon Sep 17 00:00:00 2001
From: Simon Pichugin <spichugi@redhat.com>
Date: Thu, 8 Jan 2026 10:02:39 -0800
Subject: [PATCH] Issue 7108 - Fix shutdown crash in entry cache destruction
(#7163)
Description: The entry cache could experience LRU list corruption when
using pinned entries, leading to crashes during cache flush operations.
In entrycache_add_int(), when returning an existing cached entry, the
code checked the wrong entry's state before calling lru_delete(). It
checked the new entry 'e' but operated on the existing entry 'my_alt',
causing lru_delete() to be called on entries not in the LRU list. This
is fixed by checking my_alt's refcnt and pinned state instead.
In flush_hash(), pinned_remove() and lru_delete() were both called on
pinned entries. Since pinned entries are in the pinned list, calling
lru_delete() afterwards corrupted the list. This is fixed by calling
either pinned_remove() or lru_delete() based on the entry's state.
A NULL check is added in entrycache_flush() and dncache_flush() to
gracefully handle corrupted LRU lists and prevent crashes when
traversing backwards through the list encounters an unexpected NULL.
Entry pointers are now always cleared after lru_delete() removal to
prevent stale pointer issues in non-debug builds.
Fixes: https://github.com/389ds/389-ds-base/issues/7108
Reviewed by: @progier389, @vashirov (Thanks!!)
---
ldap/servers/slapd/back-ldbm/cache.c | 48 +++++++++++++++++++++++++---
1 file changed, 43 insertions(+), 5 deletions(-)
diff --git a/ldap/servers/slapd/back-ldbm/cache.c b/ldap/servers/slapd/back-ldbm/cache.c
index 2e4126134..a87f30687 100644
--- a/ldap/servers/slapd/back-ldbm/cache.c
+++ b/ldap/servers/slapd/back-ldbm/cache.c
@@ -458,11 +458,13 @@ static void
lru_delete(struct cache *cache, void *ptr)
{
struct backcommon *e;
+
if (NULL == ptr) {
LOG("=> lru_delete\n<= lru_delete (null entry)\n");
return;
}
e = (struct backcommon *)ptr;
+
#ifdef LDAP_CACHE_DEBUG_LRU
pinned_verify(cache, __LINE__);
lru_verify(cache, e, 1);
@@ -475,8 +477,9 @@ lru_delete(struct cache *cache, void *ptr)
e->ep_lrunext->ep_lruprev = e->ep_lruprev;
else
cache->c_lrutail = e->ep_lruprev;
-#ifdef LDAP_CACHE_DEBUG_LRU
+ /* Always clear pointers after removal to prevent stale pointer issues */
e->ep_lrunext = e->ep_lruprev = NULL;
+#ifdef LDAP_CACHE_DEBUG_LRU
lru_verify(cache, e, 0);
#endif
}
@@ -633,9 +636,14 @@ flush_hash(struct cache *cache, struct timespec *start_time, int32_t type)
if (entry->ep_refcnt == 0) {
entry->ep_refcnt++;
if (entry->ep_state & ENTRY_STATE_PINNED) {
+ /* Entry is in pinned list, not LRU - remove from pinned only.
+ * pinned_remove clears lru pointers and won't add to LRU since refcnt > 0.
+ */
pinned_remove(cache, laste);
+ } else {
+ /* Entry is in LRU list - remove from LRU */
+ lru_delete(cache, laste);
}
- lru_delete(cache, laste);
if (type == ENTRY_CACHE) {
entrycache_remove_int(cache, laste);
entrycache_return(cache, (struct backentry **)&laste, PR_TRUE);
@@ -679,9 +687,14 @@ flush_hash(struct cache *cache, struct timespec *start_time, int32_t type)
if (entry->ep_refcnt == 0) {
entry->ep_refcnt++;
if (entry->ep_state & ENTRY_STATE_PINNED) {
+ /* Entry is in pinned list, not LRU - remove from pinned only.
+ * pinned_remove clears lru pointers and won't add to LRU since refcnt > 0.
+ */
pinned_remove(cache, laste);
+ } else {
+ /* Entry is in LRU list - remove from LRU */
+ lru_delete(cache, laste);
}
- lru_delete(cache, laste);
entrycache_remove_int(cache, laste);
entrycache_return(cache, (struct backentry **)&laste, PR_TRUE);
} else {
@@ -772,6 +785,11 @@ entrycache_flush(struct cache *cache)
} else {
e = BACK_LRU_PREV(e, struct backentry *);
}
+ if (e == NULL) {
+ slapi_log_err(SLAPI_LOG_WARNING, "entrycache_flush",
+ "Unexpected NULL entry while flushing cache - LRU list may be corrupted\n");
+ break;
+ }
ASSERT(e->ep_refcnt == 0);
e->ep_refcnt++;
if (entrycache_remove_int(cache, e) < 0) {
@@ -1160,6 +1178,7 @@ pinned_remove(struct cache *cache, void *ptr)
{
struct backentry *e = (struct backentry *)ptr;
ASSERT(e->ep_state & ENTRY_STATE_PINNED);
+
cache->c_pinned_ctx->npinned--;
cache->c_pinned_ctx->size -= e->ep_size;
e->ep_state &= ~ENTRY_STATE_PINNED;
@@ -1172,13 +1191,23 @@ pinned_remove(struct cache *cache, void *ptr)
cache->c_pinned_ctx->head = cache->c_pinned_ctx->tail = NULL;
} else {
cache->c_pinned_ctx->head = BACK_LRU_NEXT(e, struct backentry *);
+ /* Update new head's prev pointer to NULL */
+ if (cache->c_pinned_ctx->head) {
+ cache->c_pinned_ctx->head->ep_lruprev = NULL;
+ }
}
} else if (cache->c_pinned_ctx->tail == e) {
cache->c_pinned_ctx->tail = BACK_LRU_PREV(e, struct backentry *);
+ /* Update new tail's next pointer to NULL */
+ if (cache->c_pinned_ctx->tail) {
+ cache->c_pinned_ctx->tail->ep_lrunext = NULL;
+ }
} else {
+ /* Middle of list: update both neighbors to point to each other */
BACK_LRU_PREV(e, struct backentry *)->ep_lrunext = BACK_LRU_NEXT(e, struct backcommon *);
BACK_LRU_NEXT(e, struct backentry *)->ep_lruprev = BACK_LRU_PREV(e, struct backcommon *);
}
+ /* Clear the removed entry's pointers */
e->ep_lrunext = e->ep_lruprev = NULL;
if (e->ep_refcnt == 0) {
lru_add(cache, ptr);
@@ -1245,6 +1274,7 @@ pinned_add(struct cache *cache, void *ptr)
return false;
}
/* Now it is time to insert the entry in the pinned list */
+
cache->c_pinned_ctx->npinned++;
cache->c_pinned_ctx->size += e->ep_size;
e->ep_state |= ENTRY_STATE_PINNED;
@@ -1754,7 +1784,7 @@ entrycache_add_int(struct cache *cache, struct backentry *e, int state, struct b
* 3) ep_state: 0 && state: 0
* ==> increase the refcnt
*/
- if (e->ep_refcnt == 0)
+ if (e->ep_refcnt == 0 && (e->ep_state & ENTRY_STATE_PINNED) == 0)
lru_delete(cache, (void *)e);
e->ep_refcnt++;
e->ep_state &= ~ENTRY_STATE_UNAVAILABLE;
@@ -1781,7 +1811,7 @@ entrycache_add_int(struct cache *cache, struct backentry *e, int state, struct b
} else {
if (alt) {
*alt = my_alt;
- if (e->ep_refcnt == 0 && (e->ep_state & ENTRY_STATE_PINNED) == 0)
+ if (my_alt->ep_refcnt == 0 && (my_alt->ep_state & ENTRY_STATE_PINNED) == 0)
lru_delete(cache, (void *)*alt);
(*alt)->ep_refcnt++;
LOG("the entry %s already exists. returning existing entry %s (state: 0x%x)\n",
@@ -2379,6 +2409,14 @@ dncache_flush(struct cache *cache)
} else {
dn = BACK_LRU_PREV(dn, struct backdn *);
}
+ if (dn == NULL) {
+ /* Safety check: we should normally exit via the CACHE_LRU_HEAD check.
+ * If we get here, c_lruhead may be NULL or the LRU list is corrupted.
+ */
+ slapi_log_err(SLAPI_LOG_WARNING, "dncache_flush",
+ "Unexpected NULL entry while flushing cache - LRU list may be corrupted\n");
+ break;
+ }
ASSERT(dn->ep_refcnt == 0);
dn->ep_refcnt++;
if (dncache_remove_int(cache, dn) < 0) {
--
2.52.0

View file

@ -0,0 +1,215 @@
From 742c12e0247ab64e87da000a4de2f3e5c99044ab Mon Sep 17 00:00:00 2001
From: Viktor Ashirov <vashirov@redhat.com>
Date: Fri, 9 Jan 2026 11:39:50 +0100
Subject: [PATCH] Issue 7172 - Index ordering mismatch after upgrade (#7173)
Bug Description:
Commit daf731f55071d45eaf403a52b63d35f4e699ff28 introduced a regression.
After upgrading to a version that adds `integerOrderingMatch` matching
rule to `parentid` and `ancestorid` indexes, searches may return empty
or incorrect results.
This happens because the existing index data was created with
lexicographic ordering, but the new compare function expects integer
ordering. Index lookups fail because the compare function doesn't match
the data ordering.
The root cause is that `ldbm_instance_create_default_indexes()` calls
`attr_index_config()` unconditionally for `parentid` and `ancestorid`
indexes, which triggers `ainfo_dup()` to overwrite `ai_key_cmp_fn` on
existing indexes. This breaks indexes that were created without the
`integerOrderingMatch` matching rule.
Fix Description:
* Call `attr_index_config()` for `parentid` and `ancestorid` indexes
only if index config doesn't exist.
* Add `upgrade_check_id_index_matching_rule()` that logs an error on
server startup if `parentid` or `ancestorid` indexes are missing the
integerOrderingMatch matching rule, advising administrators to reindex.
Fixes: https://github.com/389ds/389-ds-base/issues/7172
Reviewed by: @tbordaz, @progier389, @droideck (Thanks!)
---
ldap/servers/slapd/back-ldbm/instance.c | 25 ++++--
ldap/servers/slapd/upgrade.c | 107 +++++++++++++++++++++++-
2 files changed, 123 insertions(+), 9 deletions(-)
diff --git a/ldap/servers/slapd/back-ldbm/instance.c b/ldap/servers/slapd/back-ldbm/instance.c
index cb002c379..71bf0f6fa 100644
--- a/ldap/servers/slapd/back-ldbm/instance.c
+++ b/ldap/servers/slapd/back-ldbm/instance.c
@@ -190,6 +190,7 @@ ldbm_instance_create_default_indexes(backend *be)
char *ancestorid_indexes_limit = NULL;
char *parentid_indexes_limit = NULL;
struct attrinfo *ai = NULL;
+ struct attrinfo *index_already_configured = NULL;
struct index_idlistsizeinfo *iter;
int cookie;
int limit;
@@ -248,10 +249,14 @@ ldbm_instance_create_default_indexes(backend *be)
ldbm_instance_config_add_index_entry(inst, e, flags);
slapi_entry_free(e);
- e = ldbm_instance_init_config_entry(LDBM_PARENTID_STR, "eq", 0, 0, 0, "integerOrderingMatch", parentid_indexes_limit);
- ldbm_instance_config_add_index_entry(inst, e, flags);
- attr_index_config(be, "ldbm index init", 0, e, 1, 0, NULL);
- slapi_entry_free(e);
+ ainfo_get(be, (char *)LDBM_PARENTID_STR, &ai);
+ index_already_configured = ai;
+ if (!index_already_configured) {
+ e = ldbm_instance_init_config_entry(LDBM_PARENTID_STR, "eq", 0, 0, 0, "integerOrderingMatch", parentid_indexes_limit);
+ ldbm_instance_config_add_index_entry(inst, e, flags);
+ attr_index_config(be, "ldbm index init", 0, e, 1, 0, NULL);
+ slapi_entry_free(e);
+ }
e = ldbm_instance_init_config_entry("objectclass", "eq", 0, 0, 0, 0, 0);
ldbm_instance_config_add_index_entry(inst, e, flags);
@@ -288,10 +293,14 @@ ldbm_instance_create_default_indexes(backend *be)
* ancestorid is special, there is actually no such attr type
* but we still want to use the attr index file APIs.
*/
- e = ldbm_instance_init_config_entry(LDBM_ANCESTORID_STR, "eq", 0, 0, 0, "integerOrderingMatch", ancestorid_indexes_limit);
- ldbm_instance_config_add_index_entry(inst, e, flags);
- attr_index_config(be, "ldbm index init", 0, e, 1, 0, NULL);
- slapi_entry_free(e);
+ ainfo_get(be, (char *)LDBM_ANCESTORID_STR, &ai);
+ index_already_configured = ai;
+ if (!index_already_configured) {
+ e = ldbm_instance_init_config_entry(LDBM_ANCESTORID_STR, "eq", 0, 0, 0, "integerOrderingMatch", ancestorid_indexes_limit);
+ ldbm_instance_config_add_index_entry(inst, e, flags);
+ attr_index_config(be, "ldbm index init", 0, e, 1, 0, NULL);
+ slapi_entry_free(e);
+ }
slapi_ch_free_string(&ancestorid_indexes_limit);
slapi_ch_free_string(&parentid_indexes_limit);
diff --git a/ldap/servers/slapd/upgrade.c b/ldap/servers/slapd/upgrade.c
index 858392564..b02e37ed6 100644
--- a/ldap/servers/slapd/upgrade.c
+++ b/ldap/servers/slapd/upgrade.c
@@ -330,6 +330,107 @@ upgrade_remove_subtree_rename(void)
return UPGRADE_SUCCESS;
}
+/*
+ * Check if parentid/ancestorid indexes are missing the integerOrderingMatch
+ * matching rule.
+ *
+ * This function logs a warning if we detect this condition, advising
+ * the administrator to reindex the affected attributes.
+ */
+static upgrade_status
+upgrade_check_id_index_matching_rule(void)
+{
+ struct slapi_pblock *pb = slapi_pblock_new();
+ Slapi_Entry **backends = NULL;
+ const char *be_base_dn = "cn=ldbm database,cn=plugins,cn=config";
+ const char *be_filter = "(objectclass=nsBackendInstance)";
+ const char *attrs_to_check[] = {"parentid", "ancestorid", NULL};
+ upgrade_status uresult = UPGRADE_SUCCESS;
+
+ /* Search for all backend instances */
+ slapi_search_internal_set_pb(
+ pb, be_base_dn,
+ LDAP_SCOPE_ONELEVEL,
+ be_filter, NULL, 0, NULL, NULL,
+ plugin_get_default_component_id(), 0);
+ slapi_search_internal_pb(pb);
+ slapi_pblock_get(pb, SLAPI_PLUGIN_INTOP_SEARCH_ENTRIES, &backends);
+
+ if (backends) {
+ for (size_t be_idx = 0; backends[be_idx] != NULL; be_idx++) {
+ const char *be_name = slapi_entry_attr_get_ref(backends[be_idx], "cn");
+ if (!be_name) {
+ continue;
+ }
+
+ /* Check each attribute that should have integerOrderingMatch */
+ for (size_t attr_idx = 0; attrs_to_check[attr_idx] != NULL; attr_idx++) {
+ const char *attr_name = attrs_to_check[attr_idx];
+ struct slapi_pblock *idx_pb = slapi_pblock_new();
+ Slapi_Entry **idx_entries = NULL;
+ char *idx_dn = slapi_create_dn_string("cn=%s,cn=index,cn=%s,%s",
+ attr_name, be_name, be_base_dn);
+ char *idx_filter = "(objectclass=nsIndex)";
+ PRBool has_matching_rule = PR_FALSE;
+
+ if (!idx_dn) {
+ slapi_pblock_destroy(idx_pb);
+ continue;
+ }
+
+ slapi_search_internal_set_pb(
+ idx_pb, idx_dn,
+ LDAP_SCOPE_BASE,
+ idx_filter, NULL, 0, NULL, NULL,
+ plugin_get_default_component_id(), 0);
+ slapi_search_internal_pb(idx_pb);
+ slapi_pblock_get(idx_pb, SLAPI_PLUGIN_INTOP_SEARCH_ENTRIES, &idx_entries);
+
+ if (idx_entries && idx_entries[0]) {
+ /* Index exists, check if it has integerOrderingMatch */
+ Slapi_Attr *mr_attr = NULL;
+ if (slapi_entry_attr_find(idx_entries[0], "nsMatchingRule", &mr_attr) == 0) {
+ Slapi_Value *sval = NULL;
+ int idx;
+ for (idx = slapi_attr_first_value(mr_attr, &sval);
+ idx != -1;
+ idx = slapi_attr_next_value(mr_attr, idx, &sval)) {
+ const struct berval *bval = slapi_value_get_berval(sval);
+ if (bval && bval->bv_val &&
+ strcasecmp(bval->bv_val, "integerOrderingMatch") == 0) {
+ has_matching_rule = PR_TRUE;
+ break;
+ }
+ }
+ }
+
+ if (!has_matching_rule) {
+ /* Index exists but doesn't have integerOrderingMatch, log a warning */
+ slapi_log_err(SLAPI_LOG_ERR, "upgrade_check_id_index_matching_rule",
+ "Index '%s' in backend '%s' is missing 'nsMatchingRule: integerOrderingMatch'. "
+ "Incorrectly configured system indexes can lead to poor search performance, replication issues, and other operational problems. "
+ "To fix this, add the matching rule and reindex: "
+ "dsconf <instance> backend index set --add-mr integerOrderingMatch --attr %s %s && "
+ "dsconf <instance> backend index reindex --attr %s %s. "
+ "WARNING: Reindexing can be resource-intensive and may impact server performance on a live system. "
+ "Consider scheduling reindexing during maintenance windows or periods of low activity.\n",
+ attr_name, be_name, attr_name, be_name, attr_name, be_name);
+ }
+ }
+
+ slapi_ch_free_string(&idx_dn);
+ slapi_free_search_results_internal(idx_pb);
+ slapi_pblock_destroy(idx_pb);
+ }
+ }
+ }
+
+ slapi_free_search_results_internal(pb);
+ slapi_pblock_destroy(pb);
+
+ return uresult;
+}
+
/*
* Upgrade the base config of the PAM PTA plugin.
*
@@ -547,7 +648,11 @@ upgrade_server(void)
if (upgrade_pam_pta_default_config() != UPGRADE_SUCCESS) {
return UPGRADE_FAILURE;
}
-
+
+ if (upgrade_check_id_index_matching_rule() != UPGRADE_SUCCESS) {
+ return UPGRADE_FAILURE;
+ }
+
return UPGRADE_SUCCESS;
}
--
2.52.0

View file

@ -0,0 +1,67 @@
From f5de84e309d5a4435198c9cc9b31b5722979f1ff Mon Sep 17 00:00:00 2001
From: Viktor Ashirov <vashirov@redhat.com>
Date: Mon, 12 Jan 2026 10:58:02 +0100
Subject: [PATCH 5/5] Issue 7172 - (2nd) Index ordering mismatch after upgrade
(#7180)
Commit 742c12e0247ab64e87da000a4de2f3e5c99044ab introduced a regression
where the check to skip creating parentid/ancestorid indexes if they
already exist was incorrect.
The `ainfo_get()` function falls back to returning
LDBM_PSEUDO_ATTR_DEFAULT attrinfo when the requested attribute is not
found.
Since LDBM_PSEUDO_ATTR_DEFAULT is created before the ancestorid check,
`ainfo_get()` returns LDBM_PSEUDO_ATTR_DEFAULT instead of NULL, causing
the ancestorid index creation to be skipped entirely.
When operations later try to use the ancestorid index, they fall back to
LDBM_PSEUDO_ATTR_DEFAULT, and attempting to open the .default dbi
mid-transaction fails with MDB_NOTFOUND (-30798).
Fix Description:
Instead of just checking if `ainfo_get()` returns non-NULL, verify that
the returned attrinfo is actually for the requested attribute.
Fixes: https://github.com/389ds/389-ds-base/issues/7172
Reviewed by: @tbordaz (Thanks!)
---
ldap/servers/slapd/back-ldbm/instance.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/ldap/servers/slapd/back-ldbm/instance.c b/ldap/servers/slapd/back-ldbm/instance.c
index 71bf0f6fa..2a6e8cbb8 100644
--- a/ldap/servers/slapd/back-ldbm/instance.c
+++ b/ldap/servers/slapd/back-ldbm/instance.c
@@ -190,7 +190,7 @@ ldbm_instance_create_default_indexes(backend *be)
char *ancestorid_indexes_limit = NULL;
char *parentid_indexes_limit = NULL;
struct attrinfo *ai = NULL;
- struct attrinfo *index_already_configured = NULL;
+ int index_already_configured = 0;
struct index_idlistsizeinfo *iter;
int cookie;
int limit;
@@ -250,7 +250,8 @@ ldbm_instance_create_default_indexes(backend *be)
slapi_entry_free(e);
ainfo_get(be, (char *)LDBM_PARENTID_STR, &ai);
- index_already_configured = ai;
+ /* Check if the attrinfo is actually for parentid, not a fallback to .default */
+ index_already_configured = (ai != NULL && strcmp(ai->ai_type, LDBM_PARENTID_STR) == 0);
if (!index_already_configured) {
e = ldbm_instance_init_config_entry(LDBM_PARENTID_STR, "eq", 0, 0, 0, "integerOrderingMatch", parentid_indexes_limit);
ldbm_instance_config_add_index_entry(inst, e, flags);
@@ -294,7 +295,8 @@ ldbm_instance_create_default_indexes(backend *be)
* but we still want to use the attr index file APIs.
*/
ainfo_get(be, (char *)LDBM_ANCESTORID_STR, &ai);
- index_already_configured = ai;
+ /* Check if the attrinfo is actually for ancestorid, not a fallback to .default */
+ index_already_configured = (ai != NULL && strcmp(ai->ai_type, LDBM_ANCESTORID_STR) == 0);
if (!index_already_configured) {
e = ldbm_instance_init_config_entry(LDBM_ANCESTORID_STR, "eq", 0, 0, 0, "integerOrderingMatch", ancestorid_indexes_limit);
ldbm_instance_config_add_index_entry(inst, e, flags);
--
2.52.0

View file

@ -1,4 +1,4 @@
For detailed information on developing plugins for
389 Directory Server visit.
For detailed information on developing plugins for 389 Directory Server visit
http://port389/wiki/Plugins
https://www.port389.org/docs/389ds/design/plugins.html
https://github.com/389ds/389-ds-base/blob/main/src/slapi_r_plugin/README.md

View file

@ -1,23 +0,0 @@
#!/bin/bash
DATE=`date +%Y%m%d`
# use a real tag name here
VERSION=1.3.5.14
PKGNAME=389-ds-base
TAG=${TAG:-$PKGNAME-$VERSION}
#SRCNAME=$PKGNAME-$VERSION-$DATE
SRCNAME=$PKGNAME-$VERSION
test -d .git || {
echo you must be in the ds git repo to use this
echo bye
exit 1
}
if [ -z "$1" ] ; then
dir=.
else
dir="$1"
fi
git archive --prefix=$SRCNAME/ $TAG | bzip2 > $dir/$SRCNAME.tar.bz2

View file

@ -1,16 +0,0 @@
#!/bin/bash
DATE=`date +%Y%m%d`
# use a real tag name here
VERSION=1.3.5.14
PKGNAME=389-ds-base
TAG=${TAG:-$PKGNAME-$VERSION}
URL="https://git.fedorahosted.org/git/?p=389/ds.git;a=snapshot;h=$TAG;sf=tgz"
SRCNAME=$PKGNAME-$VERSION
wget -O $SRCNAME.tar.gz "$URL"
echo convert tgz format to tar.bz2 format
gunzip $PKGNAME-$VERSION.tar.gz
bzip2 $PKGNAME-$VERSION.tar

File diff suppressed because it is too large Load diff

3
389-ds-base.sysusers Normal file
View file

@ -0,0 +1,3 @@
#Type Name ID GECOS Home directory Shell
g dirsrv 389
u dirsrv 389:389 "user for 389-ds-base" /usr/share/dirsrv/ /sbin/nologin

513
changelog Normal file
View file

@ -0,0 +1,513 @@
* Tue May 14 2024 James Chapman <jachapma@redhat.com> - 3.1.0-1
- Bump version to 3.1.0
- Issue 6142 - Fix CI tests (#6161)
- Issue 6157 - Cockipt crashes when getting replication status if topology contains an old 389ds version (#6158)
- Issue 5105 - lmdb - Cannot create entries with long rdn - fix covscan (#6131)
- Issue 6086 - Ambiguous warning about SELinux in dscreate for non-root user
- Issue 6094 - Add coverity scan workflow
- Issue 5962 - Rearrange includes for 32-bit support logic
- Issue 6046 - Make dscreate to work during kickstart installations
- Issue 6073 - Improve error log when running out of memory (#6084)
- Issue 6071 - Instance creation/removal is slow
- Issue 6010 - 389 ds ignores nsslapd-maxdescriptors (#6027)
- Issue 6075 - Ignore build artifacts (#6076)
- Issue 6068 - Add dscontainer stop function
* Mon Apr 15 2024 James Chapman <jachapma@redhat.com> - 3.0.2-1
- Bump version to 3.0.2
- Issue 6082 - Remove explicit dependencies toward libdb - revert default (#6145)
- Issue 6142 - [RFE] Add LMDB configuration related checks into Healthcheck tool (#6143)
- Issue 6141 - freeipa test_topology_TestCASpecificRUVs is failing (#6144)
- Issue 6136 - failure in freeipa tests (#6137)
- Issue 6119 - Synchronise accept_thread with slapd_daemon (#6120)
- Issue 6105 - lmdb - Cannot create entries with long rdn (#6130)
- Issue 6082 - Remove explicit dependencies toward libdb (#6083)
- Issue i6057 - Fix3 - Fix covscan issues (#6127)
- Issue 6057 - vlv search may result wrong result with lmdb - Fix 2 (#6121)
- Issue 6057 - vlv search may result wrong result with lmdb (#6091)
- Issue 6092 - passwordHistory is not updated with a pre-hashed password (#6093)
- Issue 6133 - Move slapi_pblock_set_flag_operation_notes() to slapi-plugin.h
- Issue 6125 - dscreate interactive fails when chosing mdb backend (#6126)
- Issue 6110 - Typo in Account Policy plugin message
- Issue 6080 - ns-slapd crash in referint_get_config (#6081)
- Issue 6117 - Fix the UTC offset print (#6118)
- Issue 5305 - OpenLDAP version autodetection doesn't work
- Issue 6112 - RFE - add new operation note for MFA authentications
- Issue 5842 - Add log buffering to audit log
- Issue 3527 - Support HAProxy and Instance on the same machine configuration (#6107)
- Issue 6103 - New connection timeout error breaks errormap (#6104)
- Issue 6096 - Improve connection timeout error logging (#6097)
- Issue 6067 - Improve dsidm CLI No Such Entry handling (#6079)
- Issue 6067 - Add hidden -v and -j options to each CLI subcommand (#6088)
- Issue 6061 - Certificate lifetime displayed as NaN
* Wed Jan 31 2024 Pete Walter <pwalter@fedoraproject.org> - 3.0.1-2
- Rebuild for ICU 74
* Tue Jan 30 2024 Simon Pichugin <spichugi@redhat.com> - 3.0.1-1
- Bump version to 3.0.1
- Issue 6043, 6044 - Enhance Rust and JS bundling and add SPDX licenses for both (#6045)
- Issue 3555 - Remove audit-ci from dependencies (#6056)
- Issue 6052 - Paged results test sets hostname to `localhost` on test collection
- Issue 6051 - Drop unused pytest markers
- Issue 6049 - lmdb - changelog is wrongly recreated by reindex task (#6050)
- Issue 6047 - Add a check for tagged commits
- Issue 6041 - dscreate ds-root - accepts relative path (#6042)
- Switch default backend to lmdb and bump version to 3.0 (#6013)
- Issue 6032 - Replication broken after backup restore (#6035)
- Issue 6037 - Server crash at startup in vlvIndex_delete (#6038)
- Issue 6034 - Change replica_id from str to int
- Issue 6028 - vlv index keys inconsistencies (#6031)
- Issue 5989 - RFE support of inChain Matching Rule (#5990)
- Issue 6022 - lmdb inconsistency between vlv index and vlv cache names (#6026)
- Issue 6015 - Fix typo remeber (#6014)
- Issue 6016 - Pin upload/download artifacts action to v3
- Issue 5939 - During an update, if the target entry is reverted in the entry cache, the server should not retry to lock it (#6007)
- Issue 4673 - Update Rust crates
- Issue 6004 - idletimeout may be ignored (#6005)
- Issue 5954 - Disable Transparent Huge Pages
- Issue 5997 - test_inactivty_and_expiration CI testcase is wrong (#5999)
- Issue 5993 - Fix several race condition around CI tests (#5996)
- Issue 5944 - Reversion of the entry cache should be limited to BETXN plugin failures (#5994)
- Bump openssl from 0.10.55 to 0.10.60 in /src (#5995)
- Issue 5980 - Improve instance startup failure handling (#5991)
- Issue 5976 - Fix freeipa install regression with lmdb (#5977)
- Issue 5984 - Crash when paged result search are abandoned - fix2 (#5987)
- Issue 5984 - Crash when paged result search are abandoned (#5985)
- Issue 5947 - CI test_vlv_recreation_reindex fails on LMDB (#5979)
* Mon Jan 29 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 18 2024 Viktor Ashirov <vashirov@redhat.com> - 2.4.5-1
- Bump version to 2.4.5
- Issue 5989 - RFE support of inChain Matching Rule (#5990)
- Issue 5939 - During an update, if the target entry is reverted in the entry cache, the server should not retry to lock it (#6007)
- Issue 5944 - Reversion of the entry cache should be limited to BETXN plugin failures (#5994)
- Issue 5954 - Disable Transparent Huge Pages
- Issue 5984 - Crash when paged result search are abandoned - fix2 (#5987)
- Issue 5984 - Crash when paged result search are abandoned (#5985)
* Wed Nov 15 2023 James Chapman <jachapma@redhat.com> - 2.4.4
- Bump version to 2.4.4
- Issue 5971 - CLI - Fix password prompt for repl status (#5972)
- Issue 5973 - Fix fedora cop RawHide builds (#5974)
- Revert "Issue 5761 - Worker thread dynamic management (#5796)" (#5970)
- Issue 5966 - CLI - Custom schema object is removed on a failed edit (#5967)
- Issue 5786 - Update permissions for Release workflow
- Issue 5960 - Subpackages should have more strict interdependencies
- Issue 3555 - UI - Fix audit issue with npm - babel/traverse (#5959)
- Issue 4843 - Fix dscreate create-template issue (#5950)
- bugfix for --passwd-file not working on latest version (#5934)
- Issue 5843 - dsconf / dscreate should be able to handle lmdb parameters (#5943)
- Bump postcss from 8.4.24 to 8.4.31 in /src/cockpit/389-console (#5945)
- Issue 5938 - Attribute Names changed to lowercase after adding the Attributes (#5940)
- issue 5924 - ASAN server build crash when looping opening/closing connections (#5926)
- Issue 1925 - Add a CI test (#5936)
- Issue 5732 - Localizing Cockpit's 389ds Plugin using CockpitPoPlugin (#5764)
- Issue 1870 - Add a CI test (#5929)
- Issue 843 - Add a warning to slapi_valueset_add_value_ext (#5925)
- Issue 5761 - Worker thread dynamic management (#5796)
- Issue 1802 - Improve ldclt man page (#5928)
- Issue 1456 - Add a CI test that verifies there is no issue (#5927)
- Issue 1317 - Add a CI test (#5923)
- Issue 1081 - CI - Add more tests for overwriting x-origin issue (#5815)
- Issue 1115 - Add a CI test (#5913)
- Issue 5848 - Fix condition and add a CI test (#5916)
- Issue 5848 - Fix condition and add a CI test (#5916)
- Issue 5914 - UI - server settings page validation improvements and db index fixes
- Issue 5909 - Multi listener hang with 20k connections (#5917)
- Issue 5902 - Fix previous commit regression (#5919)
- pass instance correctly to ds_is_older (#5903)
- Issue 5909 - Multi listener hang with 20k connections (#5910)
- Issue 5722 - improve testcase (#5904)
- Issue 5203 - outdated version in provided metadata for lib389
- Bug Description:
- issue 5890 part 2 - Need a tester for testing multiple listening thread feature (#5897)
- Issue i5846 - Crash when lmdb import is aborted (#5881)
- Issue 5894 - lmdb import error fails with Could not store the entry (#5895)
- Issue 5890 - Need a tester for testing multiple listening thread feature (#5891)
- Issue 5082 - slugify: ModuleNotFoundError when running test cases
- Issue 4551 - Part 2 - Fix build warning of previous PR (#5888)
- Issue 5834 - AccountPolicyPlugin erroring for some users (#5866)
- Issue 5872 - part 2 - fix is_dbi regression (#5887)
- Issue 4758 - Add tests for WebUI
- Issue 5848 - dsconf should prevent setting the replicaID for hub and consumer roles (#5849)
- Issue 5883 - Remove connection mutex contention risk on autobind (#5886)
- Issue 5872 - `dbscan()` in lib389 can return bytes
* Thu Aug 3 2023 Mark Reynolds<mreynolds@redhat.com> - 2.4.3-1
- Bump version to 2.4.3-1
- Issue 5729 - Memory leak in factory_create_extension (#5814)
- Issue 5870 - ns-slapd crashes at startup if a backend has no suffix (#5871)
- Issue 5876 - CI Test random failure - Import (#5879)
- Issue 5877 - test_basic_ldapagent breaks test_setup_ds_as_non_root* tests
- Issue 5867 - lib389 should use filter for tarfile as recommended by PEP 706 (#5868)
- Issue 5853 - Update Cargo.lock and fix minor warning (#5854)
- Issue 5785 - CLI - arg completion is broken
- Issue 5864 - Server fails to start after reboot because it's unable to access nsslapd-rundir
- Issue 5856 - SyntaxWarning: invalid escape sequence '\,'
- Issue 5859 - dbscan fails with AttributeError: 'list' object has no attribute 'extends'
- Issue 3527 - UI - Add nsslapd-haproxy-trusted-ip to server setting (#5839)
- Issue 4551 - Paged search impacts performance (#5838)
- Issue 4758 - Add tests for WebUI
- Issue 4169 - UI - Fix retrochangelog and schema Typeaheads (#5837)
- issue 5833 - dsconf monitor backend fails on lmdb (#5835)
- Issue 3555 - UI - Fix audit issue with npm - stylelint (#5836)
* Mon Jul 24 2023 Mark Reynolds <mreynolds@redhat.com> - 2.4.2-5
- Bump version to 2.4.2-5
- Add the bash completion scripts to the appropriate files section
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 2.4.2-3
- Rebuilt for ICU 73.2
* Mon Jul 10 2023 Mark Reynolds <mreynolds@redhat.com> - 2.4.2-2
- Bump version to 2.4.2-2
- Issue 5752 - RFE - Provide a history for LastLoginTime (#5807)
= Issue 4719 - CI - Add dsconf add a PTA URL test
* Fri Jul 7 2023 Mark Reynolds <mreynolds@redhat.com> - 2.4.2-1
- Bump version to 2.4.2
- Issue 5793 - UI - fix suffix selection in export modal
- Issue 5793 - UI - Fix minor crashes (#5827)
- Issue 5825 - healthcheck - password storage scheme warning needs more info
- Issue 5822 - Allow empty export path for db2ldif
- Issue 5755 - Massive memory leaking on update operations (#5824)
- Issue 5701 - CI - Add more tests for referral mode fix (#5810)
- Issue 5551 - Almost empty and not loaded ns-slapd high cpu load
- Issue 5755 - The Massive memory leaking on update operations (#5803)
- Issue 2375 - CLI - Healthcheck - revise and add new checks
- Bump openssl from 0.10.52 to 0.10.55 in /src
- Issue 5793 - UI - movce from webpack to esbuild bundler
- Issue 5752 - CI - Add more tests for lastLoginHistorySize RFE (#5802)
- Issue 3527 - Fix HAProxy x390x compatibility and compiler warnings (#5801)
- Issue 5798 - CLI - Add multi-valued support to dsconf config (#5799)
- Issue 5781 - Bug handling return code of pre-extended operation plugin.
- Issue 5785 - move bash completion to post section of specfile
- Issue 5156 - (cont) RFE slapi_memberof reusing memberof values (#5744)
- Issue 4758 - Add tests for WebUI
- Issue 3527 - Add PROXY protocol support (#5762)
- Issue 5789 - Improve ds-replcheck error handling
- Issue 5786 - CLI - registers tools for bash completion
- Issue 5786 - Set minimal permissions on GitHub Workflows (#5787)
- Issue 5646 - Various memory leaks (#5725)
- Issue 5778 - UI - Remove error message if .dsrc is missing
- Issue 5751 - Cleanallruv task crashes on consumer (#5775)
* Wed Jun 28 2023 Python Maint <python-maint@redhat.com> - 2.4.1-2
- Rebuilt for Python 3.12
* Thu May 18 2023 Mark Reynolds <mreynolds@redhat.com> - 2.4.1-1
- Bump version to 2.4.1
- Issue 5770 - RFE - Extend Password Adminstrators to allow skipping password info updates
- Issue 5768 - CLI/UI - cert checks are too strict, and other issues
- Issue 5722 - fix compilation warnings (#5771)
- Issue 5765 - Improve installer selinux handling
- Issue 152 - RFE - Add support for LDAP alias entries
- Issue 5052 - BUG - Custom filters prevented entry deletion (#5060)
- Issue 5752 - RFE - Provide a history for LastLoginTime (#5753)
- Issue 5722 - RFE When a filter contains 'nsrole', improve response time by rewriting the filter (#5723)
- Issue 5704 - crash in sync_refresh_initial_content (#5720)
- Issue 5738 - RFE - UI - Read/write replication monitor info to .dsrc file
- Issue 5156 - build warnings (#5758)
- Issue 5749 - RFE - Allow Account Policy Plugin to handle inactivity and expiration at the same time
- Issue 5743 - Disabling replica crashes the server (#5746)
- Issue 2562 - Copy config files into backup directory
- Issue 5156 - fix build breakage from slapi-memberof commit
- Issue 4758 - Add tests for WebUI
* Tue Apr 25 2023 Mark Reynolds <mreynolds@redhat.com> - 2.4.0-1
- Bump version to 2.4.0
- Issue 5156 - RFE that implement slapi_memberof (#5694)
- Issue 5734 - RFE - Exclude pwdFailureTime and ContextCSN (#5735)
- Issue 5726 - ns-slapd crashing in ldbm_back_upgradednformat (#5727)
- Issue 4758 - Add tests for WebUI
- Issue 5718 - Memory leak in connection table (#5719)
- Issue 5705 - Add config parameter to close client conns on failed bind (#5712)
- Issue 4758 - Add tests for WebUI
- Issue 5643 - Memory leak in entryrdn during delete (#5717)
- Issue 5714 - UI - fix typo, db settings, log settings, and LDAP editor paginations
- Issue 5701 - CLI - Fix referral mode setting (#5708)
- Bump openssl from 0.10.45 to 0.10.48 in /src (#5709)
- Issue 5710 - subtree search statistics for index lookup does not report ancestorid/entryrdn lookups (#5711)
- Issue 5697 - Obsolete nsslapd-ldapimaprootdn attribute (#5698)
- Issue 1081 - Stop schema replication from overwriting x-origin
- Issue 4812 - Listener thread does not scale with a high num of established connections (#5706)
- Issue 4812 - Listener thread does not scale with a high num of established connections (#5681)
- Bump webpack from 5.75.0 to 5.76.0 in /src/cockpit/389-console (#5699)
- Issue 5598 - (3rd) In 2.x, SRCH throughput drops by 10% because of handling of referral (#5692)
- Issue 5598 - (2nd) In 2.x, SRCH throughput drops by 10% because of handling of referral (#5691)
- Issue 5687 - UI - sensitive information disclosure
- Issue 5661 - LMDB hangs while Rebuilding the replication changelog RUV (#5676)
- Issue 5554 - Add more tests to security_basic_test suite
- Issue 4583 - Update specfile to skip checks of ASAN builds
- Issue 4758 - Add tests for WebUI
- Issue 3604 - UI - Add support for Subject Alternative Names in CSR
- Issue 5600 - buffer overflow when enabling sync repl plugin when dynamic plugins is enabled
- Issue 5640 - Update logconv for new logging format
- Issue 5162 - CI - fix error message for invalid pem file
- Issue 5598 - In 2.x, SRCH throughput drops by 10% because of handling of referral (#5604)
- Issue 5671 - covscan - clang warning (#5672)
- Issue 5267 - CI - Fix issues with nsslapd-return-original-entrydn
- Issue 5666 - CLI - Add timeout parameter for tasks
- Issue 5567 - CLI - make ldifgen use the same default ldif name for all options
- Issue 5647 - Fix unused variable warning from previous commit (#5670)
- Issue 5162 - Lib389 - verify certificate type before adding
- Issue 5642 - Build fails against setuptools 67.0.0
- Issue 5630 - CLI - need to add logging filter for stdout
- Issue 5646 - CLI/UI - do not hardcode password storage schemes
- Issue 5640 - Update logconv for new logging format
- issue 5647 - covscan: memory leak in audit log when adding entries (#5650)
- Issue 5658 - CLI - unable to add attribute with matching rule
- Issue 5653 - covscan - fix invalid dereference
- Issue 5652 - Libasan crash in replication/cascading_test (#5659)
- Issue 5628 - Handle graceful timeout in CI tests (#5657)
- Issue 5648 - Covscan - Compiler warnings (#5651)
- Issue 5630 - CLI - error messages should goto stderr
- Issue 2435 - RFE - Raise IDL Scan Limit to INT_MAX (#5639)
- Issue 5632 - CLI - improve error handling with db2ldif
- Issue 5517 - Replication conflict CI test sometime fails (#5518)
- Issue 5634 - Deprecated warning related to github action workflow code (#5635)
- Issue 5637 - Covscan - fix Buffer Overflows (#5638)
- Issue 5624 - RFE - UI - export certificates, and import text base64 encoded certificates
- Bump tokio from 1.24.1 to 1.25.0 in /src (#5629)
- Issue 4577 - Add LMDB pytest github action (#5627)
- Issue 4293 - RFE - CLI - add dsrc options for setting user and group subtrees
- Remove stale libevent(-devel) dependency
- Issue 5578 - dscreate ds-root does not normaile paths (#5613)
- Issue 5497 - boolean attributes should be case insensitive
* Fri Mar 31 2023 Viktor Ashirov <vashirov@redhat.com> - 2.3.2-3
- Fix build issue against setuptools 67.0.0 (#2183375)
* Tue Feb 28 2023 Simon Pichugin <spichugi@redhat.com> - 2.3.2-2
- Use systemd-sysusers for dirsrv user and group (#2173834)
* Mon Jan 23 2023 Mark Reynolds <mreynolds@redhat.com> - 2.3.2-1
- Bump version to 2.3.2
- Issue 5547 - automember plugin improvements
- Issue 5607, 5351, 5611 - UI/CLI - fix various issues
- Issue 5610 - Build failure on Debian
- Issue 5608 - UI - need to replace some "const" with "let"
- Issue 5560 - dscreate run by non superuser set defaults requiring superuser privilege (#5579)
- Issue 3604 - Create a private key/CSR with dsconf/Cockpit (#5584)
- Issue 5605 - Adding a slapi_log_backtrace function in libslapd (#5606)
- Issue 5602 - UI - browser crash when trying to modify read-only variable
- Issue 5581 - UI - Support cockpit dark theme
- Issue 5593 - CLI - dsidm account subtree-status fails with TypeError
- Issue 5591 - BUG - Segfault in cl5configtrim with invalid confi (#5592)
- Fix latest npm audit failures
- Issue 5599 - CI - webui tests randomly fail
- Issue 5348 - RFE - CLI - add functionality to do bulk updates to entries
- Issue 5588 - Fix CI tests
- Issue 5585 - lib389 password policy DN handling is incorrect (#5587)
- Issue 5521 - UI - Update plugins for new split PAM and LDAP pass thru auth
- Bump json5 from 2.2.1 to 2.2.3 in /src/cockpit/389-console
- Issue 5236 - UI add specialized group edit modal
- Issue 5550 - dsconf monitor crashes with Error math domain error (#5553)
- Issue 5278 - CLI - dsidm asks for the old password on password reset
- Issue 5531 - CI - use universal_lines in capture_output
- Issue 5425 - CLI - add confirmation arg when deleting backend
- Issue 5558 - non-root instance fails to start on creation (#5559)
- Issue 5545 - A random crash in import over lmdb (#5546)
- Issue 3615 - CLI - prevent virtual attribute indexing
- Update specfile and rust crates
- Issue 5413 - Allow mutliple MemberOf fixup tasks with different bases/filters
- Issue 5554 - Add more tests to security_basic_test suite (#5555)
- Issue 5561 - Nightly tests are failing
- Issue 5521 - RFE - split pass through auth cli
- Issue 5521 - BUG - Pam PTA multiple issues
- Issue 5544 - Increase default task TTL
- Issue 5526 - RFE - Improve saslauthd migration options (#5528)
- Issue 5539 - Make logger's parameter name unified (#5540)
- Issue 5541 - Fix typo in `lib389.cli_conf.backend._get_backend` (#5542)
- Issue 3729 - (cont) RFE Extend log of operations statistics in access log (#5538)
- Issue 5534 - Fix a rebase typo (#5537)
- Issue 5534 - Add copyright text to the repository files
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 2.3.1-2
- Rebuild for ICU 72
* Fri Nov 18 2022 Mark Reynolds <mreynolds@redhat.com> - 2.3.1-1
- Bump version to 2.3.1
- Issue 5532 - Make db compaction TOD day more robust.
- Issue 3729 - RFE Extend log of operations statistics in access log (#5508)
- Issue 5529 - UI - Fix npm vulnerability in loader-utils
- Issue 5490 - tombstone in entryrdn index with lmdb but not with bdb (#5498)
- Issue 5162 - Fix dsctl tls ca-certfiicate add-cert arg requirement
- Issue 5510 - remove twalk_r dependency to build on RHEL8 (#5516)
- Issue 5162 - RFE - CLI allow adding CA certificate bundles
- Issue 5440 - memberof is slow on update/fixup if there are several 'groupattr' (#5455)
- Issue 5512 - BUG - skip pwdPolicyChecker OC in migration (#5513)
- Issue 3555 - UI - fix audit issue with npm loader-utils (#5514)
- Issue 5505 - Fix compiler warning (#5506)
- Issue 5469 - Increase the default value of nsslapd-conntablesize (#5472)
- Issue 5408 - lmdb import is slow (#5481)
- Issue 5429 - healthcheck - add checks for MemberOf group attrs being indexed
- Issue 5502 - RFE - Add option to display entry attributes in audit log
- Issue 5495 - BUG - Minor fix to dds skip, inconsistent attrs caused errors (#5501)
- Issue 5367 - RFE - store full DN in database record
- Issue 5495 - RFE - skip dds during migration. (#5496)
- Issue 5491 - UI - Add rework and finish jpegPhoto functionality (#5492)
- Issue 5368 - Retro Changelog trimming does not work (#5486)
- Issue 5487 - Fix various issues with logconv.pl
- Issue 5476 - RFE - add memberUid read aci by default (#5477)
- Issue 5482 - lib389 - Can not enable replication with a mixed case suffix
- Issue 5478 - Random crash in connection code during server shutdown (#5479)
- Issue 3061 - RFE - Add password policy debug log level
- Issue 5302 - Release tarballs don't contain cockpit webapp
- Issue 5262 - high contention in find_entry_internal_dn on mixed load (#5264)
- Issue 4324 - Revert recursive pthread mutex change (#5463)
- Issue 5462 - RFE - add missing default indexes (#5464)
- Issue 5465 - Fix dbscan linking (#5466)
- Issue 5271 - Serialization of pam_passthrough causing high etimes (#5272)
- Issue 5453 - UI/CLI - Changing Root DN breaks UI
- Issue 5446 - Fix some covscan issues (#5451)
- Issue 4308 - checking if an entry is a referral is expensive
- Issue 5447 - UI - add NDN max cache size to UI
- Issue 5443 - UI - disable save button while saving
- Issue 5413 - Allow only one MemberOf fixup task at a time
- Issue 4592 - dscreate error with custom dir_path (#5434)
- Issue 5158 - entryuuid fixup tasks fails in replicated topology (#5439)
* Tue Sep 20 2022 Mark Reynolds <mreynolds@redhat.com> - 2.3.0-2
- Bump version to 2.3.0-2
- Update old pcre-devel requirement to pcre2-devel
* Thu Sep 1 2022 Mark Reynolds <mreynolds@redhat.com> - 2.3.0-1
- Bump version to 2.3.0
- Issue 5012 - Migrate pcre to pcre2 - remove match limit
- Issue 5356 - Make Rust non-optional and update default password storage scheme
- Issue 5012 - Migrate pcre to pcre2
- Issue 5428 - Fix regression with nscpEntryWsi computation
- Fix missing 'not' in description (closes #5423) (#5424)
- Issue 5421 - CI - makes replication/acceptance_test.py::test_modify_entry more robust (#5422)
- Issue 3903 - fix repl keep alive event interval
- Issue 5418 - Sync_repl may crash while managing invalid cookie (#5420)
- Issue 5415 - Hostname when set to localhost causing failures in other tests
- Issue 5412 - lib389 - do not set backend name to lowercase
- Issue 5407 - sync_repl crashes if enabled while dynamic plugin is enabled (#5411)
- Issue 5385 - LMDB - import crash in rdncache_add_elem (#5406)
- Issue 5403 - Memory leak in conntection table mulit list (#5404)
- Issue 3903 - keep alive update event starts too soon
- Issue 5397 - Fix various memory leaks
- Issue 5399 - UI - LDAP Editor is not updated when we switch instances (#5400)
- Issue 3903 - Supplier should do periodic updates
- Issue 5377 - Code cleanup: Fix Covscan invalid reference (#5393)
- Issue 5394 - configure doesn't check for lmdb and json-c
- Issue 5392 - dscreate fails when using alternative ports in the SELinux hi_reserved_port_t label range
- Issue 5386 - BUG - Update sudoers schema to correctly support UTF-8 (#5387)
- Issue 5388 - fix use-after-free and deadcode
- Issue 5383 - UI - Various fixes and RFE's for UI
- Issue 4656 - Remove problematic language from source code
- Issue 5380 - Separate cleanAllRUV code into new file
- Issue 5322 - optime & wtime on rejected connections is not properly set
- Issue 5335 - RFE - Add Security Audit Log
- Issue 5375 - CI - disable TLS hostname checking
- Issue 981 - Managed Entries betxnpreoperation - transaction not aborted on managed entry failure (#5369)
- Issue 5373 - dsidm user get_dn fails with search_ext() argument 1 must be str, not function
- Issue 5371 - Update npm and cargo packages
- Issue 3069 - Support ECDSA private keys for TLS (#5365)
- Issue 5290 - Importing certificate chain files via "import-server-key-cert" no longer works (#5293)
* Mon Aug 01 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 2.2.2-3
- Rebuilt for ICU 71.1
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jul 5 2022 Mark Reynolds <mreynolds@redhat.com> - 2.2.2-1
- Bump version to 2.2.2
- Issue 5221 - fix covscan (#5359)
- Issue 5294 - Report Portal 5 is not processing an XML file with (#5358)
- Issue 5353 - CLI - dsconf backend export breaks with multiple backends
- Issue 5346 - New connection table fails with ASAN failures (#5350)
- Issue 5345 - BUG - openldap migration fails when ppolicy is active (#5347)
- Issue 5323 - BUG - improve skipping of monitor db (#5340)
- Issue 5329 - Improve replication extended op logging
- Issue 5343 - Various improvements to winsync
- Issue 4932 - CLI - add parser aliases to long arg names
- Issue 5332 - BUG - normalise filter as intended
- Issue 5327 - Validate test metadata
- Issue 4812 - Scalability with high number of connections (#5090)
- Issue 4348 - Add tests for dsidm
- Issue 5333 - 389-ds-base fails to build with Python 3.11
* Thu Jun 16 2022 Python Maint <python-maint@redhat.com> - 2.2.1-4
- Rebuilt for Python 3.11
* Wed Jun 15 2022 Mark Reynolds <mreynolds@redhat.com> - 2.2.1-3
- Bump version to 2.2.1-3
- Issue 5332 - BUG - normalise filter as intended
- Issue 5327 - Validate test metadata
- Issue 4348 - Add tests for dsidm
- Bump crossbeam-utils from 0.8.6 to 0.8.8 in /src
- Issue 5333 - 389-ds-base fails to build with Python 3.11
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.2.1-2
- Rebuilt for Python 3.11
* Fri Jun 3 2022 Mark Reynolds <mreynolds@redhat.com> - 2.2.1-1
- Bump version to 2.2.1
- Issue 5323 - BUG - Fix issue in mdb tests with monitor (#5326)
- Issue 5170 - BUG - incorrect behaviour of filter test (#5315)
- Issue 5324 - plugin acceptance test needs hardening
- Issue 5319 - dsctl_tls_test.py fails with openssl-3.x
- Issue 5323 - BUG - migrating database for monitoring interface lead to crash (#5321)
- Issue 5304 - Need a compatibility option about sub suffix handling (#5310)
- Issue 5313 - dbgen test uses deprecated -h HOST and -p PORT options for ldapmodify
- Issue 5311 - Missing Requires for acl in the spec file
- Issue 5305 - OpenLDAP version autodetection doesn't work
- Issue 5307 - VERSION_PREREL is not set correctly in CI builds
- Issue 5302 - Release tarballs don't contain cockpit webapp
- Issue 5170 - RFE - improve filter logging to assist debugging (#5301)
- Issue 5299 - jemalloc 5.3 released
- Issue 5175 - Remove stale zlib-devel dependency declaration (#5173)
- Issue 5294 - Report Portal 5 is not processing test results XML file
- Issue 5170 - BUG - ldapsubentries were incorrectly returned (#5285)
- Issue 5291 - Harden ReplicationManager.wait_for_replication (#5292)
- Issue 379 - RFE - Compress rotated logs (fix linker)
- Issue 379 - RFE - Compress rotated logs
- Issue 5281 - HIGH - basic test does not run
- Issue 5284 - Replication broken after password change (#5286)
- Issue 5279 - dscontainer: TypeError: unsupported operand type(s) for /: 'str' and 'int'
- Issue 5170 - RFE - Filter optimiser (#5171)
- Issue 5276 - CLI - improve task handling
- Issue 5126 - Memory leak in slapi_ldap_get_lderrno (#5153)
- Issue 3 - ansible-ds - Prefix handling fix (#5275)
- Issue 5273 - CLI - add arg completer for instance name
- Issue 2893 - CLI - dscreate - add options for setting up replication
- Issue 4866 - CLI - when enabling replication set changelog trimming by default
- Issue 5241 - UI - Add account locking missing functionality (#5251)
- Issue 5180 - snmp_collator tries to unlock NULL mutex (#5266)
- Issue 4904 - Fix various small issues
- lib389 prerequisite for ansible-ds (#5253)
- Issue 5260 - BUG - OpenLDAP allows multiple names of memberof overlay (#5261)
- Issue 5252 - During DEL, vlv search can erroneously return NULL candidate (#5256)
- Issue 5254 - dscreate create-template regression due to 5a3bdc336 (#5255)
- Issue 5210 - Python undefined names in lib389
- Issue 5065 - Crash in suite plugins - test_dna_max_value (#5108)
- Issue 5247 - BUG - Missing attributes in samba schema (#5248)
- Issue 5242- Craft message may crash the server (#5243)
- Issue 4775 -plugin entryuuid failing (#5229)
- Issue 5239 - Nightly copr builds are broken
- Issue 5237 - audit-ci: Cannot convert undefined or null to object
- Issue 5234 - UI - rename Users and Groups tab
- Issue 5227 - UI - No way to move back to Get Started step (#5233)
- Issue 5217 - Simplify instance creation and administration by non root user (#5224)

15
gating.yaml Normal file
View file

@ -0,0 +1,15 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_testing]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -0,0 +1,41 @@
#commit 3de0c24859f4413bf03448249078169bb50bda0f
#Author: divanorama <divanorama@gmail.com>
#Date: Thu Sep 29 23:35:59 2022 +0200
#
# Disable builtin malloc in tests
#
# With `--with-jemalloc-prefix=` and without `-fno-builtin` or `-O1` both clang and gcc may optimize out `malloc` calls
# whose result is unused. Comparing result to NULL also doesn't necessarily count as being used.
#
# This won't be a problem in most client programs as this only concerns really unused pointers, but in
# tests it's important to actually execute allocations.
# `-fno-builtin` should disable this optimization for both gcc and clang, and applying it only to tests code shouldn't hopefully be an issue.
# Another alternative is to force "use" of result but that'd require more changes and may miss some other optimization-related issues.
#
# This should resolve https://github.com/jemalloc/jemalloc/issues/2091
#
#diff --git a/Makefile.in b/Makefile.in
#index 6809fb29..a964f07e 100644
#--- a/Makefile.in
#+++ b/Makefile.in
#@@ -458,6 +458,8 @@ $(TESTS_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.c
# $(TESTS_CPP_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.cpp
# $(TESTS_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include
# $(TESTS_CPP_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include
#+$(TESTS_OBJS): CFLAGS += -fno-builtin
#+$(TESTS_CPP_OBJS): CPPFLAGS += -fno-builtin
# ifneq ($(IMPORTLIB),$(SO))
# $(CPP_OBJS) $(C_SYM_OBJS) $(C_OBJS) $(C_JET_SYM_OBJS) $(C_JET_OBJS): CPPFLAGS += -DDLLEXPORT
# endif
diff --git a/src/jemalloc_cpp.cpp b/src/jemalloc_cpp.cpp
index fffd6aee..5a682991 100644
--- a/src/jemalloc_cpp.cpp
+++ b/src/jemalloc_cpp.cpp
@@ -93,7 +93,7 @@ handleOOM(std::size_t size, bool nothrow) {
}
if (ptr == nullptr && !nothrow)
- std::__throw_bad_alloc();
+ throw std::bad_alloc();
return ptr;
}

17
main.fmf Normal file
View file

@ -0,0 +1,17 @@
/plan:
summary: Basic test suite
discover:
how: fmf
execute:
how: tmt
prepare:
- name: install required packages
how: install
package: [389-ds-base, git, pytest]
- name: clone repo
how: shell
script: git clone https://github.com/389ds/389-ds-base /root/ds
/test:
/upstream_basic:
test: pytest -v /root/ds/dirsrvtests/tests/suites/basic/basic_test.py
duration: 30m

View file

@ -1 +1,3 @@
SHA512 (389-ds-base-1.3.7.1.tar.bz2) = cc8985afe08b7f3ae637b92f12f846dcc452291ee56e5333840d93edf83ba89c6516342eb7fc302f2a0981508d5ec15b05e5c41dc327dd2af7276b2fdab83a1f
SHA512 (jemalloc-5.3.0.tar.bz2) = 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1
SHA512 (libdb-5.3.28-59.tar.bz2) = 731a434fa2e6487ebb05c458b0437456eb9f7991284beb08cb3e21931e23bdeddddbc95bfabe3a2f9f029fe69cd33a2d4f0f5ce6a9811e9c3b940cb6fde4bf79
SHA512 (389-ds-base-3.2.0.tar.bz2) = 9ff6aa56b30863c619f4f324344dca72cc883236bfe8d94520e8469d9e306f54b373ee2504eda18dcb0ecda33f915a3e64a6f3cdaa93a69b74d901caa48545e1