Compare commits
34 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5eb62c37c3 | ||
|
|
a2a275aaad | ||
|
|
f89bd62c94 | ||
|
|
f4700c4903 | ||
|
|
9a97cb82f2 | ||
|
|
88d8849cc6 | ||
|
|
b37f8f3110 | ||
|
|
c26b4068b7 | ||
|
|
4818a420c7 | ||
|
|
2c4ba2e95a | ||
|
|
a6644adc7f | ||
|
|
0c78c612a3 | ||
|
|
cdfb8f895a | ||
|
|
87dd298792 | ||
|
|
cf96c513f3 | ||
|
|
be4bcf8050 | ||
|
|
e8e1fa6d86 | ||
|
|
79df3e2f46 | ||
|
|
4901068138 | ||
|
|
cb20544e38 | ||
|
|
353d86435e | ||
|
|
09005a0274 | ||
|
|
1ae540d471 | ||
|
|
11d67e1cdd | ||
|
|
5bc8f6552c | ||
|
|
30ff0281ec | ||
|
|
9143479f9d | ||
|
|
1ed2abfb90 | ||
|
|
9707601413 | ||
|
|
c201ed18c4 | ||
|
|
dc2e6c5a1f | ||
|
|
d47343a603 | ||
|
|
1a042645d0 | ||
|
|
2568a8cfab |
8 changed files with 6017 additions and 121 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -6,3 +6,11 @@
|
|||
/mod_auth_mellon-0.12.0.tar.gz
|
||||
/mod_auth_mellon-0.13.1.tar.gz
|
||||
/mod_auth_mellon-0.14.0.tar.gz
|
||||
/mod_auth_mellon-0.14.2.tar.gz
|
||||
/mod_auth_mellon-0.15.0.tar.gz
|
||||
/mod_auth_mellon-0.16.0.tar.gz
|
||||
/mod_auth_mellon-0.17.0.tar.gz
|
||||
/v0.18.0.tar.gz
|
||||
/v0.18.1.tar.gz
|
||||
/mod_auth_mellon-0.19.0.tar.gz
|
||||
/mod_auth_mellon-0.19.1.tar.gz
|
||||
|
|
|
|||
5884
0000-configure.patch
Normal file
5884
0000-configure.patch
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,33 +0,0 @@
|
|||
commit 5ba9bb72707a90503cd4d042083ea074a0cb6b8a
|
||||
Author: John Dennis <jdennis@redhat.com>
|
||||
Date: Fri Oct 30 15:46:33 2015 -0400
|
||||
|
||||
Role maybe unknown when assertion consumer url is looked up
|
||||
|
||||
Replace the call to lasso_provider_get_metadata_one() with
|
||||
lasso_provider_get_metadata_one_for_role() so that we can exlicitly
|
||||
pass the LASSO_PROVIDER_ROLE_SP role. The former call obtains the
|
||||
role from the provider object and then calls
|
||||
lasso_provider_get_metadata_one_for_role() using that role. However
|
||||
the role will not have been set in the provider until the first request is
|
||||
processed. This means the first time we call this routine it won't
|
||||
work correctly because the role will not have been set yet, by
|
||||
explicitly passing the role we avoid this problem.
|
||||
|
||||
Signed-off-by: John Dennis <jdennis@redhat.com>
|
||||
|
||||
diff --git a/auth_mellon_util.c b/auth_mellon_util.c
|
||||
index 155bb1a..6c694b7 100644
|
||||
--- a/auth_mellon_util.c
|
||||
+++ b/auth_mellon_util.c
|
||||
@@ -1827,7 +1827,9 @@ char *am_get_assertion_consumer_service_by_binding(LassoProvider *provider, cons
|
||||
}
|
||||
|
||||
if (selected_descriptor) {
|
||||
- url = lasso_provider_get_metadata_one(provider, selected_descriptor);
|
||||
+ url = lasso_provider_get_metadata_one_for_role(provider,
|
||||
+ LASSO_PROVIDER_ROLE_SP,
|
||||
+ selected_descriptor);
|
||||
}
|
||||
|
||||
lasso_release_list_of_strings(descriptors);
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
commit 040a1ae5cb2aab38b2bc716cc3d0d6fa7b998a7a
|
||||
Author: John Dennis <jdennis@redhat.com>
|
||||
Date: Mon Jan 16 09:02:06 2017 -0500
|
||||
|
||||
Use ap_set_content_type() to set "Content-Type" header
|
||||
|
||||
Formerly we were setting the response header "Content-Type" in
|
||||
r->headers_out directly via the apr_table_setn() call. Although using
|
||||
apr_table_setn() is appropriate for many HTTP headers Apache actively
|
||||
manages a small set of headers in
|
||||
http_filters.c:ap_http_header_filter(). These managed headers are
|
||||
derived from values maintained in the request_rec. "Content-Type" is
|
||||
one of the managed headers.
|
||||
|
||||
Because we didn't set r->content_type field via the
|
||||
ap_set_content_type() call and instead directly updated the
|
||||
r->headers_out table our value for "Content-Type" was overwriten when
|
||||
the ap_http_header_filter() was run just prior to emitting the
|
||||
response with the result the "Content-Type" header returned to the
|
||||
client was incorrect.
|
||||
|
||||
Signed-off-by: John Dennis <jdennis@redhat.com>
|
||||
|
||||
diff --git a/auth_mellon_handler.c b/auth_mellon_handler.c
|
||||
index a55828a..25365de 100644
|
||||
--- a/auth_mellon_handler.c
|
||||
+++ b/auth_mellon_handler.c
|
||||
@@ -2655,7 +2655,7 @@ static int am_set_authn_request_post_content(request_rec *r, LassoLogin *login)
|
||||
*/
|
||||
static int am_set_authn_request_paos_content(request_rec *r, LassoLogin *login)
|
||||
{
|
||||
- apr_table_setn(r->headers_out, "Content-Type", MEDIA_TYPE_PAOS);
|
||||
+ ap_set_content_type(r, MEDIA_TYPE_PAOS);
|
||||
ap_rputs(LASSO_PROFILE(login)->msg_body, r);
|
||||
|
||||
return OK;
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
commit 912aa852ebd78577f59cf7958c709acea98ace4c
|
||||
Author: John Dennis <jdennis@redhat.com>
|
||||
Date: Fri Apr 8 09:01:22 2016 -0400
|
||||
|
||||
am_check_uid() should be no-op if mellon not enabled
|
||||
|
||||
mod_auth_mellon was interferring with other Apache authentication
|
||||
modules (e.g. mod_auth_kerb) because when the Apache check_user_id
|
||||
hook ran the logic in am_check_uid would execute even if mellon was
|
||||
not enabled for the location. This short circuited the hook execution
|
||||
and never allowed the authentication enabled for the location to
|
||||
execute. It resulted in HTTP_UNAUTHORIZED being returned with the
|
||||
client then expecting a WWW-Authenticate header field causing the
|
||||
client to attempt to authenticate again.
|
||||
|
||||
Signed-off-by: John Dennis <jdennis@redhat.com>
|
||||
|
||||
diff --git a/auth_mellon_handler.c b/auth_mellon_handler.c
|
||||
index a72e1ca..864396f 100644
|
||||
--- a/auth_mellon_handler.c
|
||||
+++ b/auth_mellon_handler.c
|
||||
@@ -3625,6 +3625,12 @@ int am_check_uid(request_rec *r)
|
||||
return OK;
|
||||
}
|
||||
|
||||
+ /* Check that the user has enabled authentication for this directory. */
|
||||
+ if(dir->enable_mellon == am_enable_off
|
||||
+ || dir->enable_mellon == am_enable_default) {
|
||||
+ return DECLINED;
|
||||
+ }
|
||||
+
|
||||
#ifdef HAVE_ECP
|
||||
am_req_cfg_rec *req_cfg = am_get_req_cfg(r);
|
||||
if (req_cfg->ecp_authn_req) {
|
||||
|
|
@ -55,9 +55,9 @@ echo
|
|||
umask 0077
|
||||
|
||||
TEMPLATEFILE="$(mktemp -t mellon_create_sp.XXXXXXXXXX)"
|
||||
ERRORFILE="$(mktemp -t mellon_create_err.XXXXXXXXXX)"
|
||||
|
||||
cat >"$TEMPLATEFILE" <<EOF
|
||||
RANDFILE = /dev/urandom
|
||||
[req]
|
||||
default_bits = 2048
|
||||
default_keyfile = privkey.pem
|
||||
|
|
@ -68,9 +68,14 @@ policy = policy_anything
|
|||
commonName = $HOST
|
||||
EOF
|
||||
|
||||
openssl req -utf8 -batch -config "$TEMPLATEFILE" -new -x509 -days 3652 -nodes -out "$OUTFILE.cert" -keyout "$OUTFILE.key" 2>/dev/null
|
||||
openssl req -utf8 -batch -config "$TEMPLATEFILE" -new -x509 -days 3652 -nodes -out "$OUTFILE.cert" -keyout "$OUTFILE.key" 2>"$ERRORFILE" || (
|
||||
echo "Failed to generate certificate!" >&2
|
||||
cat "$ERRORFILE" >&2;
|
||||
rm -f "$TEMPLATEFILE" "$ERRORFILE"
|
||||
exit 1
|
||||
)
|
||||
|
||||
rm -f "$TEMPLATEFILE"
|
||||
rm -f "$TEMPLATEFILE" "$ERRORFILE"
|
||||
|
||||
CERT="$(grep -v '^-----' "$OUTFILE.cert")"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,26 +1,32 @@
|
|||
%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}}
|
||||
|
||||
Summary: A SAML 2.0 authentication module for the Apache Httpd Server
|
||||
Name: mod_auth_mellon
|
||||
Version: 0.14.0
|
||||
Release: 4%{?dist}
|
||||
Group: System Environment/Daemons
|
||||
Source0: https://github.com/UNINETT/mod_auth_mellon/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
||||
Version: 0.19.1
|
||||
Release: 1%{?dist}
|
||||
Source0: https://github.com/latchset/mod_auth_mellon/archive/v%{version}/%{name}-%{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: gcc
|
||||
Patch0: 0000-configure.patch
|
||||
License: GPL-2.0-or-later
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: curl-devel
|
||||
BuildRequires: glib2-devel
|
||||
BuildRequires: httpd-devel
|
||||
BuildRequires: lasso-devel >= 2.5.1-13
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: xmlsec1-devel
|
||||
BuildRequires: xmlsec1-openssl-devel
|
||||
BuildRequires: rubygem-asciidoctor
|
||||
BuildRequires: libtool-ltdl-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
Requires: httpd-mmn = %{_httpd_mmn}
|
||||
Requires: lasso >= 2.5.1-13
|
||||
Url: https://github.com/UNINETT/mod_auth_mellon
|
||||
Url: https://github.com/latchset/mod_auth_mellon
|
||||
|
||||
|
||||
%description
|
||||
|
|
@ -29,18 +35,19 @@ SAML 2.0 federation protocol. It grants access based on the attributes
|
|||
received in assertions generated by a IdP server.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
chmod +x configure
|
||||
|
||||
%build
|
||||
export APXS=%{_httpd_apxs}
|
||||
%configure --enable-diagnostics
|
||||
make clean
|
||||
make %{?_smp_mflags}
|
||||
%{make_build}
|
||||
cp .libs/%{name}.so %{name}-diagnostics.so
|
||||
|
||||
%configure
|
||||
make clean
|
||||
make %{?_smp_mflags}
|
||||
%{make_build}
|
||||
pushd doc/user_guide
|
||||
asciidoctor -a data-uri mellon_user_guide.adoc
|
||||
popd
|
||||
|
|
@ -86,11 +93,7 @@ in the doc directory for instructions on using the diagnostics build.
|
|||
%{_httpd_moddir}/%{name}-diagnostics.so
|
||||
|
||||
%files
|
||||
%if 0%{?rhel} && 0%{?rhel} < 7
|
||||
%doc COPYING
|
||||
%else
|
||||
%license COPYING
|
||||
%endif
|
||||
%doc README.md NEWS ECP.rst
|
||||
%doc %{_pkgdocdir}/README.redhat.rst
|
||||
%doc %{_pkgdocdir}/user_guide
|
||||
|
|
@ -102,6 +105,105 @@ in the doc directory for instructions on using the diagnostics build.
|
|||
%dir /run/%{name}/
|
||||
|
||||
%changelog
|
||||
* Mon Dec 08 2025 Xavier Bachelot <xavier@bachelot.org> - 0.19.1-1
|
||||
- Update to 0.19.1
|
||||
- Fix bogus date in changelog
|
||||
- Drop support for EOL releases
|
||||
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Jan 25 2024 Tomas Halman <thalman@redhat.com> - 0.19.0-1
|
||||
- Resolves: rhbz#2258342 - new version is available
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Mar 7 2023 Tomas Halman <thalman@redhat.com> - 0.18.1-3
|
||||
- migrated to SPDX license
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jan 6 2023 Tomas Halman <thalman@redhat.com> - 0.18.1-1
|
||||
- Resolves: rhbz#2158456 - new version is available
|
||||
|
||||
* Wed Oct 5 2022 Tomas Halman <thalman@redhat.com> - 0.18.0-5
|
||||
- Resolves: rhbz#1306445 Support HTTP-POST binding for SingleLogoutService
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jun 1 2022 Tomas Halman <thalman@redhat.com> - 0.18.0-2
|
||||
- Update mellon_create_metadata.sh to work with new openssl
|
||||
- Resolves: rhbz#2097703 Use of RANDFILE = /dev/urandom in openssl config
|
||||
break in OpenSSL 3
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Dec 17 2021 Tomas Halman <thalman@redhat.com> - 0.18.0-1
|
||||
- New upstream version 0.18.0
|
||||
- Resolves: rhbz#1988235 CVE-2021-3639 mod_auth_mellon: Open Redirect
|
||||
vulnerability in logout URLs
|
||||
- Resolves: rhbz#1988664 mod_auth_mellon-0.18.0 is available
|
||||
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 0.17.0-4
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Sep 16 2020 Jakub Hrozek <jhrozek@redhat.com> - 0.17.0-1
|
||||
- New upstream version 0.17.0
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Feb 13 2020 Tom Stellard <tstellar@redhat.com> - 0.16.0-2
|
||||
- Use make_build macro instead of just make
|
||||
- https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make
|
||||
|
||||
* Mon Feb 3 2020 Jakub Hrozek <jhrozek@redhat.com> - 0.16.0-1
|
||||
- New upstream version 0.16.0
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Nov 19 2019 Jakub Hrozek <jhrozek@redhat.com> - 0.15.0-1
|
||||
- New upstream version 0.15.0
|
||||
- Resolves: rhbz#1725742 - CVE-2019-13038 mod_auth_mellon: an Open Redirect
|
||||
via the login?ReturnTo= substring which could
|
||||
facilitate information theft [fedora-all]
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Mar 22 2019 Jakub Hrozek <jhrozek@redhat.com> - 0.14.2-1
|
||||
- Upgrade to 0.14.2
|
||||
- Related: rhbz#1691771 - CVE-2019-3877 mod_auth_mellon: open redirect in
|
||||
logout url when using URLs with backslashes
|
||||
- Related: rhbz#1691136 - CVE-2019-3878 mod_auth_mellon: authentication
|
||||
bypass in ECP flow
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (mod_auth_mellon-0.14.0.tar.gz) = db1bf70c234fe89914b1bb34fc6afb5b901193a8c8c7e9946485a3e20a7d129c36427717eab53764edf5a5cff5c45dfe412e400cb1f50c49ef24dbbfd6ecbf25
|
||||
SHA512 (mod_auth_mellon-0.19.1.tar.gz) = d512cf0eb52b91c7f6671e5e9425eb62263e58e0d3c5daea0fab13315e6310e228fd2f736a1793dc67037dbd717727a61908eb87e7b6654d7da4c62434c9301d
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue