]> git.mxchange.org Git - friendica.git/blobdiff - mod/hostxrd.php
Merge branch 'pull'
[friendica.git] / mod / hostxrd.php
old mode 100644 (file)
new mode 100755 (executable)
index e057ccc..fe61a87
@@ -5,9 +5,34 @@ 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);
+               '$zhost','$zroot','$domain','$zot_post','$bigkey'),array($a->get_hostname(),z_root(),z_path(),z_root() . '/post', salmon_key(get_config('system','site_pubkey'))),$tpl);
        session_write_close();
        exit();