From: Mike Macgirvin <mike@macgirvin.com>
Date: Tue, 12 Oct 2010 11:07:03 +0000 (-0700)
Subject: inline salmon magic keys
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=013d2604f886bc7cbd2c5263d3577e8cf40f9fcc;p=friendica.git

inline salmon magic keys
---

diff --git a/include/salmon.php b/include/salmon.php
new file mode 100644
index 0000000000..7198f07c60
--- /dev/null
+++ b/include/salmon.php
@@ -0,0 +1,18 @@
+<?php
+
+require_once('library/asn1.php');
+
+function salmon_key($pubkey) {
+	$lines = explode("\n",$pubkey);
+	unset($lines[0]);
+	unset($lines[count($lines)]);
+	$x = base64_decode(implode('',$lines));
+
+	$r = ASN_BASE::parseASNString($x);
+
+	$m = $r[0]->asnData[1]->asnData[0]->asnData[0]->asnData;
+	$e = $r[0]->asnData[1]->asnData[0]->asnData[1]->asnData;
+
+
+	return 'RSA' . '.' . $m . '.' . $e ;
+}
diff --git a/mod/modexp.php b/mod/modexp.php
index d424b4c39d..715ffe30c8 100644
--- a/mod/modexp.php
+++ b/mod/modexp.php
@@ -8,14 +8,14 @@ function modexp_init(&$a) {
 		killme();
 
 	$nick = $a->argv[1];
-	$r = q("SELECT `pubkey` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
+	$r = q("SELECT `spubkey` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
 			dbesc($nick)
 	);
 
 	if(! count($r))
 		killme();
 
-	$lines = explode("\n",$r[0]['pubkey']);
+	$lines = explode("\n",$r[0]['spubkey']);
 	unset($lines[0]);
 	unset($lines[count($lines)]);
 	$x = base64_decode(implode('',$lines));
@@ -30,4 +30,5 @@ function modexp_init(&$a) {
 
 	killme();
 
-}
\ No newline at end of file
+}
+
diff --git a/mod/xrd.php b/mod/xrd.php
index 06b2442b23..53985e10c1 100644
--- a/mod/xrd.php
+++ b/mod/xrd.php
@@ -1,5 +1,6 @@
 <?php
 
+require_once('salmon.php');
 
 function xrd_content(&$a) {
 
@@ -16,6 +17,11 @@ function xrd_content(&$a) {
 	if(! count($r))
 		killme();
 
+	$salmon_key = salmon_key($r[0]['spubkey']);
+
+
+
+
 	$tpl = load_view_file('view/xrd_person.tpl');
 
 	$o = replace_macros($tpl, array(
@@ -23,10 +29,10 @@ function xrd_content(&$a) {
 		'$profile_url' => $a->get_baseurl() . '/profile/' . $r[0]['nickname'],
 		'$photo' => $a->get_baseurl() . '/photo/profile/' . $r[0]['uid'],
 		'$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'] . '/mention',
-		'$modexp' => $a->get_baseurl() . '/modexp/' . $r[0]['nickname']
+		'$modexp' => 'data:application/magic-public-key,' . $salmon_key
 	));
 
 	echo $o;
 	killme();
 
-}
\ No newline at end of file
+}
diff --git a/view/xrd_person.tpl b/view/xrd_person.tpl
index ba9bc64db1..d7ce13efab 100644
--- a/view/xrd_person.tpl
+++ b/view/xrd_person.tpl
@@ -15,8 +15,6 @@
     <Link rel='http://webfinger.net/rel/avatar'
           href='$photo' />
     <Link rel="salmon" href="$salmon" />
-	<Link rel="magic-public-key" 
-		type="application/magic-public-key"
-		href="$modexp" />
+    <Link rel="magic-public-key" href="$modexp" />
  
 </XRD>