4a43a0
4a43a0
%global pkgname   dirsrv
4a43a0
%global srcname   389-ds-base
4a43a0
4a43a0
# Exclude i686 bit arches
4a43a0
ExcludeArch: i686
4a43a0
4a43a0
# for a pre-release, define the prerel field e.g. .a1 .rc2 - comment out for official release
4a43a0
# also remove the space between % and global - this space is needed because
4a43a0
# fedpkg verrel stupidly ignores comment lines
4a43a0
#% global prerel .rc3
4a43a0
# also need the relprefix field for a pre-release e.g. .0 - also comment out for official release
4a43a0
#% global relprefix 0.
4a43a0
4a43a0
# If perl-Socket-2.000 or newer is available, set 0 to use_Socket6.
4a43a0
%global use_Socket6 0
4a43a0
4a43a0
%global use_asan 0
4a43a0
%global use_rust 0
4a43a0
%global use_legacy 1
4a43a0
%global bundle_jemalloc 1
4a43a0
%if %{use_asan}
4a43a0
%global bundle_jemalloc 0
4a43a0
%endif
4a43a0
4a43a0
%if %{bundle_jemalloc}
4a43a0
%global jemalloc_name jemalloc
4a43a0
%global jemalloc_ver 5.2.1
4a43a0
%global __provides_exclude ^libjemalloc\\.so.*$
4a43a0
%endif
4a43a0
4a43a0
# Use Clang instead of GCC
4a43a0
%global use_clang 0
4a43a0
4a43a0
# fedora 15 and later uses tmpfiles.d
4a43a0
# otherwise, comment this out
4a43a0
%{!?with_tmpfiles_d: %global with_tmpfiles_d %{_sysconfdir}/tmpfiles.d}
4a43a0
4a43a0
# systemd support
4a43a0
%global groupname %{pkgname}.target
4a43a0
4a43a0
# set PIE flag
4a43a0
%global _hardened_build 1
4a43a0
4a43a0
Summary:          389 Directory Server (base)
4a43a0
Name:             389-ds-base
4a43a0
Version:          1.4.3.8
5873fa
Release:          %{?relprefix}4%{?prerel}%{?dist}
4a43a0
License:          GPLv3+
4a43a0
URL:              https://www.port389.org
4a43a0
Group:            System Environment/Daemons
4a43a0
Conflicts:        selinux-policy-base < 3.9.8
4a43a0
Conflicts:        freeipa-server < 4.0.3
4a43a0
Obsoletes:        %{name} <= 1.4.0.9
4a43a0
Provides:         ldif2ldbm >= 0
4a43a0
4a43a0
BuildRequires:    nspr-devel
4a43a0
BuildRequires:    nss-devel >= 3.34
4a43a0
BuildRequires:    perl-generators
4a43a0
BuildRequires:    openldap-devel
4a43a0
BuildRequires:    libdb-devel
4a43a0
BuildRequires:    cyrus-sasl-devel
4a43a0
BuildRequires:    icu
4a43a0
BuildRequires:    libicu-devel
4a43a0
BuildRequires:    pcre-devel
4a43a0
BuildRequires:    cracklib-devel
4a43a0
%if %{use_clang}
4a43a0
BuildRequires:    libatomic
4a43a0
BuildRequires:    clang
4a43a0
%else
4a43a0
BuildRequires:    gcc
4a43a0
BuildRequires:    gcc-c++
4a43a0
%endif
4a43a0
# The following are needed to build the snmp ldap-agent
4a43a0
BuildRequires:    net-snmp-devel
4a43a0
BuildRequires:    lm_sensors-devel
4a43a0
BuildRequires:    bzip2-devel
4a43a0
BuildRequires:    zlib-devel
4a43a0
BuildRequires:    openssl-devel
4a43a0
# the following is for the pam passthru auth plug-in
4a43a0
BuildRequires:    pam-devel
4a43a0
BuildRequires:    systemd-units
4a43a0
BuildRequires:    systemd-devel
4a43a0
%if %{use_asan}
4a43a0
BuildRequires:    libasan
4a43a0
%endif
4a43a0
# If rust is enabled
4a43a0
%if %{use_rust}
4a43a0
BuildRequires: cargo
4a43a0
BuildRequires: rust
4a43a0
%endif
4a43a0
BuildRequires:    pkgconfig
4a43a0
BuildRequires:    pkgconfig(systemd)
4a43a0
BuildRequires:    pkgconfig(krb5)
4a43a0
4a43a0
# Needed to support regeneration of the autotool artifacts.
4a43a0
BuildRequires:    autoconf
4a43a0
BuildRequires:    automake
4a43a0
BuildRequires:    libtool
4a43a0
# For our documentation
4a43a0
BuildRequires:    doxygen
4a43a0
# For tests!
4a43a0
BuildRequires:    libcmocka-devel
4a43a0
BuildRequires:    libevent-devel
4a43a0
# For lib389 and related components
4a43a0
BuildRequires:    python%{python3_pkgversion}
4a43a0
BuildRequires:    python%{python3_pkgversion}-devel
4a43a0
BuildRequires:    python%{python3_pkgversion}-setuptools
4a43a0
BuildRequires:    python%{python3_pkgversion}-ldap
4a43a0
BuildRequires:    python%{python3_pkgversion}-six
4a43a0
BuildRequires:    python%{python3_pkgversion}-pyasn1
4a43a0
BuildRequires:    python%{python3_pkgversion}-pyasn1-modules
4a43a0
BuildRequires:    python%{python3_pkgversion}-dateutil
4a43a0
BuildRequires:    python%{python3_pkgversion}-argcomplete
4a43a0
BuildRequires:    python%{python3_pkgversion}-argparse-manpage
4a43a0
BuildRequires:    python%{python3_pkgversion}-policycoreutils
4a43a0
BuildRequires:    python%{python3_pkgversion}-libselinux
4a43a0
4a43a0
# For cockpit
4a43a0
BuildRequires:    rsync
4a43a0
4a43a0
Requires:         %{name}-libs = %{version}-%{release}
4a43a0
Requires:         python%{python3_pkgversion}-lib389 = %{version}-%{release}
4a43a0
4a43a0
# this is needed for using semanage from our setup scripts
4a43a0
Requires:         policycoreutils-python-utils
4a43a0
Requires:         /usr/sbin/semanage
4a43a0
Requires:         libsemanage-python%{python3_pkgversion}
4a43a0
4a43a0
Requires:         selinux-policy >= 3.14.1-29
4a43a0
4a43a0
# the following are needed for some of our scripts
4a43a0
Requires:         openldap-clients
4a43a0
Requires:         openssl-perl
4a43a0
Requires:         python%{python3_pkgversion}-ldap
4a43a0
4a43a0
# this is needed to setup SSL if you are not using the
4a43a0
# administration server package
4a43a0
Requires:         nss-tools
4a43a0
Requires:         nss >= 3.34
4a43a0
4a43a0
# these are not found by the auto-dependency method
4a43a0
# they are required to support the mandatory LDAP SASL mechs
4a43a0
Requires:         cyrus-sasl-gssapi
4a43a0
Requires:         cyrus-sasl-md5
4a43a0
Requires:         cyrus-sasl-plain
4a43a0
4a43a0
# this is needed for verify-db.pl
4a43a0
Requires:         libdb-utils
4a43a0
4a43a0
# Needed for password dictionary checks
4a43a0
Requires:         cracklib-dicts
4a43a0
4a43a0
# This picks up libperl.so as a Requires, so we add this versioned one
4a43a0
Requires:         perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
4a43a0
Requires:         perl-Errno >= 1.23-360
4a43a0
4a43a0
# Needed by logconv.pl
4a43a0
Requires:         perl-DB_File
4a43a0
Requires:         perl-Archive-Tar
4a43a0
4a43a0
# Needed for password dictionary checks
4a43a0
Requires:         cracklib-dicts
4a43a0
4a43a0
# Picks up our systemd deps.
4a43a0
%{?systemd_requires}
4a43a0
4a43a0
Obsoletes:        %{name} <= 1.3.5.4
4a43a0
4a43a0
Source0:          https://releases.pagure.org/389-ds-base/%{name}-%{version}.tar.bz2
4a43a0
# 389-ds-git.sh should be used to generate the source tarball from git
4a43a0
Source1:          %{name}-git.sh
4a43a0
Source2:          %{name}-devel.README
4a43a0
%if %{bundle_jemalloc}
4a43a0
Source3:          https://github.com/jemalloc/%{jemalloc_name}/releases/download/%{jemalloc_ver}/%{jemalloc_name}-%{jemalloc_ver}.tar.bz2
4a43a0
%endif
5873fa
Patch01:          0001-Issue-51076-prevent-unnecessarily-duplication-of-the.patch
5873fa
Patch02:          0002-Ticket-51082-abort-when-a-empty-valueset-is-freed.patch
5873fa
Patch03:          0003-Issue-51091-healthcheck-json-report-fails-when-mappi.patch
5873fa
Patch04:          0004-Issue-51076-remove-unnecessary-slapi-entry-dups.patch
5873fa
Patch05:          0005-Issue-51086-Improve-dscreate-instance-name-validatio.patch
5873fa
Patch06:          0006-Issue-51102-RFE-ds-replcheck-make-online-timeout-con.patch
5873fa
Patch07:          0007-Issue-51110-Fix-ASAN-ODR-warnings.patch
5873fa
Patch08:          0008-Issue-51095-abort-operation-if-CSN-can-not-be-genera.patch
5873fa
Patch09:          0009-Issue-51113-Allow-using-uid-for-replication-manager-.patch
5873fa
Patch10:          0010-Issue-50931-RFE-AD-filter-rewriter-for-ObjectCategor.patch
5873fa
Patch11:          0011-Issue-50746-Add-option-to-healthcheck-to-list-all-th.patch
5873fa
Patch12:          0012-Issue-50984-Memory-leaks-in-disk-monitoring.patch
5873fa
Patch13:          0013-Issue-50984-Memory-leaks-in-disk-monitoring.patch
5873fa
Patch14:          0014-Issue-50201-nsIndexIDListScanLimit-accepts-any-value.patch
5873fa
Patch15:          0015-Issue-51157-Reindex-task-may-create-abandoned-index-.patch
5873fa
Patch16:          0016-Issue-51165-add-new-access-log-keywords-for-wtime-an.patch
5873fa
Patch17:          0017-Issue-50912-pwdReset-can-be-modified-by-a-user.patch
5873fa
Patch18:          0018-Issue-50791-Healthcheck-should-look-for-notes-A-F-in.patch
5873fa
Patch19:          0019-Issue-51144-dsctl-fails-with-instance-names-that-con.patch
5873fa
Patch20:          0020-Ticket-49859-A-distinguished-value-can-be-missing-in.patch
5873fa
Patch21:          0021-Issue-49256-log-warning-when-thread-number-is-very-d.patch
5873fa
Patch22:          0022-Issue-51188-db2ldif-crashes-when-LDIF-file-can-t-be-.patch
4a43a0
4a43a0
%description
4a43a0
389 Directory Server is an LDAPv3 compliant server.  The base package includes
4a43a0
the LDAP server and command line utilities for server administration.
4a43a0
%if %{use_asan}
4a43a0
WARNING! This build is linked to Address Sanitisation libraries. This probably
4a43a0
isn't what you want. Please contact support immediately.
4a43a0
Please see http://seclists.org/oss-sec/2016/q1/363 for more information.
4a43a0
%endif
4a43a0
4a43a0
%package          libs
4a43a0
Summary:          Core libraries for 389 Directory Server
4a43a0
Group:            System Environment/Daemons
4a43a0
BuildRequires:    nspr-devel
4a43a0
BuildRequires:    nss-devel >= 3.34
4a43a0
BuildRequires:    openldap-devel
4a43a0
BuildRequires:    libdb-devel
4a43a0
BuildRequires:    cyrus-sasl-devel
4a43a0
BuildRequires:    libicu-devel
4a43a0
BuildRequires:    pcre-devel
4a43a0
BuildRequires:    libtalloc-devel
4a43a0
BuildRequires:    libevent-devel
4a43a0
BuildRequires:    libtevent-devel
4a43a0
Requires:         krb5-libs
4a43a0
Requires:         libevent
4a43a0
BuildRequires:    systemd-devel
4a43a0
Provides:         svrcore = 4.1.4
4a43a0
Conflicts:        svrcore
4a43a0
Obsoletes:        svrcore <= 4.1.3
4a43a0
4a43a0
%description      libs
4a43a0
Core libraries for the 389 Directory Server base package.  These libraries
4a43a0
are used by the main package and the -devel package.  This allows the -devel
4a43a0
package to be installed with just the -libs package and without the main package.
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
%package          legacy-tools
4a43a0
Summary:          Legacy utilities for 389 Directory Server
4a43a0
Group:            System Environment/Daemons
4a43a0
Obsoletes:        %{name} <= 1.4.0.9
4a43a0
Requires:         %{name}-libs = %{version}-%{release}
4a43a0
# for setup-ds.pl to support ipv6
4a43a0
%if %{use_Socket6}
4a43a0
Requires:         perl-Socket6
4a43a0
%else
4a43a0
Requires:         perl-Socket
4a43a0
%endif
4a43a0
Requires:         perl-NetAddr-IP
4a43a0
# use_openldap assumes perl-Mozilla-LDAP is built with openldap support
4a43a0
Requires:         perl-Mozilla-LDAP
4a43a0
# for setup-ds.pl
4a43a0
Requires:         bind-utils
4a43a0
%global __provides_exclude_from %{_libdir}/%{pkgname}/perl
4a43a0
%global __requires_exclude perl\\((DSCreate|DSMigration|DSUpdate|DSUtil|Dialog|DialogManager|FileConn|Inf|Migration|Resource|Setup|SetupLog)
4a43a0
%{?perl_default_filter}
4a43a0
4a43a0
%description      legacy-tools
4a43a0
Legacy (and deprecated) utilities for 389 Directory Server. This includes
4a43a0
the old account management and task scripts. These are deprecated in favour of
4a43a0
the dscreate, dsctl, dsconf and dsidm tools.
4a43a0
%endif
4a43a0
4a43a0
%package          devel
4a43a0
Summary:          Development libraries for 389 Directory Server
4a43a0
Group:            Development/Libraries
4a43a0
Requires:         %{name}-libs = %{version}-%{release}
4a43a0
Requires:         pkgconfig
4a43a0
Requires:         nspr-devel
4a43a0
Requires:         nss-devel >= 3.34
4a43a0
Requires:         openldap-devel
4a43a0
Requires:         libtalloc
4a43a0
Requires:         libevent
4a43a0
Requires:         libtevent
4a43a0
Requires:         systemd-libs
4a43a0
Provides:         svrcore-devel = 4.1.4
4a43a0
Conflicts:        svrcore-devel
4a43a0
Obsoletes:        svrcore-devel <= 4.1.3
4a43a0
4a43a0
%description      devel
4a43a0
Development Libraries and headers for the 389 Directory Server base package.
4a43a0
4a43a0
%package          snmp
4a43a0
Summary:          SNMP Agent for 389 Directory Server
4a43a0
Group:            System Environment/Daemons
4a43a0
Requires:         %{name} = %{version}-%{release}
4a43a0
4a43a0
Obsoletes:        %{name} <= 1.4.0.0
4a43a0
4a43a0
%description      snmp
4a43a0
SNMP Agent for the 389 Directory Server base package.
4a43a0
4a43a0
%package -n python%{python3_pkgversion}-lib389
4a43a0
Summary:  A library for accessing, testing, and configuring the 389 Directory Server
4a43a0
BuildArch:        noarch
4a43a0
Group:            Development/Libraries
4a43a0
Requires: openssl
4a43a0
Requires: iproute
4a43a0
Requires: platform-python
4a43a0
Recommends: bash-completion
4a43a0
Requires: python%{python3_pkgversion}-ldap
4a43a0
Requires: python%{python3_pkgversion}-six
4a43a0
Requires: python%{python3_pkgversion}-pyasn1
4a43a0
Requires: python%{python3_pkgversion}-pyasn1-modules
4a43a0
Requires: python%{python3_pkgversion}-dateutil
4a43a0
Requires: python%{python3_pkgversion}-argcomplete
4a43a0
Requires: python%{python3_pkgversion}-libselinux
4a43a0
Requires: python%{python3_pkgversion}-setuptools
4a43a0
Requires: python%{python3_pkgversion}-distro
4a43a0
%{?python_provide:%python_provide python%{python3_pkgversion}-lib389}
4a43a0
4a43a0
%description -n python%{python3_pkgversion}-lib389
4a43a0
This module contains tools and libraries for accessing, testing,
4a43a0
 and configuring the 389 Directory Server.
4a43a0
4a43a0
%package -n cockpit-389-ds
4a43a0
Summary:          Cockpit UI Plugin for configuring and administering the 389 Directory Server
4a43a0
BuildArch:        noarch
4a43a0
Requires:         cockpit
4a43a0
Requires:         platform-python
4a43a0
Requires:         python%{python3_pkgversion}-lib389
4a43a0
4a43a0
%description -n cockpit-389-ds
4a43a0
A cockpit UI Plugin for configuring and administering the 389 Directory Server
4a43a0
4a43a0
%prep
4a43a0
%autosetup -p1 -v -n %{name}-%{version}%{?prerel}
4a43a0
%if %{bundle_jemalloc}
4a43a0
%setup -q -n %{name}-%{version}%{?prerel} -T -D -b 3
4a43a0
%endif
4a43a0
cp %{SOURCE2} README.devel
4a43a0
4a43a0
%build
4a43a0
4a43a0
OPENLDAP_FLAG="--with-openldap"
4a43a0
%{?with_tmpfiles_d: TMPFILES_FLAG="--with-tmpfiles-d=%{with_tmpfiles_d}"}
4a43a0
# hack hack hack https://bugzilla.redhat.com/show_bug.cgi?id=833529
4a43a0
NSSARGS="--with-nss-lib=%{_libdir} --with-nss-inc=%{_includedir}/nss3"
4a43a0
4a43a0
%if %{use_asan}
4a43a0
ASAN_FLAGS="--enable-asan --enable-debug"
4a43a0
%endif
4a43a0
4a43a0
%if %{use_rust}
4a43a0
RUST_FLAGS="--enable-rust"
4a43a0
%endif
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
LEGACY_FLAGS="--enable-legacy --enable-perl"
4a43a0
%else
4a43a0
LEGACY_FLAGS="--disable-legacy --disable-perl"
4a43a0
%endif
4a43a0
4a43a0
%if %{use_clang}
4a43a0
export CC=clang
4a43a0
export CXX=clang++
4a43a0
CLANG_FLAGS="--enable-clang"
4a43a0
%endif
4a43a0
4a43a0
%if %{bundle_jemalloc}
4a43a0
# Override page size, bz #1545539
4a43a0
# 4K
4a43a0
%ifarch %ix86 %arm x86_64 s390x
4a43a0
%define lg_page --with-lg-page=12
4a43a0
%endif
4a43a0
4a43a0
# 64K
4a43a0
%ifarch ppc64 ppc64le aarch64
4a43a0
%define lg_page --with-lg-page=16
4a43a0
%endif
4a43a0
4a43a0
# Override huge page size on aarch64
4a43a0
# 2M instead of 512M
4a43a0
%ifarch aarch64
4a43a0
%define lg_hugepage --with-lg-hugepage=21
4a43a0
%endif
4a43a0
4a43a0
# Build jemalloc
4a43a0
pushd ../%{jemalloc_name}-%{jemalloc_ver}
4a43a0
%configure \
4a43a0
        --libdir=%{_libdir}/%{pkgname}/lib \
4a43a0
        --bindir=%{_libdir}/%{pkgname}/bin \
4a43a0
        --enable-prof
4a43a0
make %{?_smp_mflags}        
4a43a0
popd
4a43a0
%endif
4a43a0
4a43a0
4a43a0
# Enforce strict linking
4a43a0
%define _strict_symbol_defs_build 1
4a43a0
4a43a0
# Rebuild the autotool artifacts now.
4a43a0
autoreconf -fiv
4a43a0
4a43a0
%configure --enable-autobind --with-selinux $OPENLDAP_FLAG $TMPFILES_FLAG \
4a43a0
           --with-systemd \
4a43a0
           --with-systemdsystemunitdir=%{_unitdir} \
4a43a0
           --with-systemdsystemconfdir=%{_sysconfdir}/systemd/system \
4a43a0
           --with-systemdgroupname=%{groupname}  \
4a43a0
           --libexecdir=%{_libexecdir}/%{pkgname} \
4a43a0
           $NSSARGS $ASAN_FLAGS $RUST_FLAGS $LEGACY_FLAGS $CLANG_FLAGS \
4a43a0
           --enable-cmocka 
4a43a0
4a43a0
# lib389
4a43a0
pushd ./src/lib389
4a43a0
%py3_build
4a43a0
popd
4a43a0
# argparse-manpage dynamic man pages have hardcoded man v1 in header,
4a43a0
# need to change it to v8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsconf.8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsctl.8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsidm.8
4a43a0
sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dscreate.8
4a43a0
4a43a0
# Generate symbolic info for debuggers
4a43a0
export XCFLAGS=$RPM_OPT_FLAGS
4a43a0
4a43a0
#make %{?_smp_mflags}
4a43a0
make
4a43a0
4a43a0
%install
4a43a0
4a43a0
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_sbindir}
4a43a0
mkdir -p %{buildroot}%{_datadir}/cockpit
4a43a0
make DESTDIR="$RPM_BUILD_ROOT" install
4a43a0
4a43a0
# Cockpit file list
4a43a0
find %{buildroot}%{_datadir}/cockpit/389-console -type d | sed -e "s@%{buildroot}@@" | sed -e 's/^/\%dir /' > cockpit.list
4a43a0
find %{buildroot}%{_datadir}/cockpit/389-console -type f | sed -e "s@%{buildroot}@@" >> cockpit.list
4a43a0
4a43a0
# Copy in our docs from doxygen.
4a43a0
cp -r %{_builddir}/%{name}-%{version}%{?prerel}/man/man3 $RPM_BUILD_ROOT/%{_mandir}/man3
4a43a0
4a43a0
# lib389
4a43a0
pushd src/lib389
4a43a0
%py3_install
4a43a0
popd
4a43a0
4a43a0
mkdir -p $RPM_BUILD_ROOT/var/log/%{pkgname}
4a43a0
mkdir -p $RPM_BUILD_ROOT/var/lib/%{pkgname}
5873fa
mkdir -p $RPM_BUILD_ROOT/var/3lock/%{pkgname}
4a43a0
4a43a0
# for systemd
4a43a0
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/%{groupname}.wants
4a43a0
4a43a0
#remove libtool archives and static libs
4a43a0
find %{buildroot} -type f -name "*.la" -delete
4a43a0
find %{buildroot} -type f -name "*.a" -delete
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
# make sure perl scripts have a proper shebang
4a43a0
sed -i -e 's|#{{PERL-EXEC}}|#!/usr/bin/perl|' $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/script-templates/template-*.pl
4a43a0
%endif
4a43a0
4a43a0
%if %{bundle_jemalloc}
4a43a0
pushd ../%{jemalloc_name}-%{jemalloc_ver}
4a43a0
make DESTDIR="$RPM_BUILD_ROOT" install_lib install_bin
4a43a0
cp -pa COPYING ../%{name}-%{version}%{?prerel}/COPYING.jemalloc
4a43a0
cp -pa README ../%{name}-%{version}%{?prerel}/README.jemalloc
4a43a0
popd
4a43a0
%endif
4a43a0
4a43a0
%check
4a43a0
# This checks the code, if it fails it prints why, then re-raises the fail to shortcircuit the rpm build.
4a43a0
if ! make DESTDIR="$RPM_BUILD_ROOT" check; then cat ./test-suite.log && false; fi
4a43a0
4a43a0
%clean
4a43a0
rm -rf $RPM_BUILD_ROOT
4a43a0
4a43a0
%post
4a43a0
if [ -n "$DEBUGPOSTTRANS" ] ; then
4a43a0
    output=$DEBUGPOSTTRANS
4a43a0
    output2=${DEBUGPOSTTRANS}.upgrade
4a43a0
else
4a43a0
    output=/dev/null
4a43a0
    output2=/dev/null
4a43a0
fi
4a43a0
4a43a0
# reload to pick up any changes to systemd files
4a43a0
/bin/systemctl daemon-reload >$output 2>&1 || :
4a43a0
4a43a0
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Soft_static_allocation
4a43a0
# Soft static allocation for UID and GID
4a43a0
USERNAME="dirsrv"
4a43a0
ALLOCATED_UID=389
4a43a0
GROUPNAME="dirsrv"
4a43a0
ALLOCATED_GID=389
4a43a0
HOMEDIR="/usr/share/dirsrv"
4a43a0
4a43a0
getent group $GROUPNAME >/dev/null || /usr/sbin/groupadd -f -g $ALLOCATED_GID -r $GROUPNAME
4a43a0
if ! getent passwd $USERNAME >/dev/null ; then
4a43a0
    if ! getent passwd $ALLOCATED_UID >/dev/null ; then
4a43a0
      /usr/sbin/useradd -r -u $ALLOCATED_UID -g $GROUPNAME -d $HOMEDIR -s /sbin/nologin -c "user for 389-ds-base" $USERNAME
4a43a0
    else
4a43a0
      /usr/sbin/useradd -r -g $GROUPNAME -d $HOMEDIR -s /sbin/nologin -c "user for 389-ds-base" $USERNAME
4a43a0
    fi
4a43a0
fi
4a43a0
4a43a0
# Reload our sysctl before we restart (if we can)
4a43a0
sysctl --system &> $output; true
4a43a0
4a43a0
%preun
4a43a0
if [ $1 -eq 0 ]; then # Final removal
4a43a0
    # remove instance specific service files/links
4a43a0
    rm -rf %{_sysconfdir}/systemd/system/%{groupname}.wants/* > /dev/null 2>&1 || :
4a43a0
fi
4a43a0
4a43a0
%postun
4a43a0
if [ $1 = 0 ]; then # Final removal
4a43a0
    rm -rf /var/run/%{pkgname}
4a43a0
fi
4a43a0
4a43a0
%post snmp
4a43a0
%systemd_post %{pkgname}-snmp.service
4a43a0
4a43a0
%preun snmp
4a43a0
%systemd_preun %{pkgname}-snmp.service %{groupname}
4a43a0
4a43a0
%postun snmp
4a43a0
%systemd_postun_with_restart %{pkgname}-snmp.service
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
%post legacy-tools
4a43a0
4a43a0
# START UPGRADE SCRIPT
4a43a0
4a43a0
if [ -n "$DEBUGPOSTTRANS" ] ; then
4a43a0
    output=$DEBUGPOSTTRANS
4a43a0
    output2=${DEBUGPOSTTRANS}.upgrade
4a43a0
else
4a43a0
    output=/dev/null
4a43a0
    output2=/dev/null
4a43a0
fi
4a43a0
4a43a0
# find all instances
4a43a0
instances="" # instances that require a restart after upgrade
4a43a0
ninst=0 # number of instances found in total
4a43a0
4a43a0
echo looking for instances in %{_sysconfdir}/%{pkgname} > $output 2>&1 || :
4a43a0
instbase="%{_sysconfdir}/%{pkgname}"
4a43a0
for dir in $instbase/slapd-* ; do
4a43a0
    echo dir = $dir >> $output 2>&1 || :
4a43a0
    if [ ! -d "$dir" ] ; then continue ; fi
4a43a0
    case "$dir" in *.removed) continue ;; esac
4a43a0
    basename=`basename $dir`
4a43a0
    inst="%{pkgname}@`echo $basename | sed -e 's/slapd-//g'`"
4a43a0
    echo found instance $inst - getting status  >> $output 2>&1 || :
4a43a0
    if /bin/systemctl -q is-active $inst ; then
4a43a0
       echo instance $inst is running >> $output 2>&1 || :
4a43a0
       instances="$instances $inst"
4a43a0
    else
4a43a0
       echo instance $inst is not running >> $output 2>&1 || :
4a43a0
    fi
4a43a0
    ninst=`expr $ninst + 1`
4a43a0
done
4a43a0
if [ $ninst -eq 0 ] ; then
4a43a0
    echo no instances to upgrade >> $output 2>&1 || :
4a43a0
    exit 0 # have no instances to upgrade - just skip the rest
4a43a0
fi
4a43a0
# shutdown all instances
4a43a0
echo shutting down all instances . . . >> $output 2>&1 || :
4a43a0
for inst in $instances ; do
4a43a0
    echo stopping instance $inst >> $output 2>&1 || :
4a43a0
    /bin/systemctl stop $inst >> $output 2>&1 || :
4a43a0
done
4a43a0
echo remove pid files . . . >> $output 2>&1 || :
4a43a0
/bin/rm -f /var/run/%{pkgname}*.pid /var/run/%{pkgname}*.startpid
4a43a0
# do the upgrade
4a43a0
echo upgrading instances . . . >> $output 2>&1 || :
4a43a0
DEBUGPOSTSETUPOPT=`/usr/bin/echo $DEBUGPOSTSETUP | /usr/bin/sed -e "s/[^d]//g"`
4a43a0
if [ -n "$DEBUGPOSTSETUPOPT" ] ; then
4a43a0
    %{_sbindir}/setup-ds.pl -$DEBUGPOSTSETUPOPT -u -s General.UpdateMode=offline >> $output 2>&1 || :
4a43a0
else
4a43a0
    %{_sbindir}/setup-ds.pl -u -s General.UpdateMode=offline >> $output 2>&1 || :
4a43a0
fi
4a43a0
4a43a0
# restart instances that require it
4a43a0
for inst in $instances ; do
4a43a0
    echo restarting instance $inst >> $output 2>&1 || :
4a43a0
    /bin/systemctl start $inst >> $output 2>&1 || :
4a43a0
done
4a43a0
#END UPGRADE
4a43a0
%endif
4a43a0
4a43a0
exit 0
4a43a0
4a43a0
4a43a0
%files
4a43a0
%if %{bundle_jemalloc}
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.jemalloc
4a43a0
%license COPYING.jemalloc
4a43a0
%else
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl
4a43a0
%endif
4a43a0
%dir %{_sysconfdir}/%{pkgname}
4a43a0
%dir %{_sysconfdir}/%{pkgname}/schema
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/schema/*.ldif
4a43a0
%dir %{_sysconfdir}/%{pkgname}/config
4a43a0
%dir %{_sysconfdir}/systemd/system/%{groupname}.wants
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/slapd-collations.conf
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/certmap.conf
4a43a0
%{_datadir}/%{pkgname}
4a43a0
%{_datadir}/gdb/auto-load/*
4a43a0
%{_unitdir}
4a43a0
%{_bindir}/dbscan
4a43a0
%{_mandir}/man1/dbscan.1.gz
4a43a0
%{_bindir}/ds-replcheck
4a43a0
%{_mandir}/man1/ds-replcheck.1.gz
4a43a0
%{_bindir}/ds-logpipe.py
4a43a0
%{_mandir}/man1/ds-logpipe.py.1.gz
4a43a0
%{_bindir}/ldclt
4a43a0
%{_mandir}/man1/ldclt.1.gz
4a43a0
%{_sbindir}/ldif2ldap
4a43a0
%{_mandir}/man8/ldif2ldap.8.gz
4a43a0
%{_bindir}/logconv.pl
4a43a0
%{_mandir}/man1/logconv.pl.1.gz
4a43a0
%{_bindir}/pwdhash
4a43a0
%{_mandir}/man1/pwdhash.1.gz
4a43a0
%{_bindir}/readnsstate
4a43a0
%{_mandir}/man1/readnsstate.1.gz
4a43a0
# Remove for now: %caps(CAP_NET_BIND_SERVICE=pe) {_sbindir}/ns-slapd
4a43a0
%{_sbindir}/ns-slapd
4a43a0
%{_mandir}/man8/ns-slapd.8.gz
4a43a0
%{_libexecdir}/%{pkgname}/ds_systemd_ask_password_acl
4a43a0
%{_mandir}/man5/99user.ldif.5.gz
4a43a0
%{_mandir}/man5/certmap.conf.5.gz
4a43a0
%{_mandir}/man5/slapd-collations.conf.5.gz
4a43a0
%{_mandir}/man5/dirsrv.5.gz
4a43a0
%{_mandir}/man5/dirsrv.systemd.5.gz
4a43a0
%{_libdir}/%{pkgname}/python
4a43a0
%dir %{_libdir}/%{pkgname}/plugins
4a43a0
%{_libdir}/%{pkgname}/plugins/*.so
4a43a0
# This has to be hardcoded to /lib - $libdir changes between lib/lib64, but
4a43a0
# sysctl.d is always in /lib.
4a43a0
%{_prefix}/lib/sysctl.d/*
4a43a0
%dir %{_localstatedir}/lib/%{pkgname}
4a43a0
%dir %{_localstatedir}/log/%{pkgname}
4a43a0
%ghost %dir %{_localstatedir}/lock/%{pkgname}
4a43a0
%exclude %{_sbindir}/ldap-agent*
4a43a0
%exclude %{_mandir}/man1/ldap-agent.1.gz
4a43a0
%exclude %{_unitdir}/%{pkgname}-snmp.service
4a43a0
%if %{bundle_jemalloc}
4a43a0
%{_libdir}/%{pkgname}/lib/
4a43a0
%{_libdir}/%{pkgname}/bin/
4a43a0
%exclude %{_libdir}/%{pkgname}/bin/jemalloc-config
4a43a0
%exclude %{_libdir}/%{pkgname}/bin/jemalloc.sh
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc.a
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc.so
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc_pic.a
4a43a0
%exclude %{_libdir}/%{pkgname}/lib/pkgconfig
4a43a0
%endif
4a43a0
4a43a0
%files devel
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%{_mandir}/man3/*
4a43a0
%{_includedir}/svrcore.h
4a43a0
%{_includedir}/%{pkgname}
4a43a0
%{_libdir}/libsvrcore.so
4a43a0
%{_libdir}/%{pkgname}/libslapd.so
4a43a0
%{_libdir}/%{pkgname}/libns-dshttpd.so
4a43a0
%{_libdir}/%{pkgname}/libsds.so
4a43a0
%{_libdir}/%{pkgname}/libldaputil.so
4a43a0
%{_libdir}/pkgconfig/svrcore.pc
4a43a0
%{_libdir}/pkgconfig/dirsrv.pc
4a43a0
%{_libdir}/pkgconfig/libsds.pc
4a43a0
4a43a0
%files libs
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%dir %{_libdir}/%{pkgname}
4a43a0
%{_libdir}/libsvrcore.so.*
4a43a0
%{_libdir}/%{pkgname}/libslapd.so.*
4a43a0
%{_libdir}/%{pkgname}/libns-dshttpd-*.so
4a43a0
%{_libdir}/%{pkgname}/libsds.so.*
4a43a0
%{_libdir}/%{pkgname}/libldaputil.so.*
4a43a0
%{_libdir}/%{pkgname}/librewriters.so*
4a43a0
%if %{bundle_jemalloc}
4a43a0
%{_libdir}/%{pkgname}/lib/libjemalloc.so.2
4a43a0
%endif
4a43a0
%if %{use_rust}
4a43a0
%{_libdir}/%{pkgname}/librsds.so
4a43a0
%endif
4a43a0
4a43a0
%if %{use_legacy}
4a43a0
%files legacy-tools
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%{_bindir}/infadd
4a43a0
%{_mandir}/man1/infadd.1.gz
4a43a0
%{_bindir}/ldif
4a43a0
%{_mandir}/man1/ldif.1.gz
4a43a0
%{_bindir}/migratecred
4a43a0
%{_mandir}/man1/migratecred.1.gz
4a43a0
%{_bindir}/mmldif
4a43a0
%{_mandir}/man1/mmldif.1.gz
4a43a0
%{_bindir}/rsearch
4a43a0
%{_mandir}/man1/rsearch.1.gz
4a43a0
%{_libexecdir}/%{pkgname}/ds_selinux_enabled
4a43a0
%{_libexecdir}/%{pkgname}/ds_selinux_port_query
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/template-initconfig
4a43a0
%{_mandir}/man5/template-initconfig.5.gz
4a43a0
%{_datadir}/%{pkgname}/properties/*.res
4a43a0
%{_datadir}/%{pkgname}/script-templates
4a43a0
%{_datadir}/%{pkgname}/updates
4a43a0
%{_sbindir}/ldif2ldap
4a43a0
%{_mandir}/man8/ldif2ldap.8.gz
4a43a0
%{_sbindir}/bak2db
4a43a0
%{_mandir}/man8/bak2db.8.gz
4a43a0
%{_sbindir}/db2bak
4a43a0
%{_mandir}/man8/db2bak.8.gz
4a43a0
%{_sbindir}/db2index
4a43a0
%{_mandir}/man8/db2index.8.gz
4a43a0
%{_sbindir}/db2ldif
4a43a0
%{_mandir}/man8/db2ldif.8.gz
4a43a0
%{_sbindir}/dbverify
4a43a0
%{_mandir}/man8/dbverify.8.gz
4a43a0
%{_sbindir}/ldif2db
4a43a0
%{_mandir}/man8/ldif2db.8.gz
4a43a0
%{_sbindir}/restart-dirsrv
4a43a0
%{_mandir}/man8/restart-dirsrv.8.gz
4a43a0
%{_sbindir}/start-dirsrv
4a43a0
%{_mandir}/man8/start-dirsrv.8.gz
4a43a0
%{_sbindir}/status-dirsrv
4a43a0
%{_mandir}/man8/status-dirsrv.8.gz
4a43a0
%{_sbindir}/stop-dirsrv
4a43a0
%{_mandir}/man8/stop-dirsrv.8.gz
4a43a0
%{_sbindir}/upgradedb
4a43a0
%{_mandir}/man8/upgradedb.8.gz
4a43a0
%{_sbindir}/vlvindex
4a43a0
%{_mandir}/man8/vlvindex.8.gz
4a43a0
%{_sbindir}/monitor
4a43a0
%{_mandir}/man8/monitor.8.gz
4a43a0
%{_sbindir}/dbmon.sh
4a43a0
%{_mandir}/man8/dbmon.sh.8.gz
4a43a0
%{_sbindir}/dn2rdn
4a43a0
%{_mandir}/man8/dn2rdn.8.gz
4a43a0
%{_sbindir}/restoreconfig
4a43a0
%{_mandir}/man8/restoreconfig.8.gz
4a43a0
%{_sbindir}/saveconfig
4a43a0
%{_mandir}/man8/saveconfig.8.gz
4a43a0
%{_sbindir}/suffix2instance
4a43a0
%{_mandir}/man8/suffix2instance.8.gz
4a43a0
%{_sbindir}/upgradednformat
4a43a0
%{_mandir}/man8/upgradednformat.8.gz
4a43a0
%{_mandir}/man1/dbgen.pl.1.gz
4a43a0
%{_bindir}/repl-monitor
4a43a0
%{_mandir}/man1/repl-monitor.1.gz
4a43a0
%{_bindir}/repl-monitor.pl
4a43a0
%{_mandir}/man1/repl-monitor.pl.1.gz
4a43a0
%{_bindir}/cl-dump
4a43a0
%{_mandir}/man1/cl-dump.1.gz
4a43a0
%{_bindir}/cl-dump.pl
4a43a0
%{_mandir}/man1/cl-dump.pl.1.gz
4a43a0
%{_bindir}/dbgen.pl
4a43a0
%{_mandir}/man8/bak2db.pl.8.gz
4a43a0
%{_sbindir}/bak2db.pl
4a43a0
%{_sbindir}/cleanallruv.pl
4a43a0
%{_mandir}/man8/cleanallruv.pl.8.gz
4a43a0
%{_sbindir}/db2bak.pl
4a43a0
%{_mandir}/man8/db2bak.pl.8.gz
4a43a0
%{_sbindir}/db2index.pl
4a43a0
%{_mandir}/man8/db2index.pl.8.gz
4a43a0
%{_sbindir}/db2ldif.pl
4a43a0
%{_mandir}/man8/db2ldif.pl.8.gz
4a43a0
%{_sbindir}/fixup-linkedattrs.pl
4a43a0
%{_mandir}/man8/fixup-linkedattrs.pl.8.gz
4a43a0
%{_sbindir}/fixup-memberof.pl
4a43a0
%{_mandir}/man8/fixup-memberof.pl.8.gz
4a43a0
%{_sbindir}/ldif2db.pl
4a43a0
%{_mandir}/man8/ldif2db.pl.8.gz
4a43a0
%{_sbindir}/migrate-ds.pl
4a43a0
%{_mandir}/man8/migrate-ds.pl.8.gz
4a43a0
%{_sbindir}/ns-accountstatus.pl
4a43a0
%{_mandir}/man8/ns-accountstatus.pl.8.gz
4a43a0
%{_sbindir}/ns-activate.pl
4a43a0
%{_mandir}/man8/ns-activate.pl.8.gz
4a43a0
%{_sbindir}/ns-inactivate.pl
4a43a0
%{_mandir}/man8/ns-inactivate.pl.8.gz
4a43a0
%{_sbindir}/ns-newpwpolicy.pl
4a43a0
%{_mandir}/man8/ns-newpwpolicy.pl.8.gz
4a43a0
%{_sbindir}/remove-ds.pl
4a43a0
%{_mandir}/man8/remove-ds.pl.8.gz
4a43a0
%{_sbindir}/schema-reload.pl
4a43a0
%{_mandir}/man8/schema-reload.pl.8.gz
4a43a0
%{_sbindir}/setup-ds.pl
4a43a0
%{_mandir}/man8/setup-ds.pl.8.gz
4a43a0
%{_sbindir}/syntax-validate.pl
4a43a0
%{_mandir}/man8/syntax-validate.pl.8.gz
4a43a0
%{_sbindir}/usn-tombstone-cleanup.pl
4a43a0
%{_mandir}/man8/usn-tombstone-cleanup.pl.8.gz
4a43a0
%{_sbindir}/verify-db.pl
4a43a0
%{_mandir}/man8/verify-db.pl.8.gz
4a43a0
%{_libdir}/%{pkgname}/perl
4a43a0
%endif
4a43a0
4a43a0
%files snmp
4a43a0
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
4a43a0
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/ldap-agent.conf
4a43a0
%{_sbindir}/ldap-agent*
4a43a0
%{_mandir}/man1/ldap-agent.1.gz
4a43a0
%{_unitdir}/%{pkgname}-snmp.service
4a43a0
4a43a0
%files -n python%{python3_pkgversion}-lib389
4a43a0
%doc LICENSE LICENSE.GPLv3+
4a43a0
%{python3_sitelib}/lib389*
4a43a0
%{_sbindir}/dsconf
4a43a0
%{_mandir}/man8/dsconf.8.gz
4a43a0
%{_sbindir}/dscreate
4a43a0
%{_mandir}/man8/dscreate.8.gz
4a43a0
%{_sbindir}/dsctl
4a43a0
%{_mandir}/man8/dsctl.8.gz
4a43a0
%{_sbindir}/dsidm
4a43a0
%{_mandir}/man8/dsidm.8.gz
4a43a0
%{_libexecdir}/%{pkgname}/dscontainer
4a43a0
4a43a0
%files -n cockpit-389-ds -f cockpit.list
4a43a0
%{_datarootdir}/metainfo/389-console/org.port389.cockpit_console.metainfo.xml
4a43a0
%doc README.md
4a43a0
4a43a0
%changelog
5873fa
* Fri Jun 26 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.8-4
5873fa
- Bump version to 1.4.3.8-4
5873fa
- Resolves: Bug 1806978 - ns-slapd crashes during db2ldif
5873fa
- Resolves: Bug 1450863 - Log warning when tuning of nsslapd-threadnumber above or below the optimal value
5873fa
- Resolves: Bug 1647017 - A distinguished value of a single valued attribute can be missing in an entry
5873fa
- Resolves: Bug 1806573 - Dsctl healthcheck doesn't work when using instance name with 'slapd-'
5873fa
- Resolves: Bug 1807773 - dsctl healthcheck : typo in DSREPLLE0002 Lint error suggested resolution commands
5873fa
- Resolves: Bug 1843567 - Healthcheck to find notes=F
5873fa
- Resolves: Bug 1845094 - User/Directory Manager can modify Password Policy attribute "pwdReset"
5873fa
- Resolves: Bug 1850275 - Add new access log keywords for time spent in work queue and actual operation time
5873fa
- Resolves: Bug 1442386 - Recreating an index while changing case will create an indexfile with the old name (different case) and after restart the indexfile is abandoned
5873fa
- Resolves: Bug 1672574 - nsIndexIDListScanLimit accepts any value
5873fa
- Resolves: Bug 1800529 - Memory leaks in disk monitoring
5873fa
5873fa
* Fri Jun 5 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.8-3
5873fa
- Bump version to 1.4.3.8-3
5873fa
- Resolves: Bug 1835619 - Healthcheck with --json option reports "Object of type 'bytes' is not JSON serializable" when mapping tree is deleted 
5873fa
- Resolves: Bug 1836428 - Directory Server ds-replcheck RFE to add a timeout command-line arg/value to wait longer when connecting to a replica server
5873fa
- Resolves: Bug 1843090 - abort when a empty valueset is freed
5873fa
- Resolves: Bug 1843156 - Prevent unnecessarily duplication of the target entry
5873fa
- Resolves: Bug 1843157 - Check for clock errors and time skew
5873fa
- Resolves: Bug 1843159 - RFE AD filter rewriter for ObjectCategory
5873fa
- Resolves: Bug 1843162 - Creating Replication Manager fails if uid=repman is used
5873fa
- Resolves: Bug 1816851 - Add option to healthcheck to list all the lint reports
5873fa
- Resolves: Bug 1748227 - Instance name length is not enforced
5873fa
- Resolves: Bug 1748244 - dscreate doesn't sanitize instance name
5873fa
4a43a0
* Mon May 11 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.8-2
4a43a0
- Bump version to 1.4.3.8-2
4a43a0
- Resolves: Bug 1833350 - Remove cockpit dependancies that are breaking builds
4a43a0
4a43a0
* Mon May 11 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.8-1
4a43a0
- Bump version to 1.4.3.8-1
4a43a0
- Resolves: Bug 1833350 - Rebase 389-ds-base for RHEL 8.3
4a43a0
- Resolves: Bug 1728943 - [RFE] Advance options in RHDS Disk Monitoring Framework
4a43a0
- Resolves: Bug 1775285 - [RFE] Implement the Password Policy attribute "pwdReset"
4a43a0
- Resolves: Bug 1638875 - [RFE] extract key/certs pem file into a private namespace
4a43a0
- Resolves: Bug 1758478 - AddressSanitizer: heap-buffer-overflow in ldap_utf8prev
4a43a0
- Resolves: Bug 1795943 - Port dbmon.sh from legacy tools package
4a43a0
- Resolves: Bug 1798394 - Port dbgen from legacy tools package
4a43a0
- Resolves: Bug 1800529 - Memory leaks in disk monitoring
4a43a0
- Resolves: Bug 1807419 - Unable to create a suffix with countryName either via dscreate or the admin console
4a43a0
- Resolves: Bug 1816848 - Database links: get_monitor() takes 1 positional argument but 2 were given
4a43a0
- Resolves: Bug 1816854 - Setting nsslapd-allowed-sasl-mechanisms truncates the value
4a43a0
- Resolves: Bug 1816857 - Searches on cn=config takes values with spaces and makes multiple attributes out of them
4a43a0
- Resolves: Bug 1816859 - lib389 - Replace exec() with setattr()
4a43a0
- Resolves: Bug 1816862 - Memory leak in indirect COS
4a43a0
- Resolves: Bug 1829071 - Installation of RHDS 11 fails on RHEL8 server with IPv6 disabled
4a43a0
- Resolves: Bug 1833515 - set 'nsslapd-enable-upgrade-hash: off' as this raises warnings in IPA
4a43a0
- Resolves: Bug 1790986 - cenotaph errors on modrdn operations
4a43a0
- Resolves: Bug 1769734 - Heavy StartTLS connection load can randomly fail with err=1
4a43a0
- Resolves: Bug 1758501 - LeakSanitizer: detected memory leaks in changelog5_init and perfctrs_init
4a43a0
4a43a0
* Fri May 8 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.8-0
4a43a0
- Bump version to 1.4.3.8-0
4a43a0
- Issue 51078 - Add nsslapd-enable-upgrade-hash to the schema
4a43a0
- Issue 51054 - Revise ACI target syntax checking
4a43a0
- Issue 51068 - deadlock when updating the schema
4a43a0
- Issue 51060 - unable to set sslVersionMin to TLS1.0
4a43a0
- Issue 51064 - Unable to install server where IPv6 is disabled
4a43a0
- Issue 51051 - CLI fix consistency issues with confirmations
4a43a0
- Issue 49731 - undo db_home_dir under /dev/shm/dirsrv for now
4a43a0
- Issue 51054 - AddressSanitizer: heap-buffer-overflow in ldap_utf8prev
4a43a0
- Issue 51047 - React deprecating ComponentWillMount
4a43a0
- Issue 50499 - fix npm audit issues
4a43a0
- Issue 50545 - Port dbgen.pl to dsctl
4a43a0
4a43a0
* Wed Apr 22 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.7-1
4a43a0
- Bump version to 1.4.3.7
4a43a0
- Issue 51024 - syncrepl_entry callback does not contain attributes added by postoperation plugins
4a43a0
- Issue 51035 - Heavy StartTLS connection load can randomly fail with err=1
4a43a0
- Issue 49731 - undo db_home_dir under /dev/shm/dirsrv for now
4a43a0
- Issue 51031 - UI - transition between two instances needs improvement
4a43a0
4a43a0
* Thu Apr 16 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.6-1
4a43a0
- Bump version to 1.4.3.6
4a43a0
- Issue 50933 - 10rfc2307compat.ldif is not ready to set used by default
4a43a0
- Issue 50931 - RFE AD filter rewriter for ObjectCategory
4a43a0
- Issue 51016 - Fix memory leaks in changelog5_init and perfctrs_init
4a43a0
- Issue 50980 - RFE extend usability for slapi_compute_add_search_rewriter and slapi_compute_add_evaluator
4a43a0
- Issue 51008 - dbhome in containers
4a43a0
- Issue 50875 - Refactor passwordUserAttributes's and passwordBadWords's code
4a43a0
- Issue 51014 - slapi_pal.c possible static buffer overflow
4a43a0
- Issue 50545 - remove dbmon "incr" option from arg parser
4a43a0
- Issue 50545 - Port dbmon.sh to dsconf
4a43a0
- Issue 51005 - AttributeUniqueness plugin's DN parameter should not have a default value
4a43a0
- Issue 49731 - Fix additional issues with setting db home directory by default
4a43a0
- Issue 50337 - Replace exec() with setattr()
4a43a0
- Issue 50905 - intermittent SSL hang with rhds
4a43a0
- Issue 50952 - SSCA lacks basicConstraint:CA
4a43a0
- Issue 50640 - Database links: get_monitor() takes 1 positional argument but 2 were given
4a43a0
- Issue 50869 - Setting nsslapd-allowed-sasl-mechanisms truncates the value
4a43a0
4a43a0
* Wed Apr 1 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.5-1
4a43a0
- Bump version to 1.4.3.5
4a43a0
- Issue 50994 - Fix latest UI bugs found by QE
4a43a0
- Issue 50933 - rfc2307compat.ldif
4a43a0
- Issue 50337 - Replace exec() with setattr()
4a43a0
- Issue 50984 - Memory leaks in disk monitoring
4a43a0
- Issue 50984 - Memory leaks in disk monitoring
4a43a0
- Issue 49731 - dscreate fails in silent mode because of db_home_dir
4a43a0
- Issue 50975 - Revise UI branding with new minimized build
4a43a0
- Issue 49437 - Fix memory leak with indirect COS
4a43a0
- Issue 49731 - Do not add db_home_dir to template-dse.ldif
4a43a0
- Issue 49731 - set and use db_home_directory by default
4a43a0
- Issue 50971 - fix BSD_SOURCE
4a43a0
- Issue 50744 - -n option of dbverify does not work
4a43a0
- Issue 50952 - SSCA lacks basicConstraint:CA
4a43a0
- Issue 50976 - Clean up Web UI source directory from unused files
4a43a0
- Issue 50955 - Fix memory leaks in chaining plugin(part 2)
4a43a0
- Issue 50966 - UI - Database indexes not using typeAhead correctly
4a43a0
- Issue 50974 - UI - wrong title in "Delete Suffix" popup
4a43a0
- Issue 50972 - Fix cockpit plugin build
4a43a0
- Issue 49761 - Fix CI test suite issues
4a43a0
- Issue 50971 - Support building on FreeBSD.
4a43a0
- Issue 50960 - [RFE] Advance options in RHDS Disk Monitoring Framework
4a43a0
- Issue 50800 - wildcards in rootdn-allow-ip attribute are not accepted
4a43a0
- Issue 50963 - We should bundle *.min.js files of Console
4a43a0
- Issue 50860 - Port Password Policy test cases from TET to python3 Password grace limit section.
4a43a0
- Issue 50860 - Port Password Policy test cases from TET to python3 series of bugs Port final
4a43a0
- Issue 50954 - buildnum.py - fix date formatting issue
4a43a0
4a43a0
* Mon Mar 16 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.4-1
4a43a0
- Bump version to 1.4.3.4
4a43a0
- Issue 50954 - Port buildnum.pl to python(part 2)
4a43a0
- Issue 50955 - Fix memory leaks in chaining plugin
4a43a0
- Issue 50954 - Port buildnum.pl to python
4a43a0
- Issue 50947 - change 00core.ldif objectClasses for openldap migration
4a43a0
- Issue 50755 - setting nsslapd-db-home-directory is overriding db_directory
4a43a0
- Issue 50937 - Update CLI for new backend split configuration
4a43a0
- Issue 50860 - Port Password Policy test cases from TET to python3 pwp.sh
4a43a0
- Issue 50945 - givenname alias of gn from openldap
4a43a0
- Issue 50935 - systemd override in lib389 for dscontainer
4a43a0
- Issue 50499 - Fix npm audit issues
4a43a0
- Issue 49761 - Fix CI test suite issues
4a43a0
- Issue 50618 - clean compiler warning and log level
4a43a0
- Issue 50889 - fix compiler issues
4a43a0
- Issue 50884 - Health check tool DSEldif check fails
4a43a0
- Issue 50926 - Remove dual spinner and other UI fixes
4a43a0
- Issue 50928 - Unable to create a suffix with countryName
4a43a0
- Issue 50758 - Only Recommend bash-completion, not Require
4a43a0
- Issue 50923 - Fix a test regression
4a43a0
- Issue 50904 - Connect All React Components And Refactor the Main Navigation Tab Code
4a43a0
- Issue 50920 - cl-dump exit code is 0 even if command fails with invalid arguments
4a43a0
- Issue 50923 - Add test - dsctl fails to remove instances with dashes in the name
4a43a0
- Issue 50919 - Backend delete fails using dsconf
4a43a0
- Issue 50872 - dsconf can't create GSSAPI replication agreements
4a43a0
- Issue 50912 - RFE - add password policy attribute pwdReset
4a43a0
- Issue 50914 - No error returned when adding an entry matching filters for a non existing automember group
4a43a0
- Issue 50889 - Extract pem files into a private namespace
4a43a0
- Issue 50909 - nsDS5ReplicaId cant be set to the old value it had before
4a43a0
- Issue 50686 - Port fractional replication test cases from TET to python3 final
4a43a0
- Issue 49845 - Remove pkgconfig check for libasan
4a43a0
- Issue:50860 - Port Password Policy test cases from TET to python3 bug624080
4a43a0
- Issue:50860 - Port Password Policy test cases from TET to python3 series of bugs
4a43a0
- Issue 50786 - connection table freelist
4a43a0
- Issue 50618 - support cgroupv2
4a43a0
- Issue 50900 - Fix cargo offline build
4a43a0
- Issue 50898 - ldclt core dumped when run with -e genldif option
4a43a0
4a43a0
* Mon Feb 17 2020 Matus Honek <mhonek@redhat.com> - 1.4.3.3-3
4a43a0
- Bring back the necessary c_rehash util (#1803370)
4a43a0
4a43a0
* Fri Feb 14 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.3-2
4a43a0
- Bump version to 1.4.3.3-2
4a43a0
- Remove unneeded perl dependencies
4a43a0
- Change bash-completion to "Recommends" instead of "Requires"
4a43a0
4a43a0
* Thu Feb 13 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.3-1
4a43a0
- Bump version to 1.4.3.3
4a43a0
- Issue 50855 - remove unused file from UI
4a43a0
- Issue 50855 - UI: Port Server Tab to React
4a43a0
- Issue 49845 - README does not contain complete information on building
4a43a0
- Issue 50686 - Port fractional replication test cases from TET to python3 part 1
4a43a0
- Issue 49623 - cont cenotaph errors on modrdn operations
4a43a0
- Issue 50882 - Fix healthcheck errors for instances that do not have TLS enabled
4a43a0
- Issue 50886 - Typo in the replication debug message
4a43a0
- Issue 50873 - Fix healthcheck and virtual attr check
4a43a0
- Issue 50873 - Fix issues with healthcheck tool
4a43a0
- Issue 50028 - Add a new CI test case
4a43a0
- Issue 49946 - Add a new CI test case
4a43a0
- Issue 50117 - Add a new CI test case
4a43a0
- Issue 50787 - fix implementation of attr unique
4a43a0
- Issue 50859 - support running only with ldaps socket
4a43a0
- Issue 50823 - dsctl doesn't work with 'slapd-' in the instance name
4a43a0
- Issue 49624 - cont - DB Deadlock on modrdn appears to corrupt database and entry cache
4a43a0
- Issue 50867 - Fix minor buildsys issues
4a43a0
- Issue 50737 - Allow building with rust online without vendoring
4a43a0
- Issue 50831 - add cargo.lock to allow offline builds
4a43a0
- Issue 50694 - import PEM certs on startup
4a43a0
- Issue 50857 - Memory leak in ACI using IP subject
4a43a0
- Issue 49761 - Fix CI test suite issues
4a43a0
- Issue 50853 - Fix NULL pointer deref in config setting
4a43a0
- Issue 50850 - Fix dsctl healthcheck for python36
4a43a0
- Issue 49990 - Need to enforce a hard maximum limit for file descriptors
4a43a0
- Issue 48707 - ldapssotoken for authentication
4a43a0
4a43a0
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.3.2-1.1
4a43a0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
4a43a0
4a43a0
* Thu Jan 23 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.2-1
4a43a0
- Bump version to 1.4.3.2
4a43a0
- Issue 49254 - Fix compiler failures and warnings
4a43a0
- Issue 50741 - cont bdb_start - Detected Disorderly Shutdown
4a43a0
- Issue 50836 - Port Schema UI tab to React
4a43a0
- Issue 50842 - Decrease 389-console Cockpit component size
4a43a0
- Issue 50790 - Add result text when filter is invalid
4a43a0
- Issue 50627 - Add ASAN logs to HTML report
4a43a0
- Issue 50834 - Incorrectly setting the NSS default SSL version max
4a43a0
- Issue 50829 - Disk monitoring rotated log cleanup causes heap-use-after-free
4a43a0
- Issue 50709 - (cont) Several memory leaks reported by Valgrind for 389-ds 1.3.9.1-10
4a43a0
- Issue 50784 - performance testing scripts
4a43a0
- Issue 50599 - Fix memory leak when removing db region files
4a43a0
- Issue 49395 - Set the default TLS version min to TLS1.2
4a43a0
- Issue 50818 - dsconf pwdpolicy get error
4a43a0
- Issue 50824 - dsctl remove fails with "name 'ensure_str' is not defined"
4a43a0
- Issue 50599 - Remove db region files prior to db recovery
4a43a0
- Issue 50812 - dscontainer executable should be placed under /usr/libexec/dirsrv/
4a43a0
- Issue 50816 - dsconf allows the root password to be set to nothing
4a43a0
- Issue 50798 - incorrect bytes in format string(fix import issue)
4a43a0
4a43a0
* Thu Jan 16 2020 Adam Williamson <awilliam@redhat.com> - 1.4.3.1-3
4a43a0
- Backport two more import/missing function fixes
4a43a0
4a43a0
* Wed Jan 15 2020 Adam Williamson <awilliam@redhat.com> - 1.4.3.1-2
4a43a0
- Backport 828aad0 to fix missing imports from 1.4.3.1
4a43a0
4a43a0
* Mon Jan 13 2020 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.1-1
4a43a0
- Bump version to 1.4.3.1
4a43a0
- Issue 50798 - incorrect bytes in format string
4a43a0
- Issue 50545 - Add the new replication monitor functionality to UI
4a43a0
- Issue 50806 - Fix minor issues in lib389 health checks
4a43a0
- Issue 50690 - Port Password Storage test cases from TET to python3 part 1
4a43a0
- Issue 49761 - Fix CI test suite issues
4a43a0
- Issue 49761 - Fix CI test suite issues
4a43a0
- Issue 50754 - Add Restore Change Log option to CLI
4a43a0
- Issue 48055 - CI test - automember_plugin(part2)
4a43a0
- Issue 50667 - dsctl -l did not respect PREFIX
4a43a0
- Issue 50780 - More CLI fixes
4a43a0
- Issue 50649 - lib389 without defaults.inf
4a43a0
- Issue 50780 - Fix UI issues
4a43a0
- Issue 50727 - correct mistaken options in filter validation patch
4a43a0
- Issue 50779 - lib389 - conflict compare fails for DN's with spaces
4a43a0
- Set branch version to 1.4.3.0