RINO code cleanup

- Restore original use Friendica\Util\Crypto
- Remove RINO1 deprecation comments
- Fix undefined variable $rino_remote_version
This commit is contained in:
Hypolite Petovan 2018-01-19 11:34:56 -05:00
parent 633b133db6
commit 035394cbf2
2 changed files with 7 additions and 10 deletions

View File

@ -143,7 +143,7 @@ function dfrn_notify_post(App $a) {
// if local rino is lower than remote rino, abort: should not happen! // if local rino is lower than remote rino, abort: should not happen!
// but only for $remote_rino > 1, because old code did't send rino version // but only for $remote_rino > 1, because old code did't send rino version
if ($rino_remote_version > 1 && $rino < $rino_remote) { if ($rino_remote > 1 && $rino < $rino_remote) {
logger("rino version '$rino_remote' is lower than supported '$rino'"); logger("rino version '$rino_remote' is lower than supported '$rino'");
xml_status(0, "rino version '$rino_remote' is lower than supported '$rino'"); xml_status(0, "rino version '$rino_remote' is lower than supported '$rino'");
} }
@ -166,15 +166,11 @@ function dfrn_notify_post(App $a) {
} }
} }
#logger('rino: received key : ' . $final_key);
switch($rino_remote) { switch($rino_remote) {
case 0: case 0:
case 1: case 1:
/* // we got a key. old code send only the key, without RINO version.
* we got a key. old code send only the key, without RINO version. // we assume RINO 1 if key and no RINO version
* we assume RINO 1 if key and no RINO version
*/
$data = DFRN::aesDecrypt(hex2bin($data), $final_key); $data = DFRN::aesDecrypt(hex2bin($data), $final_key);
break; break;
default: default:

View File

@ -22,7 +22,7 @@ use Friendica\Model\Term;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Object\Image; use Friendica\Object\Image;
use Friendica\Protocol\OStatus; use Friendica\Protocol\OStatus;
use Friendica\Util\Crypto as FriendicaCrypto; use Friendica\Util\Crypto;
use Friendica\Util\XML; use Friendica\Util\XML;
use dba; use dba;
@ -468,7 +468,7 @@ class DFRN
/* get site pubkey. this could be a new installation with no site keys*/ /* get site pubkey. this could be a new installation with no site keys*/
$pubkey = Config::get('system', 'site_pubkey'); $pubkey = Config::get('system', 'site_pubkey');
if (! $pubkey) { if (! $pubkey) {
$res = FriendicaCrypto::newKeypair(2048); $res = Crypto::newKeypair(2048);
Config::set('system', 'site_prvkey', $res['prvkey']); Config::set('system', 'site_prvkey', $res['prvkey']);
Config::set('system', 'site_pubkey', $res['pubkey']); Config::set('system', 'site_pubkey', $res['pubkey']);
} }
@ -1295,9 +1295,10 @@ class DFRN
switch ($rino_remote_version) { switch ($rino_remote_version) {
case 1: case 1:
case 2: case 2:
// Force downgrade in case the remote server is still using the deprecated version 2
$rino = 1; $rino = 1;
$rino_remote_version = 1; $rino_remote_version = 1;
// Deprecated rino version!
$key = openssl_random_pseudo_bytes(16); $key = openssl_random_pseudo_bytes(16);
$data = self::aesEncrypt($postvars['data'], $key); $data = self::aesEncrypt($postvars['data'], $key);
break; break;