You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2019/05/30 18:24:15 UTC
[allura] 02/02: [#8289] don't error if no request ip
This is an automated email from the ASF dual-hosted git repository.
brondsem pushed a commit to branch db/8289
in repository https://gitbox.apache.org/repos/asf/allura.git
commit 4a0df37c2a3893206d2454655970d35c70dc5260
Author: Dave Brondsema <da...@brondsema.net>
AuthorDate: Thu May 30 14:05:57 2019 -0400
[#8289] don't error if no request ip
---
Allura/allura/lib/spam/stopforumspamfilter.py | 9 ++++++---
Allura/allura/tests/unit/spam/test_stopforumspam.py | 3 +++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/Allura/allura/lib/spam/stopforumspamfilter.py b/Allura/allura/lib/spam/stopforumspamfilter.py
index 4e7a497..616d99f 100644
--- a/Allura/allura/lib/spam/stopforumspamfilter.py
+++ b/Allura/allura/lib/spam/stopforumspamfilter.py
@@ -57,7 +57,10 @@ class StopForumSpamSpamFilter(SpamFilter):
def check(self, text, artifact=None, user=None, content_type='comment', **kw):
ip = utils.ip_address(request)
- ip_int = int(ipaddress.ip_address(unicode(ip)))
- res = ip_int in self.packed_ips
- self.record_result(res, artifact, user)
+ if ip:
+ ip_int = int(ipaddress.ip_address(unicode(ip)))
+ res = ip_int in self.packed_ips
+ self.record_result(res, artifact, user)
+ else:
+ res = False
return res
diff --git a/Allura/allura/tests/unit/spam/test_stopforumspam.py b/Allura/allura/tests/unit/spam/test_stopforumspam.py
index 64963cf..77f0e89 100644
--- a/Allura/allura/tests/unit/spam/test_stopforumspam.py
+++ b/Allura/allura/tests/unit/spam/test_stopforumspam.py
@@ -49,3 +49,6 @@ class TestStopForumSpam(object):
request.remote_addr = '1.1.1.1'
assert_equal(False, self.sfs.check(self.content, artifact=self.artifact))
+
+ request.remote_addr = None # e.g. from background task processing inbound email
+ assert_equal(False, self.sfs.check(self.content, artifact=self.artifact))