* Decode rspamd-subject for pushover notifications
Fixes#6028
* Apply iconv_mime_decode to the quarantine function as well
This might contain utf-8 encoded text as well
* Moved the iconv_mime_decode "fix" back to pipe.php
* Update `dockerapi/Dockerfile` CMD from shell to exec format
* Update `postfix/Dockerfile` CMD from shell to exec format
* Update `sogo/Dockerfile` CMD from shell to exec format
* Update `unbound/Dockerfile` CMD from shell to exec format
* Update `watchdog/Dockerfile` CMD from shell to exec format
echo"Installed memory is <= 2.5 GiB. It is recommended to disable ClamAV to prevent out-of-memory situations."
echo"Installed memory is <= 2.5 GiB. It is recommended to disable ClamAV to prevent out-of-memory situations."
echo"ClamAV can be re-enabled by setting SKIP_CLAMD=n in mailcow.conf."
echo"ClamAV can be re-enabled by setting SKIP_CLAMD=n in mailcow.conf."
read -r -p "Do you want to disable ClamAV now? [Y/n] " response
read -r -p "Do you want to disable ClamAV now? [Y/n] " response
@@ -176,10 +176,10 @@ if [ -z "${SKIP_CLAMD}" ]; then
fi
fi
if[ -z "${SKIP_SOLR}"];then
if[ -z "${SKIP_SOLR}"];then
if[${MEM_TOTAL} -le "2097152"];then
if["${MEM_TOTAL}" -le "2097152"];then
echo"Disabling Solr on low-memory system."
echo"Disabling Solr on low-memory system."
SKIP_SOLR=y
SKIP_SOLR=y
elif[${MEM_TOTAL} -le "3670016"];then
elif["${MEM_TOTAL}" -le "3670016"];then
echo"Installed memory is <= 3.5 GiB. It is recommended to disable Solr to prevent out-of-memory situations."
echo"Installed memory is <= 3.5 GiB. It is recommended to disable Solr to prevent out-of-memory situations."
echo"Solr is a prone to run OOM and should be monitored. The default Solr heap size is 1024 MiB and should be set in mailcow.conf according to your expected load."
echo"Solr is a prone to run OOM and should be monitored. The default Solr heap size is 1024 MiB and should be set in mailcow.conf according to your expected load."
echo"Solr can be re-enabled by setting SKIP_SOLR=n in mailcow.conf but will refuse to start with less than 2 GB total memory."
echo"Solr can be re-enabled by setting SKIP_SOLR=n in mailcow.conf but will refuse to start with less than 2 GB total memory."
@@ -206,7 +206,7 @@ if [[ ${SKIP_BRANCH} != y ]]; then
sleep 1
sleep 1
while[ -z "${MAILCOW_BRANCH}"];do
while[ -z "${MAILCOW_BRANCH}"];do
read -r -p "Choose the Branch with it´s number [1/2] " branch
read -r -p "Choose the Branch with it's number [1/2] " branch
case$branch in
case$branch in
[2])
[2])
MAILCOW_BRANCH="nightly"
MAILCOW_BRANCH="nightly"
@@ -218,7 +218,7 @@ if [[ ${SKIP_BRANCH} != y ]]; then
echo -e "\e[33mWarning:\e[0m You seem to have modified the /etc/docker/daemon.json configuration by yourself and not fully/correctly activated the native IPv6 NAT implementation."
echo -e "\e[33mWarning:\e[0m You seem to have modified the /etc/docker/daemon.json configuration by yourself and not fully/correctly activated the native IPv6 NAT implementation."
echo"You will need to merge your existing configuration manually or fix/delete the existing daemon.json configuration before trying the update process again."
echo"You will need to merge your existing configuration manually or fix/delete the existing daemon.json configuration before trying the update process again."
echo -e "Please merge the following content and restart the Docker daemon:\n"
echo -e "Please merge the following content and restart the Docker daemon:\n"
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Bind SQL to 127.0.0.1 on port 13306' >> mailcow.conf
echo'# Bind SQL to 127.0.0.1 on port 13306' >> mailcow.conf
echo"SQL_PORT=127.0.0.1:13306" >> mailcow.conf
echo"SQL_PORT=127.0.0.1:13306" >> mailcow.conf
fi
fi
elif[[${option}=="API_KEY"]];then
elif[["${option}"=="API_KEY"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Create or override API key for web UI' >> mailcow.conf
echo'# Create or override API key for web UI' >> mailcow.conf
echo"#API_KEY=" >> mailcow.conf
echo"#API_KEY=" >> mailcow.conf
fi
fi
elif[[${option}=="API_KEY_READ_ONLY"]];then
elif[["${option}"=="API_KEY_READ_ONLY"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Create or override read-only API key for web UI' >> mailcow.conf
echo'# Create or override read-only API key for web UI' >> mailcow.conf
echo"#API_KEY_READ_ONLY=" >> mailcow.conf
echo"#API_KEY_READ_ONLY=" >> mailcow.conf
fi
fi
elif[[${option}=="API_ALLOW_FROM"]];then
elif[["${option}"=="API_ALLOW_FROM"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Must be set for API_KEY to be active' >> mailcow.conf
echo'# Must be set for API_KEY to be active' >> mailcow.conf
echo'# IPs only, no networks (networks can be set via UI)' >> mailcow.conf
echo'# IPs only, no networks (networks can be set via UI)' >> mailcow.conf
echo"#API_ALLOW_FROM=" >> mailcow.conf
echo"#API_ALLOW_FROM=" >> mailcow.conf
fi
fi
elif[[${option}=="SNAT_TO_SOURCE"]];then
elif[["${option}"=="SNAT_TO_SOURCE"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Use this IPv4 for outgoing connections (SNAT)' >> mailcow.conf
echo'# Use this IPv4 for outgoing connections (SNAT)' >> mailcow.conf
echo"#SNAT_TO_SOURCE=" >> mailcow.conf
echo"#SNAT_TO_SOURCE=" >> mailcow.conf
fi
fi
elif[[${option}=="SNAT6_TO_SOURCE"]];then
elif[["${option}"=="SNAT6_TO_SOURCE"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Use this IPv6 for outgoing connections (SNAT)' >> mailcow.conf
echo'# Use this IPv6 for outgoing connections (SNAT)' >> mailcow.conf
echo"#SNAT6_TO_SOURCE=" >> mailcow.conf
echo"#SNAT6_TO_SOURCE=" >> mailcow.conf
fi
fi
elif[[${option}=="MAILDIR_GC_TIME"]];then
elif[["${option}"=="MAILDIR_GC_TIME"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Garbage collector cleanup' >> mailcow.conf
echo'# Garbage collector cleanup' >> mailcow.conf
echo'# Deleted domains and mailboxes are moved to /var/vmail/_garbage/timestamp_sanitizedstring' >> mailcow.conf
echo'# Deleted domains and mailboxes are moved to /var/vmail/_garbage/timestamp_sanitizedstring' >> mailcow.conf
@@ -595,8 +595,8 @@ for option in ${CONFIG_ARRAY[@]}; do
echo'# Check interval is hourly' >> mailcow.conf
echo'# Check interval is hourly' >> mailcow.conf
echo'MAILDIR_GC_TIME=1440' >> mailcow.conf
echo'MAILDIR_GC_TIME=1440' >> mailcow.conf
fi
fi
elif[[${option}=="ACL_ANYONE"]];then
elif[["${option}"=="ACL_ANYONE"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Set this to "allow" to enable the anyone pseudo user. Disabled by default.' >> mailcow.conf
echo'# Set this to "allow" to enable the anyone pseudo user. Disabled by default.' >> mailcow.conf
echo'# When enabled, ACL can be created, that apply to "All authenticated users"' >> mailcow.conf
echo'# When enabled, ACL can be created, that apply to "All authenticated users"' >> mailcow.conf
@@ -604,96 +604,96 @@ for option in ${CONFIG_ARRAY[@]}; do
echo'# Otherwise a user might share data with too many other users.' >> mailcow.conf
echo'# Otherwise a user might share data with too many other users.' >> mailcow.conf
echo'ACL_ANYONE=disallow' >> mailcow.conf
echo'ACL_ANYONE=disallow' >> mailcow.conf
fi
fi
elif[[${option}=="SOLR_HEAP"]];then
elif[["${option}"=="SOLR_HEAP"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Solr heap size, there is no recommendation, please see Solr docs.' >> mailcow.conf
echo'# Solr heap size, there is no recommendation, please see Solr docs.' >> mailcow.conf
echo'# Solr is a prone to run OOM on large systems and should be monitored. Unmonitored Solr setups are not recommended.' >> mailcow.conf
echo'# Solr is a prone to run OOM on large systems and should be monitored. Unmonitored Solr setups are not recommended.' >> mailcow.conf
echo'# Solr will refuse to start with total system memory below or equal to 2 GB.' >> mailcow.conf
echo'# Solr will refuse to start with total system memory below or equal to 2 GB.' >> mailcow.conf
echo"SOLR_HEAP=1024" >> mailcow.conf
echo"SOLR_HEAP=1024" >> mailcow.conf
fi
fi
elif[[${option}=="SKIP_SOLR"]];then
elif[["${option}"=="SKIP_SOLR"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Solr is disabled by default after upgrading from non-Solr to Solr-enabled mailcows.' >> mailcow.conf
echo'# Solr is disabled by default after upgrading from non-Solr to Solr-enabled mailcows.' >> mailcow.conf
echo'# Disable Solr or if you do not want to store a readable index of your mails in solr-vol-1.' >> mailcow.conf
echo'# Disable Solr or if you do not want to store a readable index of your mails in solr-vol-1.' >> mailcow.conf
echo"SKIP_SOLR=y" >> mailcow.conf
echo"SKIP_SOLR=y" >> mailcow.conf
fi
fi
elif[[${option}=="ENABLE_SSL_SNI"]];then
elif[["${option}"=="ENABLE_SSL_SNI"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Create seperate certificates for all domains - y/n' >> mailcow.conf
echo'# Create seperate certificates for all domains - y/n' >> mailcow.conf
echo'# this will allow adding more than 100 domains, but some email clients will not be able to connect with alternative hostnames' >> mailcow.conf
echo'# this will allow adding more than 100 domains, but some email clients will not be able to connect with alternative hostnames' >> mailcow.conf
echo'# see https://wiki.dovecot.org/SSL/SNIClientSupport' >> mailcow.conf
echo'# see https://wiki.dovecot.org/SSL/SNIClientSupport' >> mailcow.conf
echo"ENABLE_SSL_SNI=n" >> mailcow.conf
echo"ENABLE_SSL_SNI=n" >> mailcow.conf
fi
fi
elif[[${option}=="SKIP_SOGO"]];then
elif[["${option}"=="SKIP_SOGO"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Skip SOGo: Will disable SOGo integration and therefore webmail, DAV protocols and ActiveSync support (experimental, unsupported, not fully implemented) - y/n' >> mailcow.conf
echo'# Skip SOGo: Will disable SOGo integration and therefore webmail, DAV protocols and ActiveSync support (experimental, unsupported, not fully implemented) - y/n' >> mailcow.conf
echo"SKIP_SOGO=n" >> mailcow.conf
echo"SKIP_SOGO=n" >> mailcow.conf
fi
fi
elif[[${option}=="MAILDIR_SUB"]];then
elif[["${option}"=="MAILDIR_SUB"]];then
if ! grep -q ${option} mailcow.conf;then
if ! grep -q "${option}" mailcow.conf;then
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# MAILDIR_SUB defines a path in a users virtual home to keep the maildir in. Leave empty for updated setups.' >> mailcow.conf
echo'# MAILDIR_SUB defines a path in a users virtual home to keep the maildir in. Leave empty for updated setups.' >> mailcow.conf
echo"Adding new option \"${option}\" to mailcow.conf"
echo"Adding new option \"${option}\" to mailcow.conf"
echo'# Prevent netfilter from setting an iptables/nftables rule to isolate the mailcow docker network - y/n' >> mailcow.conf
echo'# Prevent netfilter from setting an iptables/nftables rule to isolate the mailcow docker network - y/n' >> mailcow.conf
echo'# CAUTION: Disabling this may expose container ports to other neighbors on the same subnet, even if the ports are bound to localhost' >> mailcow.conf
echo'# CAUTION: Disabling this may expose container ports to other neighbors on the same subnet, even if the ports are bound to localhost' >> mailcow.conf
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.