ftpd 1.1.1 → 2.0.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.
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