1
1
Fork 0

cleanup to ensure protocol version is passed properly. We will need it if/when any incompatible protocol changes are introduced.

This commit is contained in:
Mike Macgirvin 2010-10-12 20:29:04 -07:00
parent 3c440f70c6
commit 033935c194
6 changed files with 44 additions and 22 deletions

View file

@ -517,10 +517,10 @@ function dfrn_deliver($contact,$atom,$debugging = false) {
if($contact['duplex'] && $contact['issued-id'])
$idtosend = '1:' . $orig_id;
$url = $contact['notify'] . '?dfrn_id=' . $idtosend;
$url = $contact['notify'] . '?dfrn_id=' . $idtosend . '&dfrn_version=' . DFRN_PROTOCOL_VERSION ;
if($debugging)
echo "URL: $url";
echo "URL: $url\n";
$xml = fetch_url($url);
@ -560,8 +560,8 @@ function dfrn_deliver($contact,$atom,$debugging = false) {
return 3;
}
$postvars['dfrn_id'] = $idtosend;
$postvars['dfrn_id'] = $idtosend;
$postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
if(($contact['rel']) && ($contact['rel'] != REL_FAN) && (! $contact['blocked']) && (! $contact['readonly'])) {
$postvars['data'] = $atom;

View file

@ -94,12 +94,15 @@
if(intval($contact['duplex']) && $contact['issued-id'])
$idtosend = '1:' . $orig_id;
$url = $contact['poll'] . '?dfrn_id=' . $idtosend . '&type=data&last_update=' . $last_update ;
$url = $contact['poll'] . '?dfrn_id=' . $idtosend
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION
. '&type=data&last_update=' . $last_update ;
$xml = fetch_url($url);
if($debugging) {
echo "URL: " . $url . "\r\n";
echo "XML: " . $xml . "\r\n";
echo "URL: " . $url . "\n";
echo "XML: " . $xml . "\n";
}
if(! $xml) {
@ -154,7 +157,7 @@
}
$postvars['dfrn_id'] = $idtosend;
$postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
$xml = post_url($contact['poll'],$postvars);

View file

@ -109,7 +109,7 @@ function dfrn_confirm_post(&$a) {
$params['public_key'] = bin2hex(openssl_encrypt($public_key,'AES-256-CBC',$src_aes_key));
}
$params['dfrn_version'] = '2.0';
$params['dfrn_version'] = DFRN_PROTOCOL_VERSION ;
if($duplex == 1)
$params['duplex'] = 1;

View file

@ -7,6 +7,7 @@ require_once('include/items.php');
function dfrn_notify_post(&$a) {
$dfrn_id = notags(trim($_POST['dfrn_id']));
$dfrn_version = (float) $_POST['dfrn_version'];
$challenge = notags(trim($_POST['challenge']));
$data = $_POST['data'];
@ -374,6 +375,8 @@ function dfrn_notify_content(&$a) {
// If this is a duplex communication, ours will be the opposite.
$dfrn_id = notags(trim($_GET['dfrn_id']));
$dfrn_version = (float) $_GET['dfrn_version'];
$direction = (-1);
if(strpos($dfrn_id,':') == 1) {
@ -435,7 +438,16 @@ function dfrn_notify_content(&$a) {
$challenge = bin2hex($challenge);
$encrypted_id = bin2hex($encrypted_id);
echo '<?xml version="1.0" encoding="UTF-8"?><dfrn_notify><status>' . $status . '</status><dfrn_version>2.0</dfrn_version><dfrn_id>' . $encrypted_id . '</dfrn_id><challenge>' . $challenge . '</challenge></dfrn_notify>' . "\r\n" ;
header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n"
. '<dfrn_notify>' . "\r\n"
. "\t" . '<status>' . $status . '</status>' . "\r\n"
. "\t" . '<dfrn_version>' . DFRN_PROTOCOL_VERSION . '</dfrn_version>' . "\r\n"
. "\t" . '<dfrn_id>' . $encrypted_id . '</dfrn_id>' . "\r\n"
. "\t" . '<challenge>' . $challenge . '</challenge>' . "\r\n"
. '</dfrn_notify>' . "\r\n" ;
killme();
}

View file

@ -14,7 +14,7 @@ function dfrn_poll_init(&$a) {
$type = $_GET['type'];
if(x($_GET,'last_update'))
$last_update = $_GET['last_update'];
$dfrn_version = ((x($_GET,'dfrn_version')) ? $_GET['dfrn_version'] : '1.0');
$dfrn_version = (float) $_GET['dfrn_version'] ;
$destination_url = ((x($_GET,'destination_url')) ? $_GET['destination_url'] : '');
@ -115,11 +115,12 @@ function dfrn_poll_init(&$a) {
function dfrn_poll_post(&$a) {
$dfrn_id = $_POST['dfrn_id'];
$challenge = $_POST['challenge'];
$url = $_POST['url'];
$dfrn_id = $_POST['dfrn_id'];
$challenge = $_POST['challenge'];
$url = $_POST['url'];
$dfrn_version = (float) $_POST['dfrn_version'];
$direction = (-1);
$direction = (-1);
if(strpos($dfrn_id,':') == 1) {
$direction = intval(substr($dfrn_id,0,1));
$dfrn_id = substr($dfrn_id,2);
@ -199,7 +200,7 @@ function dfrn_poll_post(&$a) {
</reputation>
";
killme();
return; // NOTREACHED
// NOTREACHED
}
else {
$o = get_feed_for($a,$dfrn_id, $a->argv[1], $last_update, $direction);
@ -222,6 +223,8 @@ function dfrn_poll_content(&$a) {
if(x($_GET,'last_update'))
$last_update = $_GET['last_update'];
$dfrn_version = (float) $_GET['dfrn_version'];
$direction = (-1);
if(strpos($dfrn_id,':') == 1) {
$direction = intval(substr($dfrn_id,0,1));
@ -293,11 +296,15 @@ function dfrn_poll_content(&$a) {
else {
$status = 1;
}
echo '<?xml version="1.0" encoding="UTF-8"?><dfrn_poll><status>' .$status . '</status><dfrn_version>2.0</dfrn_version><dfrn_id>' . $encrypted_id . '</dfrn_id>'
. '<challenge>' . $challenge . '</challenge></dfrn_poll>' . "\r\n" ;
session_write_close();
exit;
header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n"
. '<dfrn_poll>' . "\r\n"
. "\t" . '<status>' .$status . '</status>' . "\r\n"
. "\t" . '<dfrn_version>' . DFRN_PROTOCOL_VERSION . '</dfrn_version>' . "\r\n"
. "\t" . '<dfrn_id>' . $encrypted_id . '</dfrn_id>' . "\r\n"
. "\t" . '<challenge>' . $challenge . '</challenge>' . "\r\n"
. '</dfrn_poll>' . "\r\n" ;
killme();
}
}

View file

@ -197,7 +197,7 @@ function dfrn_request_post(&$a) {
}
if($network == 'dfrn') {
if($network === 'dfrn') {
$ret = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' LIMIT 1",
intval($uid),
dbesc($url)