make the old personal xrd interface (old webfinger) work again

This commit is contained in:
friendica 2014-08-21 17:42:19 -07:00
parent 831714f0f0
commit 921799b045
4 changed files with 37 additions and 7 deletions

View File

@ -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)]);

View File

@ -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'])
));

View File

@ -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}}" />

View File

@ -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>