aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Macgirvin <mike@macgirvin.com>2010-10-12 20:29:04 -0700
committerMike Macgirvin <mike@macgirvin.com>2010-10-12 20:29:04 -0700
commit033935c19406c8468ed75fdd15a3a532f4e25319 (patch)
treead73289f296bf14d6cc6977e41af88fd2f1909d6
parent3c440f70c66953735d01841453fa6a7ed244ef1c (diff)
downloadvolse-hubzilla-033935c19406c8468ed75fdd15a3a532f4e25319.tar.gz
volse-hubzilla-033935c19406c8468ed75fdd15a3a532f4e25319.tar.bz2
volse-hubzilla-033935c19406c8468ed75fdd15a3a532f4e25319.zip
cleanup to ensure protocol version is passed properly. We will need it if/when any incompatible protocol changes are introduced.
-rw-r--r--include/items.php8
-rw-r--r--include/poller.php11
-rw-r--r--mod/dfrn_confirm.php2
-rw-r--r--mod/dfrn_notify.php14
-rw-r--r--mod/dfrn_poll.php29
-rw-r--r--mod/dfrn_request.php2
6 files changed, 44 insertions, 22 deletions
diff --git a/include/items.php b/include/items.php
index ab2fd644a..7958c78c3 100644
--- a/include/items.php
+++ b/include/items.php
@@ -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;
diff --git a/include/poller.php b/include/poller.php
index ff141484b..bf2803b63 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -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);
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index 265a62b88..3df36182e 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -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;
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 4a23da505..5779b68d2 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -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();
}
diff --git a/mod/dfrn_poll.php b/mod/dfrn_poll.php
index a65f6555d..f5a761983 100644
--- a/mod/dfrn_poll.php
+++ b/mod/dfrn_poll.php
@@ -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();
}
}
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index f6a85fbab..3c16e2560 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -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)