1
1
Fork 0

federation friday update

This commit is contained in:
Friendika 2011-09-15 17:47:16 -07:00
parent 5c0e135fe9
commit 80f94bb12b
2 changed files with 6 additions and 19 deletions

View file

@ -7,7 +7,7 @@ require_once('include/text.php');
require_once("include/pgettext.php"); require_once("include/pgettext.php");
define ( 'FRIENDIKA_VERSION', '2.2.1103' ); define ( 'FRIENDIKA_VERSION', '2.2.1104' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1087 ); define ( 'DB_UPDATE_VERSION', 1087 );

View file

@ -115,7 +115,7 @@ function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey) {
$outer_iv = random_string(16); $outer_iv = random_string(16);
$b_outer_iv = base64_encode($outer_iv); $b_outer_iv = base64_encode($outer_iv);
$handle = 'acct:' . $user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $handle = $user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
$padded_data = pkcs5_pad($msg,16); $padded_data = pkcs5_pad($msg,16);
$inner_encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $padded_data, MCRYPT_MODE_CBC, $inner_iv); $inner_encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $padded_data, MCRYPT_MODE_CBC, $inner_iv);
@ -126,7 +126,7 @@ function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey) {
$b64url_data = base64url_encode($b64_data); $b64url_data = base64url_encode($b64_data);
$data = str_replace(array("\n","\r"," ","\t"),array('','','',''),$b64url_data); $data = str_replace(array("\n","\r"," ","\t"),array('','','',''),$b64url_data);
$type = 'application/atom+xml'; $type = 'application/xml';
$encoding = 'base64url'; $encoding = 'base64url';
$alg = 'RSA-SHA256'; $alg = 'RSA-SHA256';
@ -140,10 +140,7 @@ $decrypted_header = <<< EOT
<decrypted_header> <decrypted_header>
<iv>$b_inner_iv</iv> <iv>$b_inner_iv</iv>
<aes_key>$b_inner_aes_key</aes_key> <aes_key>$b_inner_aes_key</aes_key>
<author> <author_id>$handle</author_id>
<name>{$user['username']}</name>
<uri>$handle</uri>
</author>
</decrypted_header> </decrypted_header>
EOT; EOT;
@ -204,7 +201,7 @@ function diaspora_decode($importer,$xml) {
$public = false; $public = false;
$basedom = parse_xml_string($xml); $basedom = parse_xml_string($xml);
$children = $basedom->children(NAMESPACE_DIASPORA_PROTOCOL); $children = $basedom->children('https://joindiaspora.com/protocol');
if($children->header) { if($children->header) {
$public = true; $public = true;
@ -288,16 +285,6 @@ function diaspora_decode($importer,$xml) {
// strip whitespace so our data element will return to one big base64 blob // strip whitespace so our data element will return to one big base64 blob
$data = str_replace(array(" ","\t","\r","\n"),array("","","",""),$base->data); $data = str_replace(array(" ","\t","\r","\n"),array("","","",""),$base->data);
// Add back the 60 char linefeeds
// This completely violates the entire principle of salmon magic signatures,
// which was to have a message signing format that was completely ambivalent to linefeeds
// and transport whitespace mangling, and base64 wrapping rules. Guess what? PHP and Ruby
// use different linelengths for base64 output.
// $lines = str_split($data,60);
// $data = implode("\n",$lines);
// stash away some other stuff for later // stash away some other stuff for later
@ -347,7 +334,7 @@ function diaspora_decode($importer,$xml) {
if(! $verify) { if(! $verify) {
logger('mod-diaspora: Message did not verify. Discarding.'); logger('mod-diaspora: Message did not verify. Discarding.');
http_status_exit(400); // http_status_exit(400);
} }
logger('mod-diaspora: Message verified.'); logger('mod-diaspora: Message verified.');