aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2019-03-14 09:38:46 +0100
committerMario <mario@mariovavti.com>2019-03-14 09:38:46 +0100
commit8769fa0156c470b533bdf23a0df5beb20bc1a4bd (patch)
tree38fe90a86f1aeb2f524157dbd0d1da354eea44c6 /include
parent6ed7f47b3f2eff415d8abc4766b9c7d08227219d (diff)
parentf4d733868739da9e8ad32e1544f6deabc26871cd (diff)
downloadvolse-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
Diffstat (limited to 'include')
-rw-r--r--include/hubloc.php36
-rwxr-xr-xinclude/items.php4
2 files changed, 38 insertions, 2 deletions
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;
}