Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
0 results Searching
Select Git revision
Loading items
Show changes

Commits on Source 27

  • Julian's avatar
    Add per-service setting for testing remailer · 05f68ec8
    Julian authored
    This setting is more flexible than the existing REMAILER_LIMIT_TO_USERS config
    option. The config option is therefore deprecated and will be removed in the
    next major version.
    05f68ec8
  • Julian's avatar
    e083d6e1
  • Julian's avatar
    Add user deactivation · 6b2ee671
    Julian authored
    6b2ee671
  • Julian's avatar
    Optimize migration from 53c06069 (New UID/GID allocation approach) · 9545981a
    Julian authored
    Alembic runs migration scripts on SQLite and MariaDB in auto-commit mode, so
    inserting many rows with individual insert statements is extremely slow.
    9545981a
  • Julian's avatar
    Remove unused json encoder customizations · 1ed39c8e
    Julian authored
    1ed39c8e
  • thies's avatar
    Updated Key & README · c668919f
    thies authored and Julian's avatar Julian committed
    c668919f
  • Julian's avatar
    PEP 440 conformance for development builds · ee8db499
    Julian authored
    Recent setuptools releases refuse to build packages with invalid version
    strings. So instead of using the bare commit hash as the version, we now
    build proper version strings like X.Y.Z.dev-git.COMMIT for CI development
    builds and X.Y.Z for release builds (same as before).
    ee8db499
  • Julian's avatar
    c2b30f17
  • Julian's avatar
    Debian Bookworm support · 0d870ee1
    Julian authored
    - Add CI tests for Bookworm
    - Disable pylint deprecation warnings for crypt
    - Mitigate Flask changes that broke a few tests
    - Set create_constraint=True for Booleans/Enums to mitigate SQLAlchemy changes
    - Mitigate new Alembic CHECK constraint behaviour in batch mode
    0d870ee1
  • Julian's avatar
    Use Debian Bookworm for CI builds · 409d7e66
    Julian authored
    - Fix apt package build on Bookworm
    - Adapt babel.cfg to jinja 3.x.x and break compatability with older versions
    409d7e66
  • Julian's avatar
    Prevent TOTP code reuse · 7a94d7de
    Julian authored
    Time-based one-time password (TOTP) codes are only valid for a short period
    of time. In addition they are meant to be single-use to make them more
    resistant against phishing and eavesdropping (e.g. keyloggers). Prior to this
    change uffd did not keep track of used codes and thus did not prevent code
    reuse.
    7a94d7de
  • Julian's avatar
    Fix OAuth2 authorization code invalidation · 4457282d
    Julian authored
    9bfd6f81 changed the format of authorization codes, but did not adapt the
    invalidation code accordingly. Because of this, authorization codes were
    not invalidated and could have been used multiple times to request access
    tokens until expiring.
    4457282d
  • byteplow's avatar
    Dark mode · 16f5ae99
    byteplow authored and Julian's avatar Julian committed
    
    Automatically enabled based on OS/browser settings (prefers-color-scheme
    CSS media query)
    
    Co-authored-by: default avatarJulian Rother <julian@cccv.de>
    16f5ae99
  • Julian's avatar
    Fix SECRET_KEY auto-generation in debug mode · a662ceb2
    Julian authored
    Compatibility fix for Flask v2 (Debian Bookworm) and newer
    a662ceb2
  • Julian's avatar
    Fix ORM relationship conflict warnings · 4736d5a3
    Julian authored
    SQLAlchemy v1.4 (Debian Bookworm) annoyingly warns about overlapping
    user/mfa_method relationships.
    
    Fixes #146
    4736d5a3
  • Julian's avatar
    Fix autocomplete behaviour in Firefox · ccc90a8f
    Julian authored
    Firefox autofills all type="password" inputs with passwords from its built-in
    password store. This breaks usability of admin pages.
    
    This change fixes that by adding autocomplete="new-password" to these inputs.
    It also adds appropriate autocomplete attributes to other forms/inputs to
    improve autocomplete behaviour across browsers:
    
    - autocomplete="off" on all non-login/signup/selfservice forms
    - autocomplete="new-password" or autocomplete="current-password" on all
      type="password" inputs to workaround Firefox's misdetection
    - autocomplete="username"/"email"/"nickname" on login/signup/selfservice inputs
      wherever appropriate
    - Avoid type="password" where possible (e.g. on readonly fields)
    ccc90a8f
  • Julian's avatar
    Fix ORM cartesian product warnings · 94ba8b9c
    Julian authored
    SQLAlchemy v1.4 (Debian Bookworm) annoyingly warns about select statements
    that result in a cartesion product of multiple tables. We actually want
    cartesion products in all affected cases, so we change "SELECT FROM a,b" to
    the equivalent "SELECT FROM a JOIN b ON TRUE".
    
    See https://docs.sqlalchemy.org/en/14/changelog/migration_14.html
    94ba8b9c
  • Julian's avatar
    OpenID Connect Core 1.0 and Discovery 1.0 support · edd4f4ca
    Julian authored
    Limited to OpenID provider conformance profiles "Basic" and "Config":
    
    - Support for features mandatory to implement for all OpenID Providers,
      not the feature set for Dynamic OpenID Providers
    - Only Authorization Code Flow, no support for Implicit/Hybrid Flow
    - Only code response type, no support for token/id_token
    - Server metadata is served at /.well-known/openid-configuration
    
    Additional/optional features:
    
    - Support for "claims" parameter
    - Support for standard scopes "profile" and "email"
    - Support for non-standard scope/claim "groups" (in violation of RFC 9068)
    
    Compatability with existing (working) uffd client setups: Authorization
    requests without the "openid" scope behave the same as before  Prior to this
    change authorization requests with the "openid" scope were rejected by uffd.
    
    This change adds direct dependencies to pyjwt and cryptography. Prior to this
    change both were already transitive dependencies of oauthlib.
    edd4f4ca
  • Julian's avatar
    Revokable server-side sessions · bbd251f7
    Julian authored
    bbd251f7
  • Julian's avatar
    636169e5
  • Julian's avatar
    Fix 2FA selfservice permission checks · 11502833
    Julian authored
    Users with ACL_ACCESS_GROUP but without ACL_SELFSERVICE_GROUP were able to
    access the 2FA setup pages. Like all selfservice pages, these pages should
    only have been accessible to users with ACL_SELFSERVICE_GROUP.
    11502833
  • Julian's avatar
    fefac582
  • Julian's avatar
    Bind device login state to sessions instead of users · 08926d1f
    Julian authored
    Prerequisite for doing the same to OAuth2 state. This is required for
    implementing missing OIDC features later.
    08926d1f
  • Julian's avatar
    Bind OAuth2 state to sessions instead of users · 89f1ecdd
    Julian authored
    Prerequisite for implementing missing OIDC features.
    89f1ecdd
  • eNBeWe's avatar
    Fix OIDC token endpoint crash on Debian Buster/Bullseye · 23b7736a
    eNBeWe authored and Julian's avatar Julian committed
    
    The return type of jwt.encode() changed from bytes in v1.x (Buster/Bullseye)
    to str in v2.x (Bookworm). This let json.dumps crash on Buster und Bullseye
    with "TypeError: Object of type bytes is not JSON serializable".
    
    Flask v1.x (Buster/Bullseye) automatically uses simplejson.dumps instead of
    json.dumps if it is installed. simplejson.dumps auto-converts bytes to str per
    default. simplejson also happend to be installed in our CI images. This
    prevented the bug from surfacing in CI tests. We removed simplejson from our
    CI images in an external change.
    
    Co-authored-by: default avatarJulian Rother <julian@cccv.de>
    23b7736a
  • Julian's avatar
    Fix spinner style in dark mode · c0dfb38a
    Julian authored
    c0dfb38a
  • Julian's avatar
    Unified password hashing for recovery codes · 98fe5690
    Julian authored
    Closes #163
    98fe5690
Compare changes
  • Side-by-side
  • Inline
Loading