aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mod/hostxrd.php25
-rw-r--r--view/xrd_host.tpl14
2 files changed, 32 insertions, 7 deletions
diff --git a/mod/hostxrd.php b/mod/hostxrd.php
index e057cccad..a1c24765b 100644
--- a/mod/hostxrd.php
+++ b/mod/hostxrd.php
@@ -5,6 +5,31 @@ require_once('include/crypto.php');
function hostxrd_init(&$a) {
header('Access-Control-Allow-Origin: *');
header("Content-type: text/xml");
+ $pubkey = get_config('system','site_pubkey');
+
+ if(! $pubkey) {
+
+ // should only have to ever do this once.
+
+ $res=openssl_pkey_new(array(
+ 'digest_alg' => 'sha1',
+ 'private_key_bits' => 4096,
+ 'encrypt_key' => false ));
+
+
+ $prvkey = '';
+
+ openssl_pkey_export($res, $prvkey);
+
+ // Get public key
+
+ $pkey = openssl_pkey_get_details($res);
+ $pubkey = $pkey["key"];
+
+ set_config('system','site_prvkey', $prvkey);
+ set_config('system','site_pubkey', $pubkey);
+ }
+
$tpl = file_get_contents('view/xrd_host.tpl');
echo str_replace(array(
'$zroot','$domain','$zot_post','$bigkey'),array(z_root(),z_path(),z_root() . '/post', salmon_key(get_config('system','site_pubkey'))),$tpl);
diff --git a/view/xrd_host.tpl b/view/xrd_host.tpl
index d27f948ac..ee34c1e46 100644
--- a/view/xrd_host.tpl
+++ b/view/xrd_host.tpl
@@ -8,22 +8,22 @@
<Link rel='acct-mgmt' href='$domain/amcd' />
<Link rel='http://services.mozilla.com/amcd/0.1' href='$domain/amcd' />
<Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml"
- href="$domain/oexchange/xrd" />
+ href="$domain/oexchange/xrd" />
<Link rel="http://purl.org/zot/1.0/post"
- href="$zot_post" />
+ href="$zot_post" />
<Property xmlns:zot="http://purl.og/zot/1.0"
- type="http://purl.org/zot/1.0/version"
- zot:version="1" />
+ type="http://purl.org/zot/1.0/version"
+ zot:version="1" />
<Property xmlns:zot="http://purl.og/zot/1.0"
type="http://purl.org/zot/1.0/accept"
zot:accept="application/atom+xml" />
- <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key"
- type="http://salmon-protocol.org/ns/magic-key"
- mk:key_id="1">$bigkey</Property>
+ <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key"
+ type="http://salmon-protocol.org/ns/magic-key"
+ mk:key_id="1">$bigkey</Property>
</XRD>