parent
b7903ae377
commit
3e3e526568
|
@ -3,7 +3,7 @@ LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
ENV LC_ALL C
|
ENV LC_ALL C
|
||||||
ENV DOVECOT_VERSION 2.3.5.1
|
ENV DOVECOT_VERSION 2.3.5.2
|
||||||
ENV PIGEONHOLE_VERSION 0.5.5
|
ENV PIGEONHOLE_VERSION 0.5.5
|
||||||
|
|
||||||
RUN apt-get update && apt-get -y --no-install-recommends install \
|
RUN apt-get update && apt-get -y --no-install-recommends install \
|
||||||
|
|
|
@ -193,7 +193,7 @@ function transport($_action, $_data = null) {
|
||||||
$username = str_replace(':', '\:', trim($_data['username']));
|
$username = str_replace(':', '\:', trim($_data['username']));
|
||||||
$password = str_replace(':', '\:', trim($_data['password']));
|
$password = str_replace(':', '\:', trim($_data['password']));
|
||||||
// ".domain" is a valid destination, "..domain" is not
|
// ".domain" is a valid destination, "..domain" is not
|
||||||
if (empty($destination) || (is_valid_domain_name(preg_replace('/^' . preg_quote('.', '/') . '/', '', $destination)) === false && $destination != '*')) {
|
if (empty($destination) || (is_valid_domain_name(preg_replace('/^' . preg_quote('.', '/') . '/', '', $destination)) === false && $destination != '*' && filter_var($destination, FILTER_VALIDATE_EMAIL) === false)) {
|
||||||
$_SESSION['return'][] = array(
|
$_SESSION['return'][] = array(
|
||||||
'type' => 'danger',
|
'type' => 'danger',
|
||||||
'log' => array(__FUNCTION__, $_action, $_data_log),
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
|
@ -223,6 +223,14 @@ function transport($_action, $_data = null) {
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if ($transport_data['destination'] == $destination) {
|
||||||
|
$_SESSION['return'][] = array(
|
||||||
|
'type' => 'danger',
|
||||||
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
|
'msg' => 'transport_dest_exists'
|
||||||
|
);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isset($next_hop_matches[1])) {
|
if (isset($next_hop_matches[1])) {
|
||||||
|
@ -319,6 +327,14 @@ function transport($_action, $_data = null) {
|
||||||
}
|
}
|
||||||
$existing_nh[] = $transport_data['nexthop'];
|
$existing_nh[] = $transport_data['nexthop'];
|
||||||
preg_match('/\[(.+)\].*/', $transport_data['nexthop'], $existing_clean_nh[]);
|
preg_match('/\[(.+)\].*/', $transport_data['nexthop'], $existing_clean_nh[]);
|
||||||
|
if ($transport_data['destination'] == $destination) {
|
||||||
|
$_SESSION['return'][] = array(
|
||||||
|
'type' => 'danger',
|
||||||
|
'log' => array(__FUNCTION__, $_action, $_data_log),
|
||||||
|
'msg' => 'transport_dest_exists'
|
||||||
|
);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isset($next_hop_matches[1])) {
|
if (isset($next_hop_matches[1])) {
|
||||||
|
|
|
@ -19,6 +19,7 @@ $lang['footer']['cancel'] = 'Abbrechen';
|
||||||
$lang['footer']['hibp_nok'] = 'Übereinstimmung gefunden! Dieses Passwort ist potentiell gefährlich!';
|
$lang['footer']['hibp_nok'] = 'Übereinstimmung gefunden! Dieses Passwort ist potentiell gefährlich!';
|
||||||
$lang['footer']['hibp_ok'] = 'Keine Übereinstimmung gefunden.';
|
$lang['footer']['hibp_ok'] = 'Keine Übereinstimmung gefunden.';
|
||||||
|
|
||||||
|
$lang['danger']['transport_dest_exists'] = "Transport Maps Ziel existiert bereits";
|
||||||
$lang['danger']['unlimited_quota_acl'] = "Unendliche Quota untersagt durch ACL";
|
$lang['danger']['unlimited_quota_acl'] = "Unendliche Quota untersagt durch ACL";
|
||||||
$lang['danger']['mysql_error'] = "MySQL Fehler: %s";
|
$lang['danger']['mysql_error'] = "MySQL Fehler: %s";
|
||||||
$lang['danger']['redis_error'] = "Redis Fehler: %s";
|
$lang['danger']['redis_error'] = "Redis Fehler: %s";
|
||||||
|
|
|
@ -20,6 +20,7 @@ $lang['footer']['cancel'] = 'Cancel';
|
||||||
$lang['footer']['hibp_nok'] = 'Matched! This is a potentially dangerous password!';
|
$lang['footer']['hibp_nok'] = 'Matched! This is a potentially dangerous password!';
|
||||||
$lang['footer']['hibp_ok'] = 'No match found.';
|
$lang['footer']['hibp_ok'] = 'No match found.';
|
||||||
|
|
||||||
|
$lang['danger']['transport_dest_exists'] = "Transport destination exists";
|
||||||
$lang['danger']['unlimited_quota_acl'] = "Unlimited quota prohibited by ACL";
|
$lang['danger']['unlimited_quota_acl'] = "Unlimited quota prohibited by ACL";
|
||||||
$lang['danger']['mysql_error'] = "MySQL error: %s";
|
$lang['danger']['mysql_error'] = "MySQL error: %s";
|
||||||
$lang['danger']['redis_error'] = "Redis error: %s";
|
$lang['danger']['redis_error'] = "Redis error: %s";
|
||||||
|
|
|
@ -169,7 +169,7 @@ services:
|
||||||
- sogo
|
- sogo
|
||||||
|
|
||||||
dovecot-mailcow:
|
dovecot-mailcow:
|
||||||
image: mailcow/dovecot:1.67
|
image: mailcow/dovecot:1.68
|
||||||
build: ./data/Dockerfiles/dovecot
|
build: ./data/Dockerfiles/dovecot
|
||||||
cap_add:
|
cap_add:
|
||||||
- NET_BIND_SERVICE
|
- NET_BIND_SERVICE
|
||||||
|
|
Loading…
Reference in New Issue