From 521641f3a8e9d3b217e60baaf4fa3e5890108a4e Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Apr 2016 21:51:18 -0700 Subject: filter out a bit more dreport noise - especially for private posts to multiple recipients. --- include/zot.php | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include') diff --git a/include/zot.php b/include/zot.php index 0cdf7fc87..9d9f9ab5f 100644 --- a/include/zot.php +++ b/include/zot.php @@ -4048,6 +4048,17 @@ function delivery_report_is_storable($dr) { if(($dr['location'] !== z_root()) && ($dr['sender'] === $rxchan) && ($dr['status'] === 'recipient_not_found')) return false; + // If you have a private post with a recipient list, every single site is going to report + // back a failed delivery for anybody on that list that isn't local to them. We're only + // concerned about this if we have a local hubloc record which says we expected them to + // have a channel on that site. + + $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and hubloc_url = '%s'", + dbesc($rxchan), + dbesc($dr['location']) + ); + if((! $r) && ($dr['status'] === 'recipient_not_found')) + return false; $r = q("select abook_id from abook where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($rxchan), -- cgit v1.2.3