aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2016-10-25 18:27:32 -0700
committerzotlabs <mike@macgirvin.com>2016-10-25 18:27:32 -0700
commit88a68b941ff2c8295ac5a6f221855bc4940ddb40 (patch)
treefc45ca754d0bfb82ecef6e1179adffb41c119d87
parent084b41fc2c0e8abeec1da5c792ec552b5ae1ce8f (diff)
downloadvolse-hubzilla-88a68b941ff2c8295ac5a6f221855bc4940ddb40.tar.gz
volse-hubzilla-88a68b941ff2c8295ac5a6f221855bc4940ddb40.tar.bz2
volse-hubzilla-88a68b941ff2c8295ac5a6f221855bc4940ddb40.zip
put all dns checking into one function, allow it to be ignored
-rw-r--r--Zotlabs/Module/Regdir.php3
-rw-r--r--include/conversation.php4
-rwxr-xr-xinclude/dba/dba_driver.php2
-rwxr-xr-xinclude/items.php5
-rw-r--r--include/network.php21
5 files changed, 24 insertions, 11 deletions
diff --git a/Zotlabs/Module/Regdir.php b/Zotlabs/Module/Regdir.php
index 48a7cc16d..208a2b384 100644
--- a/Zotlabs/Module/Regdir.php
+++ b/Zotlabs/Module/Regdir.php
@@ -54,8 +54,7 @@ class Regdir extends \Zotlabs\Web\Controller {
if ($url) {
$m = parse_url($url);
- if ((! $m) || ((! @dns_get_record($m['host'], DNS_A + DNS_CNAME + DNS_PTR)) && (! filter_var($m['host'], FILTER_VALIDATE_IP) ))) {
-
+ if ((! $m) || (! z_dns_check($m['host']))) {
$result['message'] = 'unparseable url';
json_return_and_die($result);
}
diff --git a/include/conversation.php b/include/conversation.php
index 154a9f82d..02c61b688 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -414,8 +414,8 @@ function visible_activity($item) {
}
}
- if(is_edit_activity($item))
- return false;
+// if(is_edit_activity($item))
+// return false;
return true;
}
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index 6fb0e79cc..0b5f085af 100755
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
@@ -183,7 +183,7 @@ abstract class dba_driver {
}
if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1') && (! strpbrk($server,':;'))) {
- if((! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) && (! filter_var($server, FILTER_VALIDATE_IP))) {
+ if(! z_dns_check($server)) {
$this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
$this->connected = false;
$this->db = null;
diff --git a/include/items.php b/include/items.php
index cb8a00c33..bb78af930 100755
--- a/include/items.php
+++ b/include/items.php
@@ -4522,15 +4522,12 @@ function item_create_edit_activity($post) {
$new_item['body'] .= "\n\n";
$new_item['body'] .= $update_item['body'];
- $new_item['title'] = $update_item['title'];
-
$new_item['verb'] = ACTIVITY_UPDATE;
$new_item['item_thread_top'] = 0;
+ $new_item['created'] = $new_item['edited'] = datetime_convert();
$x = post_activity_item($new_item);
- logger('posted edit activity');
-
$post_id = $x['id'];
if($post_id) {
$r = q("select * from item where id = %d",
diff --git a/include/network.php b/include/network.php
index 6411d6ddf..8c118eff3 100644
--- a/include/network.php
+++ b/include/network.php
@@ -480,6 +480,23 @@ function convert_xml_element_to_array($xml_element, &$recursion_depth=0) {
}
}
+
+
+function z_dns_check($h,$check_mx = 0) {
+
+ // dns_get_record() has issues on some platforms
+ // so allow somebody to ignore it completely
+
+ if(get_config('system','do_not_check_dns'))
+ return true;
+
+ $opts = DNS_A + DNS_CNAME + DNS_PTR;
+ if($check_mx)
+ $opts += DNS_MX;
+ return((@dns_get_record($h, $opts) || filter_var($h, FILTER_VALIDATE_IP)) ? true : false);
+
+}
+
// Take a URL from the wild, prepend http:// if necessary
// and check DNS to see if it's real (or check if is a valid IP address)
// return true if it's OK, false if something is wrong with it
@@ -494,7 +511,7 @@ function validate_url(&$url) {
$url = 'http://' . $url;
$h = @parse_url($url);
- if(($h) && (@dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) {
+ if(($h) && z_dns_check($h['host'])) {
return true;
}
return false;
@@ -512,7 +529,7 @@ function validate_email($addr) {
return false;
$h = substr($addr,strpos($addr,'@') + 1);
- if(($h) && (@dns_get_record($h, DNS_A + DNS_CNAME + DNS_PTR + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
+ if(($h) && z_dns_check($h,true)) {
return true;
}
return false;