$feed->set_raw_data(($xml) ? $xml : '<?xml version="1.0" encoding="utf-8" ?><xml></xml>');
$feed->init();
- if($feed->error())
+ if($feed->error()) {
logger('probe_url: scrape_feed: Error parsing XML: ' . $feed->error());
-
+ $network = NETWORK_PHANTOM;
+ }
if(! x($vcard,'photo'))
$vcard['photo'] = $feed->get_image_url();
$result = Cache::get("gprobe:".$urlparts["host"]);
if (!is_null($result)) {
$result = unserialize($result);
- if ($result["network"] == NETWORK_FEED) {
+ if (in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
logger("DDoS attempt detected for ".$urlparts["host"]." by ".$_SERVER["REMOTE_ADDR"].". server data: ".print_r($_SERVER, true), LOGGER_DEBUG);
return;
}
$result = Cache::get("gprobe:".$urlparts["host"]);
if (!is_null($result)) {
$result = unserialize($result);
- if ($result["network"] == NETWORK_FEED) {
+ if (in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
logger("DDoS attempt detected for ".$urlparts["host"]." by ".$_SERVER["REMOTE_ADDR"].". server data: ".print_r($_SERVER, true), LOGGER_DEBUG);
return;
}
return false;
}
- if (($data["poll"] == "") OR ($data["network"] == NETWORK_FEED)) {
+ if (($data["poll"] == "") OR (in_array($data["network"], array(NETWORK_FEED, NETWORK_PHANTOM)))) {
q("UPDATE `gcontact` SET `last_failure` = '%s' WHERE `nurl` = '%s'",
dbesc(datetime_convert()), dbesc(normalise_link($profile)));
return false;
$ret = probe_url($url);
+ if ($ret["network"] == NETWORK_PHANTOM) {
+ notice( t("The network type couldn't be detected. Contact can't be added.") . EOL);
+ goaway($_SESSION['return_url']);
+ // NOTREACHED
+ }
+
if ($ret["network"] == NETWORK_MAIL)
$ret["url"] = $ret["addr"];