|
|
8a9ed9 |
%if 0%{?fedora} || 0%{?rhel} > 7
|
|
|
8a9ed9 |
# Enable python3 build by default
|
|
|
8a9ed9 |
%bcond_without python3
|
|
|
8a9ed9 |
%else
|
|
|
8a9ed9 |
%bcond_with python3
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
1d3708 |
%if 0%{?rhel} > 7 || 0%{?fedora} > 30
|
|
|
8a9ed9 |
# Disable python2 build by default
|
|
|
8a9ed9 |
%bcond_with python2
|
|
|
8a9ed9 |
%else
|
|
|
8a9ed9 |
%bcond_without python2
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
Summary: A library for password generation and password quality checking
|
|
|
8a9ed9 |
Name: libpwquality
|
|
|
1d3708 |
Version: 1.4.4
|
|
|
f222d1 |
Release: 6%{?dist}
|
|
|
8a9ed9 |
# The package is BSD licensed with option to relicense as GPLv2+
|
|
|
8a9ed9 |
# - this option is redundant as the BSD license allows that anyway.
|
|
|
8a9ed9 |
License: BSD or GPLv2+
|
|
|
8a9ed9 |
Source0: https://github.com/libpwquality/libpwquality/releases/download/libpwquality-%{version}/libpwquality-%{version}.tar.bz2
|
|
|
8a9ed9 |
|
|
|
07909d |
Patch100: libpwquality-1.4.4-rhel8-i18n.patch
|
|
|
07909d |
|
|
|
8a9ed9 |
%global _pwqlibdir %{_libdir}
|
|
|
8a9ed9 |
%global _moduledir %{_libdir}/security
|
|
|
8a9ed9 |
%global _secconfdir %{_sysconfdir}/security
|
|
|
8a9ed9 |
|
|
|
1d3708 |
Requires: cracklib-dicts >= 2.8
|
|
|
8a9ed9 |
Requires: pam%{?_isa}
|
|
|
1d3708 |
BuildRequires: gcc make
|
|
|
8a9ed9 |
BuildRequires: cracklib-devel
|
|
|
8a9ed9 |
BuildRequires: gettext
|
|
|
8a9ed9 |
BuildRequires: pam-devel
|
|
|
8a9ed9 |
%if %{with python2}
|
|
|
8a9ed9 |
BuildRequires: python2-devel
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
%if %{with python3}
|
|
|
8a9ed9 |
BuildRequires: python3-devel
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
URL: https://github.com/libpwquality/libpwquality/
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
# we don't want to provide private python extension libs
|
|
|
8a9ed9 |
%define __provides_exclude_from ^(%{python_sitearch}|%{python3_sitearch})/.*\.so$.
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%description
|
|
|
8a9ed9 |
This is a library for password quality checks and generation
|
|
|
8a9ed9 |
of random passwords that pass the checks.
|
|
|
8a9ed9 |
This library uses the cracklib and cracklib dictionaries
|
|
|
8a9ed9 |
to perform some of the checks.
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%package devel
|
|
|
8a9ed9 |
Summary: Support for development of applications using the libpwquality library
|
|
|
8a9ed9 |
Requires: libpwquality%{?_isa} = %{version}-%{release}
|
|
|
8a9ed9 |
Requires: pkgconfig
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%description devel
|
|
|
8a9ed9 |
Files needed for development of applications using the libpwquality
|
|
|
8a9ed9 |
library.
|
|
|
8a9ed9 |
See the pwquality.h header file for the API.
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if %{with python2}
|
|
|
8a9ed9 |
%package -n python2-pwquality
|
|
|
8a9ed9 |
%{?python_provide:%python_provide python2-pwquality}
|
|
|
8a9ed9 |
Summary: Python bindings for the libpwquality library
|
|
|
8a9ed9 |
Requires: libpwquality%{?_isa} = %{version}-%{release}
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%description -n python2-pwquality
|
|
|
8a9ed9 |
This is pwquality Python module that provides Python bindings
|
|
|
8a9ed9 |
for the libpwquality library. These bindings can be used
|
|
|
8a9ed9 |
for easy password quality checking and generation of random
|
|
|
8a9ed9 |
pronounceable passwords from Python applications.
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if %{with python3}
|
|
|
8a9ed9 |
%package -n python3-pwquality
|
|
|
8a9ed9 |
Summary: Python bindings for the libpwquality library
|
|
|
8a9ed9 |
Requires: libpwquality%{?_isa} = %{version}-%{release}
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%description -n python3-pwquality
|
|
|
8a9ed9 |
This is pwquality Python module that provides Python bindings
|
|
|
8a9ed9 |
for the libpwquality library. These bindings can be used
|
|
|
8a9ed9 |
for easy password quality checking and generation of random
|
|
|
8a9ed9 |
pronounceable passwords from Python applications.
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%prep
|
|
|
8a9ed9 |
%setup -q
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if %{with python3} && %{with python2}
|
|
|
8a9ed9 |
rm -rf %{py3dir}
|
|
|
8a9ed9 |
cp -a . %{py3dir}
|
|
|
8a9ed9 |
%endif
|
|
|
07909d |
%patch100 -p1 -b .nodot
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%build
|
|
|
8a9ed9 |
%if %{with python2}
|
|
|
8a9ed9 |
%configure \
|
|
|
8a9ed9 |
--with-securedir=%{_moduledir} \
|
|
|
8a9ed9 |
--with-pythonsitedir=%{python2_sitearch} \
|
|
|
8a9ed9 |
--with-python-binary=%{__python2} \
|
|
|
8a9ed9 |
--disable-static
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
make %{?_smp_mflags}
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
%if %{with python3} && %{with python2}
|
|
|
8a9ed9 |
pushd %{py3dir}
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
%if %{with python3}
|
|
|
8a9ed9 |
%configure \
|
|
|
8a9ed9 |
--with-securedir=%{_moduledir} \
|
|
|
8a9ed9 |
--with-pythonsitedir=%{python3_sitearch} \
|
|
|
8a9ed9 |
--with-python-binary=%{__python3} \
|
|
|
8a9ed9 |
--disable-static
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
make %{?_smp_mflags}
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
%if %{with python3} && %{with python2}
|
|
|
8a9ed9 |
popd
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%install
|
|
|
8a9ed9 |
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if %{with python3} && %{with python2}
|
|
|
8a9ed9 |
pushd %{py3dir}
|
|
|
8a9ed9 |
make -C python install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
|
|
|
8a9ed9 |
popd
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if "%{_pwqlibdir}" != "%{_libdir}"
|
|
|
8a9ed9 |
pushd $RPM_BUILD_ROOT%{_libdir}
|
|
|
8a9ed9 |
mv libpwquality.so.* $RPM_BUILD_ROOT%{_pwqlibdir}
|
|
|
8a9ed9 |
ln -sf %{_pwqlibdir}/libpwquality.so.*.* libpwquality.so
|
|
|
8a9ed9 |
popd
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|
|
8a9ed9 |
rm -f $RPM_BUILD_ROOT%{_moduledir}/*.la
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
mkdir $RPM_BUILD_ROOT%{_secconfdir}/pwquality.conf.d
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%find_lang libpwquality
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%check
|
|
|
8a9ed9 |
# Nothing yet
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%ldconfig_scriptlets
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%files -f libpwquality.lang
|
|
|
8a9ed9 |
%{!?_licensedir:%global license %%doc}
|
|
|
8a9ed9 |
%license COPYING
|
|
|
8a9ed9 |
%doc README NEWS AUTHORS
|
|
|
8a9ed9 |
%{_bindir}/pwmake
|
|
|
8a9ed9 |
%{_bindir}/pwscore
|
|
|
8a9ed9 |
%{_moduledir}/pam_pwquality.so
|
|
|
8a9ed9 |
%{_pwqlibdir}/libpwquality.so.*
|
|
|
8a9ed9 |
%config(noreplace) %{_secconfdir}/pwquality.conf
|
|
|
8a9ed9 |
%{_secconfdir}/pwquality.conf.d
|
|
|
8a9ed9 |
%{_mandir}/man1/*
|
|
|
8a9ed9 |
%{_mandir}/man5/*
|
|
|
8a9ed9 |
%{_mandir}/man8/*
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%files devel
|
|
|
8a9ed9 |
%{_includedir}/pwquality.h
|
|
|
8a9ed9 |
%{_libdir}/libpwquality.so
|
|
|
8a9ed9 |
%{_libdir}/pkgconfig/*.pc
|
|
|
8a9ed9 |
%{_mandir}/man3/*
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if %{with python2}
|
|
|
8a9ed9 |
%files -n python2-pwquality
|
|
|
1d3708 |
%{python2_sitearch}/pwquality.so
|
|
|
1d3708 |
%{python2_sitearch}/*.egg-info
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%if %{with python3}
|
|
|
8a9ed9 |
%files -n python3-pwquality
|
|
|
8a9ed9 |
%{python3_sitearch}/*.so
|
|
|
8a9ed9 |
%{python3_sitearch}/*.egg-info
|
|
|
8a9ed9 |
%endif
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
%changelog
|
|
|
f222d1 |
* Tue Feb 14 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-6
|
|
|
f222d1 |
- rebuilt
|
|
|
f222d1 |
|
|
|
f222d1 |
* Mon Feb 13 2023 Dmitry Belyavskiy - 1.4.4-5
|
|
|
07909d |
- rebuilt
|
|
|
07909d |
|
|
|
07909d |
* Tue Aug 30 2022 Dmitry Belyavskiy - 1.4.4-4
|
|
|
07909d |
- Japan translation update (remove extra dot)
|
|
|
f222d1 |
Resolves: rhbz#2122609
|
|
|
07909d |
|
|
|
1d3708 |
* Mon Feb 22 2021 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-3
|
|
|
1d3708 |
- Resolves: rhbz#1919026 libpwquaily rpm requires cracklib to function but RPM missing requirement [updated]
|
|
|
1d3708 |
|
|
|
1d3708 |
* Wed Feb 17 2021 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-2
|
|
|
1d3708 |
- Resolves: rhbz#1919026 libpwquaily rpm requires cracklib to function but RPM missing requirement
|
|
|
1d3708 |
|
|
|
1d3708 |
* Tue Oct 13 2020 Tomáš Mráz <tmraz@redhat.com> 1.4.4-1
|
|
|
1d3708 |
- Translation updates
|
|
|
1d3708 |
- Add usersubstr check for substrings of N characters from the username
|
|
|
1d3708 |
patch by Danny Sauer
|
|
|
1d3708 |
- pam_pwquality: Abort the retry loop if user requests it
|
|
|
1d3708 |
- Allow setting retry, enforce_for_root, and local_users_only options
|
|
|
1d3708 |
in the pwquality.conf config file
|
|
|
1d3708 |
|
|
|
8a9ed9 |
* Mon Oct 22 2018 Tomáš Mráz <tmraz@redhat.com> 1.4.0-9
|
|
|
8a9ed9 |
- Fix an issue found in Coverity scan
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Fri Jun 22 2018 Tomáš Mráz <tmraz@redhat.com> 1.4.0-8
|
|
|
8a9ed9 |
- Properly conditionalize the python buildrequires
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Mar 22 2018 Tomáš Mráz <tmraz@redhat.com> 1.4.0-7
|
|
|
8a9ed9 |
- Add conditionals for Python2 and Python3
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-6
|
|
|
8a9ed9 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.4.0-5
|
|
|
8a9ed9 |
- Switch to %%ldconfig_scriptlets
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Sun Dec 17 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.0-4
|
|
|
8a9ed9 |
- Python 2 binary package renamed to python2-pwquality
|
|
|
8a9ed9 |
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-3
|
|
|
8a9ed9 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-2
|
|
|
8a9ed9 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Fri May 26 2017 Tomáš Mráz <tmraz@redhat.com> 1.4.0-1
|
|
|
8a9ed9 |
- Do not try to check presence of too short username in password
|
|
|
8a9ed9 |
- Make the user name check optional (via usercheck option)
|
|
|
8a9ed9 |
- Add an 'enforcing' option to make the checks to be warning-only
|
|
|
8a9ed9 |
in PAM
|
|
|
8a9ed9 |
- The difok = 0 setting will disable all old password similarity
|
|
|
8a9ed9 |
checks except new and old passwords being identical
|
|
|
8a9ed9 |
- Updated translations from Zanata
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Mon Aug 24 2015 Tomáš Mráz <tmraz@redhat.com> 1.3.0-2
|
|
|
8a9ed9 |
- Fix possible stack overflow in the generate function (#1255935)
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Jul 23 2015 Tomáš Mráz <tmraz@redhat.com> 1.3.0-1
|
|
|
8a9ed9 |
- Change the defaults for credits, difok, and minlen
|
|
|
8a9ed9 |
- Make the cracklib check optional but on by default
|
|
|
8a9ed9 |
- Add implicit support for parsing <cfgfile>.d/*.conf files
|
|
|
8a9ed9 |
- Add libpwquality API manual page
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Wed Aug 6 2014 Tomáš Mráz <tmraz@redhat.com> 1.2.4-1
|
|
|
8a9ed9 |
- fix license handling (by Tom Callaway)
|
|
|
8a9ed9 |
- add Python3 module subpackage
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Sep 12 2013 Tomáš Mráz <tmraz@redhat.com> 1.2.3-1
|
|
|
8a9ed9 |
- fix problem with parsing the pam_pwquality options
|
|
|
8a9ed9 |
patch by Vladimir Sorokin.
|
|
|
8a9ed9 |
- updated translations from Transifex
|
|
|
8a9ed9 |
- treat empty user or password as NULL
|
|
|
8a9ed9 |
- move the library to /usr
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Wed Jun 19 2013 Tomas Mraz <tmraz@redhat.com> 1.2.2-1
|
|
|
8a9ed9 |
- manual page fixes
|
|
|
8a9ed9 |
- make it possible to set the maxsequence configuration value
|
|
|
8a9ed9 |
- updated translations from Transifex
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Dec 20 2012 Tomas Mraz <tmraz@redhat.com> 1.2.1-1
|
|
|
8a9ed9 |
- properly free pwquality settings
|
|
|
8a9ed9 |
- add extern "C" to public header
|
|
|
8a9ed9 |
- updated translations from Transifex
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Aug 16 2012 Tomas Mraz <tmraz@redhat.com> 1.2.0-1
|
|
|
8a9ed9 |
- add maxsequence check for too long monotonic character sequence.
|
|
|
8a9ed9 |
- clarified alternative licensing to GPLv2+.
|
|
|
8a9ed9 |
- add local_users_only option to skip the pwquality checks for
|
|
|
8a9ed9 |
non-locals. (thanks to Stef Walter)
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Wed Jun 13 2012 Tomas Mraz <tmraz@redhat.com> 1.1.1-1
|
|
|
8a9ed9 |
- use rpm built-in filtering of provides (rhbz#830153)
|
|
|
8a9ed9 |
- remove strain debug fprintf() (rhbz#831567)
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu May 24 2012 Tomas Mraz <tmraz@redhat.com> 1.1.0-1
|
|
|
8a9ed9 |
- fix leak when throwing PWQError exception
|
|
|
8a9ed9 |
- added pkgconfig file
|
|
|
8a9ed9 |
- call the simplicity checks before the cracklib check
|
|
|
8a9ed9 |
- add enforce_for_root option to the PAM module
|
|
|
8a9ed9 |
- updated translations from Transifex
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Thu Dec 8 2011 Tomas Mraz <tmraz@redhat.com> 1.0.0-1
|
|
|
8a9ed9 |
- added a few additional password quality checks
|
|
|
8a9ed9 |
- bugfix in configuration file parsing
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Fri Nov 11 2011 Tomas Mraz <tmraz@redhat.com> 0.9.9-1
|
|
|
8a9ed9 |
- added python bindings and documentation
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Mon Oct 10 2011 Tomas Mraz <tmraz@redhat.com> 0.9-2
|
|
|
8a9ed9 |
- fixes for problems found in review (missing BR on pam-devel,
|
|
|
8a9ed9 |
License field, Source URL, Require pam, other cleanups)
|
|
|
8a9ed9 |
|
|
|
8a9ed9 |
* Mon Oct 3 2011 Tomas Mraz <tmraz@redhat.com> 0.9-1
|
|
|
8a9ed9 |
- first spec file for libpwquality
|