diff --git a/lib/postzord/receiver.rb b/lib/postzord/receiver.rb index db0af10e0937c5c0e0b397a0f1e0fc9053e30dd2..bfc56ab110e1fcfc4490d79b88eab605c0e0abd3 100644 --- a/lib/postzord/receiver.rb +++ b/lib/postzord/receiver.rb @@ -70,6 +70,11 @@ module Postzord @object.sender_handle = @sender.diaspora_handle end + # abort if we haven't received the post to a comment + if @object.is_a?(Comment) && @object.post.nil? + Rails.logger.info("event=receive status=abort reason='received a comment but no corresponding post' recipient=#{@user_person.diaspora_handle} sender=#{@sender.diaspora_handle} payload_type=#{@object.class})") + return false + end if (@author.diaspora_handle != xml_author) Rails.logger.info("event=receive status=abort reason='author in xml does not match retrieved person' payload_type=#{@object.class} recipient=#{@user_person.diaspora_handle} sender=#{@sender.diaspora_handle}")