Skip to content

Commit c943b4a

Browse files
author
Florian Schaal
committed
FS#2696 - More than 256 chars in DNS record and FS#3679 - allow stronger dkim-keys
1 parent a52ec4b commit c943b4a

File tree

13 files changed

+66
-24
lines changed

13 files changed

+66
-24
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE `dns_rr` CHANGE `data` `data` TEXT NOT NULL DEFAULT ''
2+
ALTER TABLE `ftp_user` ADD `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `dl_bandwidth` ;

install/sql/ispconfig3.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ CREATE TABLE `dns_rr` (
450450
`zone` int(11) unsigned NOT NULL DEFAULT '0',
451451
`name` varchar(255) NOT NULL DEFAULT '',
452452
`type` enum('A','AAAA','ALIAS','CNAME','HINFO','MX','NAPTR','NS','PTR','RP','SRV','TXT') default NULL,
453-
`data` varchar(255) NOT NULL DEFAULT '',
453+
`data` TEXT NOT NULL DEFAULT '',
454454
`aux` int(11) unsigned NOT NULL default '0',
455455
`ttl` int(11) unsigned NOT NULL default '86400',
456456
`active` enum('N','Y') NOT NULL default 'Y',

install/tpl/server.ini.master

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ module=postfix_mysql
3333
maildir_path=/var/vmail/[domain]/[localpart]
3434
homedir_path=/var/vmail
3535
dkim_path=/var/lib/amavis/dkim
36+
dkim_strength=1024
3637
pop3_imap_daemon=courier
3738
mail_filter_syntax=maildrop
3839
mailuser_uid=5000
@@ -48,6 +49,19 @@ message_size_limit=0
4849
mailbox_quota_stats=y
4950
realtime_blackhole_list=
5051
overquota_notify_admin=y
52+
q
53+
q
54+
q
55+
q
56+
q
57+
q
58+
q
59+
q
60+
q
61+
q
62+
q
63+
q
64+
q
5165
overquota_notify_client=y
5266
overquota_notify_freq=7
5367
overquota_notify_onok=n

interface/lib/classes/validate_dkim.inc.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,17 @@ function check_template($field_name, $field_value, $validator) {
7272
*
7373
* @return boolean - true if $POST contains a real key-file
7474
*/
75-
function validate_post($key, $value) {
75+
function validate_post($key, $value, $dkim_strength) {
76+
$value=str_replace("\n", "", $value);
7677
switch ($key) {
7778
case 'public':
7879
if (preg_match("/(^-----BEGIN PUBLIC KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,221}(-----END PUBLIC KEY-----(\n|\r)?$)/", $value) === 1) { return true; } else { return false; }
7980
break;
8081
case 'private':
81-
if (preg_match("/(^-----BEGIN RSA PRIVATE KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,850}(-----END RSA PRIVATE KEY-----(\n|\r)?$)/", $value) === 1) { return true; } else { return false; }
82+
if ( $dkim_strength == 1024 ) $range = "{812,816}";
83+
if ( $dkim_strength == 2048 ) $range = "{1588,1592}";
84+
if ( $dkim_strength == 4096 ) $range = "{3132,3136}";
85+
if (preg_match("/^-----BEGIN RSA PRIVATE KEY-----[a-zA-Z0-9\/\+=]".$range."-----END RSA PRIVATE KEY-----$/", $value) === 1) return true; else return false;
8286
break;
8387
}
8488
}

interface/web/admin/form/server_config.tform.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,12 @@
313313
'width' => '40',
314314
'maxlength' => '255'
315315
),
316+
'dkim_strength' => array(
317+
'datatype' => 'INTEGER',
318+
'formtype' => 'SELECT',
319+
'default' => '1024',
320+
'value' => array('1024' => 'normal (1024)', '2048' => 'strong (2048)', '4096' => 'very strong (4096)')
321+
),
316322
'relayhost_password' => array(
317323
'datatype' => 'VARCHAR',
318324
'formtype' => 'TEXT',

interface/web/admin/lib/lang/de_server_config.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,4 +198,5 @@ $wb["v6_prefix_txt"] = 'IPv6 Prefix';
198198
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
199199
$wb["v6_prefix_length"] = 'Prefix zu lang fuer angegebene IPv6-Adresse ';
200200
$wb['monitor_system_updates_txt'] = 'Suche nach Linux updates';
201+
$wb['dkim_strength_txt'] = 'DKIM Stärke';
201202
?>

interface/web/admin/lib/lang/en_server_config.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,5 @@ $wb["overquota_db_notify_client_txt"] = 'Send DB quota warnings to client';
202202
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
203203
$wb['php_handler_txt'] = "PHP Handler";
204204
$wb['disabled_txt'] = 'Disabled';
205+
$wb['dkim_strength_txt'] = 'DKIM strength';
205206
?>

interface/web/admin/lib/lang/es_server_config.lng

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ $wb['backup_mode_txt'] = 'Modo de copias de seguridad';
159159
$wb['backup_mode_userzip'] = 'Copiar archivos del usuario web en un zip';
160160
$wb['backup_mode_rootgz'] = 'Copiar todos los archivos como usuario root';
161161
$wb['realtime_blackhole_list_txt'] = 'Real-time Blackhole List';
162-
$wb['realtime_blackhole_list_note_txt'] = '(Separar RBL's con comas)';
162+
$wb['realtime_blackhole_list_note_txt'] = "(Separar RBL's con comas)";
163163
$wb['ssl_settings_txt'] = 'Configuración SSL';
164164
$wb['permissions_txt'] = 'Permisos';
165165
$wb['php_settings_txt'] = 'Configuración de PHP';

interface/web/admin/lib/lang/es_system_config.lng

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ $wb['phpmyadmin_url_error_regex'] = 'URL de phpmyadmin no válida';
4545
$wb['use_combobox_txt'] = 'Usar Combobox de jQuery UI';
4646
$wb['use_loadindicator_txt'] = 'Usar indicador de carga';
4747
$wb['f5_to_reload_js_txt'] = 'Si cambias esto, podrías tener que pulsar F5 para que tu navegador recargue las librerías JavaScript o vacíar la caché del navegador.';
48-
$wb['client_username_web_check_disabled_txt'] = 'Desactivar comprobación de la palabra 'web' en el nombre de cliente.';
48+
$wb['client_username_web_check_disabled_txt'] = "Desactivar comprobación de la palabra 'web' en el nombre de cliente.";
4949
$wb['mailbox_show_autoresponder_tab_txt'] = 'Mostrar pestaña autoresponder en los detalles de la cuenta de correo';
5050
$wb['mailbox_show_mail_filter_tab_txt'] = 'Mostrar pestaña filtro de correo en los detalles de la cuenta de correo';
5151
$wb['mailbox_show_custom_rules_tab_txt'] = 'Mostrar pestaña filtros personalizados en los detalles de la cuenta de correo';

interface/web/admin/lib/lang/fr_server_config.lng

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ $wb['message_size_limit_txt'] = 'Taille maximale des messages';
3030
$wb['ip_address_txt'] = 'Adresse IP';
3131
$wb['netmask_txt'] = 'Masque de réau';
3232
$wb['gateway_txt'] = 'Passerelle';
33-
$wb['hostname_txt'] = 'Hô;
33+
$wb['hostname_txt'] = 'Hô';
3434
$wb['nameservers_txt'] = 'Serveurs de nom';
3535
$wb['auto_network_configuration_txt'] = 'Configuration du réau';
3636
$wb['website_basedir_txt'] = 'Rértoire de base web';
@@ -44,7 +44,7 @@ $wb['config_dir_txt'] = 'Rértoire de configuration';
4444
$wb['init_script_txt'] = 'Nom du script Cron de lancement';
4545
$wb['crontab_dir_txt'] = 'Chemin des difféntes tables Cron';
4646
$wb['wget_txt'] = 'Chemin du programme wget';
47-
$wb['security_level_txt'] = 'Niveau de sérité
47+
$wb['security_level_txt'] = 'Niveau de sérité';
4848
$wb['web_user_txt'] = 'Utilisateur Apache';
4949
$wb['web_group_txt'] = 'Groupe Apache';
5050
$wb['loglevel_txt'] = 'Loglevel';
@@ -76,20 +76,20 @@ $wb['php_ini_path_cgi_txt'] = 'Chemin php.ini CGI';
7676
$wb['php_ini_path_apache_txt'] = 'Chemin php.ini Apache';
7777
$wb['check_apache_config_txt'] = 'Tester la configuration Apache au redérrage';
7878
$wb['ufw_enable_txt'] = 'Enable';
79-
$wb['ufw_manage_builtins_txt'] = 'Gér les Rées Intéé;
79+
$wb['ufw_manage_builtins_txt'] = 'Gér les Rées Intéé';
8080
$wb['ufw_ipv6_txt'] = 'Activer l\'IPv6';
8181
$wb['ufw_default_input_policy_txt'] = 'Politique Entrant (Input) par déult';
8282
$wb['ufw_default_output_policy_txt'] = 'Politique Sortant (Output) par déult';
8383
$wb['ufw_default_forward_policy_txt'] = 'Politique de Forward par déult';
8484
$wb['ufw_default_application_policy_txt'] = 'Politique Application par déult';
8585
$wb['ufw_log_level_txt'] = 'Niveau de Log';
86-
$wb['network_config_warning_txt'] = 'L\'option de configuration du réau n'est disponible QUE pour les serveurs Debian et Ubuntu. NE PAS activer cette option si votre carte réau n'est pas en eth0.';
86+
$wb['network_config_warning_txt'] = "L\'option de configuration du réau n'est disponible QUE pour les serveurs Debian et Ubuntu. NE PAS activer cette option si votre carte réau n'est pas en eth0.";
8787
$wb['CA_path_txt'] = 'Chemin CA';
8888
$wb['CA_pass_txt'] = 'Mot de passe CA';
8989
$wb['fastcgi_config_syntax_txt'] = 'FastCGI config syntax';
9090
$wb['server_type_txt'] = 'Type de Serveur';
9191
$wb['nginx_vhost_conf_dir_txt'] = 'Repertoire Nginx Vhost config';
92-
$wb['nginx_vhost_conf_enabled_dir_txt'] = 'Repertoire Nginx Vhost config activé
92+
$wb['nginx_vhost_conf_enabled_dir_txt'] = 'Repertoire Nginx Vhost config activé';
9393
$wb['nginx_user_txt'] = 'Utilisateur Nginx';
9494
$wb['nginx_group_txt'] = 'Gorupe Nginx';
9595
$wb['nginx_cgi_socket_txt'] = 'Nginx CGI Socket';
@@ -145,7 +145,7 @@ $wb['php_fpm_socket_dir_error_empty'] = 'Repertoire PHP-FPM socket est vide.';
145145
$wb['try_rescue_txt'] = 'Activer le service de monitoring et redérrer sur éec';
146146
$wb['do_not_try_rescue_mysql_txt'] = 'Déctiver le monitoring MySQL';
147147
$wb['do_not_try_rescue_mail_txt'] = 'Déctiver le monitoring Email';
148-
$wb['rescue_description_txt'] = '<b>Information:</b> Si vous voulez arreter mysql vous devez selectionner la case Déctiver le monitoring MySQL puis attendre 2 à minutes.<br>Si vous n'attendez pas 2 à minutes, rescue va tenter de redérrer mysql!';
148+
$wb['rescue_description_txt'] = "<b>Information:</b> Si vous voulez arreter mysql vous devez selectionner la case Déctiver le monitoring MySQL puis attendre 2 à minutes.<br>Si vous n'attendez pas 2 à minutes, rescue va tenter de redérrer mysql!";
149149
$wb['enable_sni_txt'] = 'Activer SNI';
150150
$wb['do_not_try_rescue_httpd_txt'] = 'Déctiver le monitoring HTTPD ';
151151
$wb['set_folder_permissions_on_update_txt'] = 'Regler les permissions des dossiers lors de mise a jour';
@@ -155,7 +155,7 @@ $wb['connect_userid_to_webid_start_txt'] = 'ID de dért pour la liason userid/we
155155
$wb['website_autoalias_txt'] = 'Auto alias Site web';
156156
$wb['website_autoalias_note_txt'] = 'Placeholders:';
157157
$wb['backup_mode_txt'] = 'Mode Sauvegarde';
158-
$wb['backup_mode_userzip'] = 'Sauvegarder les fichiers web dont l'utilisateur est propriéire en tant que zip';
158+
$wb['backup_mode_userzip'] = "Sauvegarder les fichiers web dont l'utilisateur est propriéire en tant que zip";
159159
$wb['backup_mode_rootgz'] = 'Sauvegarder tous les fichiers dans le repertoire web en tant qu\'utilisateur root';
160160
$wb['realtime_blackhole_list_txt'] = 'Blackhole (trou noir) List en temps ré';
161161
$wb['realtime_blackhole_list_note_txt'] = '(Separer les RBL avec des virgules)';
@@ -170,7 +170,7 @@ $wb['enable_ip_wildcard_txt'] = 'Autoriser un joker (wildcard) IP (*)';
170170
$wb['web_folder_protection_txt'] = 'Rendre les dossiers web immuables (attributs éndus)';
171171
$wb['overtraffic_notify_admin_txt'] = 'Envoyer notification d\'overtraffic à\'admin';
172172
$wb['overtraffic_notify_client_txt'] = 'Envoyer notification d\'overtraffic au client';
173-
$wb['rbl_error_regex'] = 'Merci de renseigner des noms d'hô RBL valides.';
173+
$wb['rbl_error_regex'] = "Merci de renseigner des noms d'hô RBL valides.";
174174
$wb['overquota_notify_admin_txt'] = 'Envoyer alertes quota à\'admin';
175175
$wb['overquota_notify_client_txt'] = 'Envoyer alertes quota au client';
176176
$wb['overquota_notify_onok_txt'] = 'Envoyer message quota ok au client';
@@ -189,13 +189,13 @@ $wb['munin_password_txt'] = 'Mot de passe Munin';
189189
$wb['munin_url_error_regex'] = 'URL Munin non valide ';
190190
$wb['munin_url_note_txt'] = 'Placeholder:';
191191
$wb['backup_dir_is_mount_txt'] = 'Repertoir de Backup/sauvegarde est un mount?';
192-
$wb['backup_dir_mount_cmd_txt'] = 'Commande Mount, si le repertoire de sauvegarde/backup n'est pas monté
192+
$wb['backup_dir_mount_cmd_txt'] = "Commande Mount, si le repertoire de sauvegarde/backup n'est pas monté";
193193
$wb['monitor_system_updates_txt'] = 'Verifier pour des mises àour Linux';
194194
$wb['dkim_path_txt'] = 'Chemin DKIM';
195195
$wb["v6_prefix_txt"] = 'Prefix IPv6';
196-
$wb["vhost_rewrite_v6_txt"] = 'Récrire IPv6 sur miroir';
197-
$wb["v6_prefix_length"] = 'D\'aprèl'IPv6 déni, le préx est trop long ';
198-
$wb["overquota_db_notify_admin_txt"] = 'Envoyer avertissement DB quota à\'admin';
196+
$wb["vhost_rewrite_v6_txt"] = "Récrire IPv6 sur miroir";
197+
$wb["v6_prefix_length"] = "D\'aprèl'IPv6 déni, le préx est trop long";
198+
$wb["overquota_db_notify_admin_txt"] = "Envoyer avertissement DB quota à\'admin'";
199199
$wb["overquota_db_notify_client_txt"] = 'Envoyer avertissement DB quota au client';
200200
?>
201201

0 commit comments

Comments
 (0)