mox/testdata
Mechiel Lukkien 614576e409
improve http request handling for internal services and multiple domains
per listener, you could enable the admin/account/webmail/webapi handlers. but
that would serve those services on their configured paths (/admin/, /,
/webmail/, /webapi/) on all domains mox would be webserving, including any
non-mail domains. so your www.example/admin/ would be serving the admin web
interface, with no way to disabled that.

with this change, the admin interface is only served on requests to (based on
Host header):
- ip addresses
- the listener host name (explicitly configured in the listener, with fallback
  to global hostname)
- "localhost" (for ssh tunnel/forwarding scenario's)

the account/webmail/webapi interfaces are served on the same domains as the
admin interface, and additionally:
- the client settings domains, as optionally configured in each Domain in
  domains.conf. typically "mail.<yourdomain>".

this means the internal services are no longer served on other domains
configured in the webserver, e.g. www.example.org/admin/ will not be handled
specially.

the order of evaluation of routes/services is also changed:
before this change, the internal handlers would always be evaluated first.
with this change, only the system handlers for
MTA-STS/autoconfig/ACME-validation will be evaluated first. then the webserver
handlers. and finally the internal services (admin/account/webmail/webapi).
this allows an admin to configure overrides for some of the domains (per
hostname-matching rules explained above) that would normally serve these
services.

webserver handlers can now be configured that pass the request to an internal
service: in addition to the existing static/redirect/forward config options,
there is now an "internal" config option, naming the service
(admin/account/webmail/webapi) for handling the request. this allows enabling
the internal services on custom domains.

for issue #160 by TragicLifeHu, thanks for reporting!
2024-05-11 11:13:14 +02:00
..
ctl add aliases/lists: when sending to an alias, the message gets delivered to all members 2024-04-24 19:15:30 +02:00
dmarc-reports mox! 2023-01-30 14:27:06 +01:00
dmarcdb implement outgoing dmarc aggregate reporting 2023-11-02 09:12:30 +01:00
dsn deprecate having only localparts in an Account's Destinations, it should always be a full email address 2023-03-09 22:13:56 +01:00
httpaccount add aliases/lists: when sending to an alias, the message gets delivered to all members 2024-04-24 19:15:30 +02:00
imap prevent unicode-confusion in password by applying PRECIS, and username/email address by applying unicode NFC normalization 2024-03-09 09:20:29 +01:00
imapserverfuzz for fuzzing the imapserver and smtpserver use different config files than regular tests 2023-05-22 15:37:03 +02:00
imaptest deprecate having only localparts in an Account's Destinations, it should always be a full email address 2023-03-09 22:13:56 +01:00
importtest.maildir add funtionality to import zip/tgz with maildirs/mboxes to account page 2023-02-16 09:57:27 +01:00
integration in quickstart, check outgoing smtp connectivity by dialing gmail.com mx host 2024-03-27 09:35:16 +01:00
junk mox! 2023-01-30 14:27:06 +01:00
message add pedantic mode (used by localserve) that refuses some behaviour that is invalid according to specifications and that we normally accept for compatibility 2023-03-12 15:16:01 +01:00
queue add a webapi and webhooks for a simple http/json-based api 2024-04-15 21:49:02 +02:00
smtp add aliases/lists: when sending to an alias, the message gets delivered to all members 2024-04-24 19:15:30 +02:00
smtpfromid in smtp submission, if a fromid is present in the mailfrom command, use it when queueing 2024-04-28 13:18:25 +02:00
smtpservercatchall simplify .gitignore, just on line for ignoring all the testdata/*/data directories 2023-11-09 19:47:33 +01:00
smtpserverfuzz for fuzzing the imapserver and smtpserver use different config files than regular tests 2023-05-22 15:37:03 +02:00
smtpserverquota add per-account quota for total message size disk usage 2023-12-20 20:54:12 +01:00
smtpserversendlimit simplify .gitignore, just on line for ignoring all the testdata/*/data directories 2023-11-09 19:47:33 +01:00
smtpsmuggle add faq for smtp smuggling, fix bug around handling "\nX\n" for any X, reject bare carriage returns and possibly smtp-smuggling attempts 2024-01-01 20:11:16 +01:00
store deprecate having only localparts in an Account's Destinations, it should always be a full email address 2023-03-09 22:13:56 +01:00
tlsreports work around missing timezone in timestamps in tls reports from microsoft 2023-02-05 10:55:34 +01:00
tlsrptsend implement outgoing tls reports 2023-11-09 19:47:26 +01:00
web improve http request handling for internal services and multiple domains 2024-05-11 11:13:14 +02:00
webadmin add aliases/lists: when sending to an alias, the message gets delivered to all members 2024-04-24 19:15:30 +02:00
webapisrv add a webapi and webhooks for a simple http/json-based api 2024-04-15 21:49:02 +02:00
webmail webmail: when moving a single message out of/to the inbox, ask if user wants to create a rule to automatically do that server-side for future deliveries 2024-04-21 17:14:08 +02:00
webserver improve http request handling for internal services and multiple domains 2024-05-11 11:13:14 +02:00
websocket add reverse proxying websocket connections 2023-05-30 22:11:31 +02:00
importtest.maildir.tgz implement storing non-system/well-known flags (keywords) for messages and mailboxes, with imap 2023-06-24 00:24:43 +02:00
importtest.mbox add funtionality to import zip/tgz with maildirs/mboxes to account page 2023-02-16 09:57:27 +01:00
importtest.mbox.zip implement storing non-system/well-known flags (keywords) for messages and mailboxes, with imap 2023-06-24 00:24:43 +02:00