diff options
author | Bert JW Regeer <bertjw@regeer.org> | 2019-01-25 22:15:06 -0700 |
---|---|---|
committer | Bert JW Regeer <bertjw@regeer.org> | 2019-01-25 22:15:06 -0700 |
commit | 672241a66842d999ec47a6327123eba0825dd363 (patch) | |
tree | 5d6deee12b7507fdb0873ff53237482145121edf | |
parent | 25c862cd45b8ddf44011d0215ea365f52fbbf98b (diff) | |
download | waitress-672241a66842d999ec47a6327123eba0825dd363.tar.gz |
Before adding brackets, verify it's not an IPv4 address
-rw-r--r-- | waitress/task.py | 8 |
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) |