Skip to content
Snippets Groups Projects
  1. Feb 13, 2022
    • Julian's avatar
      Unified password hashing for User and Signup · 117e257c
      Julian authored
      Previously User used salted SHA512 with OpenLDAP-style prefix syntax and
      Signup used crypt. Both models had their own hashing and verification
      code. Now both use OpenLDAP-style syntax with support for all traditional
      formats including crypt. Salted SHA512 is used for new User and Signup
      passwords.
      
      Existing Signup objects are migrated to the new format and remain functional.
      User passwords now support gradual migration to another hash algorithm when
      it is changed in the future.
      
      This code is planned to be used for database-stored API and OAuth2 client
      secrets.
      117e257c
  2. Feb 08, 2022
  3. Feb 04, 2022
    • Julian's avatar
      Constrain mail receive addresses and fix case-folding in API · 17b99372
      Julian authored
      Previously the getmails API endpoint did not match "receive_address" values
      case-insensitivly like it did pre-v2. To solve this independent of database
      collations, all existing mail receive addresses are converted to lower-case
      and new/changed receive addresses are constraint to ASCII lower-case letters,
      digits and symbols.
      17b99372
  4. Feb 01, 2022
  5. Dec 11, 2021
  6. Dec 09, 2021
    • Julian's avatar
      Replace CONFIG_FILENAME with CONFIG_PATH · 73c9b77e
      Julian authored
      CONFIG_FILENAME works relative to the app's instance path. While (strictly
      speaking) CONFIG_FILENAME is named correctly, it is not really obvious that
      it should be set to an instance-relative filename instead of a path. The
      current uwsgi.ini file illustrates this problem.
      
      Not having a way to specify an absolute config file path is a problem for
      the Debian package: The actual config file /etc/uffd/uffd.cfg must be
      symlinked to /usr/share/uffd/instance/config.cfg to be found. Setting
      CONFIG_PATH to "/etc/uffd/uffd.cfg" simplifies this.
      
      Since this change is part of a new major release, we can drop
      CONFIG_FILENAME in favour of CONFIG_PATH.
      73c9b77e
    • Julian's avatar
      Workaround for linter bug · d22b62ef
      Julian authored
      Pylint non-deterministicly fails to detect that a method is overwritten later
      and complains that the method does not exist. This is pretty annoying and
      remains unfixed in the most recent version.
      d22b62ef
  7. Dec 03, 2021
    • Julian's avatar
      HTTP Basic auth for API with new API_CLIENTS_2 · 917f9ecd
      Julian authored
      This change is going to be backported to v1.x.x to have a good migration path.
      Bearer auth with API_CLIENTS config key is deprecated and planned to be
      removed in v2.0.0.
      917f9ecd
  8. Oct 26, 2021
    • sistason's avatar
    • Julian's avatar
      Fixes and improvements for changelog auto-generation · 328caf00
      Julian authored
      The script generated a broken changelog if the current commit is tagged as
      a release. That works now.
      
      Additional improvements:
      * Merge commits are ignored
      * "^fixup!" commits are ignored
      * Commit summaries are line-wrapped
      * Authors can be merged by manually supplied name mapping
      * The first release also includes a list of commits. They were originally
        excluded because the first release contains so many commits, including
        many unclean ones. But excluding those commits also means excluding the
        attribution, so it is not really an option.
      * Authors are ordered by the number of their contributions in a release
        to make occasional contributors more visible.
      328caf00
  9. Oct 25, 2021
    • Julian's avatar
      Removed CHANGELOG and simplified Debian release workflow · 5c9ab56e
      Julian authored
      Previously CHANGELOG had to be updated manually. This was done by downloading
      the output of a CI job that used listed commits since the last release. This
      made releasing a bit more complicated and led to uselsess release commits.
      
      Now a script creates the full debian/changelog with all versions based on
      git tags and git commits.
      5c9ab56e
  10. Oct 05, 2021
  11. Oct 04, 2021
  12. Oct 03, 2021
  13. Oct 02, 2021
    • Julian's avatar
      Move User, Group and Mail models from LDAP to DB · 4a9c455f
      Julian authored
      * Removal of ldapalchemy and LDAP mocking support
      * Removal of dependency on ldap3 (except for the migration)
      * Remaining "LDAP_<name>" config keys are renamed to "<name>"
      * Web interface to create, edit and delete groups
      * Consistent foreign key, cascading and nullable configuration on all models
      * User/Group.dn is replaced with numeric User/Group.id
      * User.uid is renamed to User.unix_uid (to differentiate with new User.id)
      * Group.gid is renamed to Group.unix_gid (to differentiate with new Group.id)
      * All User/Group/Mail related routes now use the database ids instead of uid/gid/dn
      * PasswordToken/MailToken now reference users directly instead of storing loginnames
      
      The database migration (optionally) uses the v1 config keys to connect to
      an LDAP server and to import all users, groups and mail forwardings.
      4a9c455f
  14. Sep 29, 2021
  15. Sep 13, 2021
  16. Sep 12, 2021
  17. Sep 11, 2021
  18. Sep 10, 2021
Loading