andre 3 лет назад
Родитель
Сommit
1202b5df3f
1 измененных файлов с 31 добавлено и 4 удалено
  1. 31 4
      cwp7.php

+ 31 - 4
cwp7.php

@@ -198,9 +198,10 @@ function cwp7_ClientArea($params){
 				$domain['sslexpire'] = $sslSites[$domain['domain']]['expire'];
 				$domain['autossl'] = $sslSites[$domain['domain']]['auotssl'];
 			}
-			if(cwp7CheckDNS($domain['domain'],$params['serverip']) == 1) {
+			if(cwp7CheckA($domain['domain'],$params['serverip']) == 1) {
 				$domain['DNS'] = 1;
 			}
+			cwp7CheckNS($domain['domain']);
 			$domain['subdomains'] = array();
 			foreach($subDomains as $subDomain) {
 				if($subDomain['domain'] == $domain['domain']) {
@@ -214,7 +215,7 @@ function cwp7_ClientArea($params){
 						unset($subDomain['sslexpire']);
 						unset($subDomain['autossl']);
 					}
-					if(cwp7CheckDNS($subFQDN,$params['serverip']) == 1) {
+					if(cwp7CheckA($subFQDN,$params['serverip']) == 1) {
 						$subDomain['DNS'] = 1;
 					} else {
 						unset($subDomain['DNS']);
@@ -334,7 +335,7 @@ function cwp7_InfoDNS($params) {
     );
 }
 
-function cwp7CheckDNS($domain, $serverIP, $recurse = 0) {
+function cwp7CheckA($domain, $serverIP, $recurse = 0) {
 	if($recurse > 3) {
 		return false;
 	}
@@ -354,7 +355,7 @@ function cwp7CheckDNS($domain, $serverIP, $recurse = 0) {
 	}
 	$domainA = $result->answer;
 	if($domainA[0]->type == 'CNAME') {
-		if(cwp7CheckDNS($domainA[0]->cname, $serverIP, $recurse++)) {
+		if(cwp7CheckA($domainA[0]->cname, $serverIP, $recurse++)) {
 			return true;
 		}
 	}
@@ -364,3 +365,29 @@ function cwp7CheckDNS($domain, $serverIP, $recurse = 0) {
 		}
 	}
 }
+
+function cwp7CheckNS($domain) {
+	$nameserver = array('10.200.22.100');
+	$resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
+    try {
+            $result = $resolver->query($domain, 'NS');
+            
+    } catch(Net_DNS2_Exception $e) {
+		logModuleCall(
+			'cwp7',
+			__FUNCTION__,
+			$e,
+			'DNS lookup exception',
+			$e->getMessage()
+		);
+	}
+	$domainNS = $result->answer;
+	logModuleCall(
+		'cwp7',
+		__FUNCTION__,
+		$result,
+		'debug',
+		$domainNS
+	);
+	return true;
+}