|
|
@@ -6,6 +6,44 @@
|
|
|
# #
|
|
|
#===========================================================================#
|
|
|
|
|
|
+#----------------------------------------------------------#
|
|
|
+# COMMON FUNCTIONS #
|
|
|
+#----------------------------------------------------------#
|
|
|
+
|
|
|
+# Prepare IPV4 and IPV6 addresses for using in templates
|
|
|
+prepare_ips_for_template() {
|
|
|
+ if [ -z "$local_ip" ]; then
|
|
|
+ i4mark=""
|
|
|
+ ipv4=""
|
|
|
+ web_ipv4=""
|
|
|
+ web_ip="[$local_ipv6]"
|
|
|
+ proxy_ipv4=""
|
|
|
+ proxy_ip="[$local_ipv6]"
|
|
|
+ legacy_ip="[$local_ipv6]"
|
|
|
+ else
|
|
|
+ i4mark="\1"
|
|
|
+ ipv4="$local_ip"
|
|
|
+ web_ipv4="$local_ip"
|
|
|
+ web_ip="$local_ip"
|
|
|
+ proxy_ipv4="$local_ip"
|
|
|
+ proxy_ip="$local_ip"
|
|
|
+ legacy_ip="$local_ip"
|
|
|
+ fi
|
|
|
+ if [ -z "$local_ipv6" ]; then
|
|
|
+ i6mark=""
|
|
|
+ web_ipv6=""
|
|
|
+ web_ip="$local_ip"
|
|
|
+ proxy_ipv6=""
|
|
|
+ proxy_ip="$local_ip"
|
|
|
+ else
|
|
|
+ i6mark="\1"
|
|
|
+ web_ipv6="[$local_ipv6]"
|
|
|
+ web_ip="[$local_ipv6]"
|
|
|
+ proxy_ipv6="[$local_ipv6]"
|
|
|
+ proxy_ip="[$local_ipv6]"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
#----------------------------------------------------------#
|
|
|
# WEB #
|
|
|
#----------------------------------------------------------#
|
|
|
@@ -250,37 +288,8 @@ add_web_config() {
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
- if [ -z "$local_ip" ]; then
|
|
|
- i4mark=""
|
|
|
- ipv4=""
|
|
|
- web_ipv4=""
|
|
|
- web_ip="[$local_ipv6]"
|
|
|
- proxy_ipv4=""
|
|
|
- proxy_ip="[$local_ipv6]"
|
|
|
- legacy_ip="[$local_ipv6]"
|
|
|
- else
|
|
|
- i4mark="\1"
|
|
|
- ipv4="$local_ip"
|
|
|
- web_ipv4="$local_ip"
|
|
|
- web_ip="$local_ip"
|
|
|
- proxy_ipv4="$local_ip"
|
|
|
- proxy_ip="$local_ip"
|
|
|
- legacy_ip="$local_ip"
|
|
|
- fi
|
|
|
- if [ -z "$local_ipv6" ]; then
|
|
|
- i6mark=""
|
|
|
- web_ipv6=""
|
|
|
- web_ip="$local_ip"
|
|
|
- proxy_ipv6=""
|
|
|
- proxy_ip="$local_ip"
|
|
|
- else
|
|
|
- i6mark="\1"
|
|
|
- web_ipv6="[$local_ipv6]"
|
|
|
- web_ip="[$local_ipv6]"
|
|
|
- proxy_ipv6="[$local_ipv6]"
|
|
|
- proxy_ip="[$local_ipv6]"
|
|
|
- fi
|
|
|
-
|
|
|
+ prepare_ips_for_template # prepare IPV4 and IPV6 variables for template substitution
|
|
|
+
|
|
|
# Note: Removing or renaming template variables will lead to broken custom templates.
|
|
|
# -If possible custom templates should be automatically upgraded to use the new format
|
|
|
# -Alternatively a depreciation period with proper notifications should be considered
|
|
|
@@ -848,12 +857,22 @@ add_webmail_config() {
|
|
|
override_alias_idn="mail.$domain_idn"
|
|
|
fi
|
|
|
|
|
|
+ prepare_ips_for_template # prepare IPV4 and IPV6 variables for template substitution
|
|
|
+
|
|
|
# Note: Removing or renaming template variables will lead to broken custom templates.
|
|
|
# -If possible custom templates should be automatically upgraded to use the new format
|
|
|
# -Alternatively a depreciation period with proper notifications should be considered
|
|
|
|
|
|
cat $MAILTPL/$1/$2 \
|
|
|
- | sed -e "s|%ip%|$local_ip|g" \
|
|
|
+ | sed -e "s|%<i4\(.*\)i4>%|$i4mark|g" \
|
|
|
+ -e "s|%<i6\(.*\)i6>%|$i6mark|g" \
|
|
|
+ -e "s|%web_ipv4%|$web_ipv4|g" \
|
|
|
+ -e "s|%web_ipv6%|$web_ipv6|g" \
|
|
|
+ -e "s|%web_ip%|$web_ip|g" \
|
|
|
+ -e "s|%proxy_ipv4%|$proxy_ipv4|g" \
|
|
|
+ -e "s|%proxy_ipv6%|$proxy_ipv6|g" \
|
|
|
+ -e "s|%proxy_ip%|$proxy_ip|g" \
|
|
|
+ -e "s|%ip%|$legacy_ip|g" \
|
|
|
-e "s|%domain%|$WEBMAIL_ALIAS.$domain|g" \
|
|
|
-e "s|%domain_idn%|$WEBMAIL_ALIAS.$domain_idn|g" \
|
|
|
-e "s|%root_domain%|$domain|g" \
|