From f5c5006c0d3bd635a02b4a48a8548e84531c689d Mon Sep 17 00:00:00 2001 From: Brandon Sislow Date: Thu, 29 Mar 2018 22:00:43 -0700 Subject: [PATCH 1/2] Added check for content type for remote files --- lib/css_parser/parser.rb | 7 +++++++ test/fixtures/.DS_Store | Bin 0 -> 6148 bytes test/fixtures/LadylikeBB.otf | Bin 0 -> 27836 bytes test/test_css_parser_loading.rb | 14 ++++++++++++++ 4 files changed, 21 insertions(+) create mode 100644 test/fixtures/.DS_Store create mode 100644 test/fixtures/LadylikeBB.otf diff --git a/lib/css_parser/parser.rb b/lib/css_parser/parser.rb index 7a3e079..c7828b9 100644 --- a/lib/css_parser/parser.rb +++ b/lib/css_parser/parser.rb @@ -604,6 +604,12 @@ def read_remote_file(uri) # :nodoc: end end + unless res.content_type == "text/css" + @redirect_count = nil + raise RemoteFileError.new(uri.to_s) if @options[:io_exceptions] + return '', nil + end + case res['content-encoding'] when 'gzip' io = Zlib::GzipReader.new(StringIO.new(res.body)) @@ -614,6 +620,7 @@ def read_remote_file(uri) # :nodoc: end end + if charset if String.method_defined?(:encode) src.encode!('UTF-8', charset) diff --git a/test/fixtures/.DS_Store b/test/fixtures/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/test/test_css_parser_loading.rb b/test/test_css_parser_loading.rb index 5177475..e6a402d 100644 --- a/test/test_css_parser_loading.rb +++ b/test/test_css_parser_loading.rb @@ -207,4 +207,18 @@ def test_toggling_not_found_exceptions cp_without_exceptions.load_uri!("#{@uri_base}/no-exist.xyz") end + + def test_invalid_content_type + cp_with_exceptions = Parser.new(:io_exceptions => true) + + err = assert_raises RemoteFileError do + cp_with_exceptions.load_uri!("#{@uri_base}/LadylikeBB.otf") + end + + assert_includes err.message, "#{@uri_base}/LadylikeBB.otf" + + cp_without_exceptions = Parser.new(:io_exceptions => false) + + cp_without_exceptions.load_uri!("#{@uri_base}/LadylikeBB.otf") + end end From 2227f4e6c84b58dd278988ca596166714a64c202 Mon Sep 17 00:00:00 2001 From: bsislow-or Date: Mon, 23 Apr 2018 22:46:15 -0700 Subject: [PATCH 2/2] removed unncessary file --- test/fixtures/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test/fixtures/.DS_Store diff --git a/test/fixtures/.DS_Store b/test/fixtures/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0