2010-07-24 01:33:34 +02:00
|
|
|
<?php
|
2011-02-22 05:19:33 +01:00
|
|
|
|
2011-09-27 15:50:18 +02:00
|
|
|
require_once('include/crypto.php');
|
|
|
|
|
2011-08-05 07:37:45 +02:00
|
|
|
function hostxrd_init(&$a) {
|
2011-06-26 04:40:37 +02:00
|
|
|
header('Access-Control-Allow-Origin: *');
|
2010-10-12 13:39:32 +02:00
|
|
|
header("Content-type: text/xml");
|
2011-09-28 12:45:48 +02:00
|
|
|
$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);
|
|
|
|
}
|
|
|
|
|
2010-10-04 13:22:34 +02:00
|
|
|
$tpl = file_get_contents('view/xrd_host.tpl');
|
2011-09-19 11:13:59 +02:00
|
|
|
echo str_replace(array(
|
2011-09-29 00:07:01 +02:00
|
|
|
'$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);
|
2010-07-24 01:33:34 +02:00
|
|
|
session_write_close();
|
|
|
|
exit();
|
2011-02-22 05:19:33 +01:00
|
|
|
|
|
|
|
}
|