1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2025-07-13 00:40:54 +00:00
Commit Graph

2350 Commits

Author SHA1 Message Date
Nicolas North
8025c41ee4
Bump TTL for NS records to 1800 (30 min) to 86400 (1 day) as some registries require this ()
Co-authored-by: Nicolas North [norðurljósahviða] <nz@tillverka.xyz>
2021-01-03 17:57:54 -05:00
Josh Brown
7a5d729a53
Fix misspelling ()
Change Blackblaze to Backblaze. Include B2 as the integration name.
2021-01-03 17:54:31 -05:00
downtownallday
73a2b72243 Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox 2020-12-29 07:57:08 -05:00
jcm-shove-it
e2f9cd845a
Update roundcube to 1.4.10 () 2020-12-28 08:11:33 -05:00
downtownallday
3656ad9b9c Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	setup/dkim.sh
#	setup/spamassassin.sh
2020-12-26 08:16:22 -05:00
downtownallday
e7c5a841aa Merge branch 'jvolk-spf-opendd' 2020-12-26 07:55:30 -05:00
Joshua Tauberer
e26cf4512c Update CHANGELOG 2020-12-25 17:28:34 -05:00
jvolkenant
c7280055a8
Implement SPF/DMARC checks, add spam weight to those mails () 2020-12-25 17:22:24 -05:00
Hilko
003e8b7bb1
Adjust max-recursion-queries to fix alternating rdns status () 2020-12-25 17:19:16 -05:00
downtownallday
86f3eee23f Removing Travis CI completely in favor of local vagrant/virtualbox tests.
See tests/pararlell.sh and tests/Vagrantfile for local tests.

There are several reasons for this change:

1. Travis is now charging for the service, even for open source projects, contrary to what they promised in the past
2. It has been problematic and difficult to debug/diagnose issues
3. Tests that involve upgrading the operating system itself (eg. Bionic to Focal) are not possible
2020-12-21 09:24:42 -05:00
downtownallday
3a98a993bd Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox 2020-12-21 09:22:58 -05:00
downtownallday
f5521b45b5 Add tests for dmarc reject and spf softfail 2020-12-21 08:46:12 -05:00
downtownallday
4cc672e852 Modify the handling of SPF checks and spam rules for policyd-spf 2020-12-21 08:44:10 -05:00
Hilko
3422cc61ce
Include en_US.UTF-8 locale in daemon startup ()
Fixes .
2020-12-19 19:11:58 -05:00
downtownallday
4c9bae5176 Create a default "pre-commit" set of virtual machines 2020-11-27 16:51:10 -05:00
downtownallday
24c156c594 Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	setup/management.sh
2020-11-27 16:50:12 -05:00
Hilko
8664afa997
Implement Backblaze for Backup ()
* Installing b2sdk for b2 support
* Added Duplicity PPA so the most recent version is used
* Implemented list_target_files for b2
* Implemented b2 in frontend
* removed python2 boto package
2020-11-26 07:13:31 -05:00
Joshua Tauberer
82229ce04b Document how to start the control panel from the command line and in debugging use a stable API key 2020-11-26 07:11:49 -05:00
Richard Willis
f66e609d3f
Api spec cleanup ()
* Fix indentation

* Add parameter definition and remove unused model

* Update version

* Quote example string
2020-11-26 06:56:04 -05:00
downtownallday
a0dd58d29e Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox 2020-11-17 07:46:22 -05:00
Victor
b85b86e6de
Add download zonefile button to external DNS page ()
Co-authored-by: Joshua Tauberer <jt@occams.info>
2020-11-16 06:03:41 -05:00
Joshua Tauberer
7fd35bbd11 Disable default Nextcloud apps that we don't support
Contacts and calendar are the only supported apps in Mail-in-a-Box.

Files can't be disabled.

Fixes 
2020-11-15 17:17:58 -05:00
gumida
7ce41e3865
Changed mta-sts.txt end of line from LF to CRLF per RFC 8461 () 2020-11-15 07:54:34 -05:00
downtownallday
74a2f89cff Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	README.md
2020-11-14 12:44:09 -05:00
Joshua Tauberer
92221f9efb v0.51 2020-11-14 10:05:20 -05:00
downtownallday
4661a29248 Merge remote-tracking branch 'jvolkenant/1755_spf_opendmarc_opendkim_sa' into jvolk-spf-opendd 2020-11-06 09:27:41 -05:00
downtownallday
f81e0d0a85 syncing up box creation with ciab (prepping for focal) 2020-11-05 21:07:50 -05:00
downtownallday
679e660018 include miab vars 2020-11-05 17:44:48 -05:00
downtownallday
1a56495659 load qa/test dependencies 2020-11-05 17:36:12 -05:00
downtownallday
0f20b97709 looks like miab 'auto' setting won't work on travis 2020-11-05 16:48:36 -05:00
downtownallday
87142fb194 change comment 2020-11-05 16:33:44 -05:00
downtownallday
68ac593d7f load vars ahead of functions 2020-11-05 16:32:23 -05:00
downtownallday
c8ab05ebf1 skip network checks 2020-11-05 16:31:50 -05:00
downtownallday
e43c01e6fe Enable caching of Nextcloud downloads as well as downloading Nextcloud from github instead of Nextcloud servers 2020-11-05 16:19:42 -05:00
downtownallday
5a023f7868 Ensure system php is used 2020-11-04 14:26:20 -05:00
downtownallday
4fdbad5ef8 Be ciab-aware and use php version used by nextcloud 2020-11-04 14:13:59 -05:00
downtownallday
aeb27f74e3 Break out MiaB-LDAP code from _init.sh so _init.sh can be shared with cloud-in-a-box 2020-11-02 12:59:59 -05:00
downtownallday
34d968a2cd Prep for ubuntu 20.
This file is shared with cloud-in-a-box, which will support ubuntu 20 before MiaB-LDAP.
2020-11-02 12:57:57 -05:00
downtownallday
b634188ac0 Merge branch 'master' of https://github.com/mail-in-a-box/mailinabox
# Conflicts:
#	management/daemon.py
#	management/mfa.py
2020-10-31 11:43:35 -04:00
downtownallday
ad3174f08e Merge branch 'totp' 2020-10-31 11:39:35 -04:00
downtownallday
484ffd64ec do upgrade tests against maib master 2020-10-31 11:32:28 -04:00
downtownallday
d1110c4c02 merge from upstream 2020-10-31 11:31:44 -04:00
Joshua Tauberer
0bd3977cde CHANGELOG updates 2020-10-31 10:36:40 -04:00
Joshua Tauberer
6a979f4f52
Add TOTP two-factor authentication to admin panel login ()
* add user interface for managing 2fa

* update user schema with 2fa columns

* implement two factor check during login

* Use pyotp for validating TOTP codes

* also implements resynchronisation support via `pyotp`'s `valid_window option

* Update API route naming, update setup page

* Rename /two-factor-auth/ => /2fa/
* Nest totp routes under /2fa/totp/
* Update ids and methods in panel to allow for different setup types

* Autofocus otp input when logging in, update layout

* Extract TOTPStrategy class to totp.py

* this decouples `TOTP` validation and storage logic from `auth` and moves it to `totp`
* reduce `pyotp.validate#valid_window` from `2` to `1`

* Update OpenApi docs, rename /2fa/ => /mfa/

* Decouple totp from users table by moving to totp_credentials table

* this allows implementation of other mfa schemes in the future (webauthn)
* also makes key management easier and enforces one totp credentials per user on db-level

* Add sqlite migration

* Rename internal validate_two_factor_secret => validate_two_factor_secret

* conn.close() if mru_token update can't .commit()

* Address review feedback, thanks @hija

* Use hmac.compare_digest() to compare mru_token

* Safeguard against empty mru_token column

* hmac.compare_digest() expects arguments of type string, make sure we don't pass None
 * Currently, this cannot happen but we might not want to store `mru_token` during setup

* Do not log failed login attempts for MissingToken errors

* Due to the way that the /login UI works, this persists at least one failed login each time a user logs into the admin panel. This in turn triggers fail2ban at some point.

* Add TOTP secret to user_key hash

thanks @downtownallday
* this invalidates all user_keys after TOTP status is changed for user
* after changing TOTP state, a login is required
* due to the forced login, we can't and don't need to store the code used for setup in `mru_code`

* Typo

* Reorganize the MFA backend methods

* Reorganize MFA front-end and add label column

* Fix handling of bad input when enabling mfa

* Update openAPI docs

* Remove unique key constraint on foreign key user_id in mfa table

* Don't expose mru_token and secret for enabled mfas over HTTP

* Only update mru_token for matched mfa row

* Exclude mru_token in user key hash

* Rename tools/mail.py to management/cli.py

* Add MFA list/disable to the management CLI so admins can restore access if MFA device is lost

Co-authored-by: Joshua Tauberer <jt@occams.info>
2020-10-31 10:27:38 -04:00
Joshua Tauberer
545e7a52e4 Add MFA list/disable to the management CLI so admins can restore access if MFA device is lost 2020-10-31 10:23:43 -04:00
David Duque
48c233ebe5
Update Roundcube to version 1.4.9 () 2020-10-31 10:01:14 -04:00
Michael Kroes
9a588de754
Upgrade Nextcloud to version 20.0.1 () 2020-10-31 09:58:26 -04:00
downtownallday
a7370beae0 Merge remote-tracking branch 'fspoettel/admin-panel-2fa' into totp
# Conflicts:
#	management/daemon.py
#	management/mfa.py
2020-10-29 16:56:36 -04:00
Joshua Tauberer
601c23d91b Add MFA list/disable to the management CLI so admins can restore access if MFA device is lost 2020-10-29 15:42:00 -04:00
Joshua Tauberer
ac9ecc3bd3 Rename tools/mail.py to management/cli.py 2020-10-29 15:41:54 -04:00