From 378d8326bfb5b5713caf74c370dd14fd547f9c21 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Tue, 02 Dec 2014 02:27:06 -0500
Subject: [PATCH] disallow spf, dkim, and dmarc-records when editing / creating a TXT record

---
 interface/web/dns/lib/lang/se_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/el_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/ru_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/en_dns_txt.lng |    5 +
 interface/web/dns/lib/lang/ja_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/bg_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/ro_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/es_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/cz_dns_txt.lng |    4 +
 interface/web/dns/lib/lang/pl_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/pt_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/ar_dns_txt.lng |   29 +++++----
 interface/web/dns/lib/lang/hu_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/br_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/nl_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/de_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/fr_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/fi_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/hr_dns_txt.lng |    5 +
 interface/web/dns/lib/lang/tr_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/id_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/it_dns_txt.lng |    3 +
 interface/web/dns/lib/lang/sk_dns_txt.lng |    3 +
 interface/web/dns/form/dns_txt.tform.php  |   31 ++++++----
 24 files changed, 102 insertions(+), 29 deletions(-)

diff --git a/interface/web/dns/form/dns_txt.tform.php b/interface/web/dns/form/dns_txt.tform.php
index a4b7d40..6cfb345 100644
--- a/interface/web/dns/form/dns_txt.tform.php
+++ b/interface/web/dns/form/dns_txt.tform.php
@@ -105,24 +105,31 @@
 		'data' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'TEXT',
-			'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
-					'errmsg'=> 'data_error_empty'),
+			'validators' => array (  
+				0 => array ( 
+					'type' => 'NOTEMPTY', 
+					'errmsg'=> 'data_error_empty'
+				),
+				1 => array ( 
+					'type' => 'REGEX', 
+					'regex' => "/^((?!v=DKIM).)*$/s", 
+					'errmsg'=> 'invalid_type_dkim'
+				),
+				2 => array ( 
+					'type' => 'REGEX', 
+					'regex' => "/^((?!v=DMARC).)*$/s", 
+					'errmsg'=> 'invalid_type_dmarc'),
+				3 => array ( 
+					'type' => 'REGEX', 
+					'regex' => "/^((?!v=spf).)*$/s", 
+					'errmsg'=> 'invalid_type_spf'
+				),
 			),
 			'default' => '',
 			'value'  => '',
 			'width'  => '30',
 			'maxlength' => '255'
 		),
-		/*
-		'aux' => array (
-			'datatype'	=> 'INTEGER',
-			'formtype'	=> 'TEXT',
-			'default'	=> '0',
-			'value'		=> '',
-			'width'		=> '10',
-			'maxlength'	=> '10'
-		),
-		*/
 		'ttl' => array (
 			'datatype' => 'INTEGER',
 			'formtype' => 'TEXT',
diff --git a/interface/web/dns/lib/lang/ar_dns_txt.lng b/interface/web/dns/lib/lang/ar_dns_txt.lng
index 31da6eb..658b0dd 100644
--- a/interface/web/dns/lib/lang/ar_dns_txt.lng
+++ b/interface/web/dns/lib/lang/ar_dns_txt.lng
@@ -1,16 +1,19 @@
 <?php
-$wb['server_id_txt'] = 'Server';
-$wb['zone_txt'] = 'Zone';
-$wb['name_txt'] = 'Hostname';
-$wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Text';
-$wb['ttl_txt'] = 'TTL';
-$wb['active_txt'] = 'Active';
-$wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
-$wb['no_zone_perm'] = 'You do not have the permission to add a record to this DNS zone.';
-$wb['name_error_empty'] = 'The hostname is empty.';
-$wb['name_error_regex'] = 'The hostname has the wrong format.';
-$wb['data_error_empty'] = 'Text empty';
-$wb['data_error_regex'] = 'Text format invalid';
+$wb["server_id_txt"] = 'Server';
+$wb["zone_txt"] = 'Zone';
+$wb["name_txt"] = 'Hostname';
+$wb["type_txt"] = 'type';
+$wb["data_txt"] = 'Text';
+$wb["ttl_txt"] = 'TTL';
+$wb["active_txt"] = 'Active';
+$wb["limit_dns_record_txt"] = 'The max. number of DNS records for your account is reached.';
+$wb["no_zone_perm"] = 'You do not have the permission to add a record to this DNS zone.';
+$wb["name_error_empty"] = 'The hostname is empty.';
+$wb["name_error_regex"] = 'The hostname has the wrong format.';
+$wb["data_error_empty"] = 'Text empty';
+$wb["data_error_regex"] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/bg_dns_txt.lng b/interface/web/dns/lib/lang/bg_dns_txt.lng
index 0204296..9d3dd13 100644
--- a/interface/web/dns/lib/lang/bg_dns_txt.lng
+++ b/interface/web/dns/lib/lang/bg_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text empty';
 $wb['data_error_regex'] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/br_dns_txt.lng b/interface/web/dns/lib/lang/br_dns_txt.lng
index 31f0a6d..64003f1 100644
--- a/interface/web/dns/lib/lang/br_dns_txt.lng
+++ b/interface/web/dns/lib/lang/br_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Endereço IP em branco';
 $wb['data_error_regex'] = 'Endereço IP formato inválido';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/cz_dns_txt.lng b/interface/web/dns/lib/lang/cz_dns_txt.lng
index faf3181..bfaa34e 100644
--- a/interface/web/dns/lib/lang/cz_dns_txt.lng
+++ b/interface/web/dns/lib/lang/cz_dns_txt.lng
@@ -13,5 +13,7 @@
 $wb['data_error_empty'] = 'Text je prázdný';
 $wb['data_error_regex'] = 'Text má chybný formát';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
-
diff --git a/interface/web/dns/lib/lang/de_dns_txt.lng b/interface/web/dns/lib/lang/de_dns_txt.lng
index a40fb56..23f4f30 100644
--- a/interface/web/dns/lib/lang/de_dns_txt.lng
+++ b/interface/web/dns/lib/lang/de_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text ist leer';
 $wb['data_error_regex'] = 'Textformat ungültig';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM ist nicht zulässig. Bitte den DKIM-Button nutzen';
+$wb['invalid_type_dmarc'] = 'DMARC ist nicht zulässig. Bitte den DMARC-Button nutzen';
+$wb['invalid_type_spf'] = 'SPF ist nicht zulässig. Bitte den SPF-Button nutzen';
 ?>
diff --git a/interface/web/dns/lib/lang/el_dns_txt.lng b/interface/web/dns/lib/lang/el_dns_txt.lng
index b2ea2d5..f0915d5 100644
--- a/interface/web/dns/lib/lang/el_dns_txt.lng
+++ b/interface/web/dns/lib/lang/el_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Το κείμενο δεν έχει οριστεί';
 $wb['data_error_regex'] = 'Κείμενο με μη έγκυρη μορφοποίηση';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/en_dns_txt.lng b/interface/web/dns/lib/lang/en_dns_txt.lng
index b70b8b1..658b0dd 100644
--- a/interface/web/dns/lib/lang/en_dns_txt.lng
+++ b/interface/web/dns/lib/lang/en_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb["data_error_empty"] = 'Text empty';
 $wb["data_error_regex"] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
-?>
\ No newline at end of file
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
+?>
diff --git a/interface/web/dns/lib/lang/es_dns_txt.lng b/interface/web/dns/lib/lang/es_dns_txt.lng
index 3855096..61fcf75 100644
--- a/interface/web/dns/lib/lang/es_dns_txt.lng
+++ b/interface/web/dns/lib/lang/es_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Texto vacío.';
 $wb['data_error_regex'] = 'Formato de texto no válido';
 $wb['ttl_range_error'] = 'TTL mínimo es 60 segundos';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/fi_dns_txt.lng b/interface/web/dns/lib/lang/fi_dns_txt.lng
index c321dcc..2060040 100755
--- a/interface/web/dns/lib/lang/fi_dns_txt.lng
+++ b/interface/web/dns/lib/lang/fi_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Tekstikenttä on tyhjä';
 $wb['data_error_regex'] = 'Tekstikenttä on vääränlainen';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/fr_dns_txt.lng b/interface/web/dns/lib/lang/fr_dns_txt.lng
index 829c4fc..333dd30 100644
--- a/interface/web/dns/lib/lang/fr_dns_txt.lng
+++ b/interface/web/dns/lib/lang/fr_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Le texte est vide';
 $wb['data_error_regex'] = 'Le format du texte est invalide';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/hr_dns_txt.lng b/interface/web/dns/lib/lang/hr_dns_txt.lng
index 88bb5e1..349f9f7 100644
--- a/interface/web/dns/lib/lang/hr_dns_txt.lng
+++ b/interface/web/dns/lib/lang/hr_dns_txt.lng
@@ -13,6 +13,7 @@
 $wb['data_error_empty'] = 'TXT polje je prazno';
 $wb['data_error_regex'] = 'Neispravan format TXT zapisa';
 $wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
-
-
diff --git a/interface/web/dns/lib/lang/hu_dns_txt.lng b/interface/web/dns/lib/lang/hu_dns_txt.lng
index 97d5d29..67b57cd 100644
--- a/interface/web/dns/lib/lang/hu_dns_txt.lng
+++ b/interface/web/dns/lib/lang/hu_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text empty';
 $wb['data_error_regex'] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/id_dns_txt.lng b/interface/web/dns/lib/lang/id_dns_txt.lng
index cf4660f..b6c2647 100644
--- a/interface/web/dns/lib/lang/id_dns_txt.lng
+++ b/interface/web/dns/lib/lang/id_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Teks kosong';
 $wb['data_error_regex'] = 'Format teks tidak valid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/it_dns_txt.lng b/interface/web/dns/lib/lang/it_dns_txt.lng
index 31da6eb..ecbb521 100644
--- a/interface/web/dns/lib/lang/it_dns_txt.lng
+++ b/interface/web/dns/lib/lang/it_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text empty';
 $wb['data_error_regex'] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/ja_dns_txt.lng b/interface/web/dns/lib/lang/ja_dns_txt.lng
index 6ef505c..a24217f 100644
--- a/interface/web/dns/lib/lang/ja_dns_txt.lng
+++ b/interface/web/dns/lib/lang/ja_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'TXT を入力してください。';
 $wb['data_error_regex'] = 'TXT の形式が不正です。';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_txt.lng b/interface/web/dns/lib/lang/nl_dns_txt.lng
index b89d802..1787a09 100644
--- a/interface/web/dns/lib/lang/nl_dns_txt.lng
+++ b/interface/web/dns/lib/lang/nl_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Tekst is niet ingvuld';
 $wb['data_error_regex'] = 'Tekst formaat ongeldig';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/pl_dns_txt.lng b/interface/web/dns/lib/lang/pl_dns_txt.lng
index 09214f7..fbe7a18 100644
--- a/interface/web/dns/lib/lang/pl_dns_txt.lng
+++ b/interface/web/dns/lib/lang/pl_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Tekst jest pusty.';
 $wb['data_error_regex'] = 'Tekst ma zły format.';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/pt_dns_txt.lng b/interface/web/dns/lib/lang/pt_dns_txt.lng
index dbc200d..78b5eaf 100644
--- a/interface/web/dns/lib/lang/pt_dns_txt.lng
+++ b/interface/web/dns/lib/lang/pt_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Endereço-IP em branco';
 $wb['data_error_regex'] = 'Endereço-IP formato inválido';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/ro_dns_txt.lng b/interface/web/dns/lib/lang/ro_dns_txt.lng
index 4aba1a5..737f7e2 100644
--- a/interface/web/dns/lib/lang/ro_dns_txt.lng
+++ b/interface/web/dns/lib/lang/ro_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text necompletat';
 $wb['data_error_regex'] = 'Format text invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/ru_dns_txt.lng b/interface/web/dns/lib/lang/ru_dns_txt.lng
index 5656b63..aecade3 100644
--- a/interface/web/dns/lib/lang/ru_dns_txt.lng
+++ b/interface/web/dns/lib/lang/ru_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Текст пустой';
 $wb['data_error_regex'] = 'Формат неправилен';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_txt.lng b/interface/web/dns/lib/lang/se_dns_txt.lng
index 31da6eb..ecbb521 100644
--- a/interface/web/dns/lib/lang/se_dns_txt.lng
+++ b/interface/web/dns/lib/lang/se_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text empty';
 $wb['data_error_regex'] = 'Text format invalid';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/sk_dns_txt.lng b/interface/web/dns/lib/lang/sk_dns_txt.lng
index 6086b39..80686d9 100644
--- a/interface/web/dns/lib/lang/sk_dns_txt.lng
+++ b/interface/web/dns/lib/lang/sk_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Text je prázdny';
 $wb['data_error_regex'] = 'Text má zlý formát';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_txt.lng b/interface/web/dns/lib/lang/tr_dns_txt.lng
index 48de6cd..372afe9 100644
--- a/interface/web/dns/lib/lang/tr_dns_txt.lng
+++ b/interface/web/dns/lib/lang/tr_dns_txt.lng
@@ -13,4 +13,7 @@
 $wb['data_error_empty'] = 'Metin boş';
 $wb['data_error_regex'] = 'Metin geçersiz formatta';
 $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['invalid_type_dkim'] = 'DKIM is not allowed. Use the DKIM button';
+$wb['invalid_type_dmarc'] = 'DMARC is not allowed. Use the DMARC button';
+$wb['invalid_type_spf'] = 'SPF is not allowed. Use the SPF button.';
 ?>

--
Gitblit v1.9.1