Commit Graph

  • 577944310c
    Improve expunged message/UID tracking in IMAP sessions, track synchronization history for mailboxes/annotations. Mechiel Lukkien 2025-03-05 17:17:57 +01:00
  • 684c716e4d
    Add missing wlocks around message delivery to account, mostly for tests. Mechiel Lukkien 2025-03-03 23:59:43 +01:00
  • 2da280f2bb
    Fail tests if unhandled panics happened. Mechiel Lukkien 2025-03-03 19:57:19 +01:00
  • bc50c3bf7f
    In imapserver with RENAME of Inbox, we didn't check for the metadata quota. Mechiel Lukkien 2025-03-02 16:46:06 +01:00
  • f5b67b5d3d
    Clean up the loginattemptclear goroutine with store.Close() Mechiel Lukkien 2025-03-01 18:42:36 +01:00
  • 2beb30cc20
    Refactor how messages are added to mailboxes Mechiel Lukkien 2025-03-01 16:06:01 +01:00
  • 7855a32852
    switch from docker-compose to "docker compose" Mechiel Lukkien 2025-03-01 16:01:55 +01:00
  • 82371ad15b
    simplify cleaning up temp files in gentestdata.go Mechiel Lukkien 2025-03-01 12:04:46 +01:00
  • 9ce552368b
    Minor tweaks. Mechiel Lukkien 2025-03-01 11:19:02 +01:00
  • ea64936a67
    Cleanup message file when DeliverMailbox fails. Mechiel Lukkien 2025-03-01 11:07:05 +01:00
  • 5ba51adb14
    When retraining ham/spam messages, don't make existence of the messages optional. Mechiel Lukkien 2025-03-01 10:48:36 +01:00
  • 3b731b7afe
    various nits Mechiel Lukkien 2025-03-01 10:27:00 +01:00
  • 7756150a69
    Small tweak to LinkOrCopy, including defer for error handling Mechiel Lukkien 2025-03-01 10:25:47 +01:00
  • ffc7ed96bc
    When delivering a message to a mailbox, remember last dir we delivered to Mechiel Lukkien 2025-03-01 10:11:02 +01:00
  • 1037a756fa
    when delivering a message to a mailbox, lazily parse the parsed form of the message Mechiel Lukkien 2025-03-01 09:54:37 +01:00
  • 3050baa15a
    consistently use store.CloseRemoveTempFile for closing and removing temp files Mechiel Lukkien 2025-03-01 08:43:53 +01:00
  • b822533df3
    imapserver: Don't keep account write-locked during IMAP FETCH command Mechiel Lukkien 2025-02-27 09:35:14 +01:00
  • caaace403a
    Add package smtp as fuzzing target since its addition in previous commit Mechiel Lukkien 2025-03-06 11:15:25 +01:00
  • f10bb2c1ae
    smtp: add data reader fuzzer + fix OOB read Martin Holst Swende 2025-03-06 09:57:13 +01:00
  • 44d37892b8
    imapserver: REPLACE commands when in read-only mode should fail Mechiel Lukkien 2025-02-26 18:39:41 +01:00
  • d7bd50b5a5
    imapserver: fix spurious test failure due to recently added account consistency check Mechiel Lukkien 2025-02-26 18:33:01 +01:00
  • f235b6ad83
    imapclient: log traces of sensitive data with traceauth, and of bulk data with tracedata Mechiel Lukkien 2025-02-26 18:13:20 +01:00
  • 9c40205343
    imapserver: Prevent spurious test failures due to compression layer being closed and TLS close-writes failing Mechiel Lukkien 2025-02-26 15:41:46 +01:00
  • 062c3ac182
    when writing updated word counts to the junk filter, remove entries where both counts are 0 Mechiel Lukkien 2025-02-26 15:05:25 +01:00
  • 394bdef39d
    In storage consistency checks, verify the junk filter has the expected word counts Mechiel Lukkien 2025-02-26 14:40:47 +01:00
  • aa85baf511
    add consistency check (enabled during tests only) for unexpected message files in the account message directory Mechiel Lukkien 2025-02-26 11:40:36 +01:00
  • 17de90e29d
    imapserver: Prevent spurious unhandled panics for connections with compress=deflate that break Mechiel Lukkien 2025-02-26 10:50:04 +01:00
  • ea55c85938
    for trace logging, log size of the data (but not for redacted auth data, could be a password) Mechiel Lukkien 2025-02-26 10:14:07 +01:00
  • 92a87acfcb
    Implement IMAP REPLACE extension, RFC 8508. Mechiel Lukkien 2025-02-25 23:27:19 +01:00
  • 1066eb4c9f
    imapclient: add a type Append for messages for the APPEND-command, and accept multiple for servers with MULTIAPPEND capability Mechiel Lukkien 2025-02-25 23:24:37 +01:00
  • 88a68e9143
    imapserver: properly accept literal8 for APPEND, since we claim to implement the BINARY extension Mechiel Lukkien 2025-02-25 23:07:56 +01:00
  • 78e0c0255f
    imapserver: implement MULTIAPPEND extension, rfc 3502 Mechiel Lukkien 2025-02-24 15:47:47 +01:00
  • b56d6c4061
    imapserver: try harder to get the user-agent (from the ID command) into the loginattempt Mechiel Lukkien 2025-02-24 09:38:17 +01:00
  • d27fc1e7fc
    gofmt Mechiel Lukkien 2025-02-23 22:40:34 +01:00
  • f117cc0fe1
    website: mention tls-alpn-01 and http-01 acme challenge types are implemented, but not dns-01 yet Mechiel Lukkien 2025-02-23 22:28:07 +01:00
  • 0ed820e3b0
    imapserver: implement rfc 9590, returning metadata in the extended list command Mechiel Lukkien 2025-02-23 22:12:18 +01:00
  • 2809136451
    imap metadata extension: allow keys in the /shared/ namespace too Mechiel Lukkien 2025-02-23 20:19:07 +01:00
  • 463e801909
    add more rfc's and shuffle roadmap once more Mechiel Lukkien 2025-02-23 12:08:11 +01:00
  • 3b224ea0c2
    consistent simpler parsing of domains in cli commands Mechiel Lukkien 2025-02-23 11:34:51 +01:00
  • 151729af08
    in dns.ParseDomain, don't allow ipv4 addresses (ipv6 addresses were already rejected) Mechiel Lukkien 2025-02-23 11:33:31 +01:00
  • 797c1cf9f0
    do not log an error for tls requests with ipv6 addresses as sni server name Mechiel Lukkien 2025-02-23 10:44:17 +01:00
  • cad585a70e
    webmail: when trying to empty an already empty mailbox, make it a user error, not server error Mechiel Lukkien 2025-02-22 23:11:34 +01:00
  • 9f3cb7340b
    update modseq when changing mailbox/server metadata, and also for specialuse changes, and keep track of modseq for mailboxes Mechiel Lukkien 2025-02-22 22:44:15 +01:00
  • 7c7473ef0e
    fix tests on bsds, since previous commit Mechiel Lukkien 2025-02-21 20:38:37 +01:00
  • f40f94670e
    implement IMAP extension COMPRESS=DEFLATE, rfc 4978 Mechiel Lukkien 2025-02-20 19:33:09 +01:00
  • 3f6c45a41f
    for trace-level logging in console format (as opposed to logfmt), print the trace as quoted string Mechiel Lukkien 2025-02-20 17:42:00 +01:00
  • 95d2002e77
    announce support for namespace extension in imap capabilities line Mechiel Lukkien 2025-02-20 08:32:33 +01:00
  • a458920721
    pass "go vet" again, can't use unkeyed struct fields from other package Mechiel Lukkien 2025-02-19 23:06:11 +01:00
  • 6ed97469b7
    imapclient: parse fetch attribute "internaldate" as time.Time instead of keeping it as string Mechiel Lukkien 2025-02-19 23:01:23 +01:00
  • 02c4715724
    remove intention to implement \important special-use mailbox and $important message flag, rfc 8457 Mechiel Lukkien 2025-02-19 22:44:04 +01:00
  • 5e4d80d48e
    implement the WITHIN IMAP extension, rfc 5032 Mechiel Lukkien 2025-02-19 21:29:14 +01:00
  • dcaa99a85c
    implement IMAP CREATE-SPECIAL-USE extension for the mailbox create command, part of rfc 6154 Mechiel Lukkien 2025-02-19 20:39:26 +01:00
  • 7288e038e6
    implement imap savedate extension, rfc 8514 Mechiel Lukkien 2025-02-19 17:11:20 +01:00
  • cbe5bb235c
    fix data race in code for logging login attempts Mechiel Lukkien 2025-02-19 15:23:19 +01:00
  • de6262b90a
    make test for imap getmetadata reliable by sorting output by key Mechiel Lukkien 2025-02-19 14:58:22 +01:00
  • f30c44eddb
    implement the imap metadata extension, rfc 5464 Mechiel Lukkien 2025-02-17 22:44:51 +01:00
  • 9dff879164
    in domain/dns self-check, for unused services, check that port is 0 like how we told users to configure it and fix checking for errors during srv lookups Mechiel Lukkien 2025-02-16 17:42:24 +01:00
  • 1c4bf8909c
    webmail: when forwarding, include the subject,date,from,reply-to,to,cc headers in the message Mechiel Lukkien 2025-02-16 16:45:02 +01:00
  • 4765bf3b2c
    shuffle entries in roadmap Mechiel Lukkien 2025-02-16 16:28:03 +01:00
  • 3d0dc3a79d
    in domain/dns self-check, for unexpected SRV records for "srv autoconfig", show the values of the unexpected records Mechiel Lukkien 2025-02-16 16:21:01 +01:00
  • 6f678125a5
    in domain/dns self-check, provide config snippet for HostTLSRPT if it isn't configured and the admin should check again for the DNS records Mechiel Lukkien 2025-02-16 16:12:44 +01:00
  • 1d6f45e592
    in domain/dns self-check, don't warn about reverse dns that resolves to multiple names Mechiel Lukkien 2025-02-16 15:55:31 +01:00
  • 6da5f8f586
    add config option to an account destination to reject messages that don't pass a dmarc-like aligned spf/aligned dkim check Mechiel Lukkien 2025-02-15 17:32:31 +01:00
  • f33870ba85
    move the large commands for generating api docs to separate shell script Mechiel Lukkien 2025-02-15 12:56:59 +01:00
  • 3e53abc4db
    add account config option to prevent the account for setting their own custom password, and enable by default for new accounts Mechiel Lukkien 2025-02-15 12:44:18 +01:00
  • 09975a3100
    when warning about weak passwords, mention that passwords reused at other services in particular Mechiel Lukkien 2025-02-15 11:48:10 +01:00
  • 46c1693ee9
    when delivering over smtp, do not require the other server to announce the 8bitmime extension unless in pedantic mode Mechiel Lukkien 2025-02-15 10:04:01 +01:00
  • 93b627ceab
    main: fix reading passwords longer than 64 bytes BlankEclair 2025-02-09 22:52:02 +11:00
  • c210b50433
    update publicsuffix list to latest version Mechiel Lukkien 2025-02-07 12:02:39 +01:00
  • 2f0997682b
    quickstart: check if domain was registered recently, and warn about potential deliverability issues Mechiel Lukkien 2025-02-07 11:16:30 +01:00
  • c7354cc22b
    also unicode-normalize usernames (email addresses) when logging into the imapserver and webapps Mechiel Lukkien 2025-02-06 15:37:33 +01:00
  • 7b3ebb2647
    imapserver: remove unreachable check for logindisabled Mechiel Lukkien 2025-02-06 15:28:01 +01:00
  • e5e15a3965
    add prometheus metrics for errors when getting certificates through acme (typically from let's encrypt) Mechiel Lukkien 2025-02-06 15:12:36 +01:00
  • 1277d78cb1
    keep track of login attempts, both successful and failures Mechiel Lukkien 2025-02-05 23:52:21 +01:00
  • d08e0d3882
    webmail: fix dark mode Mechiel Lukkien 2025-02-03 18:28:48 +01:00
  • 091faa8048
    webmail: fix parsing search filter "start:<date>" and "end:<date>" Mechiel Lukkien 2025-01-30 12:15:44 +01:00
  • ef77f58e08
    webmail: add button to create a mailbox below another one Mechiel Lukkien 2025-01-30 11:55:57 +01:00
  • ad26fd265d
    webmail: add button to mark a mailbox and its children as read Mechiel Lukkien 2025-01-30 11:50:52 +01:00
  • c8fd9ca664
    webmail: after clicking on the "create mailbox" button, automatically put focus on the input field for the new mailbox name Mechiel Lukkien 2025-01-30 11:02:12 +01:00
  • f9280b0891
    reduce logging about db schema initializations during tests Mechiel Lukkien 2025-01-30 10:21:16 +01:00
  • 807d01ee21
    simplify/cleanup common smtpserver test code Mechiel Lukkien 2025-01-29 21:11:39 +01:00
  • ec7904c0ee
    add fail2ban snippet to FAQ Mechiel Lukkien 2025-01-29 20:58:31 +01:00
  • df17ae2321
    in email to postmaster about new mox version, don't mention "mox backup" explicitly, it's in all the release notes nowadays Mechiel Lukkien 2025-01-29 20:27:33 +01:00
  • 6ed736241d
    also use "password-encrypted" for the 2nd autoconfig configuration Mechiel Lukkien 2025-01-27 08:31:13 +01:00
  • 49e2eba52b
    add cli command "mox admin imapserve $preauthaddress" Mechiel Lukkien 2025-01-25 22:18:26 +01:00
  • 2d3d726f05
    add config options to disable a domain and to disable logins for an account Mechiel Lukkien 2025-01-25 20:39:20 +01:00
  • 132efdd9fb
    don't use non-constant for string formatting Mechiel Lukkien 2025-01-24 17:00:39 +01:00
  • 3e2695323c
    add config option to reject incoming deliveries with an error during the smtp transaction Mechiel Lukkien 2025-01-24 16:51:21 +01:00
  • 8b26e3c972
    consistently add details about configuration errors when parsing domains.conf Mechiel Lukkien 2025-01-24 15:06:55 +01:00
  • 890c75367a
    mox backup: skip message files that were added to queue or account message directories while making the backup, instead of storing them and warning about them Mechiel Lukkien 2025-01-24 12:24:57 +01:00
  • 76e96ee673
    Change "mox backup $destdir" from storing only data files to $destdir to storing those under $destdir/data and now also copying config files to $destdir/config. (#150) Mechiel Lukkien 2025-01-24 11:35:28 +01:00
  • 3d52efbdf9
    fix apidiff.sh to always generate a new apidiff/next.txt file Mechiel Lukkien 2025-01-23 23:02:36 +01:00
  • 6aa2139a54
    do not use results from junk filter if we have less than 50 positive classifications to base the decision on Mechiel Lukkien 2025-01-23 22:55:50 +01:00
  • 8fac9f862b
    attempt to fix workflow again Mechiel Lukkien 2025-01-23 18:40:05 +01:00
  • 7df54071d7
    update to github action actions/upload-artifact@v4 from v3 Mechiel Lukkien 2025-01-23 18:29:43 +01:00
  • acc1c133b0
    admin check: do not raise error when forward-confirmed reverse dns does not match hostname Mechiel Lukkien 2025-01-23 18:11:00 +01:00
  • 3c77e076e2
    Add support for negotiating IMAP and SMTP on the HTTPS port 443 using TLS ALPN "imap" and "smtp" s0ph0s 2025-01-23 11:13:06 +01:00
  • 0203dfa9d9
    webmail: fix nil pointer dereference when searching for attachment types, eg "a:spreadsheet" Mechiel Lukkien 2025-01-23 11:03:08 +01:00
  • 008de1cafb
    webmail: in message view, under More, add button to open currently displayed part (either text or html) as raw text (but decoded if in base64/quoted-printable/etc). Mechiel Lukkien 2025-01-22 21:18:02 +01:00
  • 7647264a72
    web interfaces: when there is no login session, and a non-existent path is requested, mention the web interface this is about Mechiel Lukkien 2025-01-22 20:15:14 +01:00