%{?scl:%scl_package mod_auth_mellon} Summary: A SAML 2.0 authentication module for the Apache Httpd Server Name: %{?scl:%scl_prefix}mod_auth_mellon Version: 0.14.0 Release: 3%{?dist} Group: System Environment/Daemons Source0: https://github.com/UNINETT/mod_auth_mellon/releases/download/v%{version}/mod_auth_mellon-%{version}.tar.gz Source1: auth_mellon.conf Source2: 10-auth_mellon.conf Source3: mod_auth_mellon.conf Source4: mellon_create_metadata.sh Source5: README.redhat.rst License: GPLv2+ BuildRequires: curl-devel BuildRequires: glib2-devel BuildRequires: %{?scl:%scl_prefix}httpd-devel BuildRequires: lasso-devel >= 2.5.0 BuildRequires: openssl-devel BuildRequires: xmlsec1-devel BuildRequires: asciidoc %if 0%{?scl:1} Requires: %{?scl:%scl_prefix}httpd-mmn = %{_httpd24_mmn} %else Requires: httpd-mmn = %{_httpd_mmn} %endif Requires: lasso >= 2.5.1 %{?scl:Requires:%scl_runtime} Url: https://github.com/UNINETT/mod_auth_mellon # Security patches: # https://bugzilla.redhat.com/show_bug.cgi?id=1691126 Patch100: mod_auth_mellon-0.14.0-CVE-2019-3878.patch %description The mod_auth_mellon module is an authentication service that implements the SAML 2.0 federation protocol. It grants access based on the attributes received in assertions generated by a IdP server. %prep %setup -q -n mod_auth_mellon-%{version} %patch100 -p1 -b .CVE-2019-3878 %build %if 0%{?scl:1} export APXS=%{_httpd24_apxs} %else export APXS=%{_httpd_apxs} %endif %configure --with-apxs2=$APXS --enable-diagnostics make clean make %{?_smp_mflags} cp .libs/mod_auth_mellon.so mod_auth_mellon-diagnostics.so %configure --with-apxs2=$APXS make clean make %{?_smp_mflags} # don't have asciidoctor in rhel-7 pushd doc/user_guide asciidoc -a data-uri mellon_user_guide.adoc popd %install # install module %if 0%{?scl:1} install -Dm 755 .libs/mod_auth_mellon.so \ %{buildroot}%{_httpd24_moddir}/mod_auth_mellon.so install -Dm 755 mod_auth_mellon-diagnostics.so \ %{buildroot}%{_httpd24_moddir}/mod_auth_mellon-diagnostics.so %else install -Dm 755 .libs/mod_auth_mellon.so \ %{buildroot}%{_httpd_moddir}/mod_auth_mellon.so install -Dm 755 mod_auth_mellon-diagnostics.so \ %{buildroot}%{_httpd_moddir}/mod_auth_mellon-diagnostics.so %endif # install module configuration %if 0%{?scl:1} mkdir -p %{buildroot}%{_httpd24_confdir} install -m 644 %{SOURCE1} %{buildroot}%{_httpd24_confdir} sed -i 's|\$name|%{name}|g' %{buildroot}%{_httpd24_confdir}/auth_mellon.conf mkdir -p %{buildroot}%{_httpd24_modconfdir} install -m 644 %{SOURCE2} %{buildroot}%{_httpd24_modconfdir} %else mkdir -p %{buildroot}%{_httpd_confdir} install -m 644 %{SOURCE1} %{buildroot}%{_httpd_confdir} sed -i 's|\$name|%{name}|g' %{buildroot}%{_httpd24_confdir}/auth_mellon.conf mkdir -p %{buildroot}%{_httpd_modconfdir} install -m 644 %{SOURCE2} %{buildroot}%{_httpd_modconfdir} %endif mkdir -p %{buildroot}%{_tmpfilesdir} install -m 644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf sed -i 's|\$name|%{name}|g' %{buildroot}%{_root_prefix}/lib/tmpfiles.d/%{name}.conf mkdir -p %{buildroot}%{_localstatedir}/run/%{name} # install script to generate metadata mkdir -p %{buildroot}%{_libexecdir}/mod_auth_mellon install -m 755 %{SOURCE4} %{buildroot}%{_libexecdir}/mod_auth_mellon #install documentation mkdir -p %{buildroot}/%{_pkgdocdir} # install Red Hat README install %{SOURCE5} %{buildroot}/%{_pkgdocdir} # install user guide cp -r doc/user_guide %{buildroot}/%{_pkgdocdir} %package diagnostics Summary: Build of mod_auth_mellon with diagnostic logging Requires: %{name} = %{version}-%{release} %description diagnostics Build of mod_auth_mellon with diagnostic logging. See README.redhat.rst in the doc directory for instructions on using the diagnostics build. %files diagnostics %if 0%{?scl:1} %{_httpd24_moddir}/mod_auth_mellon-diagnostics.so %else %{_httpd_moddir}/mod_auth_mellon-diagnostics.so %endif %files %defattr(-,root,root) %if 0%{?rhel} && 0%{?rhel} < 7 %doc COPYING %else %license COPYING %endif %doc %{_pkgdocdir}/README.redhat.rst %doc %{_pkgdocdir}/user_guide %doc README.md NEWS ECP.rst %if 0%{?scl:1} %config(noreplace) %{_httpd24_modconfdir}/10-auth_mellon.conf %config(noreplace) %{_httpd24_confdir}/auth_mellon.conf %{_httpd24_moddir}/mod_auth_mellon.so %else %config(noreplace) %{_httpd_modconfdir}/10-auth_mellon.conf %config(noreplace) %{_httpd_confdir}/auth_mellon.conf %{_httpd_moddir}/mod_auth_mellon.so %endif %{_tmpfilesdir}/%{name}.conf %{_libexecdir}/mod_auth_mellon %dir %{_localstatedir}/run/%{name}/ %changelog * Wed Apr 03 2019 Lubos Uhliarik - 0.14.0-3 - Resolves: #1692459 - CVE-2019-3878 httpd24-mod_auth_mellon: mod_auth_mellon: authentication bypass in ECP flow * Wed Jan 09 2019 Lubos Uhliarik - 0.14.0-2 - Resolves: #1568475 - mod_auth_mellon: tmpfiles.d drop-in wrong location - Resolves: #1568837 - ownership test fail * Tue Jan 08 2019 Lubos Uhliarik - 0.14.0-1 - new version 0.14.0 (#1582039) * Fri Jan 05 2018 Luboš Uhliarik - 0.13.1-2 - Resolves: #1514391 - [RFE] Include mod_auth_mellon for RHSCL httpd24 - Merged with RHEL-7.5 branch, SCLized spec * Fri Oct 20 2017 John Dennis - 0.13.1-1 - Resolves: rhbz#1481332 Upgrade to current upstream 0.13.1 - Adds the following upstream bug fixes on top of 0.13.1: * ee97812 Add Mellon User Guide * daa5d1e If no IdP's are defined explicitly log that fact * c291232 Make MellonUser case-insensitive. * 2c2e19d Fix incorrect error check for many `lasso_*`-functions. * 5c5ed1d Fix segmentation fault with POST field without a value. * 4c924d9 Fix some log message typos * 93faba4 Update log msg for Invalid Destination and Invalid Audience to show both the expected and received values. - Add new mellon user guide to installed docdir * Mon Jan 30 2017 John Dennis - 0.11.0-4 - Resolves: rhbz#1414021 - Incorrect Content-Type header in ECP PAOS Rebuilding due to missing comment in Changelog * Mon Jan 30 2017 John Dennis - 0.11.0-3 - Resolves: rhbz#1414021 - Incorrect Content-Type header in ECP PAOS * Fri Apr 8 2016 John Dennis - 0.11.0-2 - Resolves: bug #1296286 mod_auth_mellon emits CRITICAL warning message in Apache log when doing ECP - Resolves: bug #1324536 Installing mod_auth_mellon causes working Kerberos authentication to start failing - Add ECP.rst documentation file that was erroneously omitted * Fri Sep 18 2015 John Dennis - 0.11.0-1 - Upgrade to upstream 0.11.0 release. - Includes ECP support, see NEWS for all changes. - Update mellon_create_metadata.sh to match internally generated metadata, includes AssertionConsumerService for postResponse, artifactResponse & paosResponse. - Add lasso 2.5.0 version dependency - Resolves: #1205345 * Mon Aug 24 2015 John Dennis - 0.10.0-3 - Rebase to upstream 0.10.0 release - Apply upstream commits post 0.10.0 release - Apply revised ECP pending patches, fix patch to pickup change in configure script that causes HAVE_ECP to be defined - Resolves: #1205345 * Wed Aug 19 2015 John Dennis - 0.10.0-2 - Rebase to upstream 0.10.0 release - Apply upstream commits post 0.10.0 release - Apply revised ECP pending patches - Resolves: #1205345 * Mon Jun 22 2015 John Dennis - 0.10.0-1 - Rebase to upstream 0.10.0 release - Apply upstream commits post 0.10.0 release - Apply ECP pending patches - Resolves: #1205345 * Mon Dec 8 2014 Simo Sorce 0.9.1-4 - Large scale intreop patches - Resolves: #1167844 * Wed Sep 10 2014 Simo Sorce 0.9.1-3 - Fix upstream sources URL - Related: #1120353 * Fri Sep 5 2014 Simo Sorce 0.9.1-2 - Import package in RHEL7 - Resolves: #1120353 * Tue Sep 2 2014 Simo Sorce 0.9.1-1 - New upstream release * Sun Aug 17 2014 Fedora Release Engineering - 0.8.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Jun 24 2014 Simo Sorce 0.8.0-1 - New upstream realease version 0.8.0 - Upstream moved to github - Drops patches as they have been all included upstream * Fri Jun 20 2014 Simo Sorce 0.7.0-3 - Backport of useful patches from upstream - Better handling of IDP reported errors - Better handling of session data storage size * Sat Jun 07 2014 Fedora Release Engineering - 0.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Tue Dec 10 2013 Simo Sorce 0.7.0-1 - Fix ownership of /run files * Wed Nov 27 2013 Simo Sorce 0.7.0-0 - Initial Fedora release based on version 0.7.0 - Based on an old spec file by Jean-Marc Liger