Joshua Tauberer
f9ca440ce8
v0.17
2016-02-25 18:36:14 -05:00
Joshua Tauberer
d880f088be
fix changelog description of a bug, see #725
2016-02-23 10:24:26 -05:00
Joshua Tauberer
5cabfd591b
(re-fix) mail sent from an address on a subdomain of a domain hosted by the box (a non-zone domain) would never be DKIM-signed because only zones were included in the openDKIM configuration, mistakenly
...
This was originally fixed in 143bbf37f4 (February 16, 2015). Then I broke it in 7a93d219ef (November 2015) while doing some refactoring ahead of v0.15.
2016-02-23 10:16:04 -05:00
Joshua Tauberer
af80849857
Merge pull request #732 from yodax/memory
...
Reduce percentages for required free memory checks
2016-02-22 15:02:50 -05:00
Joshua Tauberer
4b2e48f2c0
Merge pull request #726 from yodax/login
...
When previous panel was login, move to system_status
2016-02-22 14:44:23 -05:00
Joshua Tauberer
eb545d7941
Merge pull request #733 from yodax/daemons
...
Reduce number of processes in the pool to 5
2016-02-22 14:42:20 -05:00
Joshua Tauberer
3d933c16d0
Merge pull request #718 from shakaran/patch-1
...
Fix small typo in comments
2016-02-18 17:49:35 -05:00
Joshua Tauberer
23ecff04b8
the logic in 4ed23f44e6 for taking backups more often was partly backward
2016-02-18 07:50:59 -05:00
Joshua Tauberer
a0bae5db5c
update changelog
2016-02-18 07:18:51 -05:00
Joshua Tauberer
86368ed165
clean up apt_install lines and comments in setup/management.sh
2016-02-18 06:59:38 -05:00
Joshua Tauberer
5e4c0ed825
Revert "install boto (py2) via the package manager, not pip (used by duplicity)"
...
This reverts commit b32cb6229b .
Fixes #627 . Fixes #653 . Closes #714 .
2016-02-18 06:54:23 -05:00
Joshua Tauberer
ffa9dc5d67
Merge pull request #716 from pra85/patch-1
...
Fix a typo in Readme
2016-02-18 06:44:25 -05:00
Joshua Tauberer
36cb2ef41d
missing elif
2016-02-16 09:11:54 -05:00
Joshua Tauberer
098e250cc4
bump free_tls_certificates, fixes #695 , if a challenge fails dont cache it permanently (or at all)
2016-02-16 09:08:58 -05:00
Joshua Tauberer
3d5a35b184
typo
2016-02-15 18:47:19 -05:00
Joshua Tauberer
87d3f2641d
merge #685 - tweak postfix mail queue/warn/bounce times
2016-02-15 18:44:56 -05:00
Joshua Tauberer
c6c75c5a17
document the default values for delay_warning_time, maximal_queue_lifetime, bounce_queue_lifetime
2016-02-15 18:38:55 -05:00
Joshua Tauberer
1ba44b02d4
forgot to catch free_tls_certificates.client.ChallengeFailed
...
Provisioning could crash if, e.g., the DNS we see is different from the DNS Let's Encrypt sees.
see #695 , probably fixes it
2016-02-15 18:22:16 -05:00
Joshua Tauberer
6fd4cd85ca
Merge pull request #712 from s4wny/patch-2
...
Added a warning to the installation / setup script
2016-02-14 14:29:13 -05:00
Joshua Tauberer
2f24328608
before the user agrees to Let's Encrypt's ToS the admin could get a nightly email with weird interactive text
...
Made a mistake refactoring the headless variable earlier.
fixes #696
2016-02-13 12:38:16 -05:00
Joshua Tauberer
8ea42847da
nightly status checks could fail if any domains had non-ASCII characters
...
https://discourse.mailinabox.email/t/status-check-emails-empty-after-upgrading-to-v0-16/1082/3
A user on that thread suggests an alternate solution, adding `PYTHONIOENCODING=utf-8` to `/etc/environment`. Python docs say that affects stdin/out/err. But we also use these environment variables elsewhere to ensure that config files we read/write are opened with UTF8 too. Maybe all that can be simplified too.
2016-02-13 11:51:06 -05:00
Joshua Tauberer
4ed23f44e6
take a full backup more often so we don't keep backups around for so long
2016-02-05 11:08:33 -05:00
Joshua Tauberer
178527dab1
convert the backup increment time to the local timezone, fixes #700
...
Duplicity gives times in UTC. We were assuming times were in local time.
2016-02-05 08:58:07 -05:00
Joshua Tauberer
f5c376dca8
Merge pull request #699 from BastianPoe/patch-1
...
Fix: Correct IP is reported when using custom DNS
2016-02-04 15:42:10 -05:00
Joshua Tauberer
4e18f66db6
tls control panel: only show integral seconds while waiting the requested time from Lets Encrypt, in case we got back a non-integral number of seconds to wait
2016-02-03 08:21:22 -05:00
Joshua Tauberer
77937df955
bind postfix to the right network interface when sending outbound mail so that SPF checks on the receiving end will pass
...
fixes #3 (again)
2016-02-01 12:36:52 -05:00
Joshua Tauberer
4db8efa0df
bump Roundcube to 1.1.4
2016-02-01 12:31:42 -05:00
Joshua Tauberer
66c80bd16a
Merge pull request #688 from OmgImAlexis/patch-1
...
fixed typo
2016-01-30 19:31:47 -05:00
Joshua Tauberer
83ffc99b9c
change the public URL of bootstrap.sh to setup.sh
2016-01-30 11:19:51 -05:00
Joshua Tauberer
3615772b2d
v0.16
2016-01-30 11:15:14 -05:00
Joshua Tauberer
78729bd277
update CHANGELOG
2016-01-27 20:23:41 -05:00
Joshua Tauberer
62b6117638
Merge pull request #675 from jeroenj/patch-1
...
Removes border and rounded corners from navbar
2016-01-14 09:53:36 -05:00
Joshua Tauberer
faaa74c3a7
tls: hide extra reasons why domains aren't getting a new certificate during setup
2016-01-14 07:21:08 -05:00
Joshua Tauberer
2ad7d0830e
add exception handling for what_version_is_this, fixes #659
2016-01-09 09:23:07 -05:00
Joshua Tauberer
5045e206c2
roundcube file ownership should not preserve uid/gid from the release tarball, tar (when run as root) should always extract using --no-same-owner, fixes #667
2016-01-09 09:17:45 -05:00
Joshua Tauberer
07f9228694
Merge branch 'letsencrypt' for automatic provisioning of TLS certificates from Let's Encrypt
2016-01-09 08:58:35 -05:00
Joshua Tauberer
50b5b91216
Merge release branch v0.15a
...
v0.15a
Sending mail through Exchange/ActiveSync (Z-Push) had been broken since v0.14. This is now fixed.
2016-01-09 08:48:37 -05:00
Joshua Tauberer
72bfc0915c
v0.15a (January 9, 2016)
...
Sending mail through Exchange/ActiveSync (Z-Push) had been broken since v0.14. This is now fixed.
2016-01-09 08:44:51 -05:00
Joshua Tauberer
413af1fe67
Merge pull request #668 from guyzmo/z-push-smtp-fix
...
Fixing issue making it impossible to send mail from Z-Push
2016-01-09 08:41:59 -05:00
Joshua Tauberer
5b135738b4
Merge pull request #661 from baltoche/master
...
Gandi tells me that .be TLD only supports algorithms 8 and 10 for DNSSEC
2016-01-05 11:10:21 -05:00
Joshua Tauberer
2b9fb9643d
changelog entries for lets encrypt
2016-01-04 18:43:17 -05:00
Joshua Tauberer
2882e63dd8
second part of provisioning tls certificates from the control panel
2016-01-04 18:43:17 -05:00
Joshua Tauberer
812ef024ef
status checks: check that the non-primary domains also resolve over IPv6, if configured
2016-01-04 18:43:17 -05:00
Joshua Tauberer
40cdc5aa30
status checks: if a domain's DNS isnt working dont check the TLS certificate because we cant automatically provision one now anyway
2016-01-04 18:43:17 -05:00
Joshua Tauberer
b8d6226a9a
when provisioning tls certs from the command line, specify domain names as command line arguments to force getting certs for those domains
2016-01-04 18:43:17 -05:00
Joshua Tauberer
bac15d3919
provision tls certificates from the control panel
2016-01-04 18:43:16 -05:00
Joshua Tauberer
4b4f670adf
s/SSL/TLS/ in user-visible text throughout the project
2016-01-04 18:43:16 -05:00
Joshua Tauberer
b1b57f9bfd
don't try to get certs for IDNA domains and report all reasons for not fetching a certificate
...
fixes #646
2016-01-04 18:43:16 -05:00
Joshua Tauberer
b6933a73fa
provision and install free SSL certificates from Let's Encrypt
2016-01-04 18:43:16 -05:00
Joshua Tauberer
5033042b8c
backups: email the administrator when there's a problem
...
Refactor by moving the email-the-admin code out of the status checks and into a new separate tool.
This is why I suppressed non-error output of the backups last commit - so it doesn't send a daily email.
2016-01-04 18:43:02 -05:00
Joshua Tauberer
89a46089ee
backups: suppress all output except errors
2016-01-04 18:43:02 -05:00
Joshua Tauberer
e288d7730b
backups: trap an error that occurs as early as getting the current backup status
2016-01-04 18:43:02 -05:00
Joshua Tauberer
5ae75e723c
Merge pull request #654 from ChlorideCull/cull-fix-typo
...
Fix miscellaneous typos in comments
2016-01-03 10:53:25 -05:00
Joshua Tauberer
06a0e7f3fe
merge #584 - Add checks to the management interface to report memory usage
2016-01-01 18:13:21 -05:00
Joshua Tauberer
a9cd72bbf9
tighten the status text strings for free memory, add changelog entry
2016-01-01 18:12:36 -05:00
Joshua Tauberer
f184a74fa0
merge #647 - open the port for Sieve
2016-01-01 17:53:40 -05:00
Joshua Tauberer
682b1dea5e
changelog/status checks updated for opening the sieve port
2016-01-01 17:53:05 -05:00
Joshua Tauberer
3fbbf56986
v0.15 (January 1, 2016)
...
-----------------------
Mail:
* Updated Roundcube to version 1.1.3.
* Auto-create aliases for abuse@, as required by RFC2142.
* The DANE TLSA record is changed to use the certificate subject public key rather than the whole certificate, which means the record remains valid after certificate changes (so long as the private key remains the same, which it does for us).
Control panel:
* When IPv6 is enabled, check that system services are accessible over IPv6 too, that the box's hostname resolves over IPv6, and that reverse DNS is setup correctly for IPv6.
* Explanatory text for setting up secondary nameserver is added/fixed.
* DNS checks now have a timeout in case a DNS server is not responding, so the checks don't stall indefinitely.
* Better messages if external DNS is used and, weirdly, custom secondary nameservers are set.
* Add POP to the mail client settings documentation.
* The box's IP address is added to the fail2ban whitelist so that the status checks don't trigger the machine banning itself, which results in the status checks showing services down even though they are running.
* For SSL certificates, rather than asking you what country you are in during setup, ask at the time a CSR is generated. The default system self-signed certificate now omits a country in the subject (it was never needed). The CSR_COUNTRY Mail-in-a-Box setting is dropped entirely.
System:
* Nightly backups and system status checks are now moved to 3am in the system's timezone.
* fail2ban's recidive jail is now active, which guards against persistent brute force login attacks over long periods of time.
* Setup (first run only) now asks for your timezone to set the system time.
* The Exchange/ActiveSync server is now taken offline during nightly backups (along with SMTP and IMAP).
* The machine's random number generator (/dev/urandom) is now seeded with Ubuntu Pollinate and a blocking read on /dev/random.
* DNSSEC key generation during install now uses /dev/urandom (instead of /dev/random), which is faster.
* The $STORAGE_ROOT/ssl directory is flattened by a migration script and the system SSL certificate path is now a symlink to the actual certificate.
* If ownCloud sends out email, it will use the box's administrative address now (admin@yourboxname).
* Z-Push (Exchange/ActiveSync) logs now exclude warnings and are now rotated to save disk space.
* Fix pip command that might have not installed all necessary Python packages.
* The control panel and backup would not work on Google Compute Engine because GCE installs a conflicting boto package.
* Added a new command `management/backup.py --restore` to restore files from a backup to a target directory (command line arguments are passed to `duplicity restore`).
2016-01-01 17:47:18 -05:00
Joshua Tauberer
362bc060f6
fix merge mistake ( 4305a71916)
2015-12-26 14:12:15 -05:00
Joshua Tauberer
c8fef45362
v0.15-rc1
2015-12-26 14:01:00 -05:00
Joshua Tauberer
8d19eade85
clarify the backup days option, fixes #570
2015-12-26 12:04:26 -05:00
Joshua Tauberer
d53332b7cf
drop the CSR_COUNTRY setting and ask within the control panel
2015-12-26 11:48:23 -05:00
Joshua Tauberer
392d33b902
change DANE TLSA record to hash the subject public key rather than the whole certificate, which means it is good for any certificate tied to the same private key
...
Better for short-lived certificates. This is especially in preparation to using certificates from Let's Encrypt.
see #268
2015-12-26 11:01:46 -05:00
Joshua Tauberer
4305a71916
merge #587 - move backup and nightly status checks to 3am in system time
...
previously these were run in a cron.daily script which per crontab is run at 6:25 am local time
2015-12-26 08:42:58 -05:00
Joshua Tauberer
a4d8e12fd7
clean up the backup time patch: dont choose timezone here, move status checks into the same 3am script
2015-12-26 08:41:37 -05:00
Joshua Tauberer
3cb5e109a3
update changelog entries
2015-12-26 08:25:47 -05:00
Joshua Tauberer
e4a4b47fac
setup now asks for and sets the system timezone
...
closes #294
see #328
maybe related to #235
2015-12-26 08:08:08 -05:00
Joshua Tauberer
dbf4729109
add management/backup.py --restore
2015-12-23 12:53:38 +00:00
Joshua Tauberer
86b9ef496c
Merge pull request #636 from bronson/doc-mites
...
tiny tweaks to make the bash docs slightly more readable
2015-12-23 07:29:39 -05:00
Joshua Tauberer
bc79319864
Merge pull request #494 from anoma/fail2ban-recidive
...
Activate FAIL2BAN recidive jail
2015-12-22 08:11:19 -05:00
Joshua Tauberer
62e88cff54
merge #624 document POP client settings in the control panel
2015-12-12 08:46:52 -05:00
Joshua Tauberer
6e6c993724
reword POP documentation, add to changelog/readme
2015-12-12 08:46:18 -05:00
Joshua Tauberer
fad69f85fa
Merge pull request #605 from ariejan/feature/604-add-rfc2142-mail-aliases
...
Add alias for abuse@
2015-12-07 15:56:51 -05:00
Joshua Tauberer
0029811de2
Merge pull request #621 from bronson/nobind9
...
don't install bind9-host when setting hostname
2015-12-07 15:52:47 -05:00
Joshua Tauberer
c4f00626ef
status checks: check that PRIMARY_HOSTNAME's AAAA record is working
2015-12-07 09:08:00 -05:00
Joshua Tauberer
fdad83a1bb
status checks: check IPv6 reverse DNS
2015-12-07 08:58:48 -05:00
Joshua Tauberer
20e11bbab3
fail2ban: whitelist our machine's public ip address so status checks dont cause bans of the machine itself
2015-12-07 08:45:59 -05:00
Joshua Tauberer
5bbe9f9a04
status checks: when ipv6 is enabled, check that services are accessible over ipv6 too
2015-12-07 08:37:04 -05:00
Joshua Tauberer
7a93d219ef
some cleanup in dns_update.py
2015-11-29 14:59:35 +00:00
Joshua Tauberer
808522d895
merge functions get_web_domains and get_default_www_redirects
2015-11-29 14:46:08 +00:00
Joshua Tauberer
be9efe0273
ensure malformed ssl certificate can't cause it to be written to an arbitrary path
2015-11-29 14:04:37 +00:00
Joshua Tauberer
766b98c4ad
refactor: move SSL-related management functions into a new module ssl_certificates.py
2015-11-29 13:59:22 +00:00
Joshua Tauberer
c422543fdd
make the system SSL certificate a symlink so we never have to replace a certificate file, and flatten the directory structure of user-installed certificates
2015-11-29 02:02:01 +00:00
Joshua Tauberer
cf33be4596
fix boto 2 conflict on Google Compute Engine instances
...
GCE installs some Python-2-only boto plugin that conflicts with boto running under Python 3. It gives a SyntaxError in /usr/share/google/boto/boto_plugins/compute_auth.py (https://github.com/GoogleCloudPlatform/compute-image-packages ).
Disabling boto's default configuration file prior to importing boto so that GCE's plugin is not loaded.
See https://discourse.mailinabox.email/t/500-internal-server-error-for-admin/942 .
2015-11-26 14:51:44 +00:00
Joshua Tauberer
161d096139
add a way to dump backup status from the command line
2015-11-26 14:34:07 +00:00
Joshua Tauberer
b32cb6229b
install boto (py2) via the package manager, not pip (used by duplicity)
2015-11-26 14:20:59 +00:00
Joshua Tauberer
3dd5fff110
Merge pull request #602 from NurdTurd/patch-2
...
Typo on 'weirdly'
2015-11-20 14:54:39 -05:00
Joshua Tauberer
cfba97e104
updated changelog
2015-11-19 07:01:05 -05:00
Joshua Tauberer
bbf78716fd
during setup suppress the status line about generating an SSL certificate if we already have it
2015-11-19 07:00:33 -05:00
Joshua Tauberer
b9820641aa
when generating the initial self-signed cert, dont keep the CSR - it has no use after this step
2015-11-19 07:00:33 -05:00
Joshua Tauberer
8c00556bab
use /dev/urandom for roundcube/owncloud key generation, see #596 , partially reverts #115 ( 69f0e1d07a)
2015-11-19 07:00:33 -05:00
Joshua Tauberer
16d148a8a9
use /dev/urandom for DNSSEC key generation, fixes #596 , partially reverts #115 ( 69f0e1d07a)
2015-11-19 07:00:33 -05:00
Joshua Tauberer
e8264e9b6a
ensure /dev/urandom is seeded with a blocking call to /dev/random and using Ubuntu's pollinate servers
2015-11-19 07:00:33 -05:00
Joshua Tauberer
4f2b223070
add comments about how openssl generates random numbers for genrsa and what could create a perfect storm to make the key not random
...
see #596
2015-11-19 07:00:32 -05:00
Joshua Tauberer
05e128cafb
the >'s in pip install package names might be interpreted as shell redirects and was creating files name '=1.0.0' '=2.0.0' and '=1.0.2' (I'm not sure how this was ever working)
2015-11-19 07:00:32 -05:00
Joshua Tauberer
59e9952a61
the explanatory text for setting up secondary nameservers was hidden until a secondary nameserver is added, so that wasn't helpful
2015-11-19 07:00:32 -05:00
Joshua Tauberer
2f9fd09b2f
Merge pull request #599 from nstanke/loglevel
...
Change Z-Push log level to error
2015-11-18 17:42:58 -05:00
Joshua Tauberer
34ba279b0a
Merge pull request #598 from yodax/zpush-log-rotate
...
Add log rotation to z-push
2015-11-18 07:25:24 -05:00
Joshua Tauberer
04960d0b98
Merge pull request #597 from yodax/backup-stop-phpfpm
...
During the backup you will get login failures which will confuse iOS
2015-11-17 08:14:23 -05:00
Joshua Tauberer
1926bfa1c5
all DNS queries should have a timeout, fixes #591
2015-11-11 12:25:55 +00:00