tweaks to directory registrations which don't seem to be happening, also downgrade any directory that claims to be a primary directory for RED_GLOBAL.
This commit is contained in:
parent
24ebaaf0f7
commit
b1fd6c53a5
@ -166,8 +166,8 @@ function poller_run($argv, $argc){
|
|||||||
);
|
);
|
||||||
|
|
||||||
$dirmode = intval(get_config('system','directory_mode'));
|
$dirmode = intval(get_config('system','directory_mode'));
|
||||||
if($dirmode == DIRECTORY_MODE_SECONDARY) {
|
if($dirmode === DIRECTORY_MODE_SECONDARY) {
|
||||||
logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . z_root() . '&realm=' . get_directory_realm()),true));
|
logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())),true));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2536,6 +2536,9 @@ function import_site($arr,$pubkey) {
|
|||||||
if($arr['directory_mode'] == 'standalone')
|
if($arr['directory_mode'] == 'standalone')
|
||||||
$site_directory = DIRECTORY_MODE_STANDALONE;
|
$site_directory = DIRECTORY_MODE_STANDALONE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$register_policy = 0;
|
$register_policy = 0;
|
||||||
if($arr['register_policy'] == 'closed')
|
if($arr['register_policy'] == 'closed')
|
||||||
$register_policy = REGISTER_CLOSED;
|
$register_policy = REGISTER_CLOSED;
|
||||||
@ -2573,6 +2576,17 @@ function import_site($arr,$pubkey) {
|
|||||||
$site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false);
|
$site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false);
|
||||||
$site_realm = htmlspecialchars($arr['realm'],ENT_COMPAT,'UTF-8',false);
|
$site_realm = htmlspecialchars($arr['realm'],ENT_COMPAT,'UTF-8',false);
|
||||||
|
|
||||||
|
// You can have one and only one primary directory per realm.
|
||||||
|
// Downgrade any others claiming to be primary. As they have
|
||||||
|
// flubbed up this badly already, don't let them be directory servers at all.
|
||||||
|
|
||||||
|
if(($site_directory === DIRECTORY_MODE_PRIMARY)
|
||||||
|
&& ($site_realm === get_directory_realm())
|
||||||
|
&& ($arr['url'] != get_directory_primary())) {
|
||||||
|
$site_directory = DIRECTORY_MODE_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if($exists) {
|
if($exists) {
|
||||||
if(($siterecord['site_flags'] != $site_directory)
|
if(($siterecord['site_flags'] != $site_directory)
|
||||||
|| ($siterecord['site_access'] != $access_policy)
|
|| ($siterecord['site_access'] != $access_policy)
|
||||||
|
@ -78,11 +78,11 @@ function regdir_init(&$a) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
// We can put this in the sql without the condition after 31 march 2015 assuming
|
// We can put this in the sql without the condition after 31 april 2015 assuming
|
||||||
// most directory servers will have updated by then
|
// most directory servers will have updated by then
|
||||||
// This just makes sure it happens if I forget
|
// This just makes sure it happens if I forget
|
||||||
|
|
||||||
$sql_extra = ((datetime_convert() > datetime_convert('UTC','UTC','2015-03-31')) ? ' and site_valid = 1 ' : '' );
|
$sql_extra = ((datetime_convert() > datetime_convert('UTC','UTC','2015-04-31')) ? ' and site_valid = 1 ' : '' );
|
||||||
if($dirmode == DIRECTORY_MODE_STANDALONE) {
|
if($dirmode == DIRECTORY_MODE_STANDALONE) {
|
||||||
$r = array(array('site_url' => z_root()));
|
$r = array(array('site_url' => z_root()));
|
||||||
}
|
}
|
||||||
|
@ -239,11 +239,6 @@ function zfinger_init(&$a) {
|
|||||||
if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL))
|
if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL))
|
||||||
$ret['site']['directory_mode'] = 'normal';
|
$ret['site']['directory_mode'] = 'normal';
|
||||||
|
|
||||||
// downgrade mis-configured primaries
|
|
||||||
|
|
||||||
if($dirmode == DIRECTORY_MODE_PRIMARY && z_root() != get_directory_primary())
|
|
||||||
$dirmode = DIRECTORY_MODE_SECONDARY;
|
|
||||||
|
|
||||||
if($dirmode == DIRECTORY_MODE_PRIMARY)
|
if($dirmode == DIRECTORY_MODE_PRIMARY)
|
||||||
$ret['site']['directory_mode'] = 'primary';
|
$ret['site']['directory_mode'] = 'primary';
|
||||||
elseif($dirmode == DIRECTORY_MODE_SECONDARY)
|
elseif($dirmode == DIRECTORY_MODE_SECONDARY)
|
||||||
|
Reference in New Issue
Block a user