snakebite: bring back some of the legacy XML discovery interfaces, update as required.
This commit is contained in:
parent
60a9b3a699
commit
0a097b8337
@ -19,6 +19,13 @@ function _well_known_init(&$a){
|
|||||||
require_once('mod/wfinger.php');
|
require_once('mod/wfinger.php');
|
||||||
wfinger_init($a);
|
wfinger_init($a);
|
||||||
break;
|
break;
|
||||||
|
case 'host-meta':
|
||||||
|
$a->argc -= 1;
|
||||||
|
array_shift($a->argv);
|
||||||
|
$a->argv[0] = 'hostxrd';
|
||||||
|
require_once('mod/hostxrd.php');
|
||||||
|
hostxrd_init($a);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1,28 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/crypto.php');
|
|
||||||
|
|
||||||
function hostxrd_init(&$a) {
|
function hostxrd_init(&$a) {
|
||||||
header('Access-Control-Allow-Origin: *');
|
header('Access-Control-Allow-Origin: *');
|
||||||
header("Content-type: text/xml");
|
header("Content-type: text/xml");
|
||||||
$pubkey = get_config('system','site_pubkey');
|
|
||||||
|
|
||||||
if(! $pubkey) {
|
|
||||||
$res = new_keypair(1024);
|
|
||||||
|
|
||||||
set_config('system','site_prvkey', $res['prvkey']);
|
|
||||||
set_config('system','site_pubkey', $res['pubkey']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$tpl = get_markup_template('xrd_host.tpl');
|
$tpl = get_markup_template('xrd_host.tpl');
|
||||||
echo replace_macros($tpl, array(
|
$x = replace_macros(get_markup_template('xrd_host.tpl'), array(
|
||||||
'$zhost' => $a->get_hostname(),
|
'$zhost' => $a->get_hostname(),
|
||||||
'$zroot' => z_root(),
|
'$zroot' => z_root()
|
||||||
'$domain' => z_path(),
|
|
||||||
'$zot_post' => z_root() . '/post',
|
|
||||||
'$bigkey' => salmon_key(get_config('system','site_pubkey')),
|
|
||||||
));
|
));
|
||||||
session_write_close();
|
$arr = array('xrd' => $x);
|
||||||
exit();
|
call_hooks('hostxrd',$arr);
|
||||||
|
echo $arr['xrd'];
|
||||||
|
killme();
|
||||||
}
|
}
|
||||||
|
33
mod/xrd.php
33
mod/xrd.php
@ -16,35 +16,34 @@ function xrd_init(&$a) {
|
|||||||
$name = substr($local,0,strpos($local,'@'));
|
$name = substr($local,0,strpos($local,'@'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1",
|
$r = q("SELECT * FROM channel WHERE channel_address = '%s' LIMIT 1",
|
||||||
dbesc($name)
|
dbesc($name)
|
||||||
);
|
);
|
||||||
if(! count($r))
|
if(! $r)
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
$salmon_key = salmon_key($r[0]['pubkey']);
|
// $salmon_key = salmon_key($r[0]['pubkey']);
|
||||||
|
|
||||||
header('Access-Control-Allow-Origin: *');
|
header('Access-Control-Allow-Origin: *');
|
||||||
header("Content-type: text/xml");
|
header("Content-type: text/xml");
|
||||||
|
|
||||||
$dspr = '';
|
|
||||||
|
|
||||||
$tpl = get_markup_template('view/xrd_person.tpl');
|
$tpl = get_markup_template('view/xrd_person.tpl');
|
||||||
|
|
||||||
$o = replace_macros($tpl, array(
|
$o = replace_macros(get_markup_template('xrd_person.tpl'), array(
|
||||||
'$nick' => $r[0]['nickname'],
|
'$nick' => $r[0]['channel_address'],
|
||||||
'$accturi' => $uri,
|
'$accturi' => $uri,
|
||||||
'$profile_url' => $a->get_baseurl() . '/channel/' . $r[0]['nickname'],
|
'$profile_url' => $a->get_baseurl() . '/channel/' . $r[0]['channel_address'],
|
||||||
'$hcard_url' => $a->get_baseurl() . '/hcard/' . $r[0]['nickname'],
|
// '$hcard_url' => $a->get_baseurl() . '/hcard/' . $r[0]['channel_address'],
|
||||||
'$atom' => $a->get_baseurl() . '/dfrn_poll/' . $r[0]['nickname'],
|
'$atom' => $a->get_baseurl() . '/feed/' . $r[0]['channel_address'],
|
||||||
'$zot_post' => $a->get_baseurl() . '/post/' . $r[0]['nickname'],
|
'$zot_post' => $a->get_baseurl() . '/post/' . $r[0]['channel_address'],
|
||||||
'$poco_url' => $a->get_baseurl() . '/poco/' . $r[0]['nickname'],
|
'$poco_url' => $a->get_baseurl() . '/poco/' . $r[0]['channel_address'],
|
||||||
'$photo' => $a->get_baseurl() . '/photo/profile/' . $r[0]['uid'],
|
'$photo' => $a->get_baseurl() . '/photo/profile/l/' . $r[0]['channel_id'],
|
||||||
'$dspr' => $dspr,
|
// '$dspr' => $dspr,
|
||||||
'$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'],
|
// '$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['channel_address'],
|
||||||
'$salmen' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'] . '/mention',
|
// '$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'])
|
// '$bigkey' => salmon_key($r[0]['pubkey'])
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
2014-04-01.634
|
2014-04-02.635
|
||||||
|
@ -4,15 +4,8 @@
|
|||||||
|
|
||||||
<hm:Host>{{$zhost}}</hm:Host>
|
<hm:Host>{{$zhost}}</hm:Host>
|
||||||
|
|
||||||
<Link rel='lrdd' template='{{$domain}}/xrd/?uri={uri}' />
|
<Link rel='lrdd' template='{{$zroot}}/xrd/?uri={uri}' />
|
||||||
<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"
|
<Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml"
|
||||||
href="{{$domain}}/oexchange/xrd" />
|
href="{{$zroot}}/oexchange/xrd" />
|
||||||
|
|
||||||
<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>
|
</XRD>
|
||||||
|
@ -2,28 +2,17 @@
|
|||||||
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
|
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
|
||||||
|
|
||||||
<Subject>{{$accturi}}</Subject>
|
<Subject>{{$accturi}}</Subject>
|
||||||
<Alias>{{$accturi}}</Alias>
|
|
||||||
<Alias>{{$profile_url}}</Alias>
|
|
||||||
|
|
||||||
<Link rel="http://purl.org/macgirvin/dfrn/1.0"
|
|
||||||
href="{{$profile_url}}" />
|
|
||||||
<Link rel="http://schemas.google.com/g/2010#updates-from"
|
<Link rel="http://schemas.google.com/g/2010#updates-from"
|
||||||
type="application/atom+xml"
|
type="application/atom+xml"
|
||||||
href="{{$atom}}" />
|
href="{{$atom}}" />
|
||||||
<Link rel="http://webfinger.net/rel/profile-page"
|
<Link rel="http://webfinger.net/rel/profile-page"
|
||||||
type="text/html"
|
type="text/html"
|
||||||
href="{{$profile_url}}" />
|
href="{{$profile_url}}" />
|
||||||
<Link rel="http://microformats.org/profile/hcard"
|
|
||||||
type="text/html"
|
|
||||||
href="{{$hcard_url}}" />
|
|
||||||
<Link rel="http://portablecontacts.net/spec/1.0"
|
<Link rel="http://portablecontacts.net/spec/1.0"
|
||||||
href="{{$poco_url}}" />
|
href="{{$poco_url}}" />
|
||||||
<Link rel="http://webfinger.net/rel/avatar"
|
<Link rel="http://webfinger.net/rel/avatar"
|
||||||
type="image/jpeg"
|
type="image/jpeg"
|
||||||
href="{{$photo}}" />
|
href="{{$photo}}" />
|
||||||
|
|
||||||
<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>
|
</XRD>
|
||||||
|
Reference in New Issue
Block a user