summary refs log tree commit diff
path: root/synapse/server.py
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <paul@matrix.org>2014-09-29 18:37:28 +0100
committerPaul "LeoNerd" Evans <paul@matrix.org>2014-09-29 18:37:28 +0100
commitdca75a08ba5e64554f22813bd0a0356760a1be25 (patch)
treecb28d1e16cc825d4b88bc814e9e6ea1b34783f15 /synapse/server.py
parentExtended docs about the registration/login flows (diff)
parentAdd a 'Redactions' section. (diff)
downloadsynapse-dca75a08ba5e64554f22813bd0a0356760a1be25.tar.xz
Merge remote-tracking branch 'origin/develop' into develop
Diffstat (limited to 'synapse/server.py')
-rw-r--r--synapse/server.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/synapse/server.py b/synapse/server.py
index cdea49e6ab..e5b048ede0 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -143,6 +143,18 @@ class BaseHomeServer(object):
     def serialize_event(self, e):
         return serialize_event(self, e)
 
+    def get_ip_from_request(self, request):
+        # May be an X-Forwarding-For header depending on config
+        ip_addr = request.getClientIP()
+        if self.config.captcha_ip_origin_is_x_forwarded:
+            # use the header
+            if request.requestHeaders.hasHeader("X-Forwarded-For"):
+                ip_addr = request.requestHeaders.getRawHeaders(
+                    "X-Forwarded-For"
+                )[0]
+
+        return ip_addr
+
 # Build magic accessors for every dependency
 for depname in BaseHomeServer.DEPENDENCIES:
     BaseHomeServer._make_dependency_method(depname)