Fix exception when OpenGraph tag values are ints

This commit is contained in:
Richard van der Hoff 2019-11-05 17:22:58 +00:00
parent e78167c94b
commit 81d49cbb07
2 changed files with 3 additions and 1 deletions

1
changelog.d/6334.feature Normal file
View File

@ -0,0 +1 @@
Limit the length of data returned by url previews, to prevent DoS attacks.

View File

@ -274,7 +274,8 @@ class PreviewUrlResource(DirectServeResource):
# filter out any stupidly long values # filter out any stupidly long values
keys_to_remove = [] keys_to_remove = []
for k, v in og.items(): for k, v in og.items():
if len(k) > OG_TAG_NAME_MAXLEN or len(v) > OG_TAG_VALUE_MAXLEN: # values can be numeric as well as strings, hence the cast to str
if len(k) > OG_TAG_NAME_MAXLEN or len(str(v)) > OG_TAG_VALUE_MAXLEN:
logger.warning( logger.warning(
"Pruning overlong tag %s from OG data", k[:OG_TAG_NAME_MAXLEN] "Pruning overlong tag %s from OG data", k[:OG_TAG_NAME_MAXLEN]
) )