Commit graph

2335 commits

Author SHA1 Message Date
Thomas Urban
3701e05d92
Rewrite envelope from address in sieve forwards (#1949)
Fixes #1946.
2021-05-08 08:30:53 -04:00
Hala Alajlan
bc4ae51c2d
Handle query dns timeout unhandled error (#1950)
Co-authored-by: hala alajlan <halalajlan@gmail.com>
2021-05-08 08:26:40 -04:00
Jawad Seddar
12aaebfc54
custom.yaml: add support for X-Frame-Options header and proxy_redirect off (#1954) 2021-05-08 08:25:33 -04:00
jvolkenant
49813534bd
Updated Nextcloud to 20.0.8, contacts to 3.5.1, calendar to 2.2.0 (#1960) 2021-05-08 08:24:04 -04:00
jvolkenant
16e81e1439
Fix to allow for non forced "enforce" MTA_STS_MODE (#1970) 2021-05-08 08:18:49 -04:00
Joshua Tauberer
b7b67e31b7 Merged point release branch for v0.53a
Changed the Z-Push download URL.
2021-05-08 08:14:39 -04:00
Joshua Tauberer
2e7f2835e7 v0.53a 2021-05-08 08:13:37 -04:00
Joshua Tauberer
8a5f9f464a Download Z-Push from alternate site
The old server has been down for a few days.

Solution from https://discourse.mailinabox.email/t/temporary-fix-for-failed-wget-o-tmp-z-push-zip-https-stash-z-hub-io/8028. Fixes #1974.
2021-05-08 07:59:53 -04:00
Joshua Tauberer
69fc2fdd3a Hide spurrious Nextcloud setup output 2021-05-03 19:41:00 -04:00
Joshua Tauberer
9b07d86bf7 Use $(...) notation instead of legacy backtick notation for embedded shell commands
shellcheck reported

    SC2006: Use $(...) notation instead of legacy backticked `...`.

Fixed by applying shellcheck's diff output as a patch.
2021-05-03 19:28:23 -04:00
Joshua Tauberer
ae3feebd80 Fix warnings reported by shellcheck
* SC2068: Double quote array expansions to avoid re-splitting elements.
* SC2186: tempfile is deprecated. Use mktemp instead.
* SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate.
* SC2102: Ranges can only match single chars (mentioned due to duplicates).
* SC2005: Useless echo? Instead of 'echo $(cmd)', just use 'cmd'.
2021-05-03 19:25:09 -04:00
Joshua Tauberer
2c295bcafd Upgrade the Roundcube persistent login cookie encryption to AES-256-CBC and increase the key length accordingly
This change will force everyone to be logged out of Roundcube since the encryption key and cipher won't match anyone's already-set cookie, but this happens anyway after every Mail-in-a-Box update since we generate a new key each time already.

Fixes #1968.
2021-04-23 17:04:56 -04:00
David Duque
9f13ee6d55
v0.53.POWER.0 2021-04-13 23:02:08 +01:00
David Duque
40babe3e03
do_web_update: Order the domains in some way before writing to the nginx local.conf 2021-04-13 23:01:18 +01:00
David Duque
b9bdf50628
Merge v0.53 from upstream 2021-04-13 16:35:02 +01:00
Joshua Tauberer
8cda58fb22 Speed up status checks a bit by removing a redundant check if the PRIMARY_HOSTNAME certificate is signed and valid 2021-04-12 19:42:12 -04:00
Joshua Tauberer
178c587654 Migrate to the ECDSAP256SHA256 (13) DNSSEC algorithm
* Stop generating RSASHA1-NSEC3-SHA1 keys on new installs since it is no longer recommended, but preserve the key on existing installs so that we continue to sign zones with existing keys to retain the chain of trust with existing DS records.
* Start generating ECDSAP256SHA256 keys during setup, the current best practice (in addition to RSASHA256 which is also ok). See https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1 and https://www.cloudflare.com/dns/dnssec/ecdsa-and-dnssec/.
* Sign zones using all available keys rather than choosing just one based on the TLD to enable rotation/migration to the new key and to give the user some options since not every registrar/TLD supports every algorithm.
* Allow a user to drop a key from signing specific domains using DOMAINS= in our key configuration file. Signing the zones with extraneous keys may increase the size of DNS responses, which isn't ideal, although I don't know if this is a problem in practice. (Although a user can delete the RSASHA1-NSEC3-SHA1 key file, the other keys will be re-generated on upgrade.)
* When generating zonefiles, add a hash of all of the DNSSEC signing keys so that when the keys change the zone is definitely regenerated and re-signed.
* In status checks, if DNSSEC is not active (or not valid), offer to use all of the keys that have been generated (for RSASHA1-NSEC3-SHA1 on existing installs, RSASHA256, and now ECDSAP256SHA256) with all digest types, since not all registers support everything, but list them in an order that guides users to the best practice.
* In status checks, if the deployed DS record doesn't use a ECDSAP256SHA256 key, prompt the user to update their DS record.
* In status checks, if multiple DS records are set, only fail if none are valid. If some use ECDSAP256SHA256 and some don't, remind the user to delete the DS records that don't.
* Don't fail if the DS record uses the SHA384 digest (by pre-generating a DS record with that digest type) but don't recommend it because it is not in the IANA mandatory list yet (https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml).

See #1953
2021-04-12 19:42:12 -04:00
Joshua Tauberer
34569d24a9 v0.53 2021-04-11 12:45:37 -04:00
David Duque
a3851bd6be
v0.52.POWER.3 2021-03-30 20:34:27 +01:00
David Duque
f4df9a5e1a
When updating, kickoff the database again so that the noreply address is added 2021-03-30 20:32:56 +01:00
David Duque
c2f627ea82
update_wkd(): Return 'OK' at the end 2021-03-30 20:32:01 +01:00
David Duque
5e20a00e25
v0.52.POWER.2 2021-03-30 20:09:01 +01:00
David Duque
103ff39500
get_web_domains(): Only return www redirects when asked to (include_www_redirects) 2021-03-30 20:01:46 +01:00
David Duque
aa41702825
When creating reports, do not output the number of days until the key expires 2021-03-30 16:23:08 +01:00
David Duque
a2193289e2
Merge jrsupplee's quota fork 2021-03-30 13:09:35 +01:00
David Duque
aa0da22614
Add a nice welcome page 2021-03-30 01:35:16 +01:00
David Duque
071002b755
Changes to the noreply-daemon key 2021-03-30 00:14:00 +01:00
David Duque
127629611b
Force WKD rebuild when importing or deleting keys 2021-03-29 17:54:58 +01:00
David Duque
c260e164eb
Remove print() calls 2021-03-29 17:54:24 +01:00
David Duque
c25a935f2b
strip_and_export(): Parse key contents to determine id's to exclude 2021-03-29 17:14:44 +01:00
David Duque
013f6f2ed1
Don't calculate uidlists when parsing the list, as they're not ordered accurately 2021-03-29 16:32:47 +01:00
David Duque
0f5a5bfbb1
Handle 'KEYEXPIRED' warnings 2021-03-29 16:25:50 +01:00
David Duque
200aefee00
Add data sink to the fork_context decorator 2021-03-29 16:23:42 +01:00
David Duque
353645f8db
Sync with master 2021-03-24 11:05:03 +00:00
David Duque
2ac999fca4
v0.52.POWER.1 2021-03-24 10:48:45 +00:00
David Duque
e8aee7483e
Update vendor software:
- Nextcloud to 20.0.8
- - Contacts to 3.5.1
- JQuery to 3.6.0
- FontAwesome to 5.15.3
- Roundcube to 1.4.11
2021-03-24 10:44:37 +00:00
David Duque
676f3aaf24 Do not disclose the distro in the admin login page (#9) 2021-03-24 10:06:45 +00:00
David Duque
531e67bcdb Change some status check types to 'Not Applicable' as they do not really qualify as warnings 2021-03-24 10:04:41 +00:00
David Duque
d3cf70db27 Add 'not applicable' status check type 2021-03-24 10:01:05 +00:00
David Duque
13b1b31fb1
Fix email_administrator.py script 2021-03-08 23:54:31 +00:00
David Duque
2827d33597
wkd: Sort by domain (web implementation) 2021-03-08 23:48:40 +00:00
David Duque
046dac6f8f
wkd: Sort the email addresses by domain 2021-03-08 23:39:50 +00:00
David Duque
0085dfbbe2
wkd: Use get_all_mail_addresses() 2021-03-07 23:39:31 +00:00
David Duque
b570cca23c
Final bug-fixing 2021-03-07 23:38:34 +00:00
David Duque
c575aea958
get_all_mail_addresses() umbrella function 2021-03-07 23:28:19 +00:00
David Duque
b3a3136859
remove_noreply_address() - use sanitized address 2021-03-07 23:05:46 +00:00
David Duque
6078a994f2
remove_noreply_address() 2021-03-07 23:05:10 +00:00
David Duque
dca9cc09cd
Do not forget to commit at the end 2021-03-07 23:00:41 +00:00
David Duque
96dec08fca
Noreply backend stub 2021-03-07 22:57:41 +00:00
David Duque
2e47d84972
Add noreply table migration step 2021-03-07 20:42:11 +00:00