From 3c05f27829c2353fa0ab0bb7c4ecc23c4de1b064 Mon Sep 17 00:00:00 2001 From: John Berlin Date: Mon, 8 Jan 2018 16:57:09 -0500 Subject: [PATCH] html_rewriter: added the nullification of meta tag delivered CSP policies to HTMLRewriterMixin, treat it like the integrity attribute (#274) rewrite test: updated the html_rewriter test to cover the changes made for meta CSP rewriting fixes #273 --- pywb/rewrite/html_rewriter.py | 2 ++ pywb/rewrite/test/test_html_rewriter.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/pywb/rewrite/html_rewriter.py b/pywb/rewrite/html_rewriter.py index ef98df0e..33568a91 100644 --- a/pywb/rewrite/html_rewriter.py +++ b/pywb/rewrite/html_rewriter.py @@ -333,6 +333,8 @@ class HTMLRewriterMixin(StreamingRewriter): elif (tag == 'meta') and (attr_name == 'content'): if self.has_attr(tag_attrs, ('http-equiv', 'refresh')): attr_value = self._rewrite_meta_refresh(attr_value) + elif self.has_attr(tag_attrs, ('http-equiv', 'content-security-policy')): + attr_name = '_' + attr_name elif self.has_attr(tag_attrs, ('name', 'referrer')): attr_value = 'no-referrer-when-downgrade' elif attr_value.startswith(self.DATA_RW_PROTOCOLS): diff --git a/pywb/rewrite/test/test_html_rewriter.py b/pywb/rewrite/test/test_html_rewriter.py index 896b6e9b..1276dca2 100644 --- a/pywb/rewrite/test/test_html_rewriter.py +++ b/pywb/rewrite/test/test_html_rewriter.py @@ -129,6 +129,9 @@ r""" >>> parse('') +>>> parse('') + + # Custom -data attribs >>> parse('
')