Made message signing in Cryptography use SHA512 as the message content for... #1

Closed
netkas wants to merge 421 commits from master into dev
Showing only changes of commit ad1e819094 - Show all commits

View file

@ -27,6 +27,7 @@
use Socialbox\Managers\RegisteredPeerManager; use Socialbox\Managers\RegisteredPeerManager;
use Socialbox\Managers\SessionManager; use Socialbox\Managers\SessionManager;
use Socialbox\Objects\ClientRequest; use Socialbox\Objects\ClientRequest;
use Socialbox\Objects\Database\RegisteredPeerRecord;
use Socialbox\Objects\PeerAddress; use Socialbox\Objects\PeerAddress;
use Socialbox\Objects\Standard\Peer; use Socialbox\Objects\Standard\Peer;
use Socialbox\Objects\Standard\ServerInformation; use Socialbox\Objects\Standard\ServerInformation;
@ -762,19 +763,19 @@
/** /**
* Resolves an external peer based on the given peer address or string identifier. * Resolves an external peer based on the given peer address or string identifier.
* *
* @param PeerAddress|string $peer The external peer address or string identifier to be resolved. * @param PeerAddress|string $peerAddress The external peer address or string identifier to be resolved.
* @return Peer The resolved external peer after synchronization. * @return Peer The resolved external peer after synchronization.
*/ */
public static function resolvePeer(PeerAddress|string $peer): Peer public static function resolvePeer(PeerAddress|string $peerAddress): Peer
{ {
if($peer instanceof PeerAddress) if(is_string($peerAddress))
{ {
$peer = $peer->getAddress(); $peerAddress = PeerAddress::fromAddress($peerAddress);
} }
try try
{ {
$registeredPeer = RegisteredPeerManager::getPeerByAddress($peer); $registeredPeer = RegisteredPeerManager::getPeerByAddress($peerAddress);
} }
catch (DatabaseOperationException $e) catch (DatabaseOperationException $e)
{ {
@ -790,11 +791,11 @@
// If the peer was not found but the peer resides in an external server, resolve it // If the peer was not found but the peer resides in an external server, resolve it
try try
{ {
if($registeredPeer === null && $peer->getDomain() !== Configuration::getInstanceConfiguration()->getDomain()) if($registeredPeer === null && $peerAddress->getDomain() !== Configuration::getInstanceConfiguration()->getDomain())
{ {
try try
{ {
$registeredPeer = self::getExternalSession($peer->getDomain())->resolvePeer($peer); $registeredPeer = self::getExternalSession($peerAddress->getDomain())->resolvePeer($peerAddress);
} }
catch (DatabaseOperationException $e) catch (DatabaseOperationException $e)
{ {
@ -805,13 +806,13 @@
self::synchronizeExternalPeer($registeredPeer); self::synchronizeExternalPeer($registeredPeer);
} }
// If the peer was found and the peer does reside in an external server, re-resolve it if necessary // If the peer was found and the peer does reside in an external server, re-resolve it if necessary
elseif($registeredPeer !== null && $peer->getDomain() !== Configuration::getInstanceConfiguration()->getDomain()) elseif($registeredPeer !== null && $peerAddress->getDomain() !== Configuration::getInstanceConfiguration()->getDomain())
{ {
if($registeredPeer->getUpdated()->getTimestamp() < time() - Configuration::getPoliciesConfiguration()->getPeerSyncInterval()) if($registeredPeer->getUpdated()->getTimestamp() < time() - Configuration::getPoliciesConfiguration()->getPeerSyncInterval())
{ {
try try
{ {
$registeredPeer = self::getExternalSession($peer->getDomain())->resolvePeer($peer); $registeredPeer = self::getExternalSession($peerAddress->getDomain())->resolvePeer($peerAddress);
} }
catch (DatabaseOperationException $e) catch (DatabaseOperationException $e)
{ {
@ -837,6 +838,11 @@
throw new StandardException('The requested peer was not found', StandardError::PEER_NOT_FOUND); throw new StandardException('The requested peer was not found', StandardError::PEER_NOT_FOUND);
} }
if($registeredPeer instanceof RegisteredPeerRecord)
{
$registeredPeer = $registeredPeer->toStandardPeer();
}
return $registeredPeer; return $registeredPeer;
} }