aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-07-18 21:16:18 -0700
committerzotlabs <mike@macgirvin.com>2017-07-18 21:16:18 -0700
commit6103c301848105a3bca3de81e9982276b2c38d76 (patch)
tree9b068dd2a9d16b7759a593dc66e71414c33b64f8
parentb52a968c7461c9873d20d40887f470ab255f16f2 (diff)
downloadvolse-hubzilla-6103c301848105a3bca3de81e9982276b2c38d76.tar.gz
volse-hubzilla-6103c301848105a3bca3de81e9982276b2c38d76.tar.bz2
volse-hubzilla-6103c301848105a3bca3de81e9982276b2c38d76.zip
provide optional salmon signatures for AP entities
-rw-r--r--Zotlabs/Module/Ap_probe.php15
-rw-r--r--include/feedutils.php8
2 files changed, 18 insertions, 5 deletions
diff --git a/Zotlabs/Module/Ap_probe.php b/Zotlabs/Module/Ap_probe.php
index 4649914d5..f788fa73a 100644
--- a/Zotlabs/Module/Ap_probe.php
+++ b/Zotlabs/Module/Ap_probe.php
@@ -11,7 +11,8 @@ class Ap_probe extends \Zotlabs\Web\Controller {
$o .= '<h3>ActivityPub Probe Diagnostic</h3>';
$o .= '<form action="ap_probe" method="get">';
- $o .= 'Lookup URI: <input type="text" style="width: 250px;" name="addr" value="' . $_GET['addr'] .'" />';
+ $o .= 'Lookup URI: <input type="text" style="width: 250px;" name="addr" value="' . $_GET['addr'] .'" /><br>';
+ $o .= 'Request Signed version: <input type=checkbox name="magenv" value="1" ><br>';
$o .= '<input type="submit" name="submit" value="Submit" /></form>';
$o .= '<br /><br />';
@@ -19,11 +20,15 @@ class Ap_probe extends \Zotlabs\Web\Controller {
if(x($_GET,'addr')) {
$addr = $_GET['addr'];
- $redirects = 0;
- $x = z_fetch_url($addr,true,$redirects,
- [ 'headers' => [ 'Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams"']]);
-logger('fetch: ' . print_r($x,true));
+ if($_GET['magenv']) {
+ $headers = 'Accept: application/magic-envelope+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams"';
+ }
+ else {
+ $headers = 'Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams"';
+ }
+ $redirects = 0;
+ $x = z_fetch_url($addr,true,$redirects, [ 'headers' => [ $headers ]]);
if($x['success'])
$o .= '<pre>' . str_replace('\\','',jindent($x['body'])) . '</pre>';
}
diff --git a/include/feedutils.php b/include/feedutils.php
index daab1a741..5d537553f 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -1973,6 +1973,14 @@ function asencode_person($p) {
if(array_key_exists('channel_id',$p)) {
$ret['inbox'] = z_root() . '/inbox/' . $p['channel_address'];
$ret['outbox'] = z_root() . '/outbox/' . $p['channel_address'];
+ $ret['me:magic_keys'] = [
+ [
+ 'value' => salmon_key($p['channel_pubkey']),
+ 'key_id' => base64url_encode(hash('sha256',salmon_key($p['channel_pubkey'])),true)
+ ]
+ ];
+
+
}
else {
$collections = get_xconfig($p['xchan_hash'],'activitystreams','collections',[]);