Commit Graph

108 Commits

Author SHA1 Message Date
link2xt 3a50d82657 Move systemd unit templates to cmdeploy
They are part of deployment rather than service itself.
Different deployments may have different users,
filesystem layout etc.
2024-03-28 16:38:30 +01:00
holger krekel c640087498 fix error string 2024-03-28 16:11:00 +01:00
holger krekel 2089f3ab58 persist pending notifications to directory so that they survive a restart 2024-03-28 16:11:00 +01:00
holger krekel cbaa6924c1 use json instead of python's marshal 2024-03-28 16:11:00 +01:00
holger krekel 6ab3e9657d test and fix for edge case 2024-03-28 16:11:00 +01:00
holger krekel 554c33423f various naming refinements 2024-03-28 16:11:00 +01:00
holger krekel 5d5e2b199c remove timeout support, it's not needed 2024-03-28 16:11:00 +01:00
holger krekel 989ce70f97 refine logging 2024-03-28 16:11:00 +01:00
holger krekel f5dc4cb71e more resilience 2024-03-28 16:11:00 +01:00
holger krekel 76512dfa2d move persistentdict into own file, rename 2024-03-28 16:11:00 +01:00
holger krekel 888fa88aa3 back to using marshal, and a filelock 2024-03-28 16:11:00 +01:00
holger krekel 15e7458666 add a persistent dict impl 2024-03-28 16:11:00 +01:00
holger krekel 0a93c76e66 add multi-token support 2024-03-28 16:11:00 +01:00
holger krekel 312f86223c fix target dir 2024-03-28 16:11:00 +01:00
holger krekel 27a60418ad use "devicetoken" consistently and take it from a var 2024-03-28 16:11:00 +01:00
holger krekel 46d31a91da properly startup metadata service and add online test for metadata 2024-03-28 16:11:00 +01:00
holger krekel a8765d8847 store metadata in a per-mbox dir 2024-03-28 16:11:00 +01:00
holger krekel 8ee6ca1b80 store tokens on a per-maildir basis 2024-03-28 16:11:00 +01:00
holger krekel 1a2b73a862 store tokens in guid-directories 2024-03-28 16:11:00 +01:00
link2xt c44f4efced Store raw tokens instead of dictionaries in metadata 2024-03-28 16:11:00 +01:00
holger krekel 33353ccaf6 don't warn on hello 2024-03-26 23:37:01 +01:00
link2xt 75fcbd03ce echobot: ignore info messages 2024-03-25 14:38:41 +00:00
link2xt 377121bdee Fix echobot logging
Do not put log messages into format string
and enable INFO level when bot is started
via main() as it happens with systemd.
2024-03-25 14:38:41 +00:00
holger krekel 63d3e05674 remove superflous check in tests 2024-03-20 19:10:44 +01:00
holger krekel e466a03055 fixes 2024-03-20 19:10:44 +01:00
holger krekel 1819a276cb implement persistence via marshal 2024-03-20 19:10:44 +01:00
holger krekel 9ec6430b71 make notifier take a directory 2024-03-20 19:10:44 +01:00
link2xt edc593586b Implement "iterate" command in metadata server
Otherwise Dovecot times out when trying to iterate over metadata
of the folder. Apparently it happens when attempting to delete
folder from the server over IMAP.
2024-03-08 05:39:59 +01:00
holger krekel 1e229ad2de Add tests to metadata/token handling and post notifications in background thread (#224) 2024-03-08 01:56:33 +00:00
link2xt 42e50b089f Push notification extension
This change adds XDELTAPUSH capability.

Delta Chat clients detecting this capability
can set /private/devicetoken IMAP metadata
on the inbox to subscribe for Apple (APNS)
notifications.

Notifications are implemented in a new
`chatmail-metadata` service
which handles requests to set /private/devicetoken
IMAP metadata from Delta Chat clients
and /private/messagenew requests from
push_notification_lua script.

To avoid sending notifications for
MDNs, webxdc updates and Delta Chat sync messages,
messages with Auto-Submitted header are ignored
by setting $Auto keyword (flag) on them in Sieve script
and skipping such messages in push_notification_lua script.
Outgoing messages are also ignored.
2024-03-06 19:00:04 +00:00
missytake 926de76010 tests: make maildata work with python3.9 2024-02-17 09:27:02 +00:00
link2xt 5b9debfbdf Test dict protocol handler as a separate function 2024-01-30 23:49:17 +00:00
missytake d1460e7a1a tests: other bots could be in passthrough_recipients 2024-01-24 02:36:27 +01:00
missytake 87ab7e83d5 config: add xstore and groupsbot to default passthrough_recipients 2024-01-24 02:36:27 +01:00
missytake 7b90b936dd tests: add test for rejecting SPF & DMARC fails 2024-01-12 15:47:36 +00:00
link2xt 75b41641f0 doveauth: fix home directory returned from lookup_passdb
It is currently unused, but better have it correct
in case of enabling debugging options such as rawlogs.
2024-01-08 16:40:08 +00:00
link2xt 81a6f8808b fix: escape login and password when passed from dovecot to doveauth
This should allow to use / in the password
2023-12-21 22:22:38 +00:00
missytake 2cf950e901 echo: fail if configure doesn't work 2023-12-21 01:06:23 +01:00
link2xt 3d00ca1672 doveauth: add support for Dovecot 2.3.16 2023-12-18 19:44:11 +00:00
holger krekel 359c195419 count ci accounts correctly 2023-12-16 17:06:13 +01:00
link2xt 92ca3283fd Add metrics 2023-12-14 22:22:10 +00:00
missytake 39550d3096 small fixes 2023-12-14 19:11:43 +01:00
missytake 070003b983 dovecot: deleting mails with find instead of doveadm expunge 2023-12-14 19:11:43 +01:00
missytake 049ed79e59 dovecot: unconditionally delete all mails after 40 days 2023-12-14 19:11:43 +01:00
Floris Bruynooghe 8a338f1320 Use more characters for passwords (#124)
This expands the character set used for passwords generated for new
accounts.  The set it taken from the set used by the pass tool.  The
special characters is the full GNU grep [:punct:] set.
2023-12-14 11:51:22 +01:00
missytake 9c7dfdf2ff echobot: add echo bot for trying out sending 2023-12-13 22:04:30 +01:00
missytake 4551f36b85 chatmail.ini: switch username length defaults back to 9 2023-12-12 20:12:25 +01:00
missytake f2d32324e3 tests: use something.testrun.org instead of chat.example.org for 1 test 2023-12-12 20:12:25 +01:00
missytake 98fd4b61c9 tests: replace make_config with example_config, add default config params 2023-12-12 20:12:25 +01:00
missytake 74f9e7536b doveauth: fix logging statement 2023-12-12 20:12:25 +01:00