diff options
Diffstat (limited to 'include/zot.php')
-rw-r--r-- | include/zot.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/zot.php b/include/zot.php index 2bc54e6f3..58cb9a8cc 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1503,7 +1503,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque // sent it to us originally. Ignore it if it came from another source // (with potentially different permissions). // only compare the last hop since it could have arrived at the last location any number of ways. - // Always accept empty routes. + // Always accept empty routes and firehose items (route contains 'undefined') . $existing_route = explode(',', $r[0]['route']); $routes = count($existing_route); @@ -1515,10 +1515,13 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque $last_hop = ''; $last_prior_route = ''; } + + if(in_array('undefined',$existing_route) || $last_hop == 'undefined' || $sender['hash'] == 'undefined') + $last_hop = ''; $current_route = (($arr['route']) ? $arr['route'] . ',' : '') . $sender['hash']; - if($last_hop && $last_hop != $sender['hash'] && $sender['hash'] != 'undefined') { + if($last_hop && $last_hop != $sender['hash']) { logger('comment route mismatch: parent route = ' . $r[0]['route'] . ' expected = ' . $current_route, LOGGER_DEBUG); logger('comment route mismatch: parent msg = ' . $r[0]['id'],LOGGER_DEBUG); $result[] = array($d['hash'],'comment route mismatch',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); @@ -2404,7 +2407,7 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) { logger('packet: ' . print_r($packet,true),LOGGER_DATA); if(! $uid) - $uid = local_user(); + $uid = local_channel(); if(! $uid) return; |