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\SessionManager;
use Socialbox\Objects\ClientRequest;
use Socialbox\Objects\Database\RegisteredPeerRecord;
use Socialbox\Objects\PeerAddress;
use Socialbox\Objects\Standard\Peer;
use Socialbox\Objects\Standard\ServerInformation;
@ -762,19 +763,19 @@
/**
* 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.
*/
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
{
$registeredPeer = RegisteredPeerManager::getPeerByAddress($peer);
$registeredPeer = RegisteredPeerManager::getPeerByAddress($peerAddress);
}
catch (DatabaseOperationException $e)
{
@ -790,11 +791,11 @@
// If the peer was not found but the peer resides in an external server, resolve it
try
{
if($registeredPeer === null && $peer->getDomain() !== Configuration::getInstanceConfiguration()->getDomain())
if($registeredPeer === null && $peerAddress->getDomain() !== Configuration::getInstanceConfiguration()->getDomain())
{
try
{
$registeredPeer = self::getExternalSession($peer->getDomain())->resolvePeer($peer);
$registeredPeer = self::getExternalSession($peerAddress->getDomain())->resolvePeer($peerAddress);
}
catch (DatabaseOperationException $e)
{
@ -805,13 +806,13 @@
self::synchronizeExternalPeer($registeredPeer);
}
// 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())
{
try
{
$registeredPeer = self::getExternalSession($peer->getDomain())->resolvePeer($peer);
$registeredPeer = self::getExternalSession($peerAddress->getDomain())->resolvePeer($peerAddress);
}
catch (DatabaseOperationException $e)
{
@ -837,6 +838,11 @@
throw new StandardException('The requested peer was not found', StandardError::PEER_NOT_FOUND);
}
if($registeredPeer instanceof RegisteredPeerRecord)
{
$registeredPeer = $registeredPeer->toStandardPeer();
}
return $registeredPeer;
}