dragonfly 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53b6c0b281a6030e69614429aa17a2f7e86e0037bffa2b7346e37c950444c563
4
- data.tar.gz: 101cc564359bef667df565eec4ee6a8e4d00aad2f2f792c8cf0313e939ebfa67
3
+ metadata.gz: a21082636a15ad436d2ee93b887de5347733de38d670411c7aabb084afee9f7f
4
+ data.tar.gz: cc68822a3c32077c576fed5ca215952983af2e49038103c661ea95ef8a3703b7
5
5
  SHA512:
6
- metadata.gz: 1afbcdd97912f2ec6bf7ba49261f885e0ddf0c4df16b1fd8b76824d6a87e1dca3be024fe666f7eb961269017f5af841aaaebe4bb7c21396f0f15db76fc7791ed
7
- data.tar.gz: f26309d103bc2101287cf5e9c5cf9915defe5072275ea36b9b3cc1fa579a34c84723b48244c3ede6d49dbad71915b2267840077401a67bb8a1b585e1cc8edb66
6
+ metadata.gz: 80e0fb82c3d0b3551da0036e7e19a688aa94a0525b4128139f1e4f288f18ff73427e556ff49a84b7165dfdbd600648469a1f6ac135603f75f538472ddc84863b
7
+ data.tar.gz: 6514c3a64cbffd11cad972dc8d2aeabe39da7a9bc4744b20743703d70f34e9e7a3fb3a67198bbbd001a86073f546e89f55684083c48b098b512229846a5ab9e1
data/Gemfile CHANGED
@@ -5,4 +5,10 @@ gemspec
5
5
  group :development do
6
6
  gem 'pry'
7
7
  gem 'rake'
8
+ # No longer in the standard library as of ruby 4.0
9
+ # (needed by rack/mock and activerecord respectively)
10
+ gem 'cgi'
11
+ gem 'benchmark'
12
+ # Needed by irb, and no longer a default gem as of ruby 4.0
13
+ gem 'rdoc'
8
14
  end
data/History.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 1.4.2 (2026-07-21)
2
+
3
+ ## Fixes
4
+
5
+ - Security fix for CRLF filename header injection in servers that don't sanitize
6
+
1
7
  # 1.4.1 (2025-01-03)
2
8
 
3
9
  ## Fixes
data/README.md CHANGED
@@ -47,7 +47,7 @@ Installation
47
47
 
48
48
  or in your Gemfile
49
49
  ```ruby
50
- gem 'dragonfly', '~> 1.4.0'
50
+ gem 'dragonfly', '~> 1.4.2'
51
51
  ```
52
52
 
53
53
  Require with
@@ -99,7 +99,8 @@ module Dragonfly
99
99
 
100
100
  def filename_string
101
101
  return unless job.name
102
- filename = request_from_msie? ? CGI.escape(job.name) : job.name
102
+ name = job.name.gsub(/[\r\n]/, "")
103
+ filename = request_from_msie? ? CGI.escape(name) : name
103
104
  %(filename="#{filename}")
104
105
  end
105
106
 
@@ -1,3 +1,3 @@
1
1
  module Dragonfly
2
- VERSION = "1.4.1"
2
+ VERSION = "1.4.2"
3
3
  end
@@ -109,6 +109,12 @@ describe Dragonfly::JobEndpoint do
109
109
  response = make_request(@job, 'HTTP_USER_AGENT' => "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; el-GR)")
110
110
  response['content-disposition'].should == 'filename="g%C3%BCng.txt"'
111
111
  end
112
+
113
+ it "doesn't allow \\r or \\n characters" do
114
+ @job.name = "\nthis\nis\r\na\n\rbad\rone\r.txt"
115
+ response = make_request(@job)
116
+ response['content-disposition'].should == 'filename="thisisabadone.txt"'
117
+ end
112
118
  end
113
119
 
114
120
  describe "logging" do
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dragonfly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Evans
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-01-03 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rack
@@ -285,7 +284,6 @@ homepage: http://github.com/markevans/dragonfly
285
284
  licenses:
286
285
  - MIT
287
286
  metadata: {}
288
- post_install_message:
289
287
  rdoc_options: []
290
288
  require_paths:
291
289
  - lib
@@ -300,8 +298,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
300
298
  - !ruby/object:Gem::Version
301
299
  version: '0'
302
300
  requirements: []
303
- rubygems_version: 3.5.11
304
- signing_key:
301
+ rubygems_version: 4.0.10
305
302
  specification_version: 4
306
303
  summary: Ideal gem for handling attachments in Rails, Sinatra and Rack applications.
307
304
  test_files: