Skip to content

Commit

Permalink
Fix the parsing of the chromium HSTS preload list
Browse files Browse the repository at this point in the history
Urg! The Chromium HSTS preload JSON file contains single line comments. Previously these were filtered out with a very simple regex that just looked for '//' and removed the line. Now the file has added a couple fields that have URLs in them that were erroneously removed and caused the JSON parsing to fail. This commit slightly complicates the regex to fix this specific problem.

If this happens again, it's likely worth it to figure out how to use a real parser to remove the comments.

#8760
  • Loading branch information
samfoo committed Dec 2, 2015
1 parent a8cbc28 commit 732ae57
Show file tree
Hide file tree
Showing 2 changed files with 5,288 additions and 56 deletions.
2 changes: 1 addition & 1 deletion python/servo/bootstrap_commands.py
Expand Up @@ -251,7 +251,7 @@ def bootstrap_hsts_preload(self, force=False):

# The chromium "json" has single line comments in it which, of course,
# are non-standard/non-valid json. Simply strip them out before parsing
content_json = re.sub(r'//.*$', '', content_decoded, flags=re.MULTILINE)
content_json = re.sub(r'(^|\s+)//.*$', '', content_decoded, flags=re.MULTILINE)

try:
pins_and_static_preloads = json.loads(content_json)
Expand Down

0 comments on commit 732ae57

Please sign in to comment.