Parcourir la source

implement testing

andre il y a 2 ans
Parent
commit
eebf04ae46
1 fichiers modifiés avec 29 ajouts et 25 suppressions
  1. 29 25
      cwp7.php

+ 29 - 25
cwp7.php

@@ -1135,19 +1135,27 @@ function cwp7CheckA($host, $serverIP, $nameserverIP, $recurse = 0) {
 		return false;
 	}
 	$nameserver = array($nameserverIP);
-	$resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
+    # try NS1
+    $resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
     try {
-            $result = $resolver->query($host, 'A');
-            
+        $result = $resolver->query($host, 'A');
+        return true;            
     } catch(Net_DNS2_Exception $e) {
-		logModuleCall(
-			'cwp7',
-			__FUNCTION__,
-			$e,
-			'DNS lookup exception',
-			$e->getMessage()
-		);
-	}
+    # try default nameserver
+        $resolver = new Net_DNS2_Resolver();
+        try {
+            $result = $resolver->query($host, 'A');
+            return true;            
+        } catch(Net_DNS2_Exception $e) {
+			logModuleCall(
+				'cwp7',
+				__FUNCTION__,
+				$e,
+				'DNS lookup exception',
+				$e->getMessage()
+			);
+		}
+    }
 	$hostA = $result->answer;
 	if($hostA[0]->type == 'CNAME') {
 		if(cwp7CheckA($hostA[0]->cname, $serverIP, $nameserverIP, $recurse++)) {
@@ -1175,24 +1183,20 @@ function cwp7CheckA($host, $serverIP, $nameserverIP, $recurse = 0) {
  */
 function cwp7CheckSOA($domain, $nameserverIP, $nameserverName ) {
 	$nameserver = array($nameserverIP);
+    # try NS1
 	$resolver = new Net_DNS2_Resolver(array('nameservers' => $nameserver));
     try {
             $result = $resolver->query($domain, 'SOA');
-            
+            return 'self';
     } catch(Net_DNS2_Exception $e) {
-		logModuleCall(
-			'cwp7',
-			__FUNCTION__,
-			$e,
-			'DNS lookup exception',
-			$e->getMessage()
-		);
-		return 'none';
-	}
-
-	if($result->answer[0]->mname == $nameserverName) {
-		return 'self';
-	}
+    # try default NS
+    	$resolver = new Net_DNS2_Resolver();
+        try {
+            $result = $resolver->query($domain, 'SOA');
+        } catch(Net_DNS2_Exception $e) {
+            return 'none';
+        }
+    }
 	return $result->answer[0]->mname;
 }