summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorianb <ianb@localhost>2008-07-03 21:04:59 +0000
committerianb <ianb@localhost>2008-07-03 21:04:59 +0000
commit4df7b6b918630a8fff312dacfba01a370e6e309b (patch)
tree9706ee5016cee33adbf5890a3828fdf1fa8c52cd
parent36b240b0d48094e0af0d79df87be98f01f0a93c2 (diff)
downloadpastedeploy-git-4df7b6b918630a8fff312dacfba01a370e6e309b.tar.gz
Add X-Forwarded-For translation to REMOTE_ADDR
-rw-r--r--docs/news.txt3
-rw-r--r--paste/deploy/config.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/docs/news.txt b/docs/news.txt
index 1f95a57..a72ed76 100644
--- a/docs/news.txt
+++ b/docs/news.txt
@@ -6,7 +6,8 @@ svn trunk
* In :class:`paste.deploy.config.PrefixMiddleware` the headers
``X-Forwarded-Scheme`` and ``X-Forwarded-Proto`` are now translated
- to the key ``environ['wsgi.url_scheme']``.
+ to the key ``environ['wsgi.url_scheme']``. Also ``X-Forwarded-For``
+ is translated to ``environ['REMOTE_ADDR']``
1.3.2
-----
diff --git a/paste/deploy/config.py b/paste/deploy/config.py
index 7f4c6db..ddf0ed6 100644
--- a/paste/deploy/config.py
+++ b/paste/deploy/config.py
@@ -262,6 +262,8 @@ class PrefixMiddleware(object):
environ['SERVER_NAME'] = environ['HTTP_HOST'] = environ.pop('HTTP_X_FORWARDED_SERVER')
if 'HTTP_X_FORWARDED_HOST' in environ:
environ['HTTP_HOST'] = environ.pop('HTTP_X_FORWARDED_HOST')
+ if 'HTTP_X_FORWARDED_FOR' in environ:
+ environ['REMOTE_ADDR'] = environ.pop('HTTP_X_FORWARDED_FOR')
if 'HTTP_X_FORWARDED_SCHEME' in environ:
environ['wsgi.url_scheme'] = environ.pop('HTTP_X_FORWARDED_SCHEME')
elif 'HTTP_X_FORWARDED_PROTO' in environ: