Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package apache2-mod_auth_openidc for
openSUSE:Factory checked in at 2021-04-06 17:29:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2-mod_auth_openidc (Old)
and /work/SRC/openSUSE:Factory/.apache2-mod_auth_openidc.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2-mod_auth_openidc"
Tue Apr 6 17:29:54 2021 rev:15 rq:883176 version:2.4.7
Changes:
--------
---
/work/SRC/openSUSE:Factory/apache2-mod_auth_openidc/apache2-mod_auth_openidc.changes
2021-03-30 21:06:18.441107314 +0200
+++
/work/SRC/openSUSE:Factory/.apache2-mod_auth_openidc.new.2401/apache2-mod_auth_openidc.changes
2021-04-06 17:31:18.511227385 +0200
@@ -1,0 +2,25 @@
+Mon Apr 5 22:41:02 UTC 2021 - Michael Str??der <[email protected]>
+
+- Update to version 2.4.7
+ * Bugfixes
+ - avoid logged-out sessions remaining (valid) in the session cache:
+ remove session from cache before clearing it; see #542
+ * Features
+ - add maximum session lifetime (exp), inactivity timeout (timeout)
+ and remote_user to OIDCInfoHook; closes #541
+ * Security
+ - add opt-out on sub check in userinfo endpoint response using the
+ (undocumented) OIDC_NO_USERINFO_SUB environment variable,
+ for backwards (but insecure) compatibility, see #544
+ * Dependencies
+ - libcjose >= 0.5.1
+ - if your distribution does not provide libcjose in its package repository,
+ recent packages for a number of platforms are available from the "Assets"
+ section in release 2.4.0
+
+-------------------------------------------------------------------
+Thu Apr 1 12:13:33 UTC 2021 - [email protected]
+
+- require hiredis only for newer distros than SLE-15 [jsc#SLE-11726]
+
+-------------------------------------------------------------------
Old:
----
apache2-mod_auth_openidc-2.4.6.tar.gz
New:
----
apache2-mod_auth_openidc-2.4.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache2-mod_auth_openidc.spec ++++++
--- /var/tmp/diff_new_pack.oaMO24/_old 2021-04-06 17:31:18.987227924 +0200
+++ /var/tmp/diff_new_pack.oaMO24/_new 2021-04-06 17:31:18.991227929 +0200
@@ -19,7 +19,7 @@
%define apxs %{_sbindir}/apxs2
%define apache_libexecdir %(%{apxs} -q LIBEXECDIR)
Name: apache2-mod_auth_openidc
-Version: 2.4.6
+Version: 2.4.7
Release: 0
Summary: Apache2.x module for an OpenID Connect enabled Identity
Provider
License: Apache-2.0
@@ -30,7 +30,7 @@
BuildRequires: apache2-devel
BuildRequires: autoconf
BuildRequires: automake
-%if 0%{?is_opensuse} > 0
+%if 0%{?suse_version} >= 1550
BuildRequires: hiredis-devel
%endif
BuildRequires: libtool
++++++ apache2-mod_auth_openidc-2.4.6.tar.gz ->
apache2-mod_auth_openidc-2.4.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/AUTHORS
new/mod_auth_openidc-2.4.7/AUTHORS
--- old/mod_auth_openidc-2.4.6/AUTHORS 2021-02-08 14:35:38.000000000 +0100
+++ new/mod_auth_openidc-2.4.7/AUTHORS 2021-04-05 16:22:26.000000000 +0200
@@ -67,3 +67,4 @@
Paul Spangler <https://github.com/spanglerco>
Chris Pawling <https://github.com/chris468>
Matthias Flesch??tz <https://github.com/blindzero>
+ Harri Rautila <https://github.com/hrautila>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/ChangeLog
new/mod_auth_openidc-2.4.7/ChangeLog
--- old/mod_auth_openidc-2.4.6/ChangeLog 2021-02-08 14:35:38.000000000
+0100
+++ new/mod_auth_openidc-2.4.7/ChangeLog 2021-04-05 16:22:26.000000000
+0200
@@ -1,3 +1,17 @@
+04/04/2021
+- improve documentation on OIDCPreservePost
+- release 2.4.7
+
+04/01/2021
+- bump to 2.4.7rc1
+
+02/16/2021
+- remove session from cache before clearing it.
+
+02/12/2021
+- add maximum session lifetime (exp), inactivity timeout (timeout) and
remote_user to OIDCInfoHook
+- bump to 2.4.7-dev
+
02/08/2021
- return 400 instead of 500 when state cookie matching fails
- release 2.4.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/auth_openidc.conf
new/mod_auth_openidc-2.4.7/auth_openidc.conf
--- old/mod_auth_openidc-2.4.6/auth_openidc.conf 2021-02-08
14:35:38.000000000 +0100
+++ new/mod_auth_openidc-2.4.7/auth_openidc.conf 2021-04-05
16:22:26.000000000 +0200
@@ -821,8 +821,10 @@
#OIDCUnAutzAction [401|403|auth]
# Indicates whether POST data will be preserved across authentication requests
(and discovery in case of multiple OPs).
-# Preservation is done via HTML 5 local storage. Note that this can lead to
private data exposure on shared terminals,
-# that is why the default is "Off". Can be configured on a per
Directory/Location basis.
+# This is designed to prevent data loss when a session timeout occurs in a
(long) user filled HTML form.
+# It cannot handle arbitrary payloads for security (DOS) reasons, merely
form-encoded user data.
+# Preservation is done via HTML 5 local storage: note that this can lead to
private data exposure on shared terminals.
+# The default is "Off" (for security reasons). Can be configured on a per
Directory/Location basis.
#OIDCPreservePost [On|Off]
# Indicates whether the refresh token will be passed to the application in a
header/environment variable, according
@@ -859,9 +861,12 @@
# id_token (object) : the claims presented in the ID token
# userinfo (object) : the claims resolved from the UserInfo endpoint
# refresh_token (string) : the refresh token (if returned by the OP)
+# exp (int) : the maximum session lifetime (Unix timestamp
in seconds)
+# timeout (int) : the session inactivity timeout (Unix
timestamp in seconds)
+# remote_user (string) : the remote user name
# session (object) : (for debugging) mod_auth_openidc specific
session data such as "remote user", "session expiry", "session id" and a
"state" object
# When not defined the session hook will not return any data but a HTTP 404
-#OIDCInfoHook
[iat|access_token|access_token_expires|id_token|userinfo|refresh_token|session]+
+#OIDCInfoHook
[iat|access_token|access_token_expires|id_token|userinfo|refresh_token|exp|timeout|remote_user|session]+
# Specify claims that should be removed from the userinfo and/or id_token
before storing them in the session.
# Note that OIDCBlackListedClaims takes precedence over OIDCWhiteListedClaims
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/configure.ac
new/mod_auth_openidc-2.4.7/configure.ac
--- old/mod_auth_openidc-2.4.6/configure.ac 2021-02-08 14:35:38.000000000
+0100
+++ new/mod_auth_openidc-2.4.7/configure.ac 2021-04-05 16:22:26.000000000
+0200
@@ -1,4 +1,4 @@
-AC_INIT([mod_auth_openidc],[2.4.6],[[email protected]])
+AC_INIT([mod_auth_openidc],[2.4.7],[[email protected]])
AC_SUBST(NAMEVER, AC_PACKAGE_TARNAME()-AC_PACKAGE_VERSION())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/src/mod_auth_openidc.c
new/mod_auth_openidc-2.4.7/src/mod_auth_openidc.c
--- old/mod_auth_openidc-2.4.6/src/mod_auth_openidc.c 2021-02-08
14:35:38.000000000 +0100
+++ new/mod_auth_openidc-2.4.7/src/mod_auth_openidc.c 2021-04-05
16:22:26.000000000 +0200
@@ -3524,6 +3524,29 @@
json_object_set_new(json, OIDC_HOOK_INFO_USER_INFO,
claims);
}
+ /* include the maximum session lifetime in the session info */
+ if (apr_hash_get(c->info_hook_data, OIDC_HOOK_INFO_SESSION_EXP,
+ APR_HASH_KEY_STRING)) {
+ apr_time_t session_expires = oidc_session_get_session_expires(r,
+ session);
+ json_object_set_new(json, OIDC_HOOK_INFO_SESSION_EXP,
+ json_integer(apr_time_sec(session_expires)));
+ }
+
+ /* include the inactivity timeout in the session info */
+ if (apr_hash_get(c->info_hook_data, OIDC_HOOK_INFO_SESSION_TIMEOUT,
+ APR_HASH_KEY_STRING)) {
+ json_object_set_new(json, OIDC_HOOK_INFO_SESSION_TIMEOUT,
+ json_integer(apr_time_sec(session->expiry)));
+ }
+
+ /* include the remote_user in the session info */
+ if (apr_hash_get(c->info_hook_data, OIDC_HOOK_INFO_SESSION_REMOTE_USER,
+ APR_HASH_KEY_STRING)) {
+ json_object_set_new(json, OIDC_HOOK_INFO_SESSION_REMOTE_USER,
+ json_string(session->remote_user));
+ }
+
if (apr_hash_get(c->info_hook_data, OIDC_HOOK_INFO_SESSION,
APR_HASH_KEY_STRING)) {
json_t *j_session = json_object();
@@ -3531,14 +3554,6 @@
session->state);
json_object_set_new(j_session, OIDC_HOOK_INFO_SESSION_UUID,
json_string(session->uuid));
- json_object_set_new(j_session, OIDC_HOOK_INFO_SESSION_TIMEOUT,
- json_integer(apr_time_sec(session->expiry)));
- apr_time_t session_expires = oidc_session_get_session_expires(r,
- session);
- json_object_set_new(j_session, OIDC_HOOK_INFO_SESSION_EXP,
- json_integer(apr_time_sec(session_expires)));
- json_object_set_new(j_session,
OIDC_HOOK_INFO_SESSION_REMOTE_USER,
- json_string(session->remote_user));
json_object_set_new(json, OIDC_HOOK_INFO_SESSION, j_session);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/src/parse.c
new/mod_auth_openidc-2.4.7/src/parse.c
--- old/mod_auth_openidc-2.4.6/src/parse.c 2021-02-08 14:35:38.000000000
+0100
+++ new/mod_auth_openidc-2.4.7/src/parse.c 2021-04-05 16:22:26.000000000
+0200
@@ -1187,6 +1187,9 @@
OIDC_HOOK_INFO_ID_TOKEN,
OIDC_HOOK_INFO_USER_INFO,
OIDC_HOOK_INFO_REFRESH_TOKEN,
+ OIDC_HOOK_INFO_SESSION_EXP,
+ OIDC_HOOK_INFO_SESSION_TIMEOUT,
+ OIDC_HOOK_INFO_SESSION_REMOTE_USER,
OIDC_HOOK_INFO_SESSION,
NULL };
const char *rv = oidc_valid_string_option(pool, arg, options);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/src/proto.c
new/mod_auth_openidc-2.4.7/src/proto.c
--- old/mod_auth_openidc-2.4.6/src/proto.c 2021-02-08 14:35:38.000000000
+0100
+++ new/mod_auth_openidc-2.4.7/src/proto.c 2021-04-05 16:22:26.000000000
+0200
@@ -2335,7 +2335,8 @@
oidc_debug(r, "id_token_sub=%s, user_info_sub=%s", id_token_sub,
user_info_sub);
- if (user_info_sub == NULL) {
+ if ((user_info_sub == NULL)
+ && (apr_table_get(r->subprocess_env,
"OIDC_NO_USERINFO_SUB") == NULL)) {
oidc_error(r,
"mandatory claim (\"%s\") was not returned from
userinfo endpoint
(https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse)",
OIDC_CLAIM_SUB);
@@ -2343,7 +2344,7 @@
return FALSE;
}
- if (id_token_sub != NULL) {
+ if ((id_token_sub != NULL) && (user_info_sub != NULL)) {
if (apr_strnatcmp(id_token_sub, user_info_sub) != 0) {
oidc_error(r,
"\"%s\" claim (\"%s\") returned from
userinfo endpoint does not match the one in the id_token (\"%s\")",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mod_auth_openidc-2.4.6/src/session.c
new/mod_auth_openidc-2.4.7/src/session.c
--- old/mod_auth_openidc-2.4.6/src/session.c 2021-02-08 14:35:38.000000000
+0100
+++ new/mod_auth_openidc-2.4.7/src/session.c 2021-04-05 16:22:26.000000000
+0200
@@ -398,8 +398,12 @@
* terminate a session
*/
apr_byte_t oidc_session_kill(request_rec *r, oidc_session_t *z) {
- oidc_session_free(r, z);
- return oidc_session_save(r, z, FALSE);
+ if (z->state) {
+ json_decref(z->state);
+ z->state = NULL;
+ }
+ oidc_session_save(r, z, FALSE);
+ return oidc_session_free(r, z);
}
/*