diff options
author | Mario <mario@mariovavti.com> | 2019-03-14 09:38:46 +0100 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2019-03-14 09:38:46 +0100 |
commit | 8769fa0156c470b533bdf23a0df5beb20bc1a4bd (patch) | |
tree | 38fe90a86f1aeb2f524157dbd0d1da354eea44c6 | |
parent | 6ed7f47b3f2eff415d8abc4766b9c7d08227219d (diff) | |
parent | f4d733868739da9e8ad32e1544f6deabc26871cd (diff) | |
download | volse-hubzilla-8769fa0156c470b533bdf23a0df5beb20bc1a4bd.tar.gz volse-hubzilla-8769fa0156c470b533bdf23a0df5beb20bc1a4bd.tar.bz2 volse-hubzilla-8769fa0156c470b533bdf23a0df5beb20bc1a4bd.zip |
Merge branch 'dev' into 'dev'
two compatibility issues zot/zot6
See merge request hubzilla/core!1553
-rw-r--r-- | Zotlabs/Daemon/Cron_daily.php | 1 | ||||
-rw-r--r-- | Zotlabs/Daemon/Poller.php | 1 | ||||
-rw-r--r-- | include/hubloc.php | 36 | ||||
-rwxr-xr-x | include/items.php | 4 |
4 files changed, 40 insertions, 2 deletions
diff --git a/Zotlabs/Daemon/Cron_daily.php b/Zotlabs/Daemon/Cron_daily.php index f0351fcdd..dbfcff439 100644 --- a/Zotlabs/Daemon/Cron_daily.php +++ b/Zotlabs/Daemon/Cron_daily.php @@ -85,6 +85,7 @@ class Cron_daily { Master::Summon(array('Cli_suggest')); remove_obsolete_hublocs(); + z6_discover(); call_hooks('cron_daily',datetime_convert()); diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php index a8cf34ce2..84bf7e923 100644 --- a/Zotlabs/Daemon/Poller.php +++ b/Zotlabs/Daemon/Poller.php @@ -199,6 +199,7 @@ class Poller { set_config('system','lastpoll',datetime_convert()); //All done - clear the lockfile + @unlink($lockfile); return; diff --git a/include/hubloc.php b/include/hubloc.php index b2903b0ee..7cb00f788 100644 --- a/include/hubloc.php +++ b/include/hubloc.php @@ -305,3 +305,39 @@ function ping_site($url) { return $ret; } + + +function z6_discover() { + + // find unregistered zot6 clone hublocs + + $c = q("select channel_hash, portable_id from channel where channel_deleted = 0"); + if ($c) { + foreach ($c as $entry) { + $q1 = q("select * from hubloc left join site on hubloc_url = site_url where hubloc_deleted = 0 and site_dead = 0 and hubloc_hash = '%s' and hubloc_url != '%s'", + dbesc($entry['channel_hash']), + dbesc(z_root()) + ); + if (! $q1) { + // channel has no zot clones + continue; + } + // does this particular server have a zot6 clone registered on our site for this channel? + foreach ($q1 as $q) { + $q2 = q("select * from hubloc left join site on hubloc_url = site_url where hubloc_deleted = 0 and site_dead = 0 and hubloc_hash = '%s' and hubloc_url = '%s'", + dbesc($entry['portable_id']), + dbesc($q['hubloc_url']) + ); + if ($q2) { + continue; + } + // zot6 hubloc not found. + if(strpos($entry['site_project'],'hubzilla') !== false && version_compare($entry['site_version'],'4.0') >= 0) { + // probe and store results - only for zot6 (over-ride the zot default) + discover_by_webbie($entry['hubloc_addr'],'zot6'); + } + } + } + } + +}
\ No newline at end of file diff --git a/include/items.php b/include/items.php index 6bb453bc8..c9c2e2d48 100755 --- a/include/items.php +++ b/include/items.php @@ -763,11 +763,11 @@ function get_item_elements($x,$allow_code = false) { // check the supplied signature against the supplied content. // Note that we will purify the content which could change it. - $r = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1", + $r = q("select xchan_pubkey, xchan_network from xchan where xchan_hash = '%s' limit 1", dbesc($arr['author_xchan']) ); if($r) { - if($r[0]['xchan_pubkey']) { + if($r[0]['xchan_pubkey'] && $r[0]['xchan_network'] === 'zot') { if(rsa_verify($x['body'],base64url_decode($arr['sig']),$r[0]['xchan_pubkey'])) { $arr['item_verified'] = 1; } |