mox/webmail
Mechiel Lukkien c57aeac7f0
prevent unicode-confusion in password by applying PRECIS, and username/email address by applying unicode NFC normalization
an é (e with accent) can also be written as e+\u0301. the first form is NFC,
the second NFD. when logging in, we transform usernames (email addresses) to
NFC. so both forms will be accepted. if a client is using NFD, they can log
in too.

for passwords, we apply the PRECIS "opaquestring", which (despite the name)
transforms the value too: unicode spaces are replaced with ascii spaces. the
string is also normalized to NFC. PRECIS may reject confusing passwords when
you set a password.
2024-03-09 09:20:29 +01:00
..
api.go normalize localparts with unicode nfc when parsing 2024-03-08 21:08:40 +01:00
api.json normalize localparts with unicode nfc when parsing 2024-03-08 21:08:40 +01:00
api.ts normalize localparts with unicode nfc when parsing 2024-03-08 21:08:40 +01:00
api_test.go 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
eventwriter.go replace packages slog and slices from golang.org/x/exp with stdlib 2024-02-08 14:49:01 +01:00
lib.ts webmail: for junk/rejects messages, show sender address instead of name in list 2024-03-05 09:04:59 +01:00
message.go replace packages slog and slices from golang.org/x/exp with stdlib 2024-02-08 14:49:01 +01:00
message_test.go when making a message preview, also recognize []-enclosed "horizontal ellipsis" unicode character as a snip 2023-09-11 14:41:50 +02:00
msg.html webmail: ensure wrap of long header lines, instead of horizontal scrollbar in message header section 2023-10-12 22:08:13 +02:00
msg.js webmail: for junk/rejects messages, show sender address instead of name in list 2024-03-05 09:04:59 +01:00
msg.ts webmail: for long to/cc/bcc address list (>5) show the first 4 and a button to show the rest 2023-11-20 21:36:40 +01:00
text.html add webmail 2023-08-07 21:57:03 +02:00
text.js webmail: for junk/rejects messages, show sender address instead of name in list 2024-03-05 09:04:59 +01:00
text.ts add webmail 2023-08-07 21:57:03 +02:00
view.go replace packages slog and slices from golang.org/x/exp with stdlib 2024-02-08 14:49:01 +01:00
view_test.go replace http basic auth for web interfaces with session cookie & csrf-based auth 2024-01-05 10:48:42 +01:00
webmail.go replace packages slog and slices from golang.org/x/exp with stdlib 2024-02-08 14:49:01 +01:00
webmail.html replace http basic auth for web interfaces with session cookie & csrf-based auth 2024-01-05 10:48:42 +01:00
webmail.js webmail: for junk/rejects messages, show sender address instead of name in list 2024-03-05 09:04:59 +01:00
webmail.ts webmail: for junk/rejects messages, show sender address instead of name in list 2024-03-05 09:04:59 +01:00
webmail_test.go replace http basic auth for web interfaces with session cookie & csrf-based auth 2024-01-05 10:48:42 +01:00