diff --git a/plugins/LRDD/lib/discovery.php b/plugins/LRDD/lib/discovery.php index 77271e06f6..a69d5b8ce2 100644 --- a/plugins/LRDD/lib/discovery.php +++ b/plugins/LRDD/lib/discovery.php @@ -140,6 +140,11 @@ class Discovery $xrd->loadString($response->getBody(), $type); return $xrd; + } catch (ClientException $e) { + if ($e->getCode() === 403) { + common_log(LOG_INFO, sprintf('%s: Aborting discovery on URL %s: %s', _ve($class), _ve($uri), _ve($e->getMessage()))); + break; + } } catch (Exception $e) { common_log(LOG_INFO, sprintf('%s: Failed for %s: %s', _ve($class), _ve($uri), _ve($e->getMessage()))); continue; diff --git a/plugins/LRDD/lib/lrddmethod.php b/plugins/LRDD/lib/lrddmethod.php index ee9a24a5da..160c0d73a2 100644 --- a/plugins/LRDD/lib/lrddmethod.php +++ b/plugins/LRDD/lib/lrddmethod.php @@ -32,6 +32,9 @@ abstract class LRDDMethod protected function fetchUrl($url, $method=HTTPClient::METHOD_GET) { + // If we have a blacklist enabled, let's check against it + Event::handle('UrlBlacklistTest', array($url)); + $client = new HTTPClient(); // GAAHHH, this method sucks! How about we make a better HTTPClient interface?