From f84453497bd5ef4eba8bca84917b8e82d784937a Mon Sep 17 00:00:00 2001 From: habeascodice Date: Tue, 7 Oct 2014 22:34:30 -0700 Subject: x --- include/photo/photo_driver.php | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 42997060b..15eac5a6d 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -8,6 +8,7 @@ function photo_factory($data, $type = null) { if(class_exists('Imagick') && !$ignore_imagick) { $v = Imagick::getVersion(); preg_match('/ImageMagick ([0-9]+\.[0-9]+\.[0-9]+)/', $v['versionString'], $m); + logger('image v='.$v.',v[ver]='.$v['versionString'].',matches='.var_export($m, true), LOGGER_DEBUG); if(version_compare($m[1],'6.6.7') >= 0) { require_once('include/photo/photo_imagick.php'); $ph = new photo_imagick($data,$type); -- cgit v1.2.3 From 4634049549fb0ee7350bb6328f24b36c21a19855 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 9 Oct 2014 20:59:33 -0700 Subject: allow (our own) ajax urls to pass through bbcode intact. --- include/bbcode.php | 4 ++-- include/items.php | 1 + include/zot.php | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/bbcode.php b/include/bbcode.php index d7a5ac457..6b7217f91 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -162,7 +162,7 @@ function bb_parse_app($match) { function bb_parse_element($match) { $j = json_decode(base64url_decode($match[1]),true); if($j) { - $o = EOL . '' . t('Install design element: ') . $j['pagetitle'] . '' . EOL; + $o = EOL . '' . t('Install design element: ') . $j['pagetitle'] . '' . EOL; } return $o; } @@ -823,7 +823,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { // fix any escaped ampersands that may have been converted into links $Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text); - $Text = preg_replace("/\<(.*?)(src|href)=\"[^hfm](.*?)\>/ism",'<$1$2="">',$Text); + $Text = preg_replace("/\<(.*?)(src|href)=\"[^hfm#](.*?)\>/ism",'<$1$2="">',$Text); call_hooks('bbcode',$Text); diff --git a/include/items.php b/include/items.php index a930a7c3e..e64e91dc3 100755 --- a/include/items.php +++ b/include/items.php @@ -2072,6 +2072,7 @@ function item_store($arr,$allow_exec = false) { return $ret; } + // is the new message multi-level threaded? // even though we don't support it now, preserve the info // and re-attach to the conversation parent. diff --git a/include/zot.php b/include/zot.php index 9ea92aed8..63a5645d3 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1472,11 +1472,12 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) { $arr['uid'] = $channel['channel_id']; update_imported_item($sender,$arr,$channel['channel_id']); $result[] = array($d['hash'],'updated',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); + $item_id = $r[0]['id']; } else { $result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); + continue; } - $item_id = $r[0]['id']; } else { $arr['aid'] = $channel['channel_account_id']; -- cgit v1.2.3 From cde244ef74eba47749f910b09b23f92862907eda Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 00:13:46 -0700 Subject: improvement in source route checking when handling complex *upstream* delivery chains, which were not adequately accounted for in the earlier checkin. --- include/zot.php | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/zot.php b/include/zot.php index 63a5645d3..1706153dd 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1420,8 +1420,8 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) { $result[] = array($d['hash'],'permission denied',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); continue; } - - if(($arr['mid'] != $arr['parent_mid']) && (! $relay)) { + + if($arr['mid'] != $arr['parent_mid']) { // check source route. // We are only going to accept comments from this sender if the comment has the same route as the top-level-post, @@ -1437,11 +1437,24 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) { $result[] = array($d['hash'],'comment parent not found',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); continue; } - $current_route = (($arr['route']) ? $arr['route'] . ',' : '') . $sender['hash']; + if($relay) { + // reset the route in case it travelled a great distance upstream + // use our parent's route so when we go back downstream we'll match + // with whatever route our parent has. + $arr['route'] = $r[0]['route']; + } + else { - if($r[0]['route'] != $current_route) { - $result[] = array($d['hash'],'comment route mismatch',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); - continue; + // going downstream check that we have the same upstream provider that + // sent it to us originally. Ignore it if it came from another source + // (with potentially different permissions) + + $current_route = (($arr['route']) ? $arr['route'] . ',' : '') . $sender['hash']; + + if($r[0]['route'] != $current_route) { + $result[] = array($d['hash'],'comment route mismatch',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); + continue; + } } } -- cgit v1.2.3 From 5bfde822584b5432a75497afea55af6d0a74472a Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 13:56:31 -0700 Subject: make sure diaspora comments get the correct route --- include/diaspora.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/diaspora.php b/include/diaspora.php index d288e1435..a16c4e0ae 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -2446,6 +2446,10 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { else return; + // set the route to that of the parent so downstream hubs won't reject it. + + $item['route'] = $parent['route']; + if(($item['verb'] === ACTIVITY_LIKE) && ($parent['mid'] === $parent['parent_mid'])) { $tpl = get_markup_template('diaspora_like.tpl'); $like = true; -- cgit v1.2.3 From aae1d11de8c6a30c72c6d1362739f3eb13b2696d Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 14:04:05 -0700 Subject: reset route to parent route on Diaspora comments flowing upstream so they won't be rejected going downstream --- include/diaspora.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/diaspora.php b/include/diaspora.php index a16c4e0ae..028e2674f 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1379,6 +1379,8 @@ function diaspora_comment($importer,$xml,$msg) { $datarray['mid'] = $guid; $datarray['parent_mid'] = $parent_item['mid']; + // set the route to that of the parent so downstream hubs won't reject it. + $datarray['route'] = $parent_item['route']; // No timestamps for comments? OK, we'll the use current time. $datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert(); @@ -1968,6 +1970,9 @@ function diaspora_like($importer,$xml,$msg) { $arr['app'] = 'Diaspora'; + // set the route to that of the parent so downstream hubs won't reject it. + $arr['route'] = $parent_item['route']; + $arr['item_private'] = $parent_item['item_private']; $arr['verb'] = $activity; $arr['obj_type'] = $objtype; @@ -2446,9 +2451,6 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { else return; - // set the route to that of the parent so downstream hubs won't reject it. - - $item['route'] = $parent['route']; if(($item['verb'] === ACTIVITY_LIKE) && ($parent['mid'] === $parent['parent_mid'])) { $tpl = get_markup_template('diaspora_like.tpl'); -- cgit v1.2.3 From 0991a5a494efcd1357e37a1144feb30b586ad891 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 14:11:13 -0700 Subject: remove remnants of old signing structure - now using diaspora_meta --- include/diaspora.php | 7 ------- 1 file changed, 7 deletions(-) (limited to 'include') diff --git a/include/diaspora.php b/include/diaspora.php index 028e2674f..fb321a813 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1406,13 +1406,6 @@ function diaspora_comment($importer,$xml,$msg) { $message_id = $result['item_id']; if(($parent_item['item_flags'] & ITEM_ORIGIN) && (! $parent_author_signature)) { - q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", - intval($message_id), - dbesc($signed_data), - dbesc(base64_encode($author_signature)), - dbesc($diaspora_handle) - ); - // if the message isn't already being relayed, notify others // the existence of parent_author_signature means the parent_author or owner // is already relaying. -- cgit v1.2.3 From b5f91d7b4016831f3b62c77450c365d872bba169 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 14:45:18 -0700 Subject: missing source route after edit --- include/items.php | 2 +- include/zot.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/items.php b/include/items.php index e64e91dc3..c4ae948b8 100755 --- a/include/items.php +++ b/include/items.php @@ -2415,7 +2415,7 @@ function item_store_update($arr,$allow_exec = false) { $arr['commented'] = $orig[0]['commented']; $arr['received'] = datetime_convert(); $arr['changed'] = datetime_convert(); - + $arr['route'] = ((array_key_exists('route',$arr)) ? trim($arr['route']) : $orig[0]['route']); $arr['diaspora_meta'] = ((x($arr,'diaspora_meta')) ? $arr['diaspora_meta'] : $orig[0]['diaspora_meta']); $arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : $orig[0]['location']); $arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : $orig[0]['coord']); diff --git a/include/zot.php b/include/zot.php index 1706153dd..21e284c77 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1486,6 +1486,8 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) { update_imported_item($sender,$arr,$channel['channel_id']); $result[] = array($d['hash'],'updated',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); $item_id = $r[0]['id']; + if(! $relay) + add_source_route($item_id,$sender['hash']); } else { $result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); -- cgit v1.2.3 From f26cd5a636d0a1de4cef66d26da505e8a29b1b40 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 15:17:32 -0700 Subject: ah yes, the redundant relay run was for the benefit of wall-to-wall posts issue #633 --- include/zot.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'include') diff --git a/include/zot.php b/include/zot.php index 21e284c77..fda2a2bea 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1480,18 +1480,17 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) { intval($channel['channel_id']) ); if($r) { + $item_id = $r[0]['id']; if($arr['edited'] > $r[0]['edited']) { $arr['id'] = $r[0]['id']; $arr['uid'] = $channel['channel_id']; update_imported_item($sender,$arr,$channel['channel_id']); $result[] = array($d['hash'],'updated',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); - $item_id = $r[0]['id']; if(! $relay) add_source_route($item_id,$sender['hash']); } else { $result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']); - continue; } } else { -- cgit v1.2.3 From 3d0d36b2bc6d134e1140b9fc8c40206be5bd7d2d Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 10 Oct 2014 19:14:37 -0700 Subject: fix diaspora reshare tags --- include/externals.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/externals.php b/include/externals.php index acfaae3b6..280daf4a4 100644 --- a/include/externals.php +++ b/include/externals.php @@ -85,6 +85,8 @@ function externals_run($argv, $argc){ if($j['success'] && $j['messages']) { $sys = get_sys_channel(); foreach($j['messages'] as $message) { + // on these posts, clear any route info. + $message['route'] = ''; $results = process_delivery(array('hash' => 'undefined'), get_item_elements($message), array(array('hash' => $sys['xchan_hash'])), false, true); $total ++; -- cgit v1.2.3