Skip to content

Commit 5a990b1

Browse files
author
Florian Schaal
committed
resync-tool - better performance for dns-resync
1 parent 14f5a34 commit 5a990b1

File tree

5 files changed

+44
-31
lines changed

5 files changed

+44
-31
lines changed

interface/web/dns/lib/lang/de_dns_dkim.lng

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?php
2-
$wb["public_key_txt"] = 'Public-Key';
2+
$wb["public_key_txt"] = 'öffentlicher Schlüssel';
33
$wb["ttl_txt"] = 'TTL';
44
$wb["active_txt"] = 'Aktiv';
55
$wb["record_exists_txt"] = 'DNS-Eintrag bereits vorhanden';
6-
$wb["dkim_disabled_txt"] = 'DKIM st fuer diese Domain nicht aktiv.';
7-
$wb["limit_dns_record_txt"] = 'Die max. Anzahl von DNS Eintraegen fuer den Account ist erreicht.';
6+
$wb["dkim_disabled_txt"] = 'DKIM ist für diese Domain nicht aktiv.';
7+
$wb["limit_dns_record_txt"] = 'Die max. Anzahl von DNS Eintraegen für den Account ist erreicht.';
88
$wb["no_zone_perm"] = 'Fehlende Berechtigung zum Hinzufuegen eines Eintrags zur DNS-Zone.';
99
$wb['ttl_range_error'] = 'Min. TTL time ist 60 Sekunden.';
1010
$wb['selector_txt'] = 'DKIM-Selector';

interface/web/dns/lib/lang/de_dns_dmarc.lng

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
<?php
22
$wb['data_txt'] = 'DMARC Record';
33
$wb['domain_txt'] = 'Domain';
4-
$wb['dmarc_policy_txt'] = 'Mail Receiver Policy';
5-
$wb['dmarc_policy_note_txt'] = 'How ISPs should handle messages that failed SPF or DKIM (DMARC).';
4+
$wb['dmarc_policy_txt'] = 'Mail Empfänger Policy';
5+
$wb['dmarc_policy_note_txt'] = 'Wie der empfangen Server Mails behandeln soll, bei denen SPF oder DKIM (DMARC) fehlschlägt.';
66
$wb['dmarc_policy_none_txt'] = 'none';
77
$wb['dmarc_policy_quarantine_txt'] = 'quarantine';
88
$wb['dmarc_policy_reject_txt'] = 'reject';
9-
$wb['dmarc_rua_txt'] = 'Aggregate Data Reporting Address';
10-
$wb['dmarc_rua_note_txt'] = 'Email to receive reports from ISPs aboute messages which failed DMARC checks for the domain (separated by whitespaces).';
11-
$wb['dmarc_ruf_txt'] = 'Forensic Data Reporting Address';
12-
$wb['dmarc_ruf_note_txt'] = 'Email to receive sample messages that are failing DMARC checks for the domain (separated by whitespaces).';
13-
$wb['dmarc_fo_txt'] = 'Forensic reporting options';
14-
$wb['dmarc_fo0_txt'] = "Generate reports if all underlying authentication mechanisms fail to produce a DMARC 'pass' result.";
15-
$wb['dmarc_fo1_txt'] = 'Generate reports if any mechanisms fail.';
16-
$wb['dmarc_fod_txt'] = 'Generate report if DKIM signature failed to verify.';
17-
$wb['dmarc_fos_txt'] = 'Generate report if SPF failed.';
9+
$wb['dmarc_rua_txt'] = "'Aggregate Data Reporting' Adresse";
10+
$wb['dmarc_rua_note_txt'] = 'Email für Berichte ISPs für Mails mit fehlgeschlagenen DMARC-Checks (mehrere mit Leerzeichen trennen).';
11+
$wb['dmarc_ruf_txt'] = "'Forensic Data Reporting' Adresse";
12+
$wb['dmarc_ruf_note_txt'] = 'Email für Mails bei einem fehlgeschlagenen DMARC-Check (mehrere mit Leerzeichen trennen).';
13+
$wb['dmarc_fo_txt'] = 'Forensic Report Optionen';
14+
$wb['dmarc_fo0_txt'] = "Reports, wenn alle Authentifizierungen für DMARC fehlschlagen";
15+
$wb['dmarc_fo1_txt'] = 'Reports, wenn eine Authentifizierung fehlschlägt.';
16+
$wb['dmarc_fod_txt'] = 'Reports, wenn die DKIM-Überprüfung fehlschlägt.';
17+
$wb['dmarc_fos_txt'] = 'Reports, wenn die SPF-Überprüfung fehlschlägt.';
1818
$wb['dmarc_adkim_txt'] = 'DKIM identifier alignment';
19-
$wb['dmarc_adkim_note_txt'] = "'strict' requires exact matching between DKIM domain and email's from";
19+
$wb['dmarc_adkim_note_txt'] = "'strict' erfordert exakte Übereinstimmung zwischen DKIM der Domain und dem From-Header der Email";
2020
$wb['dmarc_adkim_r_txt'] = 'relaxed';
2121
$wb['dmarc_adkim_s_txt'] = 'strict';
2222
$wb['dmarc_aspf_txt'] = 'SPF identifier alignment';
23-
$wb['dmarc_aspf_note_txt'] = "'strict' requires exact matching between SPF domain and email's from";
23+
$wb['dmarc_aspf_note_txt'] = "'strict' erfordert exakte Übereinstimmung zwischen dem SPF der Domain und dem From-Header der Email";
2424
$wb['dmarc_aspf_r_txt'] = 'relaxed';
2525
$wb['dmarc_aspf_s_txt'] = 'strict';
2626
$wb['dmarc_rf_txt'] = 'Report Format';
@@ -37,12 +37,12 @@ $wb['dmarc_sp_quarantine_txt'] = 'quarantine';
3737
$wb['dmarc_sp_reject_txt'] = 'reject';
3838
$wb['ttl_txt'] = 'TTL';
3939
$wb['active_txt'] = 'Active';
40-
$wb['dmarc_policy_error_txt'] = "Only policy 'none' is allowed without DKIM-signed emails.";
41-
$wb['dmarc_no_dkim_txt'] = 'No active DKIM Record.';
42-
$wb['dmarc_no_spf_txt'] = 'No active SPF Record.';
43-
$wb['dmarc_more_spf_txt'] = 'More than one active SPF Record';
44-
$wb['dmarc_invalid_email_txt'] = 'Invalid Email';
45-
$wb['dmarc_empty_txt'] = 'DMARC Record empty - specify at least one option';
40+
$wb['dmarc_policy_error_txt'] = "Nur die Policy 'none' ist ohne DKIM möglich.";
41+
$wb['dmarc_no_dkim_txt'] = 'Kein aktiver DKIM Eintrag.';
42+
$wb['dmarc_no_spf_txt'] = 'Kein aktiver SPF Eintrag.';
43+
$wb['dmarc_more_spf_txt'] = 'Mehr als ein aktiver SPF-Eintrag.';
44+
$wb['dmarc_invalid_email_txt'] = 'ungültige Email-Adresse';
45+
$wb['dmarc_empty_txt'] = 'DMARC Record leer - mindestens eine Option auswählen';
4646
$wb['record_exists_txt'] = 'DNS-Record already exists';
4747
$wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
4848
$wb['no_zone_perm'] = 'You do not have the permission to add a record to this DNS zone.';

interface/web/mail/lib/lang/de_mail_domain.lng

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ $wb['domain_txt'] = 'Domain';
44
$wb['type_txt'] = 'Typ';
55
$wb['active_txt'] = 'Aktiv';
66
$wb["dkim_txt"] = 'DKIM aktivieren';
7-
$wb["dkim_private_txt"] = 'DKIM Private-key';
8-
$wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only';
9-
$wb["dkim_generate_txt"] = 'erstelle DKIM Private-key';
10-
$wb["dkim_dns_txt"] = 'DNS-Record';
7+
$wb["dkim_private_txt"] = 'DKIM privater Schlüssel';
8+
$wb["dkim_public_txt"] = 'DKIM öffentlicher Schlüssel';
9+
$wb["dkim_generate_txt"] = 'erstelle DKIM Schlüssel';
10+
$wb["dkim_dns_txt"] = 'DNS Eintrag';
1111
$wb["dkim_private_key_error"] = 'ungueltiger DKIM-Private key';
1212
$wb['domain_error_empty'] = 'Domain ist leer';
1313
$wb['domain_error_unique'] = 'Doppelte Domain.';

interface/web/tools/resync.php

100755100644
Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,17 @@ private function server_has_data($type, $server) {
8787
'mail_domain' => array (
8888
'index_field' => 'domain_id',
8989
'server_type' => 'mail',
90+
'server_id' => $server_id,
9091
),
9192
'mail_mailinglist' => array (
9293
'index_field' => 'mailinglist_id',
9394
'server_type' => 'mail',
95+
'server_id' => $server_id,
9496
),
9597
'mail_user' => array (
9698
'index_field' => 'mailuser_id',
9799
'server_type' => 'mail',
100+
'server_id' => $server_id,
98101
),
99102
);
100103
}
@@ -103,6 +106,7 @@ private function server_has_data($type, $server) {
103106
'mail_access' => array (
104107
'index_field' => 'access_id',
105108
'server_type' => 'mail',
109+
'server_id' => $server_id,
106110
),
107111
'mail_content_filter' => array (
108112
'index_field' => 'content_filter_id',
@@ -119,18 +123,22 @@ private function server_has_data($type, $server) {
119123
'web_domain' => array (
120124
'index_field' => 'domain_id',
121125
'server_type' => 'web',
126+
'server_id' => $server_id,
122127
),
123128
'shell_user' => array (
124129
'index_field' => 'shell_user_id',
125130
'server_type' => 'web',
131+
'server_id' => $server_id,
126132
),
127133
'cron' => array (
128134
'index_field' => 'id',
129135
'server_type' => 'cron',
136+
'server_id' => $server_id,
130137
),
131138
'ftp_user' => array (
132139
'index_field' => 'ftp_user_id',
133140
'server_type' => 'web',
141+
'server_id' => $server_id,
134142
),
135143
);
136144
}
@@ -139,6 +147,7 @@ private function server_has_data($type, $server) {
139147
'dns_soa' => array (
140148
'index_field' => 'id',
141149
'server_type' => 'dns',
150+
'server_id' => $server_id,
142151
),
143152
);
144153
}
@@ -147,6 +156,7 @@ private function server_has_data($type, $server) {
147156
'webdav_user' => array (
148157
'index_field' => 'webdav_user_id',
149158
'server_type' => 'file',
159+
'server_id' => $server_id,
150160
),
151161
);
152162
}
@@ -155,6 +165,7 @@ private function server_has_data($type, $server) {
155165
'web_database' => array (
156166
'index_field' => 'web_database_id',
157167
'server_type' => 'db',
168+
'server_id' => $server_id,
158169
),
159170
);
160171
}
@@ -163,14 +174,16 @@ private function server_has_data($type, $server) {
163174
'openvz_vm' => array (
164175
'index_field' => 'vm_id',
165176
'server_type' => 'vserver',
177+
'server_id' => $server_id,
166178
),
167179
);
168180
}
169181
//* proxy
170182
//* firewall
171183
$array_out = array();
172184
foreach($server_data as $db_table => $data) {
173-
$records = $app->db->queryAllRecords("SELECT * FROM $db_table WHERE server_id = ?", $server_id);
185+
$sql = @(isset($data['server_id']))?"SELECT * FROM $db_table WHERE server_id = $server_id":"SELECT * FROM $db_table";;
186+
$records = $app->db->queryAllRecords($sql);
174187
if (!empty($records)) array_push($array_out, $db_table);
175188
}
176189

@@ -359,7 +372,7 @@ function onShowEnd() {
359372
}
360373

361374
//* fetch values during do_resync
362-
private function query_server($db_table, $server_id, $server_type, $active=true) {
375+
private function query_server($db_table, $server_id, $server_type, $active=true, $opt='') {
363376
global $app;
364377

365378
$server_name = array();
@@ -376,7 +389,7 @@ private function query_server($db_table, $server_id, $server_type, $active=true)
376389
unset($temp);
377390

378391
if ( isset($temp_id) ) $server_id = rtrim($temp_id,',');
379-
$sql = "SELECT * FROM $db_table WHERE server_id IN (".$server_id.")";
392+
$sql = "SELECT * FROM $db_table WHERE server_id IN (".$server_id.") ".$opt;
380393
if ($active) $sql .= " AND active = 'y'";
381394
$records = $app->db->queryAllRecords($sql);
382395

@@ -491,7 +504,7 @@ function onSubmit() {
491504
$msg .= '<b>'.$app->tform->wordbook['do_dns_txt'].'</b><br>';
492505
if(is_array($soa_records) && !empty($soa_records))
493506
foreach($soa_records as $soa_rec) {
494-
$temp = $this->query_server('dns_rr', $soa_rec['server_id'], $server_type);
507+
$temp = $this->query_server('dns_rr', $soa_rec['server_id'], 'dns', true, "AND zone = ".$app->functions->intval($soa_rec['id']));
495508
$rr_records = $temp[0];
496509
if(!empty($rr_records)) {
497510
foreach($rr_records as $rec) {
@@ -503,7 +516,7 @@ function onSubmit() {
503516
}
504517
$new_serial = $app->validate_dns->increase_serial($soa_rec['serial']);
505518
$app->db->datalogUpdate('dns_soa', "serial = '".$new_serial."'", 'id', $soa_rec['id']);
506-
$msg .= '['.$server_name[$soa_rec['server_id']].'] '.$soa_rec['origin'].'<br>';
519+
$msg .= '['.$server_name[$soa_rec['server_id']].'] '.$soa_rec['origin'].' ('.count($rr_records).')<br>';
507520
}
508521
else $msg .= $app->tform->wordbook['no_results_txt'].'<br>';
509522

interface/web/tools/templates/resync.htm

100755100644
File mode changed.

0 commit comments

Comments
 (0)