aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2018-05-25 12:34:59 +0200
committerMario Vavti <mario@mariovavti.com>2018-05-25 12:34:59 +0200
commiteebeb450c3e0eef632dc86d7656521787ec94f91 (patch)
tree5a66b0ef997ffcd27b58b059637248eb67b1512f
parent0fe449ba33fbcf96057b204dd618cc349da9c554 (diff)
parentcd4454100b41f384148d0c1ebdaf6e64d629b0e1 (diff)
downloadvolse-hubzilla-eebeb450c3e0eef632dc86d7656521787ec94f91.tar.gz
volse-hubzilla-eebeb450c3e0eef632dc86d7656521787ec94f91.tar.bz2
volse-hubzilla-eebeb450c3e0eef632dc86d7656521787ec94f91.zip
Merge remote-tracking branch 'mike/master' into dev
-rw-r--r--include/network.php20
1 files changed, 14 insertions, 6 deletions
diff --git a/include/network.php b/include/network.php
index 7e8f823a3..4b2d2f93f 100644
--- a/include/network.php
+++ b/include/network.php
@@ -468,13 +468,21 @@ function z_dns_check($h,$check_mx = 0) {
&& \App::$config['system']['do_not_check_dns'])
return true;
+ // This will match either Windows or Mac ('Darwin')
+ if(stripos(PHP_OS,'win') !== false)
+ return true;
+
+ // BSD variants have dns_get_record() but it only works reliably without any options
+ if(stripos(PHP_OS,'bsd') !== false)
+ return((@dns_get_record($h) || filter_var($h, FILTER_VALIDATE_IP)) ? true : false);
+
+ // Otherwise we will assume dns_get_record() works as documented
+
+ $opts = DNS_A + DNS_CNAME + DNS_PTR;
+ if($check_mx)
+ $opts += DNS_MX;
- //$opts = DNS_A + DNS_CNAME + DNS_PTR;
- //if($check_mx)
- // $opts += DNS_MX;
- // Specific record type flags are unreliable on FreeBSD and Mac,
- // so now we'll ignore these and just check for the existence of any DNS record.
- return((@dns_get_record($h) || filter_var($h, FILTER_VALIDATE_IP)) ? true : false);
+ return((@dns_get_record($h,$opts) || filter_var($h, FILTER_VALIDATE_IP)) ? true : false);
}
/**