Commit Graph

730 Commits (0a9f732faa4d1addcc848cda2678976fb244314c)

Author SHA1 Message Date
Alexander Graf 0a9f732faa added docstring to Logger. use generators.
Alexander Graf bde7a2b6c4 moved import logging to schema
- yaml-import is now logged via schema.Logger
- iremoved relative imports - not used in other mailu modules
- removed develepment comments
- added Mailconfig.check method to check for duplicate domain names
- converted .format() to .format_map() where possible
- switched to yaml multiline dump for dkim_key
- converted dkim_key import from regex to string functions
- automatically unhide/unexclude explicitly specified attributes on dump
- use field order when loading to stabilize import
- fail when using 'hash_password' without 'password'
- fixed logging of dkim_key
- fixed pruning and deleting of lists
- modified error messages
- added debug flag and two verbosity levels
Alexander Graf e4c83e162d fixed colorize auto detection
Alexander Graf e46d4737b0 merged changes from api without api
Alexander Graf 4b9886b139 Merge remote-tracking branch 'upstream/master' into import-export
Alexander Graf 10435114ec updated remarks and docs
Alexander Graf 1e2b5f26ab don't handle nested lists
Alexander Graf 70a1c79f81 handle prune and delete for lists and backrefs
Alexander Graf 8929912dea remove OrderedDict - not necessary in python>=3.7
Alexander Graf 3937986e76 Convert OrderedDict to dict for output
Alexander Graf 68caf50154 new import/export using marshmallow
Alexander Graf 1c9abf6e48 updated requirements for import/export
api reqs (flask-restx, ...) are still missing
Alexander Graf 1da7e5b8d2 Merge remote-tracking branch 'upstream/master' into api
Alexander Graf 902b398127 next step for import/export yaml & json
Mordi Sacks f56af3053a
Removed email address
Alexander Graf 65b1ad46d9 order yaml data and allow callback on import
- in yaml the primary key is now always first
- calling a function on import allows import to be more verbose
- skip "fetches" when empty
Alexander Graf 8213d044b2 added docstrings, use f-strings, cleanup
- idna.encode does not encode upper-case letters,
  so .lower() has to be called on value not on result
- split email-address on '@' only once
- converted '*'.format(*) to f-strings
- added docstrings
- removed from_dict method
- code cleanup/style (list concat, exceptions, return&else, line-length)
- added TODO comments on possible future changes
Alexander Graf 31a903f959 revived & renamed config-fns. cosmetics.
- revived original config-update function for backwards compability
- renamed config-dump to config-export to be in line with config-import
- converted '*'.format(*) to f-strings
- converted string-concatenation to f-strings
Michael Wyraz 2b37be9889 Use alpine 3.13 to fix CVE-2020-25275 and CVE-2020-24386
Alexander Graf c24bff1c1b added config_import using marshmallow
Alexander Graf 7413f9b7b4 config_dump now using marshmallow
Alexander Graf dc42d375e2 added filtering of keys and default value
Alexander Graf 82cf0d843f fix sqlalchemy column definitions
Alexander Graf b3f8dacdad add docstrings and make linter happy
Alexander Graf 6629aa3ff8 first try at api using flask-restx & marshmallow
Alexander Graf 4c258f5a6b cosmetic changes & make linter happy
renamed single letter variables (m => match)
renamed classmethod arguments to cls (model)
removed shadowing of variables (hash, context)
shortened unneeded lambda functions (id)
converted type ... is to isinstance(...)
removed unneded imports (flask)
Alexander Graf 7229c89de1 ConfigManager should not replace app.config
Updated ConfigManager to only modify app.config and not replace it.
Swagger does not play well, when app.config is not a real dict and
it is not necessary to keep ConfigManager around after init.

Also added "API" flag to config (default: disabled).
Alexander Graf 3b35180b41 cosmetic changes
Alexander Graf 815f47667b update dkim-key on commit only
Alexander Graf 0a594aaa2c cosmetic changes
Alexander Graf 3064a1dcff removed call to (undefined) cli
Alexander Graf 0051b93077 removed unused variable
Alexander Graf 2cd3acdc1a Merge remote-tracking branch 'upstream/master' into import-export
Alexander Graf 63176f4878 Merge remote-tracking branch 'upstream/master' into import-export
dependabot[bot] 54ccfdf975
Bump cryptography from 2.6.1 to 3.2 in /core/admin
Bumps [cryptography](https://github.com/pyca/cryptography) from 2.6.1 to 3.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/2.6.1...3.2)

Signed-off-by: dependabot[bot] <support@github.com>
ofthesun9 d32e73c5bc Fix letsencrypt access to certbot for the mail-letsencrypt flavour
bors[bot] 3ca81913fc
Merge
1654: Ensure that the rendered file ends with newline in order to make `pos… r=mergify[bot] a=tremlin

## What type of PR?

Bugfix

## What does this PR do?

This fixes  

### Related issue(s)
- closes 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.


Co-authored-by: Thomas Rehn <thomas.rehn@initos.com>
Alexander Graf adc9c70c3e added dump option to dump dns data of domains
Alexander Graf 2a5c46c890 Allow to dump only selected sections
Alexander Graf 500967b2f5 ignore dkim_publickey when updating config
Alexander Graf c46f9328f7 also dump dkim_publickey. allow key generation.
Alexander Graf acc728109b validate dkim keys and allow removal
cbachert 72a9ec5b7c Fix extract_host_port port separation
Regex quantifier should be lazy to make port separation work.
Alexander Graf dfc34b2165 Merge remote-tracking branch 'upstream/master' into import-export
Thomas Rehn 05ab244638 Ensure that the rendered file ends with newline in order to make `postconf` work correctly
Dimitri Huisman 78890a97ff Preparations for 1.8 release.
Alexander Graf 45bf6d1b4a Merge remote-tracking branch 'upstream/master' into import-export
bors[bot] 5c36dc4f54
Merge
1611: Adds own server on port 80 for letsencrypt and redirect r=mergify[bot] a=elektro-wolle

## What type of PR?

Bugfix

## What does this PR do?

Handle letsencrypt route to `.well-known` by own server configuration within nginx.

### Related issue(s)
closes 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Wolfgang Jung <w.jung@polyas.de>
bors[bot] 92bf736da4
Merge
1635: Add support for AUTH LOGIN authentication mechanism for relaying emai… r=mergify[bot] a=Diman0

…l via smart hosts.

## What type of PR?

Feature

## What does this PR do?

This PR adds support to postfix for AUTH LOGIN authentication mechanism. This enables using smart hosts which only offer AUTH LOGIN. 

### Related issue(s)
- Auto close an issue like: closes 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [n/a] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
Dimitri Huisman d9e7b8249b Add support for AUTH LOGIN authentication mechanism for relaying email via smart hosts.