]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/Diaspora.php
Merge pull request #12586 from MrPetovan/task/entitize-delivery-queue
[friendica.git] / src / Protocol / Diaspora.php
index 8e2dc56d9e60db1f1a418f8c135f6be3c0e63f5d..bf6bfdd63dcefd078ff2fa36e4e86d40e198b15c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -43,13 +43,13 @@ use Friendica\Model\User;
 use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 use Friendica\Network\HTTPException;
 use Friendica\Network\Probe;
+use Friendica\Protocol\Delivery;
 use Friendica\Util\Crypto;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Map;
 use Friendica\Util\Network;
 use Friendica\Util\Strings;
 use Friendica\Util\XML;
-use Friendica\Worker\Delivery;
 use GuzzleHttp\Psr7\Uri;
 use SimpleXMLElement;
 
@@ -499,7 +499,7 @@ class Diaspora
                }
 
                if (!($fields = self::validPosting($msg))) {
-                       Logger::warning('Invalid posting', ['msg' => $msg]);
+                       Logger::notice('Invalid posting', ['msg' => $msg]);
                        return false;
                }
 
@@ -534,7 +534,7 @@ class Diaspora
                if (is_null($fields)) {
                        $private = true;
                        if (!($fields = self::validPosting($msg))) {
-                               Logger::warning('Invalid posting', ['msg' => $msg]);
+                               Logger::notice('Invalid posting', ['msg' => $msg]);
                                return false;
                        }
                } else {
@@ -812,6 +812,7 @@ class Diaspora
         */
        private static function contactByHandle(int $uid, WebFingerUri $uri): array
        {
+               Contact::updateByUrlIfNeeded($uri->getAddr());
                return Contact::getByURL($uri->getAddr(), null, [], $uid);
        }
 
@@ -2954,6 +2955,12 @@ class Diaspora
                        return 200;
                }
 
+               if (!empty($contact['gsid']) && (empty($return_code) || $postResult->isTimeout())) {
+                       GServer::setFailureById($contact['gsid']);
+               } elseif (!empty($contact['gsid']) && ($return_code >= 200) && ($return_code <= 299)) {
+                       GServer::setReachableById($contact['gsid'], Protocol::DIASPORA);
+               }
+
                Logger::notice('transmit: ' . $logid . '-' . $guid . ' to ' . $dest_url . ' returns: ' . $return_code);
 
                return $return_code ? $return_code : -1;