Bernd Wurst commited on 2018-02-20 11:35:38
Zeige 2 geänderte Dateien mit 34 Einfügungen und 3 Löschungen.
... | ... |
@@ -120,7 +120,8 @@ function create_domain_secret($dom) { |
120 | 120 |
return $secret; |
121 | 121 |
} |
122 | 122 |
|
123 |
-function get_txt_record($hostname, $domainname, $tld) { |
|
123 |
+ |
|
124 |
+function get_auth_dns($domainname, $tld) { |
|
124 | 125 |
$domain=idn_to_ascii($domainname.".".$tld, 0, INTL_IDNA_VARIANT_UTS46); |
125 | 126 |
|
126 | 127 |
$resp = shell_exec('dig @a.root-servers.net. +noall +authority -t ns '.$tld.'.'); |
... | ... |
@@ -146,11 +147,36 @@ function get_txt_record($hostname, $domainname, $tld) { |
146 | 147 |
$NS_IP = preg_replace("/^.*\\sIN\\s+A\\s+(\\S+)$/", '\1', $l); |
147 | 148 |
} |
148 | 149 |
} |
150 |
+ return array("$NS" => $NS_IP); |
|
151 |
+} |
|
152 |
+ |
|
149 | 153 |
|
150 |
- if ($NS_IP) { |
|
151 |
- $NS = $NS_IP; |
|
154 |
+function has_own_ns($domainname, $tld) |
|
155 |
+{ |
|
156 |
+ $nsdata = get_auth_dns($domainname, $tld); |
|
157 |
+ $NS = NULL; |
|
158 |
+ foreach ($nsdata as $host => $ip) { |
|
159 |
+ $NS=$host; |
|
160 |
+ } |
|
161 |
+ DEBUG($NS); |
|
162 |
+ if (in_array($NS, array('ns1.schokokeks-dns.de.', 'ns2.schokokeks-dns.de.', 'ns3.schokokeks-dns.de.'))) { |
|
163 |
+ DEBUG('Domain hat unsere DNS-Server!'); |
|
164 |
+ return true; |
|
165 |
+ } |
|
166 |
+ return false; |
|
152 | 167 |
} |
153 | 168 |
|
169 |
+ |
|
170 |
+function get_txt_record($hostname, $domainname, $tld) { |
|
171 |
+ $domain=idn_to_ascii($domainname.".".$tld, 0, INTL_IDNA_VARIANT_UTS46); |
|
172 |
+ $nsdata = get_auth_dns($domainname, $tld); |
|
173 |
+ $NS = NULL; |
|
174 |
+ foreach ($nsdata as $host => $ip) { |
|
175 |
+ $NS = $host; |
|
176 |
+ if ($ip) { |
|
177 |
+ $NS = $ip; |
|
178 |
+ } |
|
179 |
+ } |
|
154 | 180 |
DEBUG('dig @'.$NS.' +short -t txt '.$hostname.'.'.$domain.'.'); |
155 | 181 |
$resp = shell_exec('dig @'.$NS.' +short -t txt '.$hostname.'.'.$domain.'.'); |
156 | 182 |
$TXT = trim($resp, "\n \""); |
... | ... |
@@ -34,6 +34,11 @@ if ($dom->mailserver_lock === 0) { |
34 | 34 |
if ($dom->provider == 'terions') { |
35 | 35 |
system_failure("Diese Domain ist bereits über uns registriert und sollte schon freigeschaltet sein. Wenden Sie sich im Zweifel bitte an den Support."); |
36 | 36 |
} |
37 |
+if (has_own_ns($dom->domainname, $dom->tld)) { |
|
38 |
+ unset_mailserver_lock($dom); |
|
39 |
+ success_msg("Die Domain {$dom->fqdn} wurde erfolgreich bestätigt und kann nun in vollem Umfang verwendet werden."); |
|
40 |
+ redirect("domains"); |
|
41 |
+} |
|
37 | 42 |
if (!$dom->secret) { |
38 | 43 |
create_domain_secret($dom); |
39 | 44 |
} |
40 | 45 |