summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <bertjw@regeer.org>2019-01-25 22:15:06 -0700
committerBert JW Regeer <bertjw@regeer.org>2019-01-25 22:15:06 -0700
commit672241a66842d999ec47a6327123eba0825dd363 (patch)
tree5d6deee12b7507fdb0873ff53237482145121edf
parent25c862cd45b8ddf44011d0215ea365f52fbbf98b (diff)
downloadwaitress-672241a66842d999ec47a6327123eba0825dd363.tar.gz
Before adding brackets, verify it's not an IPv4 address
-rw-r--r--waitress/task.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/waitress/task.py b/waitress/task.py
index ec4dd7b..feedd5a 100644
--- a/waitress/task.py
+++ b/waitress/task.py
@@ -535,9 +535,13 @@ class WSGITask(Task):
forward_hop = forward_hop.strip()
forward_hop = undquote(forward_hop)
- # Make sure that all IPv6 addresses are surrounded by brackets
+ # Make sure that all IPv6 addresses are surrounded by brackets,
+ # this is assuming that the IPv6 representation here does not
+ # include a port number.
- if ":" in forward_hop and forward_hop[-1] != "]":
+ if "." not in forward_hop and (
+ ":" in forward_hop and forward_hop[-1] != "]"
+ ):
forwarded_for.append("[{}]".format(forward_hop))
else:
forwarded_for.append(forward_hop)