double url encode diaspora communications

This commit is contained in:
Friendika 2011-08-19 02:24:30 -07:00
parent 4cef4ec918
commit 395faae0b2
3 changed files with 17 additions and 9 deletions

View file

@ -792,7 +792,7 @@ function diaspora_share($me,$contact) {
'$recipient' => $theiraddr '$recipient' => $theiraddr
)); ));
$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$me,$contact,$me['prvkey'],$contact['pubkey'])); $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$me,$contact,$me['prvkey'],$contact['pubkey'])));
post_url($contact['notify'],$slap); post_url($contact['notify'],$slap);
$return_code = $a->get_curl_code(); $return_code = $a->get_curl_code();
@ -823,7 +823,7 @@ function diaspora_send_status($item,$owner,$contact) {
logger('diaspora_send_status: base message: ' . $msg, LOGGER_DATA); logger('diaspora_send_status: base message: ' . $msg, LOGGER_DATA);
$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])));
post_url($contact['notify'],$slap); post_url($contact['notify'],$slap);
$return_code = $a->get_curl_code(); $return_code = $a->get_curl_code();
@ -835,7 +835,7 @@ function diaspora_send_status($item,$owner,$contact) {
function diaspora_send_followup($item,$owner,$contact) { function diaspora_send_followup($item,$owner,$contact) {
$a = get_app(); $a = get_app();
$myaddr = $me['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
$theiraddr = $contact['addr']; $theiraddr = $contact['addr'];
$p = q("select guid from item where parent = %d limit 1", $p = q("select guid from item where parent = %d limit 1",
@ -864,7 +864,7 @@ function diaspora_send_followup($item,$owner,$contact) {
if($like) if($like)
$signed_text = $item['guid'] . ';' . $target_type . ';' . $positive . ';' . $myaddr; $signed_text = $item['guid'] . ';' . $target_type . ';' . $positive . ';' . $myaddr;
else else
$signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . $myaddr; $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr;
$authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'])); $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey']));
@ -873,14 +873,14 @@ function diaspora_send_followup($item,$owner,$contact) {
'$parent_guid' => xmlify($parent_guid), '$parent_guid' => xmlify($parent_guid),
'$target_type' =>xmlify($target_type), '$target_type' =>xmlify($target_type),
'$authorsig' => xmlify($authorsig), '$authorsig' => xmlify($authorsig),
'$text' => xmlify($text), '$body' => xmlify($text),
'$positive' => xmlify($positive), '$positive' => xmlify($positive),
'$diaspora_handle' => xmlify($myaddr) '$handle' => xmlify($myaddr)
)); ));
logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA); logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA);
$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])));
post_url($contact['notify'],$slap); post_url($contact['notify'],$slap);
$return_code = $a->get_curl_code(); $return_code = $a->get_curl_code();
@ -893,6 +893,11 @@ function diaspora_send_followup($item,$owner,$contact) {
function diaspora_send_relay($item,$owner,$contact) { function diaspora_send_relay($item,$owner,$contact) {
$a = get_app();
$myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
$theiraddr = $contact['addr'];
$p = q("select guid from item where parent = %d limit 1", $p = q("select guid from item where parent = %d limit 1",
$item['parent'] $item['parent']
); );
@ -951,7 +956,7 @@ function diaspora_send_relay($item,$owner,$contact) {
logger('diaspora_relay_comment: base message: ' . $msg, LOGGER_DATA); logger('diaspora_relay_comment: base message: ' . $msg, LOGGER_DATA);
$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])));
post_url($contact['notify'],$slap); post_url($contact['notify'],$slap);
$return_code = $a->get_curl_code(); $return_code = $a->get_curl_code();

View file

@ -502,7 +502,8 @@ function notifier_run($argv, $argc){
} }
break; break;
case NETWORK_DIASPORA: case NETWORK_DIASPORA:
if(get_config('system','dfrn_only') || (! get_config('diaspora_enabled')) || (! $normal_mode)) require_once('include/diaspora.php');
if(get_config('system','dfrn_only') || (! get_config('system','diaspora_enabled')) || (! $normal_mode))
break; break;
if($target_item['verb'] === ACTIVITY_DISLIKE) { if($target_item['verb'] === ACTIVITY_DISLIKE) {

View file

@ -15,6 +15,8 @@ function receive_post(&$a) {
if($a->argc != 3 || $a->argv[1] !== 'users') if($a->argc != 3 || $a->argv[1] !== 'users')
http_status_exit(500); http_status_exit(500);
logger('receive: raw input: ' . file_get_contents('php://input'), LOGGER_DATA);
$guid = $a->argv[2]; $guid = $a->argv[2];
$r = q("SELECT * FROM `user` WHERE `guid` = '%s' LIMIT 1", $r = q("SELECT * FROM `user` WHERE `guid` = '%s' LIMIT 1",