sisimai 5.7.1-java → 5.7.2-java
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 +4 -4
- data/.github/workflows/codecovio.yml +1 -1
- data/.github/workflows/rake-test.yml +1 -1
- data/ChangeLog.md +10 -0
- data/README-JA.md +14 -13
- data/README.md +12 -12
- data/lib/sisimai/message.rb +5 -6
- data/lib/sisimai/string.rb +4 -3
- data/lib/sisimai/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a713d133864ab6845c95ba347b30385f5c564864c9afa3edeb0b5f37aebcda7e
|
|
4
|
+
data.tar.gz: ee3ea2d230b497c8f58c643a387838701118449b6bdb04a23229ff3544e6c782
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 28936ef912d907d24160bdf111a7f047a85fa7a6aa4f41405d2c3c6aee37bb0ce25a38b5fa21b424bc92af481756a06c608291546db776d96cc4a362f20d9321
|
|
7
|
+
data.tar.gz: 53693d2372481b610b312563f1ebec102572fc8b98435c640c05a0a0a5e5a067e763b339e20d8964d3ace364a10eaa8ad2c34be7f4b9cc3fd547b36008df1b0f
|
data/ChangeLog.md
CHANGED
|
@@ -4,6 +4,16 @@ RELEASE NOTES for Ruby version of Sisimai
|
|
|
4
4
|
- download: "https://rubygems.org/gems/sisimai"
|
|
5
5
|
- document: "https://libsisimai.org/"
|
|
6
6
|
|
|
7
|
+
v5.7.2
|
|
8
|
+
---------------------------------------------------------------------------------------------------
|
|
9
|
+
- release: "Mon, 31 Aug 2026 18:25:22 +0900 (JST)"
|
|
10
|
+
- version: "5.7.2"
|
|
11
|
+
- changes:
|
|
12
|
+
- Fix ReDoS vulnerability in `Sisimai::String.to_plain` method when parsing specific HTML tags
|
|
13
|
+
(GHSA-9j9h-h4vm-p7g4). Thanks to @arpitjain099 for reporting and testing.
|
|
14
|
+
- #455 Resolved quadratic memory allocation in `Sisimai::Message` to improve parsing performance
|
|
15
|
+
and reduce memory usage. Thanks to @azranel.
|
|
16
|
+
|
|
7
17
|
v5.7.1
|
|
8
18
|
---------------------------------------------------------------------------------------------------
|
|
9
19
|
- release: "Fri, 17 Jul 2026 13:22:22 +0900 (JST)"
|
data/README-JA.md
CHANGED
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
[^1]: 4系を`clone`する場合は`git clone -b 4-stable https://github.com/sisimai/rb-sisimai.git`
|
|
12
12
|
|
|
13
13
|
> [!CAUTION]
|
|
14
|
-
> **Sisimai 4.25.
|
|
15
|
-
> [ReDoS: CVE-2022-4891](https://jvndb.jvn.jp/ja/contents/2022/JVNDB-2022-005663.html)
|
|
16
|
-
>
|
|
14
|
+
> **Sisimai 4.25.17およびそれ以前の、Sisimai 5.7.1およびそれ以前のバージョンには 正規表現に関する脆弱性
|
|
15
|
+
> [ReDoS: CVE-2022-4891](https://jvndb.jvn.jp/ja/contents/2022/JVNDB-2022-005663.html)と
|
|
16
|
+
> [ReDos: CVE-2026-XXXX/番号の発行待ち]()があります。
|
|
17
|
+
> 該当するバージョンをお使いの場合はv4.25.18またはv5.7.2以降へアップグレードしてください。**
|
|
17
18
|
|
|
18
19
|
> [!WARNING]
|
|
19
20
|
> Sisimai 5はRuby 2.5以上が必要です。インストール/アップグレードを実行する前に`ruby -v`コマンドで
|
|
@@ -116,10 +117,10 @@ Install
|
|
|
116
117
|
### From RubyGems.org
|
|
117
118
|
```shell
|
|
118
119
|
$ sudo gem install sisimai
|
|
119
|
-
Fetching: sisimai-5.7.
|
|
120
|
-
Successfully installed sisimai-5.7.
|
|
121
|
-
Parsing documentation for sisimai-5.7.
|
|
122
|
-
Installing ri documentation for sisimai-5.7.
|
|
120
|
+
Fetching: sisimai-5.7.2.gem (100%)
|
|
121
|
+
Successfully installed sisimai-5.7.2
|
|
122
|
+
Parsing documentation for sisimai-5.7.2
|
|
123
|
+
Installing ri documentation for sisimai-5.7.2
|
|
123
124
|
Done installing documentation for sisimai after 6 seconds
|
|
124
125
|
1 gem installed
|
|
125
126
|
```
|
|
@@ -147,13 +148,13 @@ if [ -d "/usr/local/jr" ]; then \
|
|
|
147
148
|
...
|
|
148
149
|
3 gems installed
|
|
149
150
|
/opt/local/bin/rake install
|
|
150
|
-
sisimai 5.7.
|
|
151
|
-
sisimai (5.7.
|
|
151
|
+
sisimai 5.7.2 built to pkg/sisimai-5.7.2.gem.
|
|
152
|
+
sisimai (5.7.2) installed.
|
|
152
153
|
if [ -d "/usr/local/jr" ]; then \
|
|
153
154
|
PATH="/usr/local/jr/bin:$PATH" /usr/local/jr/bin/rake install; \
|
|
154
155
|
fi
|
|
155
|
-
sisimai 5.7.
|
|
156
|
-
sisimai (5.7.
|
|
156
|
+
sisimai 5.7.2 built to pkg/sisimai-5.7.2-java.gem.
|
|
157
|
+
sisimai (5.7.2) installed.
|
|
157
158
|
```
|
|
158
159
|
|
|
159
160
|
Usage
|
|
@@ -362,9 +363,9 @@ Sisimai 5.5.0から**Ruby 2.5以上**が必要になります。
|
|
|
362
363
|
| 解析エンジン(MTA/ESPモジュール)の数 | 68 | 60 |
|
|
363
364
|
| 検出可能なバウンス理由の数 | 29 | 34 |
|
|
364
365
|
| 依存Gem数(Ruby Standard Gemsを除く) | 1 Gem | 1 Gem |
|
|
365
|
-
| ソースコードの行数 | 10,800 行 | 9,
|
|
366
|
+
| ソースコードの行数 | 10,800 行 | 9,670 行 |
|
|
366
367
|
| テストフレームワーク | rspec | minitest |
|
|
367
|
-
| テスト件数(spec/またはtest/ディレクトリ) | 311,000 件 |
|
|
368
|
+
| テスト件数(spec/またはtest/ディレクトリ) | 311,000 件 | 255,000 件 |
|
|
368
369
|
| 1秒間に解析できるバウンスメール数[^4] | 620 通 | 620 通 |
|
|
369
370
|
| ライセンス | 2条項BSD | 2条項BSD |
|
|
370
371
|
| 開発会社による商用サポート | 提供中 | 提供中 |
|
data/README.md
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
[^1]: Specify `-b 4-stable` when you clone Sisimai 4 for example, `git clone -b 4-stable https://github.com/sisimai/rb-sisimai.git`
|
|
13
13
|
|
|
14
14
|
> [!CAUTION]
|
|
15
|
-
> **Sisimai versions 4.25.
|
|
16
|
-
> [ReDoS: CVE-2022-4891](https://nvd.nist.gov/vuln/detail/CVE-2022-4891).
|
|
17
|
-
> If you are using
|
|
15
|
+
> **Sisimai versions 4.25.17 and earlier, as well as 5.7.1 and earlier, contain regular expression vulnerabilities
|
|
16
|
+
> ([ReDoS: CVE-2022-4891](https://nvd.nist.gov/vuln/detail/CVE-2022-4891), ReDoS: CVE Pending).
|
|
17
|
+
> If you are using affected versions, please upgrade to v4.25.18 or v5.7.2 or later.**
|
|
18
18
|
|
|
19
19
|
> [!WARNING]
|
|
20
20
|
> Sisimai 5 requires Ruby 2.5 or later. Check the version of Ruby in your system before installing/upgrading
|
|
@@ -115,10 +115,10 @@ Install
|
|
|
115
115
|
### From RubyGems
|
|
116
116
|
```shell
|
|
117
117
|
$ sudo gem install sisimai
|
|
118
|
-
Fetching: sisimai-5.7.
|
|
119
|
-
Successfully installed sisimai-5.7.
|
|
120
|
-
Parsing documentation for sisimai-5.7.
|
|
121
|
-
Installing ri documentation for sisimai-5.7.
|
|
118
|
+
Fetching: sisimai-5.7.2.gem (100%)
|
|
119
|
+
Successfully installed sisimai-5.7.2
|
|
120
|
+
Parsing documentation for sisimai-5.7.2
|
|
121
|
+
Installing ri documentation for sisimai-5.7.2
|
|
122
122
|
Done installing documentation for sisimai after 6 seconds
|
|
123
123
|
1 gem installed
|
|
124
124
|
```
|
|
@@ -146,13 +146,13 @@ if [ -d "/usr/local/jr" ]; then \
|
|
|
146
146
|
...
|
|
147
147
|
3 gems installed
|
|
148
148
|
/opt/local/bin/rake install
|
|
149
|
-
sisimai 5.7.
|
|
150
|
-
sisimai (5.7.
|
|
149
|
+
sisimai 5.7.2 built to pkg/sisimai-5.7.2.gem.
|
|
150
|
+
sisimai (5.7.2) installed.
|
|
151
151
|
if [ -d "/usr/local/jr" ]; then \
|
|
152
152
|
PATH="/usr/local/jr/bin:$PATH" /usr/local/jr/bin/rake install; \
|
|
153
153
|
fi
|
|
154
|
-
sisimai 5.7.
|
|
155
|
-
sisimai (5.7.
|
|
154
|
+
sisimai 5.7.2 built to pkg/sisimai-5.7.2-java.gem.
|
|
155
|
+
sisimai (5.7.2) installed.
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
Usage
|
|
@@ -361,7 +361,7 @@ Beginning with v5.5.0, Sisimai requires **Ruby 2.5.0 or later.**
|
|
|
361
361
|
| The number of MTA/ESP modules | 68 | 61 |
|
|
362
362
|
| The number of detectable bounce reasons | 29 | 34 |
|
|
363
363
|
| Dependencies (Except Ruby Standard Gems) | 1 gem | 1 gem |
|
|
364
|
-
| Source lines of code | 10,300 lines | 9,
|
|
364
|
+
| Source lines of code | 10,300 lines | 9,670 lines |
|
|
365
365
|
| Test frameworks | rspec | minitest |
|
|
366
366
|
| The number of tests in spec/ or test/ directory | 311,000 tests | 255,000 tests |
|
|
367
367
|
| The number of bounce emails decoded/sec (CRuby)[^4] | 620 emails | 620 emails |
|
data/lib/sisimai/message.rb
CHANGED
|
@@ -202,7 +202,7 @@ module Sisimai
|
|
|
202
202
|
def tidy(argv0 = '')
|
|
203
203
|
return '' if argv0.empty?
|
|
204
204
|
|
|
205
|
-
email =
|
|
205
|
+
email = ::String.new(capacity: argv0.bytesize, encoding: Encoding::UTF_8)
|
|
206
206
|
lines = argv0.split("\n")
|
|
207
207
|
index = -1
|
|
208
208
|
lines.each do |e|
|
|
@@ -215,7 +215,7 @@ module Sisimai
|
|
|
215
215
|
index += 1
|
|
216
216
|
if fn == ''
|
|
217
217
|
# There is neither ":" character nor the field listed in $FieldTable
|
|
218
|
-
email
|
|
218
|
+
email << e << "\n"
|
|
219
219
|
next
|
|
220
220
|
end
|
|
221
221
|
|
|
@@ -294,12 +294,12 @@ module Sisimai
|
|
|
294
294
|
|
|
295
295
|
# 4. Remove redundant space characters
|
|
296
296
|
bf = bf.squeeze(' ').strip
|
|
297
|
-
email
|
|
297
|
+
email << sprintf("%s: %s\n", fn, bf)
|
|
298
298
|
end
|
|
299
299
|
|
|
300
300
|
# 5. Convert the lower-cased SMTP command to the upper-cased.
|
|
301
|
-
email
|
|
302
|
-
email
|
|
301
|
+
email.gsub!("after end of data:", "after end of DATA:")
|
|
302
|
+
email << "\n" if email.end_with?("\n\n") == false
|
|
303
303
|
return email
|
|
304
304
|
end
|
|
305
305
|
|
|
@@ -428,4 +428,3 @@ module Sisimai
|
|
|
428
428
|
end
|
|
429
429
|
end
|
|
430
430
|
end
|
|
431
|
-
|
data/lib/sisimai/string.rb
CHANGED
|
@@ -53,9 +53,10 @@ module Sisimai
|
|
|
53
53
|
# 3. <a href = 'http://...'>...</a> to " http://... "
|
|
54
54
|
# 4. <a href = 'mailto:...'>...</a> to " Value <mailto:...> "
|
|
55
55
|
plain.scrub!('?')
|
|
56
|
-
|
|
57
|
-
plain = plain.gsub(%r|<
|
|
58
|
-
plain = plain.gsub(%r|<
|
|
56
|
+
cv = plain.downcase
|
|
57
|
+
plain = plain.gsub(%r|<head>.+?</head>|im, "") if cv.include?("</head>")
|
|
58
|
+
plain = plain.gsub(%r|<style.+?>.+?</style>|im, "") if cv.include?("</style>")
|
|
59
|
+
plain = plain.gsub(%r|<a\s+href\s*=\s*(['"])(https?://[^'"]+?)\1[^>]*?>(.*?)</a>|i, ' [\3](\2) ')
|
|
59
60
|
plain = plain.gsub(%r|<a\s+href\s*=\s*["']mailto:([^\s]+?)["']>(.*?)</a>|i, '[\2](mailto:\1)')
|
|
60
61
|
plain = plain.gsub(/<[^<@>]+?>\s*/, ' ') # Delete HTML tags except <neko@example.jp>
|
|
61
62
|
plain = plain.gsub(/</, '<').gsub(/>/, '>') # Convert to angle brackets
|
data/lib/sisimai/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sisimai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.7.
|
|
4
|
+
version: 5.7.2
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- azumakuniyuki
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-08-31 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: bundler
|