blob: 23d79bb1d3e9f51e79f529b2b0b38e930150189e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
<?php
function _well_known_init(&$a){
if(argc() > 1) {
$arr = array('server' => $_SERVER, 'request' => $_REQUEST);
call_hooks('well_known', $arr);
if(! check_siteallowed($_SERVER['REMOTE_ADDR'])) {
logger('well_known: site not allowed. ' . $_SERVER['REMOTE_ADDR']);
killme();
}
// from php.net re: REMOTE_HOST:
// Note: Your web server must be configured to create this variable. For example in Apache
// you'll need HostnameLookups On inside httpd.conf for it to exist. See also gethostbyaddr().
if(get_config('system','siteallowed_remote_host') && (! check_siteallowed($_SERVER['REMOTE_HOST']))) {
logger('well_known: site not allowed. ' . $_SERVER['REMOTE_HOST']);
killme();
}
switch(argv(1)) {
case 'zot-info':
App::$argc -= 1;
array_shift(App::$argv);
App::$argv[0] = 'zfinger';
require_once('mod/zfinger.php');
zfinger_init($a);
break;
case 'webfinger':
App::$argc -= 1;
array_shift(App::$argv);
App::$argv[0] = 'wfinger';
require_once('mod/wfinger.php');
wfinger_init($a);
break;
case 'host-meta':
App::$argc -= 1;
array_shift(App::$argv);
App::$argv[0] = 'hostxrd';
require_once('mod/hostxrd.php');
hostxrd_init($a);
break;
default:
if(file_exists(App::$cmd)) {
echo file_get_contents(App::$cmd);
killme();
}
elseif(file_exists(App::$cmd . '.php'))
require_once(App::$cmd . '.php');
break;
}
}
http_status_exit(404);
}
|