Commit graph

28 commits

Author SHA1 Message Date
Aine
84102d5b5b
add noreplies option 2023-04-10 14:03:43 +03:00
Aine
3e0ecc1c02
make banlist consistent, fixes #57 2023-02-13 22:05:48 +02:00
Aine
2ac6c64d13
make banlist consistent, fixes #54 2022-12-14 00:35:15 +02:00
Aine
fcd6110790
add trusted proxies 2022-11-27 00:30:50 +02:00
Aine
8d6c4aeafe
big refactoring 2022-11-25 23:33:38 +02:00
Aine
0701f8c9c3
reject wrong email in SMTP MAIL(), reject impersonation attempts 2022-11-23 11:51:12 +02:00
Aine
21772d7360
mailbox activation, closes #52 2022-11-21 15:37:44 +02:00
Aine
6ddb894577
allow reserved mailboxes, closes #43 2022-11-20 20:55:41 +02:00
Aine
3ef6d2698e
optimize ban checks 2022-11-18 09:22:18 +02:00
Aine
8ebe80bc4f
add automatic greylisting 2022-11-16 18:47:24 +02:00
Aine
86cda29729
banlist 2022-11-16 14:23:42 +02:00
Aine
15d5afe90f
initial, rought, not-user-friendly support for multi-domain setup 2022-11-08 18:16:38 +02:00
Aine
2c47bc7e14
fix lowercase 2022-10-28 08:44:09 +03:00
Aine
c6049a7451
hotfix panic, fixes #36 2022-10-08 18:20:41 +03:00
Aine
4bf0f0dee3
switch to password hashes 2022-09-23 11:17:34 +03:00
Aine
e368d26fc1
check full email in AllowAuth 2022-09-23 10:37:08 +03:00
Slavi Pantaleev
9129f8e38c Apply 1 suggestion(s) to 1 file(s) 2022-09-23 07:35:35 +00:00
Aine
5a19ffad08
securely compare passwords, add notice about message removal 2022-09-23 10:19:25 +03:00
Aine
070a6ffc76
use postmoogle as general purpose SMTP server and allow other apps or scripts to send emails through it 2022-09-22 18:21:17 +03:00
Aine
97aacbf143
export MXID patterns parsing to external lib 2022-09-14 13:46:56 +03:00
Aine
fda0d62087
send emails 2022-09-04 22:09:53 +03:00
Aine
5ed3a53223
diff bot and room settings 2022-08-30 14:37:19 +03:00
Aine
0ba951fbe6
set default POSTMOOGLE_USERS pattern 2022-08-29 20:56:28 +03:00
Aine
e0bd71717c
remove NOOWNER, closes #14 2022-08-29 20:21:37 +03:00
Slavi Pantaleev
e59f5d5502 Make Match() with empty list not return a positive result
Now that we use Match() in allowAdmin() as well, it's awkward to
have it return `true` when called with an empty admin list.
No admins defined was taken to mean "everyone is an admin".

We can either have a `len(users) == 0` check in `allowAdmin` which
rejects the request, or we can change `Match()` so that it doesn't
return positive responses when called with an empty list. Doing the
latter sounds better. It's more natural that matching against an empty list
will yield "no match".
2022-08-29 14:10:52 +03:00
Aine
6623251695
refactored 2022-08-29 12:30:43 +03:00
Slavi Pantaleev
79775c0c13 Add basic mailboxes command
This can be improved in the future, to show some additional information
about each mailbox like:

- "how many users are in that room"
- "which users are in that room"
- "who is the owner of the mailbox"

This can all be done later though.
2022-08-29 10:28:19 +03:00
Slavi Pantaleev
a057654962 Put command access checks on the command level
Checking using `settings.Allowed` is odd. Not all commands are related
to setting configuration settings. Admin commands are coming in the
future, for which this is certainly not the case.

We now do access checks early on (during command processing), so command
handlers can be clean of access checks. If we're inside of a command
handler, the user is privileged to run it.
2022-08-29 10:27:53 +03:00