ftpd 1.1.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/Changelog.md +15 -0
  4. data/Gemfile +2 -2
  5. data/Gemfile.lock +57 -48
  6. data/README.md +8 -1
  7. data/VERSION +1 -1
  8. data/examples/example.rb +12 -0
  9. data/features/example/step_definitions/example_server.rb +2 -0
  10. data/features/ftp_server/eprt.feature +1 -0
  11. data/features/ftp_server/epsv.feature +1 -0
  12. data/features/ftp_server/get_ipv6.feature +3 -0
  13. data/features/ftp_server/pasv.feature +10 -3
  14. data/features/ftp_server/step_definitions/logging.rb +2 -0
  15. data/features/ftp_server/step_definitions/test_server.rb +6 -0
  16. data/features/step_definitions/append.rb +2 -0
  17. data/features/step_definitions/client.rb +3 -0
  18. data/features/step_definitions/client_and_server_files.rb +2 -0
  19. data/features/step_definitions/client_files.rb +2 -0
  20. data/features/step_definitions/command.rb +2 -0
  21. data/features/step_definitions/connect.rb +2 -0
  22. data/features/step_definitions/delete.rb +2 -0
  23. data/features/step_definitions/directory_navigation.rb +2 -0
  24. data/features/step_definitions/error_replies.rb +2 -0
  25. data/features/step_definitions/features.rb +2 -0
  26. data/features/step_definitions/file_structure.rb +2 -0
  27. data/features/step_definitions/generic_send.rb +2 -0
  28. data/features/step_definitions/get.rb +2 -0
  29. data/features/step_definitions/help.rb +2 -0
  30. data/features/step_definitions/invalid_commands.rb +2 -0
  31. data/features/step_definitions/ipv6.rb +11 -0
  32. data/features/step_definitions/line_endings.rb +2 -0
  33. data/features/step_definitions/list.rb +2 -0
  34. data/features/step_definitions/login.rb +2 -0
  35. data/features/step_definitions/mkdir.rb +2 -0
  36. data/features/step_definitions/mode.rb +2 -0
  37. data/features/step_definitions/mtime.rb +2 -0
  38. data/features/step_definitions/noop.rb +2 -0
  39. data/features/step_definitions/options.rb +2 -0
  40. data/features/step_definitions/passive.rb +7 -0
  41. data/features/step_definitions/pending.rb +2 -0
  42. data/features/step_definitions/port.rb +2 -0
  43. data/features/step_definitions/put.rb +2 -0
  44. data/features/step_definitions/quit.rb +2 -0
  45. data/features/step_definitions/rename.rb +2 -0
  46. data/features/step_definitions/rmdir.rb +2 -0
  47. data/features/step_definitions/server_files.rb +2 -0
  48. data/features/step_definitions/server_title.rb +2 -0
  49. data/features/step_definitions/size.rb +2 -0
  50. data/features/step_definitions/status.rb +2 -0
  51. data/features/step_definitions/success_replies.rb +2 -0
  52. data/features/step_definitions/system.rb +5 -0
  53. data/features/step_definitions/timing.rb +2 -0
  54. data/features/step_definitions/type.rb +2 -0
  55. data/features/support/env.rb +2 -0
  56. data/features/support/example_server.rb +3 -1
  57. data/features/support/test_client.rb +27 -19
  58. data/features/support/test_file_templates.rb +2 -0
  59. data/features/support/test_server.rb +31 -20
  60. data/features/support/test_server_files.rb +2 -0
  61. data/ftpd.gemspec +17 -11
  62. data/lib/ftpd.rb +2 -0
  63. data/lib/ftpd/auth_levels.rb +2 -0
  64. data/lib/ftpd/cmd_abor.rb +2 -0
  65. data/lib/ftpd/cmd_allo.rb +2 -0
  66. data/lib/ftpd/cmd_appe.rb +2 -0
  67. data/lib/ftpd/cmd_auth.rb +2 -0
  68. data/lib/ftpd/cmd_cdup.rb +2 -0
  69. data/lib/ftpd/cmd_cwd.rb +2 -0
  70. data/lib/ftpd/cmd_dele.rb +2 -0
  71. data/lib/ftpd/cmd_eprt.rb +2 -0
  72. data/lib/ftpd/cmd_epsv.rb +4 -2
  73. data/lib/ftpd/cmd_feat.rb +2 -0
  74. data/lib/ftpd/cmd_help.rb +2 -0
  75. data/lib/ftpd/cmd_list.rb +2 -0
  76. data/lib/ftpd/cmd_login.rb +2 -0
  77. data/lib/ftpd/cmd_mdtm.rb +2 -0
  78. data/lib/ftpd/cmd_mkd.rb +2 -0
  79. data/lib/ftpd/cmd_mode.rb +2 -0
  80. data/lib/ftpd/cmd_nlst.rb +2 -0
  81. data/lib/ftpd/cmd_noop.rb +2 -0
  82. data/lib/ftpd/cmd_opts.rb +2 -0
  83. data/lib/ftpd/cmd_pasv.rb +5 -3
  84. data/lib/ftpd/cmd_pbsz.rb +2 -0
  85. data/lib/ftpd/cmd_port.rb +2 -0
  86. data/lib/ftpd/cmd_prot.rb +2 -0
  87. data/lib/ftpd/cmd_pwd.rb +2 -0
  88. data/lib/ftpd/cmd_quit.rb +2 -0
  89. data/lib/ftpd/cmd_rein.rb +2 -0
  90. data/lib/ftpd/cmd_rename.rb +2 -0
  91. data/lib/ftpd/cmd_rest.rb +2 -0
  92. data/lib/ftpd/cmd_retr.rb +2 -0
  93. data/lib/ftpd/cmd_rmd.rb +2 -0
  94. data/lib/ftpd/cmd_site.rb +2 -0
  95. data/lib/ftpd/cmd_size.rb +2 -0
  96. data/lib/ftpd/cmd_smnt.rb +2 -0
  97. data/lib/ftpd/cmd_stat.rb +2 -0
  98. data/lib/ftpd/cmd_stor.rb +2 -0
  99. data/lib/ftpd/cmd_stou.rb +2 -0
  100. data/lib/ftpd/cmd_stru.rb +2 -0
  101. data/lib/ftpd/cmd_syst.rb +2 -0
  102. data/lib/ftpd/cmd_type.rb +2 -0
  103. data/lib/ftpd/command_handler.rb +3 -0
  104. data/lib/ftpd/command_handler_factory.rb +2 -0
  105. data/lib/ftpd/command_handlers.rb +2 -0
  106. data/lib/ftpd/command_loop.rb +2 -0
  107. data/lib/ftpd/command_sequence_checker.rb +2 -0
  108. data/lib/ftpd/config.rb +2 -0
  109. data/lib/ftpd/connection_throttle.rb +2 -0
  110. data/lib/ftpd/connection_tracker.rb +2 -0
  111. data/lib/ftpd/data_connection_helper.rb +2 -0
  112. data/lib/ftpd/data_server_factory.rb +44 -0
  113. data/lib/ftpd/data_server_factory/random_ephemeral_port.rb +26 -0
  114. data/lib/ftpd/data_server_factory/specific_port_range.rb +37 -0
  115. data/lib/ftpd/disk_file_system.rb +2 -0
  116. data/lib/ftpd/error.rb +2 -0
  117. data/lib/ftpd/exception_translator.rb +2 -0
  118. data/lib/ftpd/exceptions.rb +2 -0
  119. data/lib/ftpd/file_info.rb +2 -0
  120. data/lib/ftpd/file_system_helper.rb +2 -0
  121. data/lib/ftpd/ftp_server.rb +27 -0
  122. data/lib/ftpd/gets_peer_address.rb +2 -0
  123. data/lib/ftpd/insecure_certificate.rb +2 -0
  124. data/lib/ftpd/list_format/eplf.rb +2 -0
  125. data/lib/ftpd/list_format/ls.rb +2 -0
  126. data/lib/ftpd/list_path.rb +2 -0
  127. data/lib/ftpd/null_logger.rb +2 -0
  128. data/lib/ftpd/protocols.rb +2 -0
  129. data/lib/ftpd/read_only_disk_file_system.rb +2 -0
  130. data/lib/ftpd/server.rb +2 -0
  131. data/lib/ftpd/session.rb +7 -0
  132. data/lib/ftpd/session_config.rb +26 -2
  133. data/lib/ftpd/stream.rb +2 -0
  134. data/lib/ftpd/telnet.rb +3 -2
  135. data/lib/ftpd/temp_dir.rb +2 -0
  136. data/lib/ftpd/tls_server.rb +2 -0
  137. data/lib/ftpd/translate_exceptions.rb +2 -0
  138. data/spec/command_sequence_checker_spec.rb +2 -0
  139. data/spec/connection_throttle_spec.rb +2 -0
  140. data/spec/connection_tracker_spec.rb +2 -0
  141. data/spec/data_server_factory_spec.rb +104 -0
  142. data/spec/disk_file_system_spec.rb +2 -0
  143. data/spec/exception_translator_spec.rb +2 -0
  144. data/spec/file_info_spec.rb +2 -0
  145. data/spec/ftp_server_error_spec.rb +2 -0
  146. data/spec/list_format/eplf_spec.rb +2 -0
  147. data/spec/list_format/ls_spec.rb +2 -0
  148. data/spec/list_path_spec.rb +2 -0
  149. data/spec/null_logger_spec.rb +2 -0
  150. data/spec/protocols_spec.rb +58 -38
  151. data/spec/server_spec.rb +2 -0
  152. data/spec/spec_helper.rb +2 -0
  153. data/spec/telnet_spec.rb +2 -0
  154. data/spec/translate_exceptions_spec.rb +2 -0
  155. data/testlib/network.rb +17 -0
  156. metadata +13 -7
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module TestServerFiles
2
4
 
3
5
  def add_file(path)
data/ftpd.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: ftpd 1.1.1 ruby lib
5
+ # stub: ftpd 2.0.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "ftpd"
9
- s.version = "1.1.1"
9
+ s.version = "2.0.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Wayne Conrad"]
14
- s.date = "2014-11-22"
14
+ s.date = "2016-06-02"
15
15
  s.description = "ftpd is a pure Ruby FTP server library. It supports implicit and explicit TLS, IPV6, passive and active mode, and is unconditionally compliant per RFC-1123. It can be used as part of a test fixture or embedded in a program."
16
16
  s.email = "wconrad@yagni.com"
17
17
  s.extra_rdoc_files = [
@@ -106,6 +106,7 @@ Gem::Specification.new do |s|
106
106
  "features/step_definitions/get.rb",
107
107
  "features/step_definitions/help.rb",
108
108
  "features/step_definitions/invalid_commands.rb",
109
+ "features/step_definitions/ipv6.rb",
109
110
  "features/step_definitions/line_endings.rb",
110
111
  "features/step_definitions/list.rb",
111
112
  "features/step_definitions/login.rb",
@@ -190,6 +191,9 @@ Gem::Specification.new do |s|
190
191
  "lib/ftpd/connection_throttle.rb",
191
192
  "lib/ftpd/connection_tracker.rb",
192
193
  "lib/ftpd/data_connection_helper.rb",
194
+ "lib/ftpd/data_server_factory.rb",
195
+ "lib/ftpd/data_server_factory/random_ephemeral_port.rb",
196
+ "lib/ftpd/data_server_factory/specific_port_range.rb",
193
197
  "lib/ftpd/disk_file_system.rb",
194
198
  "lib/ftpd/error.rb",
195
199
  "lib/ftpd/exception_translator.rb",
@@ -222,6 +226,7 @@ Gem::Specification.new do |s|
222
226
  "spec/command_sequence_checker_spec.rb",
223
227
  "spec/connection_throttle_spec.rb",
224
228
  "spec/connection_tracker_spec.rb",
229
+ "spec/data_server_factory_spec.rb",
225
230
  "spec/disk_file_system_spec.rb",
226
231
  "spec/exception_translator_spec.rb",
227
232
  "spec/file_info_spec.rb",
@@ -234,11 +239,12 @@ Gem::Specification.new do |s|
234
239
  "spec/server_spec.rb",
235
240
  "spec/spec_helper.rb",
236
241
  "spec/telnet_spec.rb",
237
- "spec/translate_exceptions_spec.rb"
242
+ "spec/translate_exceptions_spec.rb",
243
+ "testlib/network.rb"
238
244
  ]
239
245
  s.homepage = "http://github.com/wconrad/ftpd"
240
246
  s.licenses = ["MIT"]
241
- s.rubygems_version = "2.4.4"
247
+ s.rubygems_version = "2.4.8"
242
248
  s.summary = "Pure Ruby FTP server library"
243
249
 
244
250
  if s.respond_to? :specification_version then
@@ -246,10 +252,10 @@ Gem::Specification.new do |s|
246
252
 
247
253
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
248
254
  s.add_runtime_dependency(%q<memoizer>, ["~> 1.0"])
249
- s.add_development_dependency(%q<cucumber>, ["~> 1.3"])
255
+ s.add_development_dependency(%q<cucumber>, ["~> 2.0"])
250
256
  s.add_development_dependency(%q<double-bag-ftps>, ["~> 0.1"])
251
257
  s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
252
- s.add_development_dependency(%q<rake>, ["~> 10.3"])
258
+ s.add_development_dependency(%q<rake>, ["~> 11.1"])
253
259
  s.add_development_dependency(%q<redcarpet>, ["~> 3.1"])
254
260
  s.add_development_dependency(%q<rspec>, ["~> 3.1"])
255
261
  s.add_development_dependency(%q<rspec-its>, ["~> 1.0"])
@@ -257,10 +263,10 @@ Gem::Specification.new do |s|
257
263
  s.add_development_dependency(%q<yard>, ["~> 0.8.7"])
258
264
  else
259
265
  s.add_dependency(%q<memoizer>, ["~> 1.0"])
260
- s.add_dependency(%q<cucumber>, ["~> 1.3"])
266
+ s.add_dependency(%q<cucumber>, ["~> 2.0"])
261
267
  s.add_dependency(%q<double-bag-ftps>, ["~> 0.1"])
262
268
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
263
- s.add_dependency(%q<rake>, ["~> 10.3"])
269
+ s.add_dependency(%q<rake>, ["~> 11.1"])
264
270
  s.add_dependency(%q<redcarpet>, ["~> 3.1"])
265
271
  s.add_dependency(%q<rspec>, ["~> 3.1"])
266
272
  s.add_dependency(%q<rspec-its>, ["~> 1.0"])
@@ -269,10 +275,10 @@ Gem::Specification.new do |s|
269
275
  end
270
276
  else
271
277
  s.add_dependency(%q<memoizer>, ["~> 1.0"])
272
- s.add_dependency(%q<cucumber>, ["~> 1.3"])
278
+ s.add_dependency(%q<cucumber>, ["~> 2.0"])
273
279
  s.add_dependency(%q<double-bag-ftps>, ["~> 0.1"])
274
280
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
275
- s.add_dependency(%q<rake>, ["~> 10.3"])
281
+ s.add_dependency(%q<rake>, ["~> 11.1"])
276
282
  s.add_dependency(%q<redcarpet>, ["~> 3.1"])
277
283
  s.add_dependency(%q<rspec>, ["~> 3.1"])
278
284
  s.add_dependency(%q<rspec-its>, ["~> 1.0"])
data/lib/ftpd.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Standard libraries
2
4
  require 'fileutils'
3
5
  require 'forwardable'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ftpd
2
4
 
3
5
  # Authorization levels for FtpServer#auth_level
data/lib/ftpd/cmd_abor.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_allo.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_appe.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_auth.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_cdup.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_cwd.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_dele.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_eprt.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_epsv.rb CHANGED
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
4
+ require_relative 'data_server_factory'
2
5
 
3
6
  module Ftpd
4
7
 
@@ -17,8 +20,7 @@ module Ftpd
17
20
  if protocol_code
18
21
  ensure_protocol_supported protocol_code
19
22
  end
20
- interface = socket.addr[3]
21
- self.data_server = TCPServer.new(interface, 0)
23
+ self.data_server = data_server_factory.make_tcp_server
22
24
  port = data_server.addr[1]
23
25
  reply "229 Entering extended passive mode (|||#{port}|)"
24
26
  end
data/lib/ftpd/cmd_feat.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_help.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_list.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_mdtm.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_mkd.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_mode.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_nlst.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_noop.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_opts.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_pasv.rb CHANGED
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
4
+ require_relative 'data_server_factory'
2
5
 
3
6
  module Ftpd
4
7
 
@@ -10,9 +13,8 @@ module Ftpd
10
13
  if data_server
11
14
  reply "200 Already in passive mode"
12
15
  else
13
- interface = socket.addr[3]
14
- self.data_server = TCPServer.new(interface, 0)
15
- ip = data_server.addr[3]
16
+ self.data_server = data_server_factory.make_tcp_server
17
+ ip = config.nat_ip || data_server.addr[3]
16
18
  port = data_server.addr[1]
17
19
  quads = [
18
20
  ip.scan(/\d+/),
data/lib/ftpd/cmd_pbsz.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_port.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_prot.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_pwd.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_quit.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_rein.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_rest.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_retr.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_rmd.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_site.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_size.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_smnt.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_stat.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_stor.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_stou.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_stru.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_syst.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
data/lib/ftpd/cmd_type.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'command_handler'
2
4
 
3
5
  module Ftpd
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_connection_helper'
2
4
  require_relative 'error'
3
5
  require_relative 'file_system_helper'
@@ -55,6 +57,7 @@ module Ftpd
55
57
  :data_port,
56
58
  :data_server,
57
59
  :data_server=,
60
+ :data_server_factory,
58
61
  :data_type,
59
62
  :data_type=,
60
63
  :ensure_logged_in,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ftpd
2
4
 
3
5
  class CommandHandlerFactory