- Remove Berkeley DB dependency (JIRA#SLE-12190)

The pacakges cyrus-sasl and cyrus-sasl-saslauthd are build
  without Berkely DB support. gdbm will be used instead of BDB.
  The pacakges cyrus-sasl-bdb and cyrus-sasl-saslauthd-bdb are build
  with Berkely DB support.
- Update to 2.1.27
  * Added support for OpenSSL 1.1
  * Added support for lmdb
  * Lots of build fixes
  * Treat SCRAM and DIGEST-MD5 as more secure than PLAIN when selecting client mech
  * DIGEST-MD5 plugin:
        Fixed memory leaks
        Fixed a segfault when looking for non-existent reauth cache
        Prevent client from going from step 3 back to step 2
        Allow cmusaslsecretDIGEST-MD5 property to be disabled
  * GSSAPI plugin:
        Added support for retrieving negotiated SSF
        Fixed GSS-SPNEGO to use flags negotiated by GSSAPI for SSF
        Properly compute maxbufsize AFTER security layers have been set
  * SCRAM plugin:
        Added support for SCRAM-SHA-256
  * LOGIN plugin:
        Don’t prompt client for password until requested by server
  * NTLM plugin:
        Fixed crash due to uninitialized HMAC context
- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)
- bsc#983938 `After=syslog.target` left-overs in several unit files
- added patches:
  fix_libpq-fe_include.diff  for fixing including libpq-fe.h

OBS-URL: https://build.opensuse.org/package/show/network/cyrus-sasl?expand=0&rev=83
This commit is contained in:
Peter Varkoly 2020-12-24 07:13:40 +00:00 committed by Git OBS Bridge
parent 1284bc3de0
commit d2795b2d59
4 changed files with 66 additions and 28 deletions

View File

@ -17,7 +17,7 @@
Name: cyrus-sasl-bdb
%define lname libsasl2-3
%define lname libsasl2-3
Version: 2.1.27
Release: 0
URL: http://asg.web.cmu.edu/sasl/
@ -47,46 +47,55 @@ BuildRequires: pkg-config
# bug437293
Obsoletes: cyrus-sasl-64bit
%endif
Conflicts: cyrus-sasl
%package gssapi
Summary: Plugin for the GSSAPI SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-gssapi
%package crammd5
Summary: Plugin for the CRAMMD5 SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-crammd5
%package digestmd5
Summary: Plugin for the DIGESTMD5 SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-digestmd5
%package otp
Summary: Plugin for the OTP SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-otp
%package plain
Summary: Plugin for the PLAIN SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-plain
%package ntlm
Summary: Plugin for the NTLM SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-ntlm
%package gs2
Summary: Plugin for the GS2 SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-gs2
%package scram
Summary: Plugin for the SCRAM SASL mechanism
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-scram
%package devel
# bug437293
@ -98,10 +107,7 @@ Summary: Cyrus SASL API Implementation, Libraries and Header Files
Group: Development/Libraries/C and C++
Requires: %lname = %version
Requires: glibc-devel
%package -n libsasl2-3
Summary: Simple Authentication and Security Layer (SASL) library
Group: System/Libraries
Conflicts: cyrus-sasl-devel
%description
This is the Cyrus SASL API. It can be used on the client or server side
@ -150,14 +156,6 @@ This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 5802 for more
information.
%description -n libsasl2-3
Simple Authentication and Security Layer (SASL) is a framework for
authentication and data security in Internet protocols.
This is the Cyrus SASL API implementation. It can be used on the client
or server side to provide authentication. See RFC 2222 for more
information.
%prep
%setup -q -n cyrus-sasl-%{version} -a 1
if [ -e %{_builddir}/cyrus-sasl-%{version}/dlcompat-*/ ]
@ -201,15 +199,9 @@ rm -f $RPM_BUILD_ROOT/%{_mandir}/cat?/*
rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/saslauthd*
rm -f $RPM_BUILD_ROOT/usr/sbin/saslauthd
rm -f $RPM_BUILD_ROOT/usr/sbin/testsaslauthd
rm -r $RPM_BUILD_ROOT%{_libdir}/libsasl2.so.3*
find "%buildroot" -type f -name "*.la" -print -delete
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%defattr(-,root,root)
%{_libdir}/libsasl2.so.3*
%files
%defattr(-,root,root)
%dir %{_libdir}/sasl2

View File

@ -53,26 +53,29 @@ BuildRequires: pam-devel
BuildRequires: postgresql-devel
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
Conflicts: cyrus-sasl-saslauthd
%description
This daemon is required when using cyrus-sasl in server software that
should authenticate with PAM, for example.
%package -n cyrus-sasl-ldap-auxprop
%package -n cyrus-sasl-ldap-auxprop-bdb
Summary: The cyrus-sasl LDAP auxprop plugin
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Requires: cyrus-sasl-bdb = %{version}
Conflicts: cyrus-sasl-ldap-auxprop
%description -n cyrus-sasl-ldap-auxprop
%description -n cyrus-sasl-ldap-auxprop-bdb
The LDAP auxprop plugin allows for tighter application/directory
integration.
%package -n cyrus-sasl-sqlauxprop
%package -n cyrus-sasl-sqlauxprop-bdb
Summary: SQL auxprop plugin for cyrus-sasl
Group: Development/Libraries/C and C++
Requires: cyrus-sasl = %{version}
Requires: cyrus-sasl-bdb = %{version}
Conflicts: cyrus-sasl-sqlauxprop
%description -n cyrus-sasl-sqlauxprop
%description -n cyrus-sasl-sqlauxprop-bdb
The SQL auxprop plugin supports PostgreSQL and MySQL
%prep
@ -161,12 +164,12 @@ install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_unitdir}
%doc %{_mandir}/man8/*.gz
%doc saslauthd/COPYING saslauthd/ChangeLog saslauthd/LDAP_SASLAUTHD
%files -n cyrus-sasl-sqlauxprop
%files -n cyrus-sasl-sqlauxprop-bdb
%defattr(-,root,root)
%dir %_libdir/sasl2/
%{_libdir}/sasl2/libsql.so*
%files -n cyrus-sasl-ldap-auxprop
%files -n cyrus-sasl-ldap-auxprop-bdb
%defattr(-,root,root)
%dir %_libdir/sasl2/
%{_libdir}/sasl2/libldapdb.so*

View File

@ -53,6 +53,7 @@ BuildRequires: pam-devel
BuildRequires: postgresql-devel
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
Conflicts: cyrus-sasl-saslauthd-bdb
%description
This daemon is required when using cyrus-sasl in server software that
@ -62,6 +63,7 @@ should authenticate with PAM, for example.
Summary: The cyrus-sasl LDAP auxprop plugin
Group: Productivity/Networking/Other
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-ldap-auxprop-bdb
%description -n cyrus-sasl-ldap-auxprop
The LDAP auxprop plugin allows for tighter application/directory
@ -71,6 +73,7 @@ integration.
Summary: SQL auxprop plugin for cyrus-sasl
Group: Development/Libraries/C and C++
Requires: cyrus-sasl = %{version}
Conflicts: cyrus-sasl-sqlauxprop-bdb
%description -n cyrus-sasl-sqlauxprop
The SQL auxprop plugin supports PostgreSQL and MySQL

View File

@ -47,46 +47,55 @@ BuildRequires: pkg-config
# bug437293
Obsoletes: cyrus-sasl-64bit
%endif
Conflicts: cyrus-sasl-bdb
%package gssapi
Summary: Plugin for the GSSAPI SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-gssapi
%package crammd5
Summary: Plugin for the CRAMMD5 SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-crammd5
%package digestmd5
Summary: Plugin for the DIGESTMD5 SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-digestmd5
%package otp
Summary: Plugin for the OTP SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-otp
%package plain
Summary: Plugin for the PLAIN SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-plain
%package ntlm
Summary: Plugin for the NTLM SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-ntlm
%package gs2
Summary: Plugin for the GS2 SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-ntlm
%package scram
Summary: Plugin for the SCRAM SASL mechanism
Group: Productivity/Networking/Other
Requires: %{name} = %{version}
Conflicts: cyrus-sasl-bdb-scram
%package devel
# bug437293
@ -98,10 +107,12 @@ Summary: Cyrus SASL API Implementation, Libraries and Header Files
Group: Development/Libraries/C and C++
Requires: %lname = %version
Requires: glibc-devel
Conflicts: cyrus-sasl-devel-bdb
%package -n libsasl2-3
Summary: Simple Authentication and Security Layer (SASL) library
Group: System/Libraries
Conflicts: libsasl2-3-bdb
%description
This is the Cyrus SASL API. It can be used on the client or server side
@ -203,6 +214,35 @@ rm -f $RPM_BUILD_ROOT/usr/sbin/saslauthd
rm -f $RPM_BUILD_ROOT/usr/sbin/testsaslauthd
find "%buildroot" -type f -name "*.la" -print -delete
%pre
#Convert password file from berkely into gdbm
#In %pre the existing file will be dumped out
if [ -e /etc/sasldb2 ]; then
cat <<EOF > /tmp/saslpw.awk
{
split(\$0,b,/\\\00/)
if( b[3] == "userPassword" ) {
user=b[1]
domain=b[2]
} else {
if( user != "" ) {
printf("echo '%s' | saslpasswd2 -p -u %s %s\n",substr(b[1],2),user,domain)
user = ""
domain = ""
}
}
}
EOF
db_dump -p /etc/sasldb2 | gawk -f /tmp/saslpw.awk > /var/adm/update-scripts/saslpwd
mv /etc/sasldb2 /etc/sasldb2-back
fi
%post
if [ -e /var/adm/update-scripts/saslpwd ]; then
chmod 755 /var/adm/update-scripts/saslpwd
/var/adm/update-scripts/saslpwd
fi
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig