mirror of
https://github.com/chatmail/relay.git
synced 2026-05-13 09:24:43 +00:00
* dovecot: enable login names with square brackets * config: make IPv4-only relays use self-signed TLS certs * postfix: make delivery for IP-only relays work * cmdeploy: skip DNS checks for IPv4 only relays * www: generate dclogin codes for IPv4-only relays * opendkim: disable DKIM signing on ipv4-only relays * get delivery working * get tests working on IPv4 only machine * doc: document IPv4-only relays * dns: warn if mail_domain is an IP, instead of checking DNS * config: validate domains when formatting them * ci: add cmlxc testing for no-DNS relays * ci: run no-dns and normal CI in parallel * retain "config.mail_domain" as the domain part of @ email addresses, so for ipv4 relays "[1.2.3.4]" and introduce config.ipv4_relay and config.mail_domain_bare helpers. * ci: migrate from --no-dns to --type ipv4 for cmlxc compatibility * cleanup dead code, fix docs, fixate cmlxc version --------- Co-authored-by: missytake <missytake@systemli.org>
76 lines
1.5 KiB
TOML
76 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "chatmaild"
|
|
version = "0.3"
|
|
dependencies = [
|
|
"iniconfig",
|
|
"filelock",
|
|
"requests",
|
|
"crypt-r >= 3.13.1 ; python_version >= '3.11'",
|
|
"domain-validator",
|
|
]
|
|
|
|
[tool.setuptools]
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ['src']
|
|
|
|
[project.scripts]
|
|
doveauth = "chatmaild.doveauth:main"
|
|
chatmail-metadata = "chatmaild.metadata:main"
|
|
chatmail-expire = "chatmaild.expire:daily_expire_main"
|
|
chatmail-quota-expire = "chatmaild.expire:quota_expire_main"
|
|
chatmail-fsreport = "chatmaild.fsreport:main"
|
|
lastlogin = "chatmaild.lastlogin:main"
|
|
turnserver = "chatmaild.turnserver:main"
|
|
|
|
[project.entry-points.pytest11]
|
|
"chatmaild.testplugin" = "chatmaild.tests.plugin"
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-v -ra --strict-markers"
|
|
log_format = "%(asctime)s %(levelname)s %(message)s"
|
|
log_date_format = "%Y-%m-%d %H:%M:%S"
|
|
log_level = "INFO"
|
|
|
|
[tool.ruff]
|
|
lint.select = [
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
|
|
"PLC", # Pylint Convention
|
|
"PLE", # Pylint Error
|
|
"PLW", # Pylint Warning
|
|
]
|
|
lint.ignore = [
|
|
"PLC0415" # import-outside-top-level
|
|
]
|
|
|
|
[tool.tox]
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
isolated_build = true
|
|
envlist = lint,py
|
|
|
|
[testenv:lint]
|
|
skipdist = True
|
|
skip_install = True
|
|
deps =
|
|
ruff
|
|
commands =
|
|
ruff format --quiet --diff src/
|
|
ruff check src/
|
|
|
|
[testenv]
|
|
deps = pytest
|
|
pdbpp
|
|
pytest-localserver
|
|
aiosmtpd
|
|
execnet
|
|
commands = pytest -v -rsXx {posargs}
|
|
"""
|