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 |