aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/crypto.php5
-rw-r--r--mod/xrd.php21
-rw-r--r--view/tpl/xrd_diaspora.tpl8
-rwxr-xr-xview/tpl/xrd_person.tpl10
4 files changed, 37 insertions, 7 deletions
diff --git a/include/crypto.php b/include/crypto.php
index c053dfae2..07655e24f 100644
--- a/include/crypto.php
+++ b/include/crypto.php
@@ -1,5 +1,8 @@
<?php /** @file */
+require_once('library/ASNValue.class.php');
+require_once('library/asn1.php');
+
function rsa_sign($data,$key,$alg = 'sha256') {
if(! $key)
return 'no key';
@@ -241,7 +244,6 @@ function metopem($m,$e) {
function pubrsatome($key,&$m,&$e) {
require_once('library/asn1.php');
- require_once('include/salmon.php');
$lines = explode("\n",$key);
unset($lines[0]);
@@ -266,7 +268,6 @@ function pemtorsa($key) {
}
function pemtome($key,&$m,&$e) {
- require_once('include/salmon.php');
$lines = explode("\n",$key);
unset($lines[0]);
unset($lines[count($lines)]);
diff --git a/mod/xrd.php b/mod/xrd.php
index 4d6a530e4..d059bec9b 100644
--- a/mod/xrd.php
+++ b/mod/xrd.php
@@ -22,7 +22,20 @@ function xrd_init(&$a) {
if(! $r)
killme();
-// $salmon_key = salmon_key($r[0]['pubkey']);
+ if(get_config('system','diaspora_enabled')) {
+ $tpl = get_markup_template('xrd_diaspora.tpl');
+ $dspr = replace_macros($tpl,array(
+ '$baseurl' => $a->get_baseurl(),
+ '$dspr_guid' => $r[0]['channel_guid'],
+ '$dspr_key' => base64_encode(pemtorsa($r[0]['channel_pubkey']))
+ ));
+ }
+ else
+ $dspr = '';
+
+
+
+ $salmon_key = salmon_key($r[0]['channel_pubkey']);
header('Access-Control-Allow-Origin: *');
header("Content-type: text/xml");
@@ -34,15 +47,15 @@ function xrd_init(&$a) {
'$nick' => $r[0]['channel_address'],
'$accturi' => $uri,
'$profile_url' => $a->get_baseurl() . '/channel/' . $r[0]['channel_address'],
-// '$hcard_url' => $a->get_baseurl() . '/hcard/' . $r[0]['channel_address'],
+ '$hcard_url' => $a->get_baseurl() . '/hcard/' . $r[0]['channel_address'],
'$atom' => $a->get_baseurl() . '/feed/' . $r[0]['channel_address'],
'$zot_post' => $a->get_baseurl() . '/post/' . $r[0]['channel_address'],
'$poco_url' => $a->get_baseurl() . '/poco/' . $r[0]['channel_address'],
'$photo' => $a->get_baseurl() . '/photo/profile/l/' . $r[0]['channel_id'],
-// '$dspr' => $dspr,
+ '$dspr' => $dspr,
// '$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['channel_address'],
// '$salmen' => $a->get_baseurl() . '/salmon/' . $r[0]['channel_address'] . '/mention',
-// '$modexp' => 'data:application/magic-public-key,' . $salmon_key,
+ '$modexp' => 'data:application/magic-public-key,' . $salmon_key,
// '$bigkey' => salmon_key($r[0]['pubkey'])
));
diff --git a/view/tpl/xrd_diaspora.tpl b/view/tpl/xrd_diaspora.tpl
new file mode 100644
index 000000000..143980bcc
--- /dev/null
+++ b/view/tpl/xrd_diaspora.tpl
@@ -0,0 +1,8 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+ <Link rel="http://joindiaspora.com/seed_location" type="text/html" href="{{$baseurl}}/" />
+ <Link rel="http://joindiaspora.com/guid" type="text/html" href="{{$dspr_guid}}" />
+ <Link rel="diaspora-public-key" type="RSA" href="{{$dspr_key}}" />
diff --git a/view/tpl/xrd_person.tpl b/view/tpl/xrd_person.tpl
index 20d438dd5..631ed3f18 100755
--- a/view/tpl/xrd_person.tpl
+++ b/view/tpl/xrd_person.tpl
@@ -14,5 +14,13 @@
<Link rel="http://webfinger.net/rel/avatar"
type="image/jpeg"
href="{{$photo}}" />
-
+ <Link rel="http://microformats.org/profile/hcard"
+ type="text/html"
+ href="{{$hcard_url}}" />
+
+ <Link rel="magic-public-key"
+ href="{{$modexp}}" />
+
+ {{$dspr}}
+
</XRD>