mail-jenc 1.0.9 → 1.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb05b511c576b2f913b39c322c3954f9dc6d9cd76ee7b18690f8a8b3e540bfd2
4
- data.tar.gz: e4b8f8576ec61dc116676e219286b834a180e0429a915f4025e54105402a89ca
3
+ metadata.gz: ce87dd8df9f740e8fa733161962382dd20924534f720769c4efe0b0bc91a22db
4
+ data.tar.gz: 1755e999ed838155ed411e3703250ad61634176f0a8299796040ff19f2fe859b
5
5
  SHA512:
6
- metadata.gz: 9d59ef6e391d7a2da7b06a4943284e3e85d09937ba73acd47bf85f0e54d7cb42d1cec0fd50918193f547a1253706aec5eb3b2666769ab9f1790f3949c1a0f7f4
7
- data.tar.gz: 140f4e85e8d84bc1c5d5a3a12235a1d73b8c8177ea41d41a17f30ca54621fb3cda31ac4f2b99cb08e2dcc290ee5bd04102579a4acbef4448180b7562d9bad660
6
+ metadata.gz: 55b29a387293f1af1b37066621967d1a6fc3143649866b438560f386e909500fa1f2a602f37f536477fc84189fbe8dbf5dc06a6d86f332cc0c6e15d1ae3f20d4
7
+ data.tar.gz: 172ee348a7e0611d9fb0416f5a87b0cce1c3e461ded1cf628b72c8127e8ea7234b3af2404f901ebe5ca5dc16da78a8e73029689239ff415b5a0cf51232a0b811
@@ -2,10 +2,13 @@ module Mail
2
2
  module Jenc
3
3
  module AttachmentsListPatch
4
4
  def []=(name, value)
5
- if Jenc.enabled?
6
- if name && !name.ascii_only? && name.encoding == Encoding::UTF_8 && value.is_a?(Hash) && (charset = value.delete(:header_charset))
5
+ if Jenc.enabled? && value.is_a?(Hash)
6
+ charset = value.delete(:header_charset)
7
+ rfc2231 = value.key?(:rfc2231) ? value.delete(:rfc2231) : Jenc.rfc2231
8
+
9
+ if name && name.encoding == Encoding::UTF_8 && charset
7
10
  mime_type = set_mime_type(name)
8
- if (value.key?(:rfc2231) ? value.delete(:rfc2231) : Jenc.rfc2231)
11
+ if rfc2231
9
12
  encoded = RFC2231Encoder.encode(name, charset)
10
13
  value[:content_disposition] ||= %Q|#{@content_disposition_type}; #{encoded}|
11
14
  encoded = BEncoder.encode(name, charset)
@@ -0,0 +1,19 @@
1
+ module Mail
2
+ module Jenc
3
+ module ContentTypeFieldPatch
4
+ def parameters
5
+ if Jenc.enabled?
6
+ super.tap do |parameters|
7
+ parameters.delete('charset') if parameters.key?('boundary') || parameters.key?('name')
8
+ end
9
+ else
10
+ super
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ unless Mail::ContentTypeField.included_modules.include?(Mail::Jenc::ContentTypeFieldPatch)
18
+ Mail::ContentTypeField.prepend Mail::Jenc::ContentTypeFieldPatch
19
+ end
@@ -14,8 +14,8 @@ module Mail
14
14
 
15
15
  def add_file(values)
16
16
  if Jenc.enabled?
17
- if values.is_a?(Hash) && charset
18
- values[:header_charset] = charset
17
+ if values.is_a?(Hash) && header.charset
18
+ values[:header_charset] = header.charset
19
19
  end
20
20
  end
21
21
  super
@@ -1,5 +1,5 @@
1
1
  module Mail
2
2
  module Jenc
3
- VERSION = '1.0.9'
3
+ VERSION = '1.0.10'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mail-jenc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshikazu Kaneta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-08 00:00:00.000000000 Z
11
+ date: 2022-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mail
@@ -85,6 +85,7 @@ files:
85
85
  - lib/mail/jenc/attachments_list_patch.rb
86
86
  - lib/mail/jenc/b_encoder.rb
87
87
  - lib/mail/jenc/fields/address_field_patch.rb
88
+ - lib/mail/jenc/fields/content_type_field_patch.rb
88
89
  - lib/mail/jenc/fields/unstructured_field_patch.rb
89
90
  - lib/mail/jenc/message_patch.rb
90
91
  - lib/mail/jenc/percent_encoder.rb
@@ -110,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
111
  - !ruby/object:Gem::Version
111
112
  version: '0'
112
113
  requirements: []
113
- rubygems_version: 3.1.2
114
+ rubygems_version: 3.3.3
114
115
  signing_key:
115
116
  specification_version: 4
116
117
  summary: A mail patch for encoding conventional mail