1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2025-04-04 00:17:06 +00:00
Commit Graph

1189 Commits

Author SHA1 Message Date
Joshua Tauberer
fb0a3b0489
Restore Roundcube's password reset tool by removing PRAGMA journal_mode = WAL from Roundcube source (#2199) 2023-05-13 10:26:41 -04:00
downtownallday
34bee7f412 Merge remote-tracking branch 'upstream/main' into merge-upstream
# Conflicts:
#	management/templates/index.html
#	setup/nextcloud.sh
#	setup/webmail.sh
2023-05-13 08:28:29 -04:00
Joshua Tauberer
3bc9d07aeb Roundcube 1.6.1 2023-05-13 07:00:54 -04:00
Michael Heuberger
95530affbf
Bump Nextcloud to v23.0.12 and its apps (#2244) 2023-05-13 06:37:24 -04:00
KiekerJan
8aa98b25b5 Update configuration of Roundcube password plugin for Roundcube 1.6 2023-05-13 06:22:28 -04:00
KiekerJan
3c15081673 Remove journal PRAGMA from Roundcube source which broke the database for postfix
See #2185.
2023-05-13 06:20:13 -04:00
Joshua Tauberer
01d8e9f3b4 Revert "Disable Roundcube password plugin since it was corrupting the user database (#2198)"
This reverts commit 1587248762.

See subsequent commits.
2023-05-13 06:20:13 -04:00
downtownallday
a3e446b7c6 workaround occasional logwatch hang 2023-04-20 08:22:05 -04:00
downtownallday
da0506a1d7 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2023-01-29 10:41:53 -05:00
Joshua Tauberer
6f94412204 v61.1 2023-01-28 11:25:21 -05:00
Hugh Secker-Walker
31bbef3401
chore(setup): Make sed fingerprint patterns in start.sh be case insensitive (#2201) 2023-01-28 11:12:40 -05:00
downtownallday
3c3cd89a13 mods: update copyright 2023-01-25 08:50:19 -05:00
downtownallday
9f5ddc284a Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2023-01-25 08:49:12 -05:00
Joshua Tauberer
5e3e4a2161 v61 2023-01-21 08:20:48 -05:00
downtownallday
190d7195d3 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
The roundcube password plugin is not disabled.

# Conflicts:
#	management/utils.py
#	setup/start.sh
#	setup/system.sh
#	setup/webmail.sh
#	tools/editconf.py
2023-01-15 20:35:08 -05:00
Hugh Secker-Walker
57047d96e9
chore(setup): Update obsolete chown group syntax (#2202)
Co-authored-by: Hugh Secker-Walker <hsw+miac@hodain.net>
2023-01-15 08:25:36 -05:00
KiekerJan
1587248762
Disable Roundcube password plugin since it was corrupting the user database (#2198) 2023-01-15 08:22:43 -05:00
KiekerJan
c29593b5ef
explicitly enable fail2ban which didn't start (#2190) 2023-01-15 08:10:04 -05:00
downtownallday
aaff2eebcf setup: copy custom logwatch services and conf, if available 2023-01-07 20:36:04 -05:00
downtownallday
f8bba1b2b8 setup: tighten permissions to setup mods backup in user-data 2022-12-02 15:24:21 -05:00
downtownallday
e0a237c857 Fixes #17: start services after unattended upgrades 2022-12-02 15:09:29 -05:00
downtownallday
36b5a31e82 setup: backup and restore setup mods 2022-11-20 09:08:50 -05:00
downtownallday
7cf55db865 mod: protect the coturn turnserver secret 2022-11-14 17:38:35 -05:00
downtownallday
2114b9a5d2 mods: make the logwatch setup mod cloud-in-a-box friendly 2022-11-14 09:22:48 -05:00
downtownallday
60494e0585 dns: set the remote nextcloud port in *davs._tcp records 2022-11-13 14:08:18 -05:00
downtownallday
44f2aed9e1 ios: set the caldav and carddav hostnames in the mobileconfig plist to that of the remote nextcloud 2022-11-13 13:35:15 -05:00
downtownallday
e5eb7680ae dns: ensure _caldavs._tcp and _carddavs._tcp SRV records point to the remote nextcloud 2022-11-13 12:45:38 -05:00
downtownallday
c743ebe606 zpush: add the latest z-push hack for php 8.0 2022-11-06 08:13:44 -05:00
downtownallday
29b1c29a35 setup: update mods.available/README.md wording 2022-11-06 08:05:32 -05:00
downtownallday
2ac391796e setup: add a setup mod to attach a logwatch report to daily status checks emails 2022-11-06 07:02:33 -05:00
downtownallday
93f7a84f44 roundcube: use the ldap_simple password driver 2022-11-06 06:58:29 -05:00
downtownallday
2134d44730 Add license 2022-10-30 08:46:12 -04:00
downtownallday
4d845a3618 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2022-10-30 08:21:51 -04:00
Joshua Tauberer
3314c4f7de v60.1 2022-10-30 08:18:13 -04:00
Joshua Tauberer
1f60236985 Upgrade Nextcloud to 23.0.4 (contacts to 4.2.0, calendar to 3.5.0)
This fixes the monthly view calendar items being in random order.
2022-10-30 08:16:54 -04:00
downtownallday
aad837b75e Add setup/enmod.sh to enable setup mods 2022-10-29 09:58:49 -04:00
downtownallday
7fa070aed8 avoid using PYTHONPATH to enable setup mod hooks, which is problematic for managment command line tool use
- save the directory path to setup mods in /etc/mailinabox.conf
- dynamically add the path to python during hook initialization
2022-10-24 16:24:44 -04:00
downtownallday
cac796a5bb Enable compression for wget downloads.
This fixes an issue where unless compression=auto (or compression=gzip) is specified, using wget to download jquery.min.js by setup/management.sh fails with max redirects exceeded.
The man page says --compression is an experimental option, but it doesn't appear to have any problems.
Note that downloading jquery.min.js with curl works fine when wget without --compression fails.
2022-10-20 17:02:04 -04:00
downtownallday
c787437317 Add a setup mod to install roundcube's "larry" skin, which was removed with roundcubemail version 1.6 2022-10-16 15:16:02 -04:00
downtownallday
e636e63862 Setup fixes
1. Autodetect encryption-at-rest and run the correct setup in boostrap and /usr/local/bin/mailinabox
2. Fix bug where directories in the local mod folder are improperly executed causing setup to fail
3. Add a remote_nextcloud.sh setup mod cleanup function for cleaner removal of the mod
2022-10-14 09:27:24 -04:00
downtownallday
9e5ce3e681 Enable "bootstrap" installs 2022-10-13 18:58:44 -04:00
downtownallday
9b62b5dc1a Use an explicit php exectable and package if specified by environment variables 2022-10-13 09:27:58 -04:00
downtownallday
a9d34441fa Update hashes to match upstream's use of github/nextcloud-releases 2022-10-12 08:20:44 -04:00
downtownallday
caf95b1efe Apply license 2022-10-12 07:18:30 -04:00
downtownallday
ec2c878360 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204 2022-10-12 06:57:37 -04:00
Joshua Tauberer
286a4bd9e7 Remove stray quote in bootstrap.sh
Reported at https://discourse.mailinabox.email/t/version-60-for-ubuntu-22-04-is-released/9558/4.
2022-10-12 06:11:02 -04:00
downtownallday
26fa200014 Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	setup/management.sh
#	setup/nextcloud.sh
2022-10-09 09:30:12 -04:00
Joshua Tauberer
89cd9fb611 Increase gunicorn's worker timeout since some /admin commands take a long time 2022-10-08 08:23:48 -04:00
Joshua Tauberer
22a6270657 Remove old setup step to uninstall acme library 2022-10-08 08:23:48 -04:00
Joshua Tauberer
9b111e2493 Update to Nextcloud 23.0.8 (contacts 4.2.0, calendar 3.5.0) 2022-10-08 07:23:21 -04:00
downtownallday
cc54379ed2 Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	management/backup.py
2022-09-29 11:10:16 -04:00
jvolkenant
b8feb77ef4
Move postgrey database under $STORAGE_ROOT (#2077) 2022-09-24 13:17:55 -04:00
Joshua Tauberer
3c44604316 Install 'file' package
The command is used in mailinabox-postgrey-whitelist. Reported missing (on systems that don't install it by default) in #2083.
2022-09-24 10:10:50 -04:00
downtownallday
9a381961c5 setting permissions on mail.log fixes the github actions failure for upgrade-to-upstream - this is just clean up 2022-09-22 18:31:59 -04:00
downtownallday
35aa9f7691 try setting mail.log permissions during setup 2022-09-22 18:06:03 -04:00
downtownallday
9b92b394f4 change wording 2022-09-22 13:38:17 -04:00
downtownallday
f6e9fd628c Hide the output from apt-get unless an error occurs 2022-09-22 11:08:02 -04:00
downtownallday
68bc176b00 Don't add firewall rules for the remote nextcloud if it's not accessible 2022-09-22 11:07:34 -04:00
downtownallday
912b78bb47 Change the remote_nextcloud web_update hook handler strategy 2022-09-22 09:35:50 -04:00
downtownallday
53cbabac75 Fix url redirection when a remote nextcloud is used so that .well-known/caldav and carddav work properly, as well as the redirecting /cloud to the remote Nextcloud. Since the nginx config is replaced by the management daemon whenever a new domain is added, this change adds a hooking mechanism for setup mods.Fix url redirection when a remote nextcloud is in use. This corrects redirection for /.well-known/caldav, /.well-known/carddav and /cloud to send the client to the remote nextcloud. This requires an nginx configuration change, and since the nginx config is replaced by the management daemon whenever a new domain is added, this change adds a hooking mechanism for setup mods allowing them to intercept and modify the resultant nginx config. 2022-09-21 15:52:47 -04:00
downtownallday
59e78040bf Hide nextcloud upgrade output 2022-09-20 10:13:34 -04:00
downtownallday
5f8ae763aa Fix an issue where unattended upgrades randomly kick in during setup and cause apt installs, and therefore setup itself, to fail 2022-09-20 10:13:12 -04:00
downtownallday
bf63ca827e Add copyright to source files 2022-09-19 14:45:11 -04:00
downtownallday
603b716ac2 add additional protections to the management daemon's runtime environment 2022-09-18 15:43:10 -04:00
downtownallday
c33153c646 update roundcube contacts url 2022-09-17 21:54:42 -04:00
downtownallday
45d5b7cb25 Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	setup/webmail.sh
#	tools/editconf.py
2022-09-17 19:54:52 -04:00
kiekerjan
d584a41e60
Update Roundcube to 1.6.0 (#2153) 2022-09-17 09:20:20 -04:00
downtownallday
56074ae035 Tighten roundcube session config (#2138)
Merges #2138.
2022-09-17 09:09:00 -04:00
Steve Hay
84da4e6000 Update dovecot to use same DH parameters file as the other services
Originally from #2157.
2022-09-17 09:07:54 -04:00
Steve Hay
3fd2e3efa9
Replace Flask built-in WSGI server with gunicorn (#2158) 2022-09-17 08:03:16 -04:00
downtownallday
2461e9a36c tighten the cipher list 2022-09-07 16:17:22 -04:00
downtownallday
80decc3f71 fix python error "cannot pickle 'dict_keys' object"
a deep copy of a dictionary with values of type `dict_keys`, required by the underlying ldap3 python3 library, is no longer allowed. they must be a `list` type

actual error:

Traceback (most recent call last):
  File "/mailinabox/setup/migrate.py", line 461, in <module>
    run_miabldap_migrations()
  File "/mailinabox/setup/migrate.py", line 440, in run_miabldap_migrations
    raise e
  File "/mailinabox/setup/migrate.py", line 431, in run_miabldap_migrations
    migration_func(env)
  File "/mailinabox/setup/migrate.py", line 249, in migration_miabldap_1
    users=m13.create_users(env, conn, ldap, ldap_base, ldap_users_base, ldap_domains_base)
  File "/mailinabox/setup/migration_13.py", line 137, in create_users
    dn = add_user(env, ldapconn, ldap_base, ldap_users_base, ldap_domains_base, email, password, privs.split("\n"), totp)
  File "/mailinabox/setup/migration_13.py", line 90, in add_user
    ldapconn.add(dn, objectClasses, attrs)
  File "/usr/lib/python3/dist-packages/ldap3/core/connection.py", line 947, in add
    _attributes = deepcopy(attributes)  # dict could change when adding objectClass values
  File "/usr/lib/python3.10/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.10/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.10/copy.py", line 161, in deepcopy
    rv = reductor(4)
TypeError: cannot pickle 'dict_keys' object
2022-09-05 17:20:41 -04:00
downtownallday
cc0a6d25cb z-push hack for php 8.0: change a debug print statement and make a policies.ini change 2022-09-05 15:32:24 -04:00
downtownallday
9783b8bbbc sync should be true for a nextcloud backend 2022-09-05 15:29:39 -04:00
downtownallday
cb50405864 roundcube 1.6 2022-09-05 14:12:52 -04:00
downtownallday
ae173fcdc6 Update app hashes for NC 21 and 22 upgrades 2022-09-05 14:12:29 -04:00
downtownallday
f63488aa1a Merge branch 'master' into jammyjellyfish2204
# Conflicts:
#	setup/management.sh
#	setup/mods.available/connect-nextcloud-to-miab.sh
#	setup/start.sh
#	setup/webmail.sh
#	tests/lib/carddav.sh
#	tests/lib/system.sh
#	tests/system-setup/setup-defaults.sh
#	tests/system-setup/setup-funcs.sh
#	tests/system-setup/upgrade.sh
2022-09-05 10:30:45 -04:00
downtownallday
549fdbf97a Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	setup/management.sh
2022-09-05 09:30:19 -04:00
Joshua Tauberer
91fc74b408 Setup fixes for Ubuntu 22.04
Nextcloud:
* The Nextcloud user_external 1.0.0 package for Nextcloud 21.0.7 isn't available from Nextcloud's releases page, but it's not needed in an intermediate upgrade step (hopefully), so we can skip it.
* Nextcloud updgrade steps should not be elifs because multiple intermediate upgrades may be needed.
* Continue if the user_external backend migration fails. Maybe it's not necessary. It gives a scary error message though.
* Remove a line that removes an old file that hasn't been in use since 2019 and the expectation is that Ubuntu 22.04 installations are on fresh machines.

Backups:
* For duplicity, we now need boto3 for AWS.
2022-09-03 07:50:36 -04:00
downtownallday
72bee52bd7 fix detection of installation status of contacts app - the grep for "contacts" should not match app "contactsintegration" 2022-08-18 10:36:09 -04:00
downtownallday
cac187756d Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	CHANGELOG.md
#	README.md
#	management/ssl_certificates.py
#	setup/bootstrap.sh
#	setup/dns.sh
#	setup/management.sh
#	setup/nextcloud.sh
#	setup/preflight.sh
#	setup/start.sh
#	setup/webmail.sh
#	tests/test_mail.py
#	tools/editconf.py
2022-07-28 17:20:57 -04:00
David Duque
e0c0b5053c Upgrade Nextcloud External User Backend to v3.0.0
Co-Authored-By: Joshua Tauberer <jt@occams.info>
2022-07-28 14:42:51 -04:00
Joshua Tauberer
268b31685d Ensure STORAGE_ROOT has a+rx permission since processes run by different system users need to access files within it 2022-07-28 14:42:51 -04:00
Joshua Tauberer
ab71abbc7c Update to latest cryptography Python package, add missing source at top of management.sh so it can run standalone (needs STORAGE_ROOT) 2022-07-28 14:42:51 -04:00
Joshua Tauberer
87e6df9e28 Fix roundcube dependency missing imap and unneeded ldap 2022-07-28 14:42:51 -04:00
Felix Matouschek
558f2db31f system.sh: Remove no longer needed haveged (#2090)
Starting from kernels 5.6 haveged is obsolete. Therefore remove it in
Ubuntu 22.04.

See https://github.com/jirka-h/haveged/issues/57
2022-07-28 14:42:51 -04:00
Joshua Tauberer
0a7b9d5089 Update dovecot, spampd settings for Ubuntu 22.04
* dovecot's ssl_protocols became ssl_min_protocol in 2.3
* spampd fixed a bug so we can remove lmtp_destination_recipient_limit=1 in postfix
2022-07-28 14:34:45 -04:00
Joshua Tauberer
1eddf9a220 Upgrade to Nextcloud 23.0.4
The first version supporting PHP 8.0 is Nextcloud 21. Therefore we can add migrations only to Nextcloud 21 forward, and so we only support migrating from Nextcloud 20 (Mail-in-a-Box versions v0.51+). Migration steps through Nextcloud 21 and 22 are added.

Also:

* Fix PHP APUc settings to be before Nextcloud tools are run.
2022-07-28 14:34:45 -04:00
Joshua Tauberer
78d71498fa Upgrade from PHP 7.2 to 8.0 for Ubuntu 22.04
* Add the PHP PPA.
* Specify the version when invoking the php CLI.
* Specify the version in package names.
* Update paths to 8.0 (using a variable in the setup scripts).
* Update z-push's php-xsl dependency to php8.0-xml.
* php-json is now built-into PHP.

Although PHP 8.1 is the stock version in Ubuntu 22.04, it's not supported by Nextcloud yet, and it likely will never be supported by the the version of Nextcloud that succeeds the last version of Nextcloud that supports PHP 7.2, and we have to install the next version so that an upgrade is permitted, so skipping to PHP 8.1 may not be easily possible.
2022-07-28 14:02:46 -04:00
Joshua Tauberer
b41a0ad80e Drop some hacks that we needed for Ubuntu 18.04
* certbot's PPA is no longer needed because a recent version is now included in the Ubuntu respository.
* Un-pin b2sdk (reverts 69d8fdef99 and d829d74048).
* Revert boto+s3 workaround for duplicity (partial revert of 99474b348f).
* Revert old "fix boto 2 conflict on Google Compute Engine instances" (cf33be4596) which is probably no longer needed.
2022-07-28 14:02:46 -04:00
Daniel Mabbett
8cb360fe36 Configure nsd listening interfaces before installing nsd so that it does not interfere with bind9 2022-07-28 14:02:46 -04:00
Joshua Tauberer
f534a530d4 Update and drop some package and file names for Ubuntu 22.04
* Fix path to bind9 startup options file in Ubuntu 22.04.
* tinymce has not been a Roundcube requirement recently and is no longer a package in Ubuntu 22.04
* Upgrade Vagrant box to Ubuntu 22.04
2022-07-28 14:02:46 -04:00
Joshua Tauberer
2abcafd670 Update Ubuntu version checks from 18.04 to 22.04 2022-07-28 14:02:44 -04:00
downtownallday
27dcb5d7ca Enable fail2ban for z-push and add a test for it 2022-07-18 15:52:04 -04:00
downtownallday
9b8fc905f6 rename script "remote-nextcloud-use-miab.sh" to "connect-nextcloud-to-miab.sh" 2022-06-28 16:43:27 -04:00
downtownallday
f1cddb5bd1 Tighten roundcube session config 2022-06-28 07:43:11 -04:00
downtownallday
6be8d732aa Fix comment 2022-06-27 11:03:58 -04:00
downtownallday
8838d5af82 Eliminate the manual firewall configuration step when connecting a remote Nextcloud's user_ldap 2022-06-27 11:00:36 -04:00
downtownallday
5de40fc9b1 Fixes for upgrading nextcloud; update calendar and contacts version 2022-06-26 22:04:05 -04:00
downtownallday
33d81e56ae Changed rcmcarddav release containing fix for guzzlehttp dependency 2022-06-26 21:55:51 -04:00
downtownallday
c47807776b Update roundcube config for changes introduced in 1.6 2022-06-25 16:56:01 -04:00
downtownallday
9537282203 Roundcube 1.6-rc
includes update to rcmcarddav plugin v4.4.1
2022-06-25 12:39:52 -04:00
downtownallday
7c67ad49d0 nsd.log must exist or rsyslog won't write to it 2022-06-24 08:22:38 -04:00
downtownallday
577a39be85 Upgrade to user_external v3.0.0 required for Nextcloud 23+ 2022-06-24 07:49:14 -04:00
downtownallday
7f18e6ca3c Upgrade persistent login plugin to version 5.3.0 2022-06-23 17:45:40 -04:00
downtownallday
c135bf1f77 Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	CHANGELOG.md
#	README.md
#	conf/nginx-top.conf
#	management/backup.py
#	setup/bootstrap.sh
#	setup/management.sh
#	setup/nextcloud.sh
#	setup/system.sh
#	setup/web.sh
#	setup/webmail.sh
#	setup/zpush.sh
#	tests/test_mail.py
2022-06-21 23:58:17 -04:00
downtownallday
37a7088531 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
#	setup/management.sh
2022-06-21 20:38:01 -04:00
Joshua Tauberer
3c3d62ac27 Version 57a 2022-06-19 08:58:09 -04:00
Joshua Tauberer
a6ae0e6da1 Update to latest cryptography Python package, add missing source at top of management.sh so it can run standalone (needs STORAGE_ROOT) 2022-06-19 07:31:07 -04:00
Joshua Tauberer
9ef330e6eb Fix roundcube dependency missing imap and unneeded ldap 2022-06-19 07:31:07 -04:00
Felix Matouschek
b4099f49c3 system.sh: Remove no longer needed haveged (#2090)
Starting from kernels 5.6 haveged is obsolete. Therefore remove it in
Ubuntu 22.04.

See https://github.com/jirka-h/haveged/issues/57
2022-06-19 07:31:07 -04:00
Joshua Tauberer
3599bbbf2e Update dovecot, spampd settings for Ubuntu 22.04
* dovecot's ssl_protocols became ssl_min_protocol in 2.3
* spampd fixed a bug so we can remove lmtp_destination_recipient_limit=1 in postfix
2022-06-19 07:31:07 -04:00
Joshua Tauberer
96bab10b53 Upgrade to Nextcloud 23.0.0
The first version supporting PHP 8.0 is Nextcloud 21. Therefore we can add migrations only to Nextcloud 21 forward, and so we only support migrating from Nextcloud 20 (Mail-in-a-Box versions v0.51+). Migration steps through Nextcloud 21 and 22 are added.
2022-06-19 07:31:07 -04:00
Joshua Tauberer
0159347673 Upgrade from PHP 7.2 to 8.0 for Ubuntu 22.04
* Add the PHP PPA.
* Specify the version when invoking the php CLI.
* Specify the version in package names.
* Update paths to 8.0 (using a variable in the setup scripts).
* Update z-push's php-xsl dependency to php8.0-xml.
* php-json is now built-into PHP.

Although PHP 8.1 is the stock version in Ubuntu 22.04, it's not supported by Nextcloud yet, and it likely will never be supported by the the version of Nextcloud that succeeds the last version of Nextcloud that supports PHP 7.2, and we have to install the next version so that an upgrade is permitted, so skipping to PHP 8.1 may not be easily possible.
2022-06-19 07:31:05 -04:00
Joshua Tauberer
794d3fb0d8 Drop some hacks that we needed for Ubuntu 18.04
* certbot's PPA is no longer needed because a recent version is now included in the Ubuntu respository.
* Un-pin b2sdk (reverts 69d8fdef99 and d829d74048).
* Revert boto+s3 workaround for duplicity (partial revert of 99474b348f).
* Revert old "fix boto 2 conflict on Google Compute Engine instances" (cf33be4596) which is probably no longer needed.
2022-06-19 07:30:24 -04:00
Daniel Mabbett
6160ace29c Configure nsd listening interfaces before installing nsd so that it does not interfere with bind9 2022-06-19 05:45:29 -04:00
Joshua Tauberer
8a876e671d Update and drop some package and file names for Ubuntu 22.04
* Fix path to bind9 startup options file in Ubuntu 22.04.
* tinymce has not been a Roundcube requirement recently and is no longer a package in Ubuntu 22.04
* Upgrade Vagrant box to Ubuntu 22.04
2022-06-19 05:45:17 -04:00
Joshua Tauberer
193c36e8a6 Update Ubuntu version checks from 18.04 to 22.04 2022-06-19 05:44:18 -04:00
Joshua Tauberer
d829d74048 Pin b2sdk to version 1.14.1 in the virtualenv also
We install b2sdk in two places: Once globally for duplicity (see
9d8fdef9915127f016eb6424322a149cdff25d7 for #2125) and once in
a virtualenv used by our control panel. The latter wasn't pinned
when the former was but should be to fix new Python compatibility
issues.

Anyone who updated Python packages recently (so anyone who upgraded
Mail-in-a-Box) started encountering these issues.

Fixes #2131.

See https://discourse.mailinabox.email/t/backblaze-b2-backup-not-working-since-v57/9231.
2022-06-18 13:15:59 -04:00
downtownallday
0ef7b33a55 Remove output prefix
It's too difficult to read, especially when getting user input via stdin
2022-06-14 05:39:32 -04:00
downtownallday
639826b97a Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2022-06-12 17:22:13 -04:00
Joshua Tauberer
2aca421415 Version 57 2022-06-12 08:18:42 -04:00
downtownallday
ee8d627c3b Improve formatting of setup output 2022-06-05 21:34:52 -04:00
downtownallday
eb83732000 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox 2022-06-05 20:24:28 -04:00
downtownallday
48be363815 Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204 2022-06-05 20:22:34 -04:00
downtownallday
f1b904acc6 Enable apcu cli, required for nextcloud install 2022-06-05 20:21:15 -04:00
jbandholz
9004bb6e8e
Add IPV6 addresses to fail2ban ignoreip (#2069)
Update jails.conf to include IPV6 localhost and external ip to ignoreip line.  Update system.sh to include IPV6 address in replacement.  See mail-in-a-box#2066 for details.
2022-06-05 09:40:54 -04:00
Felix Matouschek
e7a6626bf7
system.sh: Remove no longer needed haveged (#2090)
Starting from kernels 5.6 haveged is obsolete. Therefore remove it in
Ubuntu 22.04.

See https://github.com/jirka-h/haveged/issues/57
2022-06-05 09:38:56 -04:00
m-picc
69d8fdef99
Specify b2sdk version 1.14.1 (#2125)
pin b2sdk version to 1.14.1 to resolve exception that occurs when attempting to use backblaze backups. See https://github.com/mail-in-a-box/mailinabox/issues/2124 for details.
2022-06-05 09:24:32 -04:00
downtownallday
5caaab9a8f Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox 2022-05-04 17:15:45 -04:00
Austin Ewens
eeee712cf3
Switched to using tags over releases for NextCloud contacts/calendar (#2105)
See [mailinabox issue #2088](https://github.com/mail-in-a-box/mailinabox/issues/2088). This also updates the commit hashes to for anyone updating from NextCloud version 17 (as shown in the related issue) since a different hash is used for tags vs releases.

This was tested and verified to work on a setup previously running v0.44 and then updating to the latest version (v56).
2022-05-04 17:09:53 -04:00
downtownallday
91ecf6e8d6 nextcloud 24 2022-05-04 11:20:07 -04:00
downtownallday
05b135ba73 support nextcloud release candidate downloads 2022-05-04 10:44:44 -04:00
downtownallday
9b0da60c24 Fix detection of installed nc app
The script erroneously determined the contacts app was installed because it matched "contactsintegration"
2022-04-09 07:18:22 -04:00
downtownallday
70475cc294 Allow the nextcloud service account to be able to change user account passwords.
This should be removed once Nextcloud Server iss 18406 is fixed.
2022-04-08 10:05:34 -04:00
downtownallday
462e628e34 Fix pip execution 2022-03-06 10:54:09 -05:00
downtownallday
a6c819eea0 Improve formatting of setup output 2022-03-06 10:53:00 -05:00
downtownallday
b7c7187fa5 Fix the ownership of nsd.log on upgrade 2022-02-28 09:40:28 -05:00
downtownallday
8e3f361d70 Have nsd log to rsyslog only and not both rsyslog and nsd.log.
Have rsyslog populate nsd.log instead.
2022-02-28 09:28:40 -05:00
downtownallday
94f140d528 Prevent duplicate logging of mail-related output by configuring rsyslog to record only to mail.log and not also to syslog 2022-02-28 07:11:58 -05:00
downtownallday
72827f365d Change service and package names referring to php 8.0 to php 8.1 2022-02-25 19:47:30 -05:00
downtownallday
2c6474385e Address issues with postgrey, nsd, and rsyslogd introduced with jammy
1. `systemctl reload postgrey` is broken, so use restart in that case
2. `systemctl restart nsd` succeeds once /var/log is writable by systemd. However, nsd still fails to write to /var/log/nsd.log if the file already exists
3. the default configuration for rsyslogd is to no longer create a /var/run/rsyslogd.pid file, so use /usr/bin/pidof in that case
2022-02-25 19:45:46 -05:00
downtownallday
fe2079ee8f Add setup mods for testing the latest version of roundcube 2022-02-25 19:32:29 -05:00
downtownallday
fd2ff00a6e Use persistent_login plugin's "Auth Token" support for Roundcube. The old way was very insecure and is subject to dictionary attack of the unsalted encrypted password stored in a browser cookie. 2022-01-29 15:22:01 -05:00
downtownallday
54dc06416b Periodically clean the roundcube database 2022-01-29 12:19:31 -05:00
downtownallday
c3ac810c19 Add o+x to storage root since jammy's default permissions on new home directories is 0750 and access by other users (daemons) is needed 2022-01-29 11:01:30 -05:00
downtownallday
bdeb27c3f3 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2022-01-20 06:58:40 -05:00
Joshua Tauberer
3a7de051ee Version 56 (January 19, 2022) 2022-01-19 16:59:34 -05:00
downtownallday
4e6550ed22 Merge branch 'jammyjellyfish2204' of https://github.com/mail-in-a-box/mailinabox into jammyjellyfish2204
# Conflicts:
#	README.md
#	setup/mail-dovecot.sh
#	setup/system.sh
#	setup/webmail.sh
#	setup/zpush.sh
#	tests/test_mail.py
2022-01-11 16:39:39 -05:00
downtownallday
f5c92d936d Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	setup/webmail.sh
2022-01-11 09:52:34 -05:00
Joshua Tauberer
bcc89705ab Update dovecot, spampd settings for Ubuntu 22.04
* dovecot's ssl_protocols became ssl_min_protocol in 2.3
* spampd fixed a bug so we can remove lmtp_destination_recipient_limit=1 in postfix
2022-01-09 11:42:31 -05:00
Joshua Tauberer
114916d9ab Upgrade to Nextcloud 23.0.0
The first version supporting PHP 8.0 is Nextcloud 21. Therefore we can add migrations only to Nextcloud 21 forward, and so we only support migrating from Nextcloud 20 (Mail-in-a-Box versions v0.51+). Migration steps through Nextcloud 21 and 22 are added.
2022-01-09 11:42:31 -05:00
Daniel Mabbett
ae20878431 Upgrade from PHP 7.2 to 8.0 for Ubuntu 22.04
(Updated by @JoshData from the original commit which was for Ubuntu 20.04 using PHP 7.4. And although 8.1 seems to be available, it's not supported by Nextcloud yet, and it likely will never be supported by the the version of Nextcloud that succeeds the last version of Nextcloud that supports PHP 7.2, and we have to install the next version so that an upgrade is permitted, so skipping to PHP 8.1 may not be easily possible.)
2022-01-08 20:07:32 -05:00
Joshua Tauberer
a0f9835e43 certbot and duplicity PPAs no longer need to be added because recent versions are now included in the Ubuntu respository 2022-01-08 20:07:32 -05:00
Daniel Mabbett
13e756e734 Configure nsd listening interfaces before installing nsd so that it does not interfere with bind9 2022-01-08 20:07:32 -05:00
Joshua Tauberer
a0f86dc81b Update and drop some package and file names for Ubuntu 22.04
* Update php-xsl to php8.0-xml for zpush.
* Fix path to bind9 startup options file in Ubuntu 22.04.
* tinymce has not been a Roundcube requirement recently and is no longer a package in Ubuntu 22.04
* Upgrade Vagrant box to Ubuntu 22.04
2022-01-08 20:07:32 -05:00
Joshua Tauberer
f2c730642a Update Ubuntu version checks from 18.04 to 22.04 2022-01-08 20:07:32 -05:00
Joshua Tauberer
d1d6318862 Set systemd journald log retention to 10 days (from no limit) to reduce disk usage 2022-01-08 09:11:48 -05:00
Joshua Tauberer
34b7a02f4f Update Roundcube to 1.5.2 2022-01-08 09:00:12 -05:00
Joshua Tauberer
a312acc3bc Update to Nextcloud 20.0.8 and update apps 2022-01-08 09:00:12 -05:00
downtownallday
8392eacd94 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox 2021-12-28 08:59:09 -05:00
jvolkenant
c92fd02262
Don't die if column already exists on Nextcloud 18 upgrade (#2078) 2021-12-25 10:17:34 -05:00
downtownallday
d9cd7d2002 Add a setup mod to configure unattended-upgrades to email root on failures 2021-12-15 09:03:58 -05:00
downtownallday
177fd19b9b Increase session lifetime from 10 minutes to 1 hour 2021-12-05 16:22:12 -05:00
downtownallday
6c24a130b9 Display common name in the directory 2021-12-05 16:11:48 -05:00
downtownallday
d2c4be41e0 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox 2021-12-02 06:10:01 -05:00
Ilnahro
50a5cb90bc
Include rsync to the installed basic packages (#2067)
Some VPS providers strip this package from their Ubuntu 18.04 VM images. This will help avoid errors.
2021-11-30 19:50:01 -05:00
downtownallday
06216876a2 Update roundcube carddav plugin to support roundcube 1.5 and close a security hole 2021-11-15 16:07:54 -05:00
downtownallday
334c7f71b5 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox 2021-11-13 19:36:00 -05:00
jvolkenant
58b0323b36
Update persistent_login for Roundcube 1.5 (#2055) 2021-11-04 18:59:10 -04:00
downtownallday
bb543700f5 Fix smart host alias (alias with no forward to's). Postfix recently started rejecting these mails with "Sender address rejected: domain not found". This ensures the special case is handled properly. 2021-10-19 08:15:28 -04:00
downtownallday
00805cb52c Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2021-10-19 07:11:33 -04:00
Joshua Tauberer
65861c68b7 Version 55 2021-10-18 20:40:51 -04:00
Joshua Tauberer
71a7a3e201 Upgrade to Roundcube 1.5 2021-10-18 20:40:51 -04:00
downtownallday
31dc96757c Add help text 2021-10-02 10:10:06 -04:00
downtownallday
66ac35871e Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
Upstream is adding handling for utf8 domains by creating a domain alias @utf8 -> @idna. I'm deviating from this approach by setting multiple email address (idna and utf8) per user and alias where a domain contains non-ascii characters. The maildrop (mailbox) remains the same - all mail goes to the user's mailbox regardless of which email address was used. This is more in line with how other systems (eg. active directory), handle multiple email addresses for a single user.

# Conflicts:
#	README.md
#	management/mailconfig.py
#	management/templates/index.html
#	setup/dns.sh
#	setup/mail-users.sh
2021-10-01 17:43:48 -04:00
Joshua Tauberer
113b7bd827 Disable SMTPUTF8 in Postfix because Dovecot LMTP doesn't support it and bounces messages that require SMTPUTF8
By not advertising SMTPUTF8 support at the start, senders may opt to transmit recipient internationalized domain names in IDNA form instead, which will be deliverable.

Incoming mail with internationalized domains was probably working prior to our move to Ubuntu 18.04 when postfix's SMTPUTF8 support became enabled by default.

The previous commit is retained because Mail-in-a-Box users might prefer to keep SMTPUTF8 on for outbound mail, if they are not using internationalized domains for email, in which case the previous commit fixes the 'relay access denied' error even if the emails aren't deliverable.
2021-09-24 08:11:36 -04:00
Joshua Tauberer
3e19f85fad Add domain maps from Unicode forms of internationalized domains to their ASCII forms
When an email is received by Postfix using SMTPUTF8 and the recipient domain is a Unicode internationalized domain, it was failing to be delivered (bouncing with 'relay access denied') because our users and aliases tables only store ASCII (IDNA) forms of internationalized domains. In this commit, domain maps are added to the auto_aliases table from the Unicode form of each mail domain to its IDNA form, if those forms are different. The Postfix domains query is updated to look at the auto_aliases table now as well, since it is the only table with Unicode forms of the mail domains.

However, mail delivery is still not working since the Dovecot LMTP server does not support SMTPUTF8, and mail still bounces but with an error that SMTPUTF8 is not supported.
2021-09-24 08:11:36 -04:00
Joshua Tauberer
11e84d0d40 Move automatically generated aliases to a separate database table
They really should never have been conflated with the user-provided aliases.

Update the postfix alias map to query the automatically generated aliases with lowest priority.
2021-09-24 08:11:36 -04:00
drpixie
df46e1311b
Include NSD config files from /etc/nsd/nsd.conf.d/*.conf (#2035)
And write MIAB dns zone config into /etc/nsd/nsd.conf.d/zones.conf. Delete lingering old zones.conf file.

Co-authored-by: Joshua Tauberer <jt@occams.info>
2021-09-24 08:07:40 -04:00
downtownallday
3d32dbab22 Explicitly create a /etc/ldap/ldap.conf in the docker image so ldap tools recognize the system's trusted root certificate list 2021-09-14 08:18:53 -04:00
downtownallday
402207714b Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	management/auth.py
#	management/daemon.py
#	management/templates/index.html
#	setup/management.sh
2021-09-14 08:16:08 -04:00
Joshua Tauberer
e884c4774f Replace HMAC-based session API keys with tokens stored in memory in the daemon process
Since the session cache clears keys after a period of time, this fixes #1821.

Based on https://github.com/mail-in-a-box/mailinabox/pull/2012, and so:

Co-Authored-By: NewbieOrange <NewbieOrange@users.noreply.github.com>

Also fixes #2029 by not revealing through the login failure error message whether a user exists or not.
2021-09-06 09:23:58 -04:00
Joshua Tauberer
700188c443 Roundcube 1.5 RC 2021-09-06 09:23:58 -04:00
downtownallday
71d3b79965 avoid installing php-xsl, which is a virtual package provided by php-xml on github images 2021-08-23 13:45:25 -04:00
downtownallday
508ac8b0f8 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	CHANGELOG.md
#	README.md
2021-07-18 20:41:37 -04:00
Joshua Tauberer
4cb46ea465 v0.54 2021-06-20 15:50:04 -04:00
downtownallday
fc4ad70535 Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	management/dns_update.py
#	management/web_update.py
#	tests/test_mail.py
2021-05-15 22:35:48 -04:00
Joshua Tauberer
d510c8ae2a Enable and recommend port 465 for mail submission instead of port 587 (fixes #1849)
Port 465 with "implicit" (i.e. always-on) TLS is a more secure approach than port 587 with explicit (i.e. optional and only on with STARTTLS). Although we reject credentials on port 587 without STARTTLS, by that point credentials have already been sent.
2021-05-15 16:42:14 -04:00
downtownallday
7144ed041e Merge branch 'main' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
#	setup/start.sh
2021-05-08 09:20:04 -04:00
Joshua Tauberer
dbd6dae5ce Fix exit status issue cased by 69fc2fdd 2021-05-08 09:02:48 -04:00
Thomas Urban
3701e05d92
Rewrite envelope from address in sieve forwards (#1949)
Fixes #1946.
2021-05-08 08:30:53 -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