narou 3.7.2 → 3.8.0

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: 19f8ca4a5c4225bab91baaf79b822783531ec9165aff057cd7711f8dd0836ab2
4
- data.tar.gz: 852f0b011c02a4a961b0944b4b563e56fb0513761090d07e98d7c47b42917c26
3
+ metadata.gz: 77ab6235ef1ca1a8b4118c2986f51dacb824833df2cdb10132bbd9635d9dde1b
4
+ data.tar.gz: 718dd667b95a2301cb99f7e9e52d05698ecd88aef8b2864cce89efecf46e0fb3
5
5
  SHA512:
6
- metadata.gz: 975b3f44546689d96febb73ae0f624db9808fd48671b8bb991e12b66cfac3f604c0717a84a17ee0a383af899df58b9b4780101ee4d98d09398cd0187cdb88889
7
- data.tar.gz: 2cb5b7dc872a58f5e4312435967e62300c83ba013da3df7b3989dd12e8c96a88e61b493ef8f742bdc202e7143734a3d6ec19c9dd0dfc8121de18df4ae9b97936
6
+ metadata.gz: 4325e3c255961dc300b5485f28c55cbe3443c7061ce520b65d32109c4acf97264653d4c9e77fda8dff65a094600e0f598a7beccc3465adc96e29cffde24dc6d6
7
+ data.tar.gz: 78ab226c92e31c198896ed9289f62a0e907a72a17026c15c23175ae9f45fd5b7b11f63972b14607f19642ea3d112019d44762d1da33440d7fc21d3900df9182f
data/ChangeLog.md CHANGED
@@ -1,6 +1,14 @@
1
1
  更新履歴 - ChangeLog
2
2
  ====================
3
3
 
4
+ 3.8.0: 2021/06/27
5
+ -----------------
6
+ #### 修正内容
7
+ - タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
8
+ しまう問題を修正 [CVE-2021-35514]
9
+ - この問題を発見した RyotaK に感謝します
10
+
11
+
4
12
  3.7.2: 2021/06/05
5
13
  -----------------
6
14
  #### 追加機能
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- narou (3.7.1)
4
+ narou (3.7.2)
5
5
  activesupport (>= 6.1, < 8.0)
6
6
  diff-lcs (~> 1.2, >= 1.2.5)
7
7
  erubis (~> 2.7)
@@ -45,7 +45,6 @@ GEM
45
45
  tilt
46
46
  i18n (1.8.10)
47
47
  concurrent-ruby (~> 1.0)
48
- jar-dependencies (0.4.1)
49
48
  mail (2.6.6)
50
49
  mime-types (>= 1.16, < 4)
51
50
  memoist (0.11.0)
@@ -63,16 +62,10 @@ GEM
63
62
  pry (0.13.1)
64
63
  coderay (~> 1.1)
65
64
  method_source (~> 1.0)
66
- pry (0.13.1-java)
67
- coderay (~> 1.1)
68
- method_source (~> 1.0)
69
- spoon (~> 0.0)
70
65
  pry-byebug (3.9.0)
71
66
  byebug (~> 11.0)
72
67
  pry (~> 0.13.0)
73
68
  psych (4.0.0)
74
- psych (4.0.0-java)
75
- jar-dependencies (>= 0.1.7)
76
69
  rack (2.2.3)
77
70
  rack-protection (2.1.0)
78
71
  rack
@@ -114,8 +107,6 @@ GEM
114
107
  rack-protection (= 2.1.0)
115
108
  sinatra (= 2.1.0)
116
109
  tilt (~> 2.0)
117
- spoon (0.0.6)
118
- ffi
119
110
  systemu (2.6.5)
120
111
  temple (0.8.2)
121
112
  termcolorlight (1.1.1)
data/README.md CHANGED
@@ -34,15 +34,12 @@ Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理
34
34
  更新履歴 - ChangeLog
35
35
  --------------------
36
36
 
37
- 3.7.2: 2021/06/05
37
+ 3.8.0: 2021/06/27
38
38
  -----------------
39
- #### 追加機能
40
- - folder コマンドに --no-open (-n) オプションを追加しました
41
-
42
39
  #### 修正内容
43
- - gem update を行うとクラッシュする場合があったのを修正
44
- - psych 4.0 からの非互換に対応
45
- - その他軽微な修正
40
+ - タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
41
+ しまう問題を修正 [CVE-2021-35514]
42
+ - この問題を発見した RyotaK に感謝します
46
43
 
47
44
  ----
48
45
 
data/lib/downloader.rb CHANGED
@@ -778,6 +778,7 @@ class Downloader
778
778
  @setting["story"] = story_html.to_aozora
779
779
  end
780
780
  @setting["info"] = info
781
+ replace_external_properties_of_setting
781
782
 
782
783
  @setting["title"] = get_title
783
784
  if series_novel?
@@ -1303,4 +1304,9 @@ class Downloader
1303
1304
  Template.write(filename, novel_dir_path, binding, binary_version)
1304
1305
  end
1305
1306
  end
1307
+
1308
+ def replace_external_properties_of_setting
1309
+ @setting["title"] = @setting["title"].delete("\r\n")
1310
+ @setting["author"] = @setting["author"].delete("\r\n")
1311
+ end
1306
1312
  end
data/lib/loadconverter.rb CHANGED
@@ -10,7 +10,7 @@ BlankConverter = Class.new(ConverterBase) {}
10
10
 
11
11
  $latest_converter = nil
12
12
 
13
- def converter(title, &block)
13
+ def converter(_title = nil, &block)
14
14
  $latest_converter = Class.new(ConverterBase, &block)
15
15
  end
16
16
 
@@ -58,7 +58,7 @@ end
58
58
  # buffer
59
59
  # end
60
60
  # end
61
- def load_converter(title, archive_path)
61
+ def load_converter(archive_path)
62
62
  converter_path = File.join(archive_path, "converter.rb")
63
63
  if File.exist?(converter_path)
64
64
  $latest_converter = nil
@@ -71,9 +71,8 @@ def load_converter(title, archive_path)
71
71
  if conv
72
72
  return conv
73
73
  else
74
- title_for_converter = (title =~ /.txt\z/ ? title : File.basename(archive_path))
75
74
  error "converter.rbは見つかりましたが、`converter'で登録されていないようです。" +
76
- "変換処理は converter \"#{title_for_converter.gsub('"', '\\"')}\" として登録する必要があります"
75
+ "変換処理は converter do ... end として登録する必要があります"
77
76
  return BlankConverter
78
77
  end
79
78
  end
@@ -568,7 +568,7 @@ class NovelConverter
568
568
  # 各小説用の converter.rb 変換オブジェクトを生成
569
569
  #
570
570
  def create_converter
571
- load_converter(@novel_title, @setting.archive_path).new(@setting, @inspector, @illustration)
571
+ load_converter(@setting.archive_path).new(@setting, @inspector, @illustration)
572
572
  end
573
573
 
574
574
  #
data/lib/version.rb CHANGED
@@ -5,5 +5,5 @@
5
5
  #
6
6
 
7
7
  module Narou
8
- VERSION = "3.7.2"
8
+ VERSION = "3.8.0"
9
9
  end
data/narou.gemspec CHANGED
@@ -32,15 +32,12 @@ Gem::Specification.new do |gem|
32
32
  install_message = <<-EOS
33
33
  #{"*" * 60}
34
34
 
35
- 3.7.2: 2021/06/05
35
+ 3.8.0: 2021/06/27
36
36
  -----------------
37
- #### 追加機能
38
- - folder コマンドに --no-open (-n) オプションを追加しました
39
-
40
37
  #### 修正内容
41
- - gem update を行うとクラッシュする場合があったのを修正
42
- - psych 4.0 からの非互換に対応
43
- - その他軽微な修正
38
+ - タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
39
+ しまう問題を修正 [CVE-2021-35514]
40
+ - この問題を発見した RyotaK に感謝します
44
41
 
45
42
  #{"*" * 60}
46
43
  EOS
@@ -1,15 +1,8 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  <% Template.target_binary_version(1.0) -%>
3
3
 
4
- #
5
- # 対象小説情報
6
- # タイトル: <%= @setting["title"] %>
7
- # 作者: <%= @setting["author"] %>
8
- # URL: <%= @setting["toc_url"] %>
9
- #
10
4
  # 詳細については http://bit.ly/1vTEH04 を参照して下さい
11
- #
12
- converter "<%= file_title.gsub('"', '\"') %>" do
5
+ converter do
13
6
  # 各種変換処理がされる「前」の生データに対しての変換処理を記述
14
7
  def before(io, text_type)
15
8
  super
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: narou
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.2
4
+ version: 3.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-05 00:00:00.000000000 Z
11
+ date: 2021-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolorlight
@@ -709,15 +709,12 @@ metadata: {}
709
709
  post_install_message: |
710
710
  ************************************************************
711
711
 
712
- 3.7.2: 2021/06/05
712
+ 3.8.0: 2021/06/27
713
713
  -----------------
714
- #### 追加機能
715
- - folder コマンドに --no-open (-n) オプションを追加しました
716
-
717
714
  #### 修正内容
718
- - gem update を行うとクラッシュする場合があったのを修正
719
- - psych 4.0 からの非互換に対応
720
- - その他軽微な修正
715
+ - タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
716
+ しまう問題を修正 [CVE-2021-35514]
717
+ - この問題を発見した RyotaK に感謝します
721
718
 
722
719
  ************************************************************
723
720
  rdoc_options: []