Commit cb50604156af15486931732a6593b47abca75efe

Authored by Claude Paroz
1 parent 3e0832cc

Fixed #93 -- All empty REMOTE_ADDR values should set ip_address to null

@@ -106,7 +106,7 @@ def post_comment(request, next=None, using=None): @@ -106,7 +106,7 @@ def post_comment(request, next=None, using=None):
106 106
107 # Otherwise create the comment 107 # Otherwise create the comment
108 comment = form.get_comment_object(site_id=get_current_site(request).id) 108 comment = form.get_comment_object(site_id=get_current_site(request).id)
109 - comment.ip_address = request.META.get("REMOTE_ADDR", None) 109 + comment.ip_address = request.META.get("REMOTE_ADDR", None) or None
110 if user_is_authenticated: 110 if user_is_authenticated:
111 comment.user = request.user 111 comment.user = request.user
112 112
@@ -140,6 +140,15 @@ class CommentViewTests(CommentTestCase): @@ -140,6 +140,15 @@ class CommentViewTests(CommentTestCase):
140 self.assertEqual(c.ip_address, address) 140 self.assertEqual(c.ip_address, address)
141 self.assertEqual(c.comment, "This is my comment") 141 self.assertEqual(c.comment, "This is my comment")
142 142
  143 + def testCreateValidCommentNoIP(self):
  144 + """Empty REMOTE_ADDR value should always set a null ip_address value."""
  145 + a = Article.objects.get(pk=1)
  146 + data = self.getValidData(a)
  147 + for address in ('', None, b''):
  148 + self.client.post("/post/", data, REMOTE_ADDR=address)
  149 + c = Comment.objects.last()
  150 + self.assertEqual(c.ip_address, None)
  151 +
143 def testCreateValidCommentIPv6Unpack(self): 152 def testCreateValidCommentIPv6Unpack(self):
144 address = "::ffff:18.52.18.52" 153 address = "::ffff:18.52.18.52"
145 a = Article.objects.get(pk=1) 154 a = Article.objects.get(pk=1)
Please register or login to post a comment