diff --git a/data/web/js/site/debug.js b/data/web/js/site/debug.js index 557e431c..83145e10 100644 --- a/data/web/js/site/debug.js +++ b/data/web/js/site/debug.js @@ -36,7 +36,7 @@ jQuery(function($){ function draw_autodiscover_logs() { ft_autodiscover_logs = FooTable.init('#autodiscover_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"ua","title":"User-Agent","style":{"min-width":"200px"}}, {"name":"user","title":"Username","style":{"min-width":"200px"}}, {"name":"service","title":"Service"}, @@ -72,7 +72,7 @@ jQuery(function($){ function draw_postfix_logs() { ft_postfix_logs = FooTable.init('#postfix_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"priority","title":lang.priority,"style":{"width":"80px"}}, {"name":"message","title":lang.message}, ], @@ -107,7 +107,7 @@ jQuery(function($){ function draw_watchdog_logs() { ft_watchdog_logs = FooTable.init('#watchdog_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"service","title":"Service"}, {"name":"trend","title":"Trend"}, {"name":"message","title":lang.message}, @@ -143,7 +143,7 @@ jQuery(function($){ function draw_api_logs() { ft_api_logs = FooTable.init('#api_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"uri","title":"URI","style":{"width":"310px"}}, {"name":"method","title":"Method","style":{"width":"80px"}}, {"name":"remote","title":"IP","style":{"width":"80px"}}, @@ -181,7 +181,7 @@ jQuery(function($){ ft_rl_logs = FooTable.init('#rl_log', { "columns": [ {"name":"indicator","title":" ","style":{"width":"50px"}}, - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.last_applied,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.last_applied,"style":{"width":"170px"}}, {"name":"rl_name","title":lang.rate_name}, {"name":"from","title":lang.sender}, {"name":"rcpt","title":lang.recipients}, @@ -225,7 +225,7 @@ jQuery(function($){ function draw_ui_logs() { ft_api_logs = FooTable.init('#ui_logs', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"type","title":"Type"}, {"name":"task","title":"Task"}, {"name":"user","title":"User"}, @@ -265,7 +265,7 @@ jQuery(function($){ function draw_acme_logs() { ft_acme_logs = FooTable.init('#acme_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"message","title":lang.message,"style":{"word-break":"break-all"}}, ], "rows": $.ajax({ @@ -299,7 +299,7 @@ jQuery(function($){ function draw_netfilter_logs() { ft_netfilter_logs = FooTable.init('#netfilter_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"priority","title":lang.priority,"style":{"width":"80px"}}, {"name":"message","title":lang.message}, ], @@ -334,7 +334,7 @@ jQuery(function($){ function draw_sogo_logs() { ft_sogo_logs = FooTable.init('#sogo_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"priority","title":lang.priority,"style":{"width":"80px"}}, {"name":"message","title":lang.message}, ], @@ -369,7 +369,7 @@ jQuery(function($){ function draw_dovecot_logs() { ft_dovecot_logs = FooTable.init('#dovecot_log', { "columns": [ - {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name":"priority","title":lang.priority,"style":{"width":"80px"}}, {"name":"message","title":lang.message}, ], @@ -463,7 +463,7 @@ jQuery(function($){ function draw_rspamd_history() { ft_rspamd_history = FooTable.init('#rspamd_history', { "columns": [ - {"name":"unix_time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.time,"style":{"width":"170px"}}, + {"name":"unix_time","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.time,"style":{"width":"170px"}}, {"name": "ip","title": "IP address","breakpoints": "all","style": {"minWidth": 88}}, {"name": "sender_mime","title": "From","breakpoints": "xs sm md","style": {"minWidth": 100}}, {"name": "rcpt","title": "To","breakpoints": "xs sm md","style": {"minWidth": 100}}, diff --git a/data/web/js/site/quarantine.js b/data/web/js/site/quarantine.js index a4606645..e7817c8c 100644 --- a/data/web/js/site/quarantine.js +++ b/data/web/js/site/quarantine.js @@ -56,7 +56,7 @@ jQuery(function($){ {"name":"virus","title":lang.danger, "type": "text"}, {"name":"score","title": lang.spam_score, "type": "text"}, {"name":"notified","title":lang.notified, "type": "text"}, - {"name":"created","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.received,"style":{"width":"170px"}}, + {"name":"created","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.received,"style":{"width":"170px"}}, {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right"},"style":{"min-width":"200px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"} ], "rows": $.ajax({ diff --git a/data/web/lang/lang.de.json b/data/web/lang/lang.de.json index 31ba80c1..71f0a9be 100644 --- a/data/web/lang/lang.de.json +++ b/data/web/lang/lang.de.json @@ -699,6 +699,7 @@ "sieve_preset_5": "Auto-Responder (Vacation, Urlaub)", "sieve_preset_6": "E-Mails mit Nachricht abweisen", "sieve_preset_7": "Weiterleiten und behalten oder verwerfen", + "sieve_preset_8": "Nachricht verwerfen, wenn Absender und Alias-Ziel identisch sind.", "sieve_preset_header": "Beispielinhalte zur Einsicht stehen nachstehend bereit. Siehe auch Wikipedia.", "sogo_allow_admin_hint": "Administrative SOGo-Logins sind nur für Mailboxen verfügbar, die bereits ein SOGo-Profil besitzen. Ein Benutzer muss zumindest einmal in SOGo eingeloggt gewesen sein, um ein Profil zu besitzen.", "sogo_visible": "Alias Sichtbarkeit in SOGo", diff --git a/data/web/lang/lang.en.json b/data/web/lang/lang.en.json index 50c10965..7fd345f7 100644 --- a/data/web/lang/lang.en.json +++ b/data/web/lang/lang.en.json @@ -156,6 +156,7 @@ "dkim_to": "To", "dkim_to_title": "Target domain/s - will be overwritten", "domain": "Domain", + "domain_admin": "Domain administrator", "domain_admins": "Domain administrators", "domain_s": "Domain/s", "duplicate": "Duplicate", diff --git a/data/web/lang/lang.sv.json b/data/web/lang/lang.sv.json index ed98ced5..f0e4b4bf 100644 --- a/data/web/lang/lang.sv.json +++ b/data/web/lang/lang.sv.json @@ -9,6 +9,7 @@ "filters": "Filter", "login_as": "Logga in som en brevlådeanvändare", "prohibited": "Inte tillåtet enligt en åtkomstlista", + "protocol_access": "Ändra tillåtna protokoll", "pushover": "Pushover", "quarantine": "Karantän åtgärder", "quarantine_attachments": "Karantänsbilagor", @@ -22,7 +23,8 @@ "spam_score": "Skräppost-betyg", "syncjobs": "synkroniseringsjobb", "tls_policy": "Krypteringspolicy", - "unlimited_quota": "Obegränsad kvot för postlådor" + "unlimited_quota": "Obegränsad kvot för postlådor", + "domain_desc": "Ändra domänbeskrivningen" }, "add": { "activate_filter_warn": "Alla andra filter av den här typen kommer inaktiveras om det här skriptet markeras som aktivt.", @@ -37,7 +39,7 @@ "app_name": "Applikationsnamn", "app_password": "Lägg till applikationslösenord", "automap": "Koppla automatiskt de vanliga e-post katalogerna (\"Skickade meddelanden\", \"Skickat\" => \"Skickat\" mm)", - "backup_mx_options": "Backup-MX instälningar", + "backup_mx_options": "Inställningar för vidarebefordran", "comment_info": "En privat kommentar är inte synlig för användaren, medan en offentlig kommentar visas i användaröversikten", "custom_params": "Egna parametrar", "custom_params_hint": "Korrekt: --param=xy, Felaktigt: --param xy", @@ -51,7 +53,7 @@ "domain_matches_hostname": "Domänen %s kan inte matcha värdnamnet", "domain_quota_m": "Total kvot per postlåda (MiB)", "enc_method": "Krypteringsmetod", - "exclude": "Exkludera objekt (regex)", + "exclude": "Exkludera objekt (regex-filter)", "full_name": "Fullständiga namn", "gal": "Global adressbok", "gal_info": "Den global adressboken innehåller alla objekt i en domän och kan inte redigeras av någon användare. Informationen om tillgänglighet i SOGo är endast synlig när den globala adressboken är påslagen. Starta om SOGo för att tillämpa ändringar.", @@ -112,7 +114,7 @@ "add_domain_admin": "Lägg till domänadministratör", "add_forwarding_host": "Lägg till värd för inkommande e-post", "add_relayhost": "Lägg till en generell reläserver för transport", - "add_relayhost_hint": "Tänk på att autentiseringsdata lagras okrypterat.", + "add_relayhost_hint": "Tänk på att autentiseringsdata lagras okrypterat.
\r\n Denna typ av post-transport är avsändarberoende och måste bärför vara tilldelad till en domän för att fungera.
\r\n Denna motsvarar därför inte \"relayhost\" Parameter som finns i Postfix.", "add_row": "Lägg till rad", "add_settings_rule": "Lägg till en inställningsregel", "add_transport": "Lägg till reläserver", @@ -164,11 +166,13 @@ "excludes": "Exkludera dessa mottagare", "f2b_ban_time": "Banlysning i sekunder", "f2b_blacklist": "Svartlistade nätverk/värdar", + "f2b_filter": "Regex-filter", "f2b_list_info": "En värd eller ett nätverk som finns på en svartlista kommer alltid stå över en vitlista. Uppdateringar av listan kan ta några sekunder att genomföra.", "f2b_max_attempts": "Maximalt antal försök", "f2b_netban_ipv4": "Storleken på ett IPv4 subnät, att applicera banlysning på (8-32)", "f2b_netban_ipv6": "Storleken på ett IPv6 subnät, att applicera banlysning på (8-128)", "f2b_parameters": "Fail2ban parametrar", + "f2b_regex_info": "Loggarna avser: SOGo, Postfix, Dovecot, PHP-FPM.", "f2b_retry_window": "Tidsfönster för antal försök", "f2b_whitelist": "Vitlistade nätverk/värdar", "filter_table": "Filtrera tebellen", @@ -248,7 +252,7 @@ "recipients": "Mottagare", "refresh": "Uppdatera", "regen_api_key": "Generera API-nyckel på nytt", - "regex_maps": "Regex filter", + "regex_maps": "Regex-filter", "relay_from": "Avsändaradress", "relay_run": "Testa reläservern", "relayhosts": "Generell reläserver för vidare posttransport", @@ -271,7 +275,7 @@ "rspamd_global_filters": "Globala filterregler", "rspamd_global_filters_agree": "Jag ska vara försiktig!", "rspamd_global_filters_info": "En global filterregel kan styra den globala vita- och svartlistan på denna server.", - "rspamd_global_filters_regex": "Formuläret måste innehålla ett giltigt regelbundet uttryck i formatet \"/pattern/options\" (ex. /.+@domain\\.tld/i).
\r\n Även om kontroller utförs på varje rad av regex, kan Rspamds-funktionalitet sluta fungera om den inte kan läsa syntaxen korrekt.
\r\n Rspamd kommer försöka läsa innehållet när det har ändrats. Om du stöter på problem, starta om Rspamd för att verkställa en omläsning av regelverket.", + "rspamd_global_filters_regex": "Formuläret måste innehålla ett giltigt regelbundet uttryck i formatet \"/pattern/options\" (ex. /.+@domain\\.tld/i).
\r\n Även om kontroller utförs på varje rad av regex-filtret, kan Rspamds-funktionalitet sluta fungera om den inte kan läsa syntaxen korrekt.
\r\n Rspamd kommer försöka läsa innehållet när det har ändrats. Om du stöter på problem, starta om Rspamd för att verkställa en omläsning av regelverket.", "rspamd_settings_map": "Regelverk för Rspamd", "sal_level": "Moo-nivå", "save": "Spara ändringar", @@ -395,6 +399,7 @@ "redis_error": "Redis fel: %s", "relayhost_invalid": "Posten %s är ogiltig", "release_send_failed": "Meddelandet kunde inte skickas: %s", + "reset_f2b_regex": "Regex-filtret kunde inte återställas inom en rimlig tid, försök igen eller ladda om sidan.", "resource_invalid": "Resursnamnet %s är ogiltigt", "rl_timeframe": "Intervallet för hastighetsbegränsningen är felaktig", "rspamd_ui_pw_length": "Lösenordet för Rspamd UI måste vara minst 6 tecken långt", @@ -460,10 +465,11 @@ "active": "Aktiv", "advanced_settings": "Avancerade inställningar", "alias": "Ändra alias", + "allowed_protocols": "Tillåtna protokoll", "app_name": "Applikationsnamn", "app_passwd": "Applikationslösenord", "automap": "Koppla automatiskt de vanliga e-post katalogerna (\"Skickade meddelanden\", \"Skickat\" => \"Skickat\" mm)", - "backup_mx_options": "Backup-MX instälningar", + "backup_mx_options": "Inställningar för vidarebefordran", "bcc_dest_format": "Destinationen för att skicka hemlig kopia måste vara en giltig e-postadress.", "client_id": "Klient-ID", "client_secret": "Klienthemlighet", @@ -481,7 +487,7 @@ "dont_check_sender_acl": "Inaktivera avsändarkontrollen för domänen %s (+alias-domäner)", "edit_alias_domain": "Ändra alias-domän", "encryption": "Kryptering", - "exclude": "Exkludera objekt (regex)", + "exclude": "Exkludera objekt (regex-filter)", "extended_sender_acl": "Externa avsändaradresser", "extended_sender_acl_info": "En DKIM-domännyckel bör importeras, om det är möjligt.
\r\n Kom ihåg att även lägga till motsvarande SPF TXT-uppslag för den här servern.
\r\n När en domän eller aliasdomän läggs till på den här servern som överlappar en extern adress, tas den externa adressen bort.
\r\n Använd @domain.tld för att kunna skicka som *@domain.tld.", "force_pw_update": "Kräv uppdatering av lösenordet vid nästa inloggning", @@ -514,10 +520,10 @@ "pushover_info": "Push-aviseringar kommer visas för alla meddelanden (gäller inte skräppost) som skickas till %s, inklusive kopplade aliasadresser (delade, icke-delade, taggade).", "pushover_only_x_prio": "Behandla bara högprioritetspost [X-Priority: 1]", "pushover_sender_array": "Avser endast följande avsändaradresser (separeras med komma)", - "pushover_sender_regex": "Avsändaradresser som matchar följande Regex-uttryck", + "pushover_sender_regex": "Avsändaradresser som matchar följande Regex-filter", "pushover_text": "Meddelandetext", "pushover_title": "Titel", - "pushover_vars": "Om inget avsändarfilter är definerat, kommer alla e-postmeddelanden att behandlas.
Direkt avsändarkontroll och Regex-uttryck kontrolleras induviduellt, de är inte beroende av varandra och bearbetas i följd.
Variabler som kan användas för text och titel. (Notera gällande dataskyddsförordning)", + "pushover_vars": "Om inget avsändarfilter är definerat, kommer alla e-postmeddelanden att behandlas.
Direkt avsändarkontroll och Regex-filter kontrolleras induviduellt, de är inte beroende av varandra och bearbetas i följd.
Variabler som kan användas för text och titel. (Notera gällande dataskyddsförordning)", "pushover_verify": "Verifiera anslutningen", "quota_mb": "Kvot (MiB)", "redirect_uri": "Omdirigering/Callback-URL", @@ -611,7 +617,8 @@ "alias_domain_alias_hint": "Aliasadresser kopplas inte automatiskt med domänalias-adresser. En aliasadress alias@domän täcker inte adressen alias@alias-domän (ett exempel där \"alias-domän\" är en aliasdomän för \"domän\").
Använd istället ett sieve filter för att dirigera om e-post till en extern postlåda (Gå till \"Postfilter\" eller använd SOGo -> Forwarder).", "alias_domain_backupmx": "Aliasdomänen för relädomänen är inaktiv", "aliases": "Alias", - "backup_mx": "Backup-MX", + "allowed_protocols": "Tillåtna protokoll", + "backup_mx": "Vidarebefodring", "bcc": "Dåld kopia", "bcc_destination": "Destination för dåld kopia", "bcc_destinations": "Destinationer för dålda kopior", @@ -692,6 +699,7 @@ "sieve_preset_5": "Ĺägg in ett automatiskt svar (semester läge)", "sieve_preset_6": "Avvisa medelandet och skicka tillbaka ett svar.", "sieve_preset_7": "Vidarebefodra och behåll, eller kasta meddelandet.", + "sieve_preset_8": "Kasta meddelanden som skickas till en alias-adress som avsändaren redan tillhör.", "sieve_preset_header": "Exempel på postfilter finns nedan. För mer information se Wikipedia.", "sogo_allow_admin_hint": "Administrativ SOGo-inloggning är endast tillgängliga för postlådor med en befintlig SOGo-profil. Användaren måste ha varit inloggad på SOGo minst en gång innan.", "sogo_visible": "Visa detta alias i SOGo", @@ -945,10 +953,10 @@ "pushover_info": "Push-aviseringar kommer visas för alla meddelanden (gäller inte skräppost) som skickas till %s, inklusive kopplade aliasadresser (delade, icke-delade, taggade).", "pushover_only_x_prio": "Behandla bara högprioritetspost [X-Priority: 1]", "pushover_sender_array": "Avser endast följande avsändaradresser (separeras med komma)", - "pushover_sender_regex": "Avsändaradresser som matchar följande Regex-uttryck", + "pushover_sender_regex": "Avsändaradresser som matchar följande Regex-filter", "pushover_text": "Meddelandetext", "pushover_title": "Titel", - "pushover_vars": "Om inget avsändarfilter är definerat, kommer alla e-postmeddelanden att behandlas.
Direkt avsändarkontroll och Regex-uttryck kontrolleras induviduellt, de är inte beroende av varandra och bearbetas i följd.
Variabler som kan användas för text och titel. (Notera gällande dataskyddsförordning)", + "pushover_vars": "Om inget avsändarfilter är definerat, kommer alla e-postmeddelanden att behandlas.
Direkt avsändarkontroll och Regex-filter kontrolleras induviduellt, de är inte beroende av varandra och bearbetas i följd.
Variabler som kan användas för text och titel. (Notera gällande dataskyddsförordning)", "pushover_verify": "Verifiera anslutningen", "quarantine_notification": "Karantänmeddelanden", "quarantine_notification_info": "Om ett karantänmeddelande har skickats ut markeras det som \"meddelat\" och ingen ytterligare information kommer att meddelas för det här e-postmeddelandet.", @@ -1016,4 +1024,4 @@ "session_token": "Formulärstämpeln är ogiltig: Stämpeln matchar inte", "session_ua": "Formulärstämpeln är ogiltig: User-Agenten kunde inte valideras" } -} \ No newline at end of file +} diff --git a/helper-scripts/backup_and_restore.sh b/helper-scripts/backup_and_restore.sh index 231d0742..42546bac 100755 --- a/helper-scripts/backup_and_restore.sh +++ b/helper-scripts/backup_and_restore.sh @@ -251,10 +251,10 @@ function restore() { fi echo "Modifying mailcow.conf..." source ${RESTORE_LOCATION}/mailcow.conf - sed -i "/DBNAME/c\DBNAME=${DBNAME}" ${SCRIPT_DIR}/../mailcow.conf - sed -i "/DBUSER/c\DBUSER=${DBUSER}" ${SCRIPT_DIR}/../mailcow.conf - sed -i "/DBPASS/c\DBPASS=${DBPASS}" ${SCRIPT_DIR}/../mailcow.conf - sed -i "/DBROOT/c\DBROOT=${DBROOT}" ${SCRIPT_DIR}/../mailcow.conf + sed -i --follow-symlinks "/DBNAME/c\DBNAME=${DBNAME}" ${SCRIPT_DIR}/../mailcow.conf + sed -i --follow-symlinks "/DBUSER/c\DBUSER=${DBUSER}" ${SCRIPT_DIR}/../mailcow.conf + sed -i --follow-symlinks "/DBPASS/c\DBPASS=${DBPASS}" ${SCRIPT_DIR}/../mailcow.conf + sed -i --follow-symlinks "/DBROOT/c\DBROOT=${DBROOT}" ${SCRIPT_DIR}/../mailcow.conf source ${SCRIPT_DIR}/../mailcow.conf echo "Starting mailcow..." docker-compose up -d diff --git a/update.sh b/update.sh index 054eb387..79d9f15c 100755 --- a/update.sh +++ b/update.sh @@ -181,6 +181,7 @@ fi if grep --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusybBox grep detected, please install gnu grep, \"apk add --no-cache --upgrade grep\""; exit 1; fi if cp --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusybBox cp detected, please install coreutils, \"apk add --no-cache --upgrade coreutils\""; exit 1; fi +if sed --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusybBox sed detected, please install gnu sed, \"apk add --no-cache --upgrade sed\""; exit 1; fi CONFIG_ARRAY=( "SKIP_LETS_ENCRYPT" @@ -215,7 +216,7 @@ CONFIG_ARRAY=( "REDIS_PORT" ) -sed -i '$a\' mailcow.conf +sed -i --follow-symlinks '$a\' mailcow.conf for option in ${CONFIG_ARRAY[@]}; do if [[ ${option} == "ADDITIONAL_SAN" ]]; then if ! grep -q ${option} mailcow.conf; then @@ -525,7 +526,7 @@ if grep -q 'SYSCTL_IPV6_DISABLED=1' mailcow.conf; then fi # Checking for old project name bug -sed -i 's#COMPOSEPROJECT_NAME#COMPOSE_PROJECT_NAME#g' mailcow.conf +sed -i --follow-symlinks 's#COMPOSEPROJECT_NAME#COMPOSE_PROJECT_NAME#g' mailcow.conf # Fix Rspamd maps if [ -f data/conf/rspamd/custom/global_from_blacklist.map ]; then