From a7312c556a831b1b2380688802c89738c81c6905 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Jan 29 2018 23:42:58 +0000 Subject: 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 --- diff --git a/.gitignore b/.gitignore index 5a5cc0d..3485007 100644 --- a/.gitignore +++ b/.gitignore @@ -154,3 +154,4 @@ /389-ds-base-1.4.0.1.tar.bz2 /389-ds-base-1.4.0.2.tar.bz2 /389-ds-base-1.4.0.3.tar.bz2 +/389-ds-base-1.4.0.4.tar.bz2 diff --git a/389-ds-base.spec b/389-ds-base.spec index 0f66587..ea260a8 100644 --- a/389-ds-base.spec +++ b/389-ds-base.spec @@ -12,6 +12,9 @@ %global use_Socket6 0 %global use_asan 0 +%global use_rust 0 +%global use_perl 1 + %if %{use_asan} %global use_tcmalloc 0 %else @@ -37,8 +40,8 @@ Summary: 389 Directory Server (base) Name: 389-ds-base -Version: 1.4.0.3 -Release: %{?relprefix}1%{?prerel}%{?dist}.2 +Version: 1.4.0.4 +Release: %{?relprefix}1%{?prerel}%{?dist} License: GPLv3+ URL: http://www.port389.org Group: System Environment/Daemons @@ -49,7 +52,7 @@ Requires: %{name}-libs = %{version}-%{release} Provides: ldif2ldbm >= 0 BuildRequires: nspr-devel -BuildRequires: nss-devel +BuildRequires: nss-devel >= 3.34 BuildRequires: perl-generators BuildRequires: svrcore-devel >= 4.1.3 BuildRequires: openldap-devel @@ -62,6 +65,7 @@ BuildRequires: libatomic %if %{use_clang} BuildRequires: clang %else +BuildRequires: gcc BuildRequires: gcc-c++ %endif # The following are needed to build the snmp ldap-agent @@ -75,6 +79,14 @@ BuildRequires: tcp_wrappers BuildRequires: pam-devel BuildRequires: systemd-units BuildRequires: systemd-devel +%if %{use_asan} +BuildRequires: libasan +%endif +# If rust is enabled +%if %{use_rust} +BuildRequires: cargo +BuildRequires: rust +%endif # Needed to support regeneration of the autotool artifacts. BuildRequires: autoconf BuildRequires: automake @@ -147,8 +159,8 @@ Requires: perl-NetAddr-IP Requires: systemd-libs Requires: svrcore >= 4.1.3 -# upgrade path from monolithic %{name} (including -libs & -devel) to %{name} + %{name}-snmp Obsoletes: %{name} <= 1.3.5.4 + Source0: https://releases.pagure.org/389-ds-base/%{name}-%{version}%{?prerel}.tar.bz2 # 389-ds-git.sh should be used to generate the source tarball from git Source1: %{name}-git.sh @@ -157,12 +169,17 @@ Source2: %{name}-devel.README %description 389 Directory Server is an LDAPv3 compliant server. The base package includes the LDAP server and command line utilities for server administration. +%if %{use_asan} +WARNING! This build is linked to Address Sanitisation libraries. This probably +isn't what you want. Please contact support immediately. +Please see http://seclists.org/oss-sec/2016/q1/363 for more information. +%endif %package libs Summary: Core libraries for 389 Directory Server Group: System Environment/Daemons BuildRequires: nspr-devel -BuildRequires: nss-devel +BuildRequires: nss-devel >= 3.24 BuildRequires: svrcore-devel >= 4.1.3 BuildRequires: openldap-devel BuildRequires: libdb-devel @@ -186,7 +203,7 @@ Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: pkgconfig Requires: nspr-devel -Requires: nss-devel +Requires: nss-devel >= 3.34 Requires: svrcore-devel >= 4.1.3 Requires: openldap-devel Requires: libtalloc @@ -202,7 +219,6 @@ Summary: SNMP Agent for 389 Directory Server Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} -# upgrade path from monolithic %{name} (including -libs & -devel) to %{name} + %{name}-snmp Obsoletes: %{name} <= 1.4.0.0 %description snmp @@ -261,6 +277,14 @@ ASAN_FLAGS="--enable-asan --enable-debug" TCMALLOC_FLAGS="--enable-tcmalloc" %endif +%if %{use_rust} +RUST_FLAGS="--enable-rust" +%endif + +%if !%{use_perl} +PERL_FLAGS="--disable-perl" +%endif + # Rebuild the autotool artifacts now. autoreconf -fiv @@ -270,7 +294,8 @@ autoreconf -fiv --with-perldir=/usr/bin \ --with-pythonexec=%{__python3} \ --with-systemdgroupname=%{groupname} $NSSARGS $ASAN_FLAGS \ - --with-systemd $TCMALLOC_FLAGS + --with-systemd $TCMALLOC_FLAGS $RUST_FLAGS $PERL_FLAGS \ + --enable-cmocka %if 0%{?rhel} >= 8 || 0%{?fedora} @@ -319,8 +344,14 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/%{groupname}.wants find %{buildroot} -type f -name "*.la" -delete find %{buildroot} -type f -name "*.a" -delete +%if %{use_perl} # make sure perl scripts have a proper shebang sed -i -e 's|#{{PERL-EXEC}}|#!/usr/bin/perl|' $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/script-templates/template-*.pl +%endif + +%check +# This checks the code, if it fails it prints why, then re-raises the fail to shortcircuit the rpm build. +if ! make DESTDIR="$RPM_BUILD_ROOT" check; then cat ./test-suite.log && false; fi %clean rm -rf $RPM_BUILD_ROOT @@ -355,6 +386,11 @@ if ! getent passwd $USERNAME >/dev/null ; then fi fi +# Reload our sysctl before we restart (if we can) +sysctl --system &> $output; true + +%if %{use_perl} +# START UPGRADE SCRIPT echo looking for instances in %{_sysconfdir}/%{pkgname} > $output 2>&1 || : instbase="%{_sysconfdir}/%{pkgname}" for dir in $instbase/slapd-* ; do @@ -398,6 +434,9 @@ for inst in $instances ; do echo restarting instance $inst >> $output 2>&1 || : /bin/systemctl start $inst >> $output 2>&1 || : done +#END UPGRADE +%endif + exit 0 %preun @@ -439,6 +478,15 @@ fi %{_unitdir} %{_bindir}/* %caps(CAP_NET_BIND_SERVICE=pe) %{_sbindir}/ns-slapd +%{_sbindir}/dsconf +%{_sbindir}/dscreate +%{_sbindir}/dsctl +%{_sbindir}/dsidm +%{_sbindir}/ds-cockpit-setup +%{_sbindir}/ds_selinux_enabled +%{_sbindir}/ds_selinux_port_query +%{_sbindir}/ds_systemd_ask_password_acl +%if %{use_perl} %{_sbindir}/bak2db %{_sbindir}/bak2db.pl %{_sbindir}/cleanallruv.pl @@ -451,9 +499,6 @@ fi %{_sbindir}/dbmon.sh %{_sbindir}/dbverify %{_sbindir}/dn2rdn -%{_sbindir}/ds_selinux_enabled -%{_sbindir}/ds_selinux_port_query -%{_sbindir}/ds_systemd_ask_password_acl %{_sbindir}/fixup-linkedattrs.pl %{_sbindir}/fixup-memberof.pl %{_sbindir}/ldif2db @@ -482,6 +527,7 @@ fi %{_sbindir}/verify-db.pl %{_sbindir}/vlvindex %{_libdir}/%{pkgname}/perl +%endif %{_libdir}/%{pkgname}/python %dir %{_libdir}/%{pkgname}/plugins %{_libdir}/%{pkgname}/plugins/*.so @@ -492,6 +538,7 @@ fi %{_mandir}/man8/* %exclude %{_sbindir}/ldap-agent* %exclude %{_mandir}/man1/ldap-agent.1.gz +%exclude %{_unitdir}/%{pkgname}-snmp.service # This has to be hardcoded to /lib - $libdir changes between lib/lib64, but # sysctl.d is always in /lib. %{_prefix}/lib/sysctl.d/* @@ -499,10 +546,10 @@ fi %files devel %defattr(-,root,root,-) %doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel +%{_mandir}/man3/* %{_includedir}/%{pkgname} %{_libdir}/%{pkgname}/libslapd.so %{_libdir}/%{pkgname}/libns-dshttpd.so -%{_mandir}/man3/* %{_libdir}/%{pkgname}/libnunc-stans.so %{_libdir}/%{pkgname}/libsds.so %{_libdir}/%{pkgname}/libldaputil.so @@ -517,6 +564,9 @@ fi %{_libdir}/%{pkgname}/libnunc-stans.so.* %{_libdir}/%{pkgname}/libsds.so.* %{_libdir}/%{pkgname}/libldaputil.so.* +%if %{use_rust} +%{_libdir}/%{pkgname}/librsds.so +%endif %files snmp %defattr(-,root,root,-) @@ -545,6 +595,75 @@ fi %endif %changelog +* Fri Jan 26 2018 Mark Reynolds - 1.4.0.4-1 +- 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 + * Sat Jan 20 2018 Björn Esser - 1.4.0.3-1.2 - Rebuilt for switch to libxcrypt diff --git a/sources b/sources index 130ab76..51550a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (389-ds-base-1.4.0.3.tar.bz2) = 2a848afd86ffc5c170095b51679e443e37d00e1929bffa2a43c94063f3d086a2872140a1ed91252904ef06aac7f45a965fea5960f93dd659a97f1785ddb870d2 +SHA512 (389-ds-base-1.4.0.4.tar.bz2) = 0c8c5c21e8dc66e636275e1dca0a4f3c1ab7528f636a081eb6a0b8ff0750d68841a87ebc322e4bb2d57aeafad5281b441ca45c5cbab5d1d7ea6ae61a4e583334