chore(deps): update dependency canaille to v0.4.3 - autoclosed #52
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/canaille-0.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==0.2.7→==0.4.3Release Notes
yaal/canaille (canaille)
v0.4.3Compare Source
Changed
^^^^^^^
Deleting the account of the last member of a group deletes the group,
and the clients that only this group owns.
Existing groups without members need a member before they can be edited.
$ref.Fixed
^^^^^
They now answer with an
insecure_transporterror, and a warning is logged.subclaim and returned the user name.v0.4.2Compare Source
Changed
^^^^^^^
A warning is logged when a deleted user or group is not found on a client.
Fixed
^^^^^
canaille deletedescribed arguments and options incorrectly.v0.4.1Compare Source
Changed
^^^^^^^
accept any host name, for instance the internal name of a container.
Fixed
^^^^^
canaille cleanremoves the consents and authorization codes of deleted users.does.
audclaim.:issue:
246v0.4.0Compare Source
.. warning::
Added
^^^^^
OAuth 2.0 Device Authorization Grant <8628>support, for devices withlimited input capabilities (smart TVs, consoles, CLI tools…).
MANAGE_OWN_CLIENTSpermission can create clients and manage the ones they own.This permission is not granted by default. :issue:
308it, and add several users at once to an existing group. :issue:
192invite users as owners, remove the members who are not owners, and step down. Only
users who can manage all groups can remove the other owners. A group can only be
deleted by its only owner. :issue:
309Their metadata, such as the GPS coordinates of smartphone photos, are removed.
They are downscaled to 1024x1024 and cannot weigh more than 5MB. On the LDAP
backend, they are converted to JPEG.
client_secret_postandprivate_key_jwtclient authentication methods.Changed
^^^^^^^
Group invitation links ask for a confirmation before the user joins the group.
Groups are picked with a search field in the user invitation and account settings
forms, also without JavaScript. The pages stay light with many groups.
Form fields are checked when the user leaves them, instead of while they type,
except for the password strength. Characters typed during a check no longer get
lost.
Disabling
:attr:
~canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_RECOVERYalsodisables password initialization, which led to an unreachable page.
Administrators can still set passwords from the user profile.
The session cookie is only sent with same-site requests by default
(
SESSION_COOKIE_SAMESITEisLax), also without thefrontextras.When
LOGGINGis a dictionary, the loggers that exist before Canaille starts areno longer disabled. Set
disable_existing_loggerstotrueto disable themagain.
The HTTPS certificates of the outgoing requests, such as the password compromise
check and the download of
request_uriandjwks_uridocuments, are checkedagainst the system trust store instead of the certifi bundle.
A client management request with a token issued to another client answers
400 access_deniedinstead of403 unauthorized_client.The SCIM server follows RFC 7643 and RFC 7644 more closely:
displayof a group member is refused with amutabilityerror;ResourceTypeendpoints are relative to the SCIM base URL, such as/Users;Userresource type declares the enterprise extension as optional;/ServiceProviderConfig,/ResourceTypesand/Schemasendpointsneed no token;
meta.versionandmeta.lastModifiedof the resource.
The SCIM client updates the provisioned users and groups with PATCH requests,
when the client supports PATCH. Only the changed attributes are sent. The
attributes Canaille does not manage are left untouched.
Removed
^^^^^^^
Fixed
^^^^^
Some OIDC requests returned a server error instead of an OAuth error:
jwks_uri;grant_type;SERVER_NAME, a token request from a public client or with a wrongclient secret;
request_uri, orwith a
max_agethat is not an integer;With
prompt=login,prompt=select_accountormax_age, accepting theconsent asked to log in again. A
max_ageof zero asked to log in again andagain. A negative
max_ageis refused.The
promptandmax_ageparameters of request objects were ignored.Users with several email addresses only received a valid password reset or
initialization code on one of them.
For users without a password, the inline validation of the login and password
fields displayed the whole password initialization page inside the field.
Profile fields could show the access rights, or the error messages language, of
the user of another request. After an inline validation, a field of a list, such
as an email address, could show another access indicator.
An invalid email address also showed the errors that only make sense for valid
addresses, such as "No user found with this email address".
Read-only lists showed the add and remove buttons.
Without JavaScript, the copy buttons submitted the form they are in.
Spaces around a table search query prevented any match.
The browser console showed Content Security Policy errors on every page.
The user menu of the navigation bar flickered when it opened. In dark mode, it
had a light background, like the tooltips.
With the LDAP backend, changing the user name of a user, or the name of a group,
failed, for instance through SCIM.
With OpenLDAP 2.7, an LDAP server address that cannot be resolved raised a raw
BackendErrorinstead of a connection error.Canaille did not start with the
postgresqlandmysqlextras, as theyinstalled SQLAlchemy 2.1, which sqlalchemy-utils does not support yet.
The SQL database could not be created on MariaDB. On MariaDB, dates keep their
microseconds, and tokens and authorization codes are case-sensitive.
With SQL databases, searching the members of a group also listed users who were
not members.
With SQL databases, the members added to a group at the same time could be listed
in any order.
Two edits of a resource in the same second got the same SCIM ETag, so an outdated
If-Matchcould be accepted.A SCIM PUT on a user whose account expires later locked the account at once.
SCIM PATCH requests that cannot be applied answer a SCIM error instead of an
HTTP 500 error.
The SCIM client escapes the identifiers it puts in
externalIdfilters.Security
^^^^^^^^
a SCIM scope. User tokens only give access to their own user, with the
scim:mescope.WRITEACL on their ownaccount.
consent page showed the scopes of the URL. With a
request_uri, the requestobject could change between the consent page and the user answer.
request_uristhe clientregistered.
request_uriandjwks_uriaddresses clients indicate, had no size limit. They are now limitedto 64kB.
user consent to an application.
consent_requiredwithprompt=noneand a request object, and the error for an unsupportedpromptvalue. They only redirect to the URIs registered for the client.
client_uriand theirredirect_uristo match:attr:
~canaille.oidc.configuration.OIDCSettings.TRUSTED_DOMAINS.USE_OIDCpermission could still get tokens with the password,refresh token and authorization code grants, and use their existing tokens.
PostgreSQL and MariaDB. Their access tokens stayed active until they expired.
user. A link could log a user out without their consent.
GETrequest, not covered by the CSRF protection. Itis now confirmed with a form, and the
/impersonate/<user>endpoint is removed.~canaille.app.configuration.RootSettings.TRUSTED_HOSTS, passwordinitialization mails carried a link exposed to Host header spoofing. They now
carry a code, like password reset mails.
found in the page HTML of other users.
.jpgextension was served inline. Photos that cannot be served as images arenow downloaded instead of being rendered.
v0.3.6Compare Source
Added
^^^^^
canaille jwt registrationhas a--client-idoption to choose the identifier of the client to register, so it is known before the client registers itself.canaille jwt registrationandcanaille jwt managementhave a--jsonoption that displays the client identifier and the endpoint to use along with the token.Fixed
^^^^^
RFC7592 <7592>registration access tokens were not bound to the client they were issued for.canaille jwt managementissued tokens for unregistered clients, andcanaille jwt registrationfor already registered ones, although the endpoints reject both.nonealgorithm were accepted, so anyone could forge one.DYNAMIC_CLIENT_REGISTRATION_OPENalso disabled the authentication of the :rfc:RFC7592 <7592>client management endpoint, which could then be used without any token. It now only covers the registration of new clients.client_secret_expires_atset to 1970-01-01 instead of being left empty.v0.3.5Compare Source
Fixed
^^^^^
v0.3.4Compare Source
Added
^^^^^
canaille jwk exportcommand to export the public part of the server signing keys, as JSON metadata or as PEM, for external JWT validators that verify tokens locally.Fixed
^^^^^
v0.3.3Compare Source
Fixed
^^^^^
v0.3.2Compare Source
Fixed
^^^^^
v0.3.1Compare Source
Fixed
^^^^^
dump/restoreround-trip now preserves binary attributes such as user photos.v0.3.0Compare Source
Added
^^^^^
157Configuration
📅 Schedule: (in timezone Europe/Paris)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
103268315e39172c8a87En tant que sentinelle cette semaine, je me suis posé la question de ce qu'il fallait faire sur cette PR. On ne peut pas encore mettre à jour. @loan et @eloi sont les plus informés et d'après @eloi ce sera réglé d'ici la pycon (qui a lieu le 1er nov).
39172c8a877ae7e821b8chore(deps): update dependency canaille to v0.3.6to chore(deps): update dependency canaille to v0.4.17ae7e821b8fec5cb2f68chore(deps): update dependency canaille to v0.4.1to chore(deps): update dependency canaille to v0.4.3chore(deps): update dependency canaille to v0.4.3to chore(deps): update dependency canaille to v0.4.3 - autoclosedPull request closed