mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2026-03-12 17:07:23 +01:00
Compare commits
8 Commits
962270e3f5
...
v69
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b3e5e818c | ||
|
|
2f5e736fa0 | ||
|
|
f118a6c0bf | ||
|
|
de0fc796d4 | ||
|
|
4dd1e75ee7 | ||
|
|
8b9f0489c8 | ||
|
|
6321ce6ef0 | ||
|
|
30d78cd35a |
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,6 +1,21 @@
|
|||||||
CHANGELOG
|
CHANGELOG
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
Version 69 (July 20, 2024)
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
Package updates:
|
||||||
|
|
||||||
|
* Nextcloud is updated to 26.0.13.
|
||||||
|
* Z-Push is updated to 2.7.3.
|
||||||
|
|
||||||
|
Other updates:
|
||||||
|
|
||||||
|
* Fixed an error generating the weekly statistics.
|
||||||
|
* Fixed file permissions when setting up Nextcloud.
|
||||||
|
* Added an undocumented option to proxy websockets.
|
||||||
|
* Internal improvements to the code to make it more reliable and readable.
|
||||||
|
|
||||||
Version 68 (April 1, 2024)
|
Version 68 (April 1, 2024)
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
@@ -25,7 +40,6 @@ Other:
|
|||||||
* fail2ban is updated to see "HTTP/2.0" requests to munin also.
|
* fail2ban is updated to see "HTTP/2.0" requests to munin also.
|
||||||
* Internal improvements to the code to make it more reliable and readable.
|
* Internal improvements to the code to make it more reliable and readable.
|
||||||
|
|
||||||
|
|
||||||
Version 67 (December 22, 2023)
|
Version 67 (December 22, 2023)
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ Clone this repository and checkout the tag corresponding to the most recent rele
|
|||||||
|
|
||||||
$ git clone https://github.com/mail-in-a-box/mailinabox
|
$ git clone https://github.com/mail-in-a-box/mailinabox
|
||||||
$ cd mailinabox
|
$ cd mailinabox
|
||||||
$ git checkout v68
|
$ git checkout v69
|
||||||
|
|
||||||
Begin the installation.
|
Begin the installation.
|
||||||
|
|
||||||
|
|||||||
@@ -679,7 +679,7 @@ def print_user_table(users, data=None, sub_data=None, activity=None, latest=None
|
|||||||
data_accum[col] += d[row]
|
data_accum[col] += d[row]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if None not in {latest, earliest}:
|
if None not in [latest, earliest]: # noqa PLR6201
|
||||||
vert_pos = len(line)
|
vert_pos = len(line)
|
||||||
e = earliest[row]
|
e = earliest[row]
|
||||||
l = latest[row]
|
l = latest[row]
|
||||||
@@ -732,7 +732,7 @@ def print_user_table(users, data=None, sub_data=None, activity=None, latest=None
|
|||||||
else:
|
else:
|
||||||
header += l.rjust(max(5, len(l) + 1, col_widths[col]))
|
header += l.rjust(max(5, len(l) + 1, col_widths[col]))
|
||||||
|
|
||||||
if None not in {latest, earliest}:
|
if None not in [latest, earliest]: # noqa PLR6201
|
||||||
header += " │ timespan "
|
header += " │ timespan "
|
||||||
|
|
||||||
lines.insert(0, header.rstrip())
|
lines.insert(0, header.rstrip())
|
||||||
@@ -757,7 +757,7 @@ def print_user_table(users, data=None, sub_data=None, activity=None, latest=None
|
|||||||
footer += temp.format(data_accum[row])
|
footer += temp.format(data_accum[row])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if None not in {latest, earliest}:
|
if None not in [latest, earliest]: # noqa PLR6201
|
||||||
max_l = max(latest)
|
max_l = max(latest)
|
||||||
min_e = min(earliest)
|
min_e = min(earliest)
|
||||||
timespan = relativedelta(max_l, min_e)
|
timespan = relativedelta(max_l, min_e)
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ def make_domain_config(domain, templates, ssl_certificates, env):
|
|||||||
pass_http_host_header = False
|
pass_http_host_header = False
|
||||||
proxy_redirect_off = False
|
proxy_redirect_off = False
|
||||||
frame_options_header_sameorigin = False
|
frame_options_header_sameorigin = False
|
||||||
|
web_sockets = False
|
||||||
m = re.search("#(.*)$", url)
|
m = re.search("#(.*)$", url)
|
||||||
if m:
|
if m:
|
||||||
for flag in m.group(1).split(","):
|
for flag in m.group(1).split(","):
|
||||||
@@ -175,6 +176,8 @@ def make_domain_config(domain, templates, ssl_certificates, env):
|
|||||||
proxy_redirect_off = True
|
proxy_redirect_off = True
|
||||||
elif flag == "frame-options-sameorigin":
|
elif flag == "frame-options-sameorigin":
|
||||||
frame_options_header_sameorigin = True
|
frame_options_header_sameorigin = True
|
||||||
|
elif flag == "web-sockets":
|
||||||
|
web_sockets = True
|
||||||
url = re.sub("#(.*)$", "", url)
|
url = re.sub("#(.*)$", "", url)
|
||||||
|
|
||||||
nginx_conf_extra += "\tlocation %s {" % path
|
nginx_conf_extra += "\tlocation %s {" % path
|
||||||
@@ -185,6 +188,10 @@ def make_domain_config(domain, templates, ssl_certificates, env):
|
|||||||
nginx_conf_extra += "\n\t\tproxy_set_header Host $http_host;"
|
nginx_conf_extra += "\n\t\tproxy_set_header Host $http_host;"
|
||||||
if frame_options_header_sameorigin:
|
if frame_options_header_sameorigin:
|
||||||
nginx_conf_extra += "\n\t\tproxy_set_header X-Frame-Options SAMEORIGIN;"
|
nginx_conf_extra += "\n\t\tproxy_set_header X-Frame-Options SAMEORIGIN;"
|
||||||
|
if web_sockets:
|
||||||
|
nginx_conf_extra += "\n\t\tproxy_http_version 1.1;"
|
||||||
|
nginx_conf_extra += "\n\t\tproxy_set_header Upgrade $http_upgrade;"
|
||||||
|
nginx_conf_extra += "\n\t\tproxy_set_header Connection 'Upgrade';"
|
||||||
nginx_conf_extra += "\n\t\tproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;"
|
nginx_conf_extra += "\n\t\tproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;"
|
||||||
nginx_conf_extra += "\n\t\tproxy_set_header X-Forwarded-Host $http_host;"
|
nginx_conf_extra += "\n\t\tproxy_set_header X-Forwarded-Host $http_host;"
|
||||||
nginx_conf_extra += "\n\t\tproxy_set_header X-Forwarded-Proto $scheme;"
|
nginx_conf_extra += "\n\t\tproxy_set_header X-Forwarded-Proto $scheme;"
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ if [ -z "$TAG" ]; then
|
|||||||
if [ "$UBUNTU_VERSION" == "Ubuntu 22.04 LTS" ]; then
|
if [ "$UBUNTU_VERSION" == "Ubuntu 22.04 LTS" ]; then
|
||||||
# This machine is running Ubuntu 22.04, which is supported by
|
# This machine is running Ubuntu 22.04, which is supported by
|
||||||
# Mail-in-a-Box versions 60 and later.
|
# Mail-in-a-Box versions 60 and later.
|
||||||
TAG=v68
|
TAG=v69
|
||||||
elif [ "$UBUNTU_VERSION" == "Ubuntu 18.04 LTS" ]; then
|
elif [ "$UBUNTU_VERSION" == "Ubuntu 18.04 LTS" ]; then
|
||||||
# This machine is running Ubuntu 18.04, which is supported by
|
# This machine is running Ubuntu 18.04, which is supported by
|
||||||
# Mail-in-a-Box versions 0.40 through 5x.
|
# Mail-in-a-Box versions 0.40 through 5x.
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ echo "Installing Nextcloud (contacts/calendar)..."
|
|||||||
# we automatically install intermediate versions as needed.
|
# we automatically install intermediate versions as needed.
|
||||||
# * The hash is the SHA1 hash of the ZIP package, which you can find by just running this script and
|
# * The hash is the SHA1 hash of the ZIP package, which you can find by just running this script and
|
||||||
# copying it from the error message when it doesn't match what is below.
|
# copying it from the error message when it doesn't match what is below.
|
||||||
nextcloud_ver=26.0.12
|
nextcloud_ver=26.0.13
|
||||||
nextcloud_hash=b55e9f51171c0a9b9ab3686cf5c8ad1a4292ca15
|
nextcloud_hash=d5c10b650e5396d5045131c6d22c02a90572527c
|
||||||
|
|
||||||
# Nextcloud apps
|
# Nextcloud apps
|
||||||
# --------------
|
# --------------
|
||||||
@@ -40,12 +40,12 @@ contacts_ver=5.5.3
|
|||||||
contacts_hash=799550f38e46764d90fa32ca1a6535dccd8316e5
|
contacts_hash=799550f38e46764d90fa32ca1a6535dccd8316e5
|
||||||
|
|
||||||
# Always ensure the versions are supported, see https://apps.nextcloud.com/apps/calendar
|
# Always ensure the versions are supported, see https://apps.nextcloud.com/apps/calendar
|
||||||
calendar_ver=4.6.6
|
calendar_ver=4.7.6
|
||||||
calendar_hash=e34a71669a52d997e319d64a984dcd041389eb22
|
calendar_hash=a995bca4effeecb2cab25f3bbeac9bfe05fee766
|
||||||
|
|
||||||
# Always ensure the versions are supported, see https://apps.nextcloud.com/apps/user_external
|
# Always ensure the versions are supported, see https://apps.nextcloud.com/apps/user_external
|
||||||
user_external_ver=3.2.0
|
user_external_ver=3.3.0
|
||||||
user_external_hash=a494073dcdecbbbc79a9c77f72524ac9994d2eec
|
user_external_hash=280d24eb2a6cb56b4590af8847f925c28d8d853e
|
||||||
|
|
||||||
# Developer advice (test plan)
|
# Developer advice (test plan)
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
@@ -131,7 +131,7 @@ InstallNextcloud() {
|
|||||||
# Make sure permissions are correct or the upgrade step won't run.
|
# Make sure permissions are correct or the upgrade step won't run.
|
||||||
# $STORAGE_ROOT/owncloud may not yet exist, so use -f to suppress
|
# $STORAGE_ROOT/owncloud may not yet exist, so use -f to suppress
|
||||||
# that error.
|
# that error.
|
||||||
chown -f -R www-data:www-data "$STORAGE_ROOT/owncloud /usr/local/lib/owncloud" || /bin/true
|
chown -f -R www-data:www-data "$STORAGE_ROOT/owncloud" /usr/local/lib/owncloud || /bin/true
|
||||||
|
|
||||||
# If this isn't a new installation, immediately run the upgrade script.
|
# If this isn't a new installation, immediately run the upgrade script.
|
||||||
# Then check for success (0=ok and 3=no upgrade needed, both are success).
|
# Then check for success (0=ok and 3=no upgrade needed, both are success).
|
||||||
@@ -274,15 +274,6 @@ if [ ! -f "$STORAGE_ROOT/owncloud/owncloud.db" ]; then
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'memcache.local' => '\OC\Memcache\APCu',
|
'memcache.local' => '\OC\Memcache\APCu',
|
||||||
'mail_smtpmode' => 'sendmail',
|
|
||||||
'mail_smtpsecure' => '',
|
|
||||||
'mail_smtpauthtype' => 'LOGIN',
|
|
||||||
'mail_smtpauth' => false,
|
|
||||||
'mail_smtphost' => '',
|
|
||||||
'mail_smtpport' => '',
|
|
||||||
'mail_smtpname' => '',
|
|
||||||
'mail_smtppassword' => '',
|
|
||||||
'mail_from_address' => 'owncloud',
|
|
||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
EOF
|
EOF
|
||||||
@@ -338,13 +329,10 @@ include("$STORAGE_ROOT/owncloud/config.php");
|
|||||||
|
|
||||||
\$CONFIG['memcache.local'] = '\OC\Memcache\APCu';
|
\$CONFIG['memcache.local'] = '\OC\Memcache\APCu';
|
||||||
\$CONFIG['overwrite.cli.url'] = 'https://${PRIMARY_HOSTNAME}/cloud';
|
\$CONFIG['overwrite.cli.url'] = 'https://${PRIMARY_HOSTNAME}/cloud';
|
||||||
\$CONFIG['mail_from_address'] = 'administrator'; # just the local part, matches our master administrator address
|
|
||||||
|
|
||||||
\$CONFIG['logtimezone'] = '$TIMEZONE';
|
\$CONFIG['logtimezone'] = '$TIMEZONE';
|
||||||
\$CONFIG['logdateformat'] = 'Y-m-d H:i:s';
|
\$CONFIG['logdateformat'] = 'Y-m-d H:i:s';
|
||||||
|
|
||||||
\$CONFIG['mail_domain'] = '$PRIMARY_HOSTNAME';
|
|
||||||
|
|
||||||
\$CONFIG['user_backends'] = array(
|
\$CONFIG['user_backends'] = array(
|
||||||
array(
|
array(
|
||||||
'class' => '\OCA\UserExternal\IMAP',
|
'class' => '\OCA\UserExternal\IMAP',
|
||||||
@@ -354,6 +342,16 @@ include("$STORAGE_ROOT/owncloud/config.php");
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
\$CONFIG['mail_domain'] = '$PRIMARY_HOSTNAME';
|
||||||
|
\$CONFIG['mail_from_address'] = 'administrator'; # just the local part, matches the required administrator alias on mail_domain/$PRIMARY_HOSTNAME
|
||||||
|
\$CONFIG['mail_smtpmode'] = 'sendmail';
|
||||||
|
\$CONFIG['mail_smtpauth'] = true; # if smtpmode is smtp
|
||||||
|
\$CONFIG['mail_smtphost'] = '127.0.0.1'; # if smtpmode is smtp
|
||||||
|
\$CONFIG['mail_smtpport'] = '587'; # if smtpmode is smtp
|
||||||
|
\$CONFIG['mail_smtpsecure'] = ''; # if smtpmode is smtp, must be empty string
|
||||||
|
\$CONFIG['mail_smtpname'] = ''; # if smtpmode is smtp, set this to a mail user
|
||||||
|
\$CONFIG['mail_smtppassword'] = ''; # if smtpmode is smtp, set this to the user's password
|
||||||
|
|
||||||
echo "<?php\n\\\$CONFIG = ";
|
echo "<?php\n\\\$CONFIG = ";
|
||||||
var_export(\$CONFIG);
|
var_export(\$CONFIG);
|
||||||
echo ";";
|
echo ";";
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ source /etc/mailinabox.conf # load global vars
|
|||||||
|
|
||||||
echo "Installing Z-Push (Exchange/ActiveSync server)..."
|
echo "Installing Z-Push (Exchange/ActiveSync server)..."
|
||||||
apt_install \
|
apt_install \
|
||||||
php"${PHP_VER}"-soap php"${PHP_VER}"-imap libawl-php php"$PHP_VER"-xml
|
php"${PHP_VER}"-soap php"${PHP_VER}"-imap libawl-php php"$PHP_VER"-xml php"${PHP_VER}"-intl
|
||||||
|
|
||||||
phpenmod -v "$PHP_VER" imap
|
phpenmod -v "$PHP_VER" imap
|
||||||
|
|
||||||
# Copy Z-Push into place.
|
# Copy Z-Push into place.
|
||||||
VERSION=2.7.1
|
VERSION=2.7.3
|
||||||
TARGETHASH=f15c566b1ad50de24f3f08f505f0c3d8155c2d0d
|
TARGETHASH=9d4bec41935e9a4e07880c5ff915bcddbda4443b
|
||||||
needs_update=0 #NODOC
|
needs_update=0 #NODOC
|
||||||
if [ ! -f /usr/local/lib/z-push/version ]; then
|
if [ ! -f /usr/local/lib/z-push/version ]; then
|
||||||
needs_update=1 #NODOC
|
needs_update=1 #NODOC
|
||||||
|
|||||||
Reference in New Issue
Block a user