narou 3.7.2 → 3.8.0

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: 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: []