diff options
-rw-r--r-- | include/crypto.php | 5 | ||||
-rw-r--r-- | mod/xrd.php | 21 | ||||
-rw-r--r-- | view/tpl/xrd_diaspora.tpl | 8 | ||||
-rwxr-xr-x | view/tpl/xrd_person.tpl | 10 |
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> |