aboutsummaryrefslogtreecommitdiffstats
path: root/include/channel.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2019-04-24 16:21:59 -0700
committerzotlabs <mike@macgirvin.com>2019-04-24 16:21:59 -0700
commitc88286556a29974ea6955a6fb683a0ff35705ea5 (patch)
treef269edece634d13bb567db01ccbfb970fa4903f4 /include/channel.php
parent831b9d443330cb806871ab06aaa977adafbe661e (diff)
downloadvolse-hubzilla-c88286556a29974ea6955a6fb683a0ff35705ea5.tar.gz
volse-hubzilla-c88286556a29974ea6955a6fb683a0ff35705ea5.tar.bz2
volse-hubzilla-c88286556a29974ea6955a6fb683a0ff35705ea5.zip
hubloc confusion during magic auth where hublocs with more than one network may exist
Diffstat (limited to 'include/channel.php')
-rw-r--r--include/channel.php11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/channel.php b/include/channel.php
index 654bbdb05..47a7b5a0e 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -1812,13 +1812,16 @@ function zid_init() {
call_hooks('zid_init', $arr);
if(! local_channel()) {
- $r = q("select * from hubloc where hubloc_addr = '%s' order by hubloc_connected desc limit 1",
+ $r = q("select * from hubloc where hubloc_addr = '%s' order by hubloc_connected desc",
dbesc($tmp_str)
);
if(! $r) {
Master::Summon(array('Gprobe',bin2hex($tmp_str)));
}
- if($r && remote_channel() && remote_channel() === $r[0]['hubloc_hash'])
+ if($r) {
+ $r = zot_record_preferred($r);
+ }
+ if($r && remote_channel() && remote_channel() === $r['hubloc_hash'])
return;
logger('Not authenticated. Invoking reverse magic-auth for ' . $tmp_str);
@@ -1826,8 +1829,8 @@ function zid_init() {
$query = App::$query_string;
$query = str_replace(array('?zid=','&zid='),array('?rzid=','&rzid='),$query);
$dest = '/' . $query;
- if($r && ($r[0]['hubloc_url'] != z_root()) && (! strstr($dest,'/magic')) && (! strstr($dest,'/rmagic'))) {
- goaway($r[0]['hubloc_url'] . '/magic' . '?f=&rev=1&owa=1&bdest=' . bin2hex(z_root() . $dest));
+ if($r && ($r['hubloc_url'] != z_root()) && (! strstr($dest,'/magic')) && (! strstr($dest,'/rmagic'))) {
+ goaway($r['hubloc_url'] . '/magic' . '?f=&rev=1&owa=1&bdest=' . bin2hex(z_root() . $dest));
}
else
logger('No hubloc found.');