From b48a49b0f57e276fd2c504cdeb602c421a1d4fe3 Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Tue, 18 Jun 2019 08:05:45 +0000
Subject: [PATCH] Added timeout

---
 src/Model/APContact.php | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/Model/APContact.php b/src/Model/APContact.php
index 7e49638f9e..ff28299741 100644
--- a/src/Model/APContact.php
+++ b/src/Model/APContact.php
@@ -9,6 +9,7 @@ namespace Friendica\Model;
 use Friendica\BaseObject;
 use Friendica\Content\Text\HTML;
 use Friendica\Core\Logger;
+use Friendica\Core\Config;
 use Friendica\Database\DBA;
 use Friendica\Protocol\ActivityPub;
 use Friendica\Util\Network;
@@ -33,13 +34,15 @@ class APContact extends BaseObject
 			return false;
 		}
 
+		$xrd_timeout = Config::get('system', 'xrd_timeout');
+
 		$webfinger = 'https://' . $addr_parts[1] . '/.well-known/webfinger?resource=acct:' . urlencode($addr);
 
-		$curlResult = Network::curl($webfinger, false, ['accept_content' => 'application/jrd+json,application/json']);
+		$curlResult = Network::curl($webfinger, false, ['timeout' => $xrd_timeout, 'accept_content' => 'application/jrd+json,application/json']);
 		if (!$curlResult->isSuccess() || empty($curlResult->getBody())) {
 			$webfinger = 'http://' . $addr_parts[1] . '/.well-known/webfinger?resource=acct:' . urlencode($addr);
 
-			$curlResult = Network::curl($webfinger, false, ['accept_content' => 'application/jrd+json,application/json']);
+			$curlResult = Network::curl($webfinger, false, ['timeout' => $xrd_timeout, 'accept_content' => 'application/jrd+json,application/json']);
 
 			if (!$curlResult->isSuccess() || empty($curlResult->getBody())) {
 				return false;
-- 
2.39.5