Limit server header response length #9

Merged
solderpunk merged 2 commits from jprjr/AV-98:header-limit into master 2020-05-16 16:54:03 +00:00
1 changed files with 8 additions and 3 deletions
Showing only changes of commit 0b79cd174f - Show all commits

11
av98.py
View File

@ -334,9 +334,14 @@ you'll be able to transparently follow links to Gopherspace!""")
address, f = None, open(gi.path, "rb")
else:
address, f = self._send_request(gi)
# Read response header
header = f.readline()
header = header.decode("UTF-8").strip()
# Spec dictates <META> should not exceed 1024 bytes
# but does not dictate a total maximum header length.
header = f.readline(2048)
header = header.decode("UTF-8")
if header[-1] != '\n':
raise RuntimeError("Received invalid header from server!")
header = header.strip()
self._debug("Response header: %s." % header)
# Catch network errors which may happen on initial connection