Add custom auth, connection testing, preconfig_only, and security fixes
Major form improvements: - Custom SMTP/Sieve credentials (separate username/password per protocol) - Connection testing on save (IMAP, SMTP, Sieve) with localized errors - preconfig_only mode to restrict domains to preconfigured entries - Form POST value preservation on save errors (auth selects, passwords) - Smart host placeholders (SMTP/Sieve default to IMAP host) Security and bug: - Fix password re-encryption bug (was comparing raw vs encrypted values) - Fix XSS: escape label output in special folders form - Fix parse_url() return value not checked for false - Fix decrypt() failures not handled (fallback to empty string) - Sanitize log output (remove raw POST data from log messages) - Replace weak == comparisons with strict === (PHP and JS) SQL changes: - Consolidate 4 migrations (2026021000-03) into single 2026021000 - Remove now unused notify_sound_url column - Add smtp_username, smtp_password, sieve_username, sieve_password columns
This commit is contained in:
@@ -4,14 +4,20 @@
|
||||
*/
|
||||
$labels = array();
|
||||
|
||||
// Plugin ident_switch
|
||||
$labels['form.common.caption'] = 'Plugin ident_switch';
|
||||
// Separate Account
|
||||
$labels['form.caption'] = 'Separates Konto';
|
||||
$labels['form.description'] = 'Konfigurieren Sie diese Identität als separates Konto mit eigenen Mailserver-Verbindungen.';
|
||||
$labels['form.preconfig_only_warning'] = 'Die Konfiguration als separates Konto ist für die Domain %s nicht verfügbar.';
|
||||
|
||||
// General
|
||||
$labels['form.common.general'] = 'Allgemein';
|
||||
|
||||
// Enabled
|
||||
$labels['form.common.enabled'] = 'Aktiviert';
|
||||
|
||||
// Label
|
||||
$labels['form.common.label'] = 'Bezeichnung';
|
||||
$labels['form.common.label.hint'] = 'Name, der im Kontowechsler angezeigt wird. Wenn leer, wird die E-Mail-Adresse verwendet.';
|
||||
|
||||
// Value in \'Label\' field is too long (32 chars max).
|
||||
$labels['err.label.long'] = 'Der Wert in Feld \'Bezeichnung\' ist zu lang (max. 32 Zeichen).';
|
||||
@@ -20,8 +26,8 @@ $labels['err.label.long'] = 'Der Wert in Feld \'Bezeichnung\' ist zu lang (max.
|
||||
// IMAP
|
||||
$labels['form.imap.caption'] = 'IMAP';
|
||||
|
||||
// Server host name
|
||||
$labels['form.imap.host'] = 'Servername';
|
||||
// Incoming mail server
|
||||
$labels['form.imap.host'] = 'Posteingangsserver';
|
||||
|
||||
// Security
|
||||
$labels['form.imap.security'] = 'Sicherheit';
|
||||
@@ -47,8 +53,8 @@ $labels['err.user.long'] = 'Der Wert in Feld \'Benutzername\' ist zu lang (max.
|
||||
// SMTP
|
||||
$labels['form.smtp.caption'] = 'SMTP';
|
||||
|
||||
// Server host name
|
||||
$labels['form.smtp.host'] = 'Servername';
|
||||
// Outgoing mail server
|
||||
$labels['form.smtp.host'] = 'Postausgangsserver';
|
||||
|
||||
// Security
|
||||
$labels['form.smtp.security'] = 'Sicherheit';
|
||||
@@ -65,6 +71,15 @@ $labels['form.smtp.auth.imap'] = 'Wie IMAP';
|
||||
// None
|
||||
$labels['form.smtp.auth.none'] = 'Keine';
|
||||
|
||||
// Custom
|
||||
$labels['form.smtp.auth.custom'] = 'Benutzerdefiniert';
|
||||
|
||||
// Username
|
||||
$labels['form.smtp.username'] = 'Benutzername';
|
||||
|
||||
// Password
|
||||
$labels['form.smtp.password'] = 'Passwort';
|
||||
|
||||
|
||||
// Sieve
|
||||
$labels['form.sieve.caption'] = 'Sieve';
|
||||
@@ -87,6 +102,15 @@ $labels['form.sieve.auth.imap'] = 'Wie IMAP';
|
||||
// None
|
||||
$labels['form.sieve.auth.none'] = 'Keine';
|
||||
|
||||
// Custom
|
||||
$labels['form.sieve.auth.custom'] = 'Benutzerdefiniert';
|
||||
|
||||
// Username
|
||||
$labels['form.sieve.username'] = 'Benutzername';
|
||||
|
||||
// Password
|
||||
$labels['form.sieve.password'] = 'Passwort';
|
||||
|
||||
|
||||
// Notifications
|
||||
$labels['form.notify.caption'] = 'Benachrichtigungen';
|
||||
@@ -140,3 +164,12 @@ $labels['err.port.num'] = 'Der Wert in Feld \'Port\' muss eine Zahl sein.';
|
||||
|
||||
// Value in \'Port\' field must be between 1 and 65535.
|
||||
$labels['err.port.range'] = 'Der Wert in Feld \'Port\' muss zwischen 1 und 65535 liegen.';
|
||||
|
||||
// IMAP connection test failed.
|
||||
$labels['err.imap.connect'] = 'IMAP-Verbindung fehlgeschlagen. Bitte überprüfen Sie Serveradresse, Port und Zugangsdaten.';
|
||||
|
||||
// SMTP connection test failed.
|
||||
$labels['err.smtp.connect'] = 'SMTP-Verbindung fehlgeschlagen. Bitte überprüfen Sie Serveradresse, Port und Zugangsdaten.';
|
||||
|
||||
// Sieve connection test failed.
|
||||
$labels['err.sieve.connect'] = 'Sieve-Verbindung fehlgeschlagen. Bitte überprüfen Sie Serveradresse, Port und Zugangsdaten.';
|
||||
|
||||
Reference in New Issue
Block a user