investtools-ftpd 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +5 -0
  3. data/.yardopts +7 -0
  4. data/Changelog.md +310 -0
  5. data/Gemfile +15 -0
  6. data/Gemfile.lock +93 -0
  7. data/LICENSE.md +9 -0
  8. data/README.md +371 -0
  9. data/Rakefile +14 -0
  10. data/VERSION +1 -0
  11. data/doc/benchmarks.md +82 -0
  12. data/doc/references.md +66 -0
  13. data/doc/rfc-compliance.md +292 -0
  14. data/examples/example.rb +275 -0
  15. data/examples/example_spec.rb +93 -0
  16. data/examples/hello_world.rb +32 -0
  17. data/features/example/eplf.feature +14 -0
  18. data/features/example/example.feature +18 -0
  19. data/features/example/read_only.feature +63 -0
  20. data/features/example/step_definitions/example_server.rb +11 -0
  21. data/features/ftp_server/abort.feature +13 -0
  22. data/features/ftp_server/allo.feature +33 -0
  23. data/features/ftp_server/append.feature +94 -0
  24. data/features/ftp_server/cdup.feature +36 -0
  25. data/features/ftp_server/command_errors.feature +13 -0
  26. data/features/ftp_server/concurrent_sessions.feature +14 -0
  27. data/features/ftp_server/delay_after_failed_login.feature +23 -0
  28. data/features/ftp_server/delete.feature +60 -0
  29. data/features/ftp_server/directory_navigation.feature +59 -0
  30. data/features/ftp_server/disconnect_after_failed_logins.feature +25 -0
  31. data/features/ftp_server/eprt.feature +55 -0
  32. data/features/ftp_server/epsv.feature +36 -0
  33. data/features/ftp_server/features.feature +38 -0
  34. data/features/ftp_server/file_structure.feature +43 -0
  35. data/features/ftp_server/get.feature +80 -0
  36. data/features/ftp_server/get_ipv6.feature +43 -0
  37. data/features/ftp_server/get_tls.feature +23 -0
  38. data/features/ftp_server/help.feature +21 -0
  39. data/features/ftp_server/implicit_tls.feature +23 -0
  40. data/features/ftp_server/invertability.feature +15 -0
  41. data/features/ftp_server/list.feature +94 -0
  42. data/features/ftp_server/list_tls.feature +29 -0
  43. data/features/ftp_server/logging.feature +11 -0
  44. data/features/ftp_server/login_auth_level_account.feature +51 -0
  45. data/features/ftp_server/login_auth_level_password.feature +59 -0
  46. data/features/ftp_server/login_auth_level_user.feature +31 -0
  47. data/features/ftp_server/max_connections.feature +39 -0
  48. data/features/ftp_server/mdtm.feature +53 -0
  49. data/features/ftp_server/mkdir.feature +70 -0
  50. data/features/ftp_server/mode.feature +43 -0
  51. data/features/ftp_server/name_list.feature +77 -0
  52. data/features/ftp_server/name_list_tls.feature +30 -0
  53. data/features/ftp_server/noop.feature +17 -0
  54. data/features/ftp_server/options.feature +17 -0
  55. data/features/ftp_server/pasv.feature +23 -0
  56. data/features/ftp_server/port.feature +49 -0
  57. data/features/ftp_server/put.feature +79 -0
  58. data/features/ftp_server/put_tls.feature +23 -0
  59. data/features/ftp_server/put_unique.feature +56 -0
  60. data/features/ftp_server/quit.feature +23 -0
  61. data/features/ftp_server/reinitialize.feature +13 -0
  62. data/features/ftp_server/rename.feature +97 -0
  63. data/features/ftp_server/rmdir.feature +71 -0
  64. data/features/ftp_server/site.feature +13 -0
  65. data/features/ftp_server/size.feature +69 -0
  66. data/features/ftp_server/status.feature +18 -0
  67. data/features/ftp_server/step_definitions/logging.rb +8 -0
  68. data/features/ftp_server/step_definitions/test_server.rb +65 -0
  69. data/features/ftp_server/structure_mount.feature +13 -0
  70. data/features/ftp_server/syntax_errors.feature +18 -0
  71. data/features/ftp_server/syst.feature +18 -0
  72. data/features/ftp_server/timeout.feature +26 -0
  73. data/features/ftp_server/type.feature +59 -0
  74. data/features/step_definitions/append.rb +15 -0
  75. data/features/step_definitions/client.rb +24 -0
  76. data/features/step_definitions/client_and_server_files.rb +24 -0
  77. data/features/step_definitions/client_files.rb +14 -0
  78. data/features/step_definitions/command.rb +5 -0
  79. data/features/step_definitions/connect.rb +37 -0
  80. data/features/step_definitions/delete.rb +15 -0
  81. data/features/step_definitions/directory_navigation.rb +26 -0
  82. data/features/step_definitions/error_replies.rb +115 -0
  83. data/features/step_definitions/features.rb +21 -0
  84. data/features/step_definitions/file_structure.rb +16 -0
  85. data/features/step_definitions/generic_send.rb +9 -0
  86. data/features/step_definitions/get.rb +16 -0
  87. data/features/step_definitions/help.rb +18 -0
  88. data/features/step_definitions/invalid_commands.rb +11 -0
  89. data/features/step_definitions/line_endings.rb +7 -0
  90. data/features/step_definitions/list.rb +73 -0
  91. data/features/step_definitions/login.rb +82 -0
  92. data/features/step_definitions/mkdir.rb +9 -0
  93. data/features/step_definitions/mode.rb +15 -0
  94. data/features/step_definitions/mtime.rb +23 -0
  95. data/features/step_definitions/noop.rb +15 -0
  96. data/features/step_definitions/options.rb +9 -0
  97. data/features/step_definitions/passive.rb +3 -0
  98. data/features/step_definitions/pending.rb +3 -0
  99. data/features/step_definitions/port.rb +5 -0
  100. data/features/step_definitions/put.rb +29 -0
  101. data/features/step_definitions/quit.rb +15 -0
  102. data/features/step_definitions/rename.rb +11 -0
  103. data/features/step_definitions/rmdir.rb +9 -0
  104. data/features/step_definitions/server_files.rb +61 -0
  105. data/features/step_definitions/server_title.rb +12 -0
  106. data/features/step_definitions/size.rb +20 -0
  107. data/features/step_definitions/status.rb +9 -0
  108. data/features/step_definitions/success_replies.rb +7 -0
  109. data/features/step_definitions/system.rb +7 -0
  110. data/features/step_definitions/timing.rb +19 -0
  111. data/features/step_definitions/type.rb +15 -0
  112. data/features/support/env.rb +4 -0
  113. data/features/support/example_server.rb +67 -0
  114. data/features/support/file_templates/ascii_unix +4 -0
  115. data/features/support/file_templates/ascii_windows +4 -0
  116. data/features/support/file_templates/binary +0 -0
  117. data/features/support/test_client.rb +250 -0
  118. data/features/support/test_file_templates.rb +33 -0
  119. data/features/support/test_server.rb +293 -0
  120. data/features/support/test_server_files.rb +57 -0
  121. data/ftpd.gemspec +283 -0
  122. data/insecure-test-cert.pem +29 -0
  123. data/investtools-ftpd.gemspec +284 -0
  124. data/lib/ftpd.rb +86 -0
  125. data/lib/ftpd/auth_levels.rb +9 -0
  126. data/lib/ftpd/cmd_abor.rb +13 -0
  127. data/lib/ftpd/cmd_allo.rb +20 -0
  128. data/lib/ftpd/cmd_appe.rb +24 -0
  129. data/lib/ftpd/cmd_auth.rb +21 -0
  130. data/lib/ftpd/cmd_cdup.rb +16 -0
  131. data/lib/ftpd/cmd_cwd.rb +20 -0
  132. data/lib/ftpd/cmd_dele.rb +21 -0
  133. data/lib/ftpd/cmd_eprt.rb +23 -0
  134. data/lib/ftpd/cmd_epsv.rb +30 -0
  135. data/lib/ftpd/cmd_feat.rb +44 -0
  136. data/lib/ftpd/cmd_help.rb +29 -0
  137. data/lib/ftpd/cmd_list.rb +33 -0
  138. data/lib/ftpd/cmd_login.rb +60 -0
  139. data/lib/ftpd/cmd_mdtm.rb +27 -0
  140. data/lib/ftpd/cmd_mkd.rb +23 -0
  141. data/lib/ftpd/cmd_mode.rb +27 -0
  142. data/lib/ftpd/cmd_nlst.rb +27 -0
  143. data/lib/ftpd/cmd_noop.rb +14 -0
  144. data/lib/ftpd/cmd_opts.rb +14 -0
  145. data/lib/ftpd/cmd_pasv.rb +28 -0
  146. data/lib/ftpd/cmd_pbsz.rb +23 -0
  147. data/lib/ftpd/cmd_port.rb +28 -0
  148. data/lib/ftpd/cmd_prot.rb +34 -0
  149. data/lib/ftpd/cmd_pwd.rb +15 -0
  150. data/lib/ftpd/cmd_quit.rb +18 -0
  151. data/lib/ftpd/cmd_rein.rb +13 -0
  152. data/lib/ftpd/cmd_rename.rb +32 -0
  153. data/lib/ftpd/cmd_rest.rb +13 -0
  154. data/lib/ftpd/cmd_retr.rb +24 -0
  155. data/lib/ftpd/cmd_rmd.rb +22 -0
  156. data/lib/ftpd/cmd_site.rb +13 -0
  157. data/lib/ftpd/cmd_size.rb +29 -0
  158. data/lib/ftpd/cmd_smnt.rb +13 -0
  159. data/lib/ftpd/cmd_stat.rb +15 -0
  160. data/lib/ftpd/cmd_stor.rb +25 -0
  161. data/lib/ftpd/cmd_stou.rb +25 -0
  162. data/lib/ftpd/cmd_stru.rb +27 -0
  163. data/lib/ftpd/cmd_syst.rb +16 -0
  164. data/lib/ftpd/cmd_type.rb +28 -0
  165. data/lib/ftpd/command_handler.rb +90 -0
  166. data/lib/ftpd/command_handler_factory.rb +51 -0
  167. data/lib/ftpd/command_handlers.rb +60 -0
  168. data/lib/ftpd/command_loop.rb +80 -0
  169. data/lib/ftpd/command_sequence_checker.rb +58 -0
  170. data/lib/ftpd/config.rb +13 -0
  171. data/lib/ftpd/connection_throttle.rb +56 -0
  172. data/lib/ftpd/connection_tracker.rb +82 -0
  173. data/lib/ftpd/data_connection_helper.rb +123 -0
  174. data/lib/ftpd/disk_file_system.rb +434 -0
  175. data/lib/ftpd/error.rb +21 -0
  176. data/lib/ftpd/exception_translator.rb +32 -0
  177. data/lib/ftpd/exceptions.rb +62 -0
  178. data/lib/ftpd/file_info.rb +115 -0
  179. data/lib/ftpd/file_system_helper.rb +67 -0
  180. data/lib/ftpd/ftp_server.rb +214 -0
  181. data/lib/ftpd/gets_peer_address.rb +41 -0
  182. data/lib/ftpd/insecure_certificate.rb +16 -0
  183. data/lib/ftpd/list_format/eplf.rb +74 -0
  184. data/lib/ftpd/list_format/ls.rb +154 -0
  185. data/lib/ftpd/list_path.rb +28 -0
  186. data/lib/ftpd/null_logger.rb +22 -0
  187. data/lib/ftpd/protocols.rb +60 -0
  188. data/lib/ftpd/read_only_disk_file_system.rb +22 -0
  189. data/lib/ftpd/server.rb +139 -0
  190. data/lib/ftpd/session.rb +220 -0
  191. data/lib/ftpd/session_config.rb +111 -0
  192. data/lib/ftpd/stream.rb +80 -0
  193. data/lib/ftpd/telnet.rb +114 -0
  194. data/lib/ftpd/temp_dir.rb +22 -0
  195. data/lib/ftpd/tls_server.rb +111 -0
  196. data/lib/ftpd/translate_exceptions.rb +68 -0
  197. data/rake_tasks/cucumber.rake +9 -0
  198. data/rake_tasks/default.rake +1 -0
  199. data/rake_tasks/jeweler.rake +52 -0
  200. data/rake_tasks/spec.rake +3 -0
  201. data/rake_tasks/test.rake +2 -0
  202. data/rake_tasks/yard.rake +3 -0
  203. data/spec/command_sequence_checker_spec.rb +83 -0
  204. data/spec/connection_throttle_spec.rb +99 -0
  205. data/spec/connection_tracker_spec.rb +97 -0
  206. data/spec/disk_file_system_spec.rb +320 -0
  207. data/spec/exception_translator_spec.rb +36 -0
  208. data/spec/file_info_spec.rb +59 -0
  209. data/spec/ftp_server_error_spec.rb +13 -0
  210. data/spec/list_format/eplf_spec.rb +61 -0
  211. data/spec/list_format/ls_spec.rb +270 -0
  212. data/spec/list_path_spec.rb +21 -0
  213. data/spec/null_logger_spec.rb +24 -0
  214. data/spec/protocols_spec.rb +139 -0
  215. data/spec/server_spec.rb +81 -0
  216. data/spec/spec_helper.rb +15 -0
  217. data/spec/telnet_spec.rb +75 -0
  218. data/spec/translate_exceptions_spec.rb +40 -0
  219. metadata +404 -0
@@ -0,0 +1,57 @@
1
+ module TestServerFiles
2
+
3
+ def add_file(path)
4
+ full_path = temp_path(path)
5
+ mkdir_p File.dirname(full_path)
6
+ File.open(full_path, 'wb') do |file|
7
+ file.write @templates[File.basename(full_path)]
8
+ end
9
+ end
10
+
11
+ def set_mtime(path, mtime)
12
+ full_path = temp_path(path)
13
+ File.utime(File.atime(full_path), mtime, full_path)
14
+ end
15
+
16
+ def add_directory(path)
17
+ full_path = temp_path(path)
18
+ mkdir_p full_path
19
+ end
20
+
21
+ def has_file?(path)
22
+ full_path = temp_path(path)
23
+ File.exists?(full_path)
24
+ end
25
+
26
+ def has_file_with_contents_of?(path)
27
+ expected_contents = @templates[File.basename(path)]
28
+ all_paths.any? do |path|
29
+ File.open(path, 'rb', &:read) == expected_contents
30
+ end
31
+ end
32
+
33
+ def files_named_like(name)
34
+ all_paths.select do |path|
35
+ path.include?(name)
36
+ end
37
+ end
38
+
39
+ def has_directory?(path)
40
+ full_path = temp_path(path)
41
+ File.directory?(full_path)
42
+ end
43
+
44
+ def file_contents(path)
45
+ full_path = temp_path(path)
46
+ File.open(full_path, 'rb', &:read)
47
+ end
48
+
49
+ def temp_path(path)
50
+ File.expand_path(path, temp_dir)
51
+ end
52
+
53
+ def all_paths
54
+ Dir[temp_path('**/*')]
55
+ end
56
+
57
+ end
@@ -0,0 +1,283 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: ftpd 1.0.1 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "ftpd"
9
+ s.version = "1.0.1"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Wayne Conrad"]
14
+ s.date = "2014-11-12"
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
+ s.email = "wconrad@yagni.com"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.md",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".travis.yml",
23
+ ".yardopts",
24
+ "Changelog.md",
25
+ "Gemfile",
26
+ "Gemfile.lock",
27
+ "LICENSE.md",
28
+ "README.md",
29
+ "Rakefile",
30
+ "VERSION",
31
+ "doc/benchmarks.md",
32
+ "doc/references.md",
33
+ "doc/rfc-compliance.md",
34
+ "examples/example.rb",
35
+ "examples/example_spec.rb",
36
+ "examples/hello_world.rb",
37
+ "features/example/eplf.feature",
38
+ "features/example/example.feature",
39
+ "features/example/read_only.feature",
40
+ "features/example/step_definitions/example_server.rb",
41
+ "features/ftp_server/abort.feature",
42
+ "features/ftp_server/allo.feature",
43
+ "features/ftp_server/append.feature",
44
+ "features/ftp_server/cdup.feature",
45
+ "features/ftp_server/command_errors.feature",
46
+ "features/ftp_server/concurrent_sessions.feature",
47
+ "features/ftp_server/delay_after_failed_login.feature",
48
+ "features/ftp_server/delete.feature",
49
+ "features/ftp_server/directory_navigation.feature",
50
+ "features/ftp_server/disconnect_after_failed_logins.feature",
51
+ "features/ftp_server/eprt.feature",
52
+ "features/ftp_server/epsv.feature",
53
+ "features/ftp_server/features.feature",
54
+ "features/ftp_server/file_structure.feature",
55
+ "features/ftp_server/get.feature",
56
+ "features/ftp_server/get_ipv6.feature",
57
+ "features/ftp_server/get_tls.feature",
58
+ "features/ftp_server/help.feature",
59
+ "features/ftp_server/implicit_tls.feature",
60
+ "features/ftp_server/invertability.feature",
61
+ "features/ftp_server/list.feature",
62
+ "features/ftp_server/list_tls.feature",
63
+ "features/ftp_server/logging.feature",
64
+ "features/ftp_server/login_auth_level_account.feature",
65
+ "features/ftp_server/login_auth_level_password.feature",
66
+ "features/ftp_server/login_auth_level_user.feature",
67
+ "features/ftp_server/max_connections.feature",
68
+ "features/ftp_server/mdtm.feature",
69
+ "features/ftp_server/mkdir.feature",
70
+ "features/ftp_server/mode.feature",
71
+ "features/ftp_server/name_list.feature",
72
+ "features/ftp_server/name_list_tls.feature",
73
+ "features/ftp_server/noop.feature",
74
+ "features/ftp_server/options.feature",
75
+ "features/ftp_server/pasv.feature",
76
+ "features/ftp_server/port.feature",
77
+ "features/ftp_server/put.feature",
78
+ "features/ftp_server/put_tls.feature",
79
+ "features/ftp_server/put_unique.feature",
80
+ "features/ftp_server/quit.feature",
81
+ "features/ftp_server/reinitialize.feature",
82
+ "features/ftp_server/rename.feature",
83
+ "features/ftp_server/rmdir.feature",
84
+ "features/ftp_server/site.feature",
85
+ "features/ftp_server/size.feature",
86
+ "features/ftp_server/status.feature",
87
+ "features/ftp_server/step_definitions/logging.rb",
88
+ "features/ftp_server/step_definitions/test_server.rb",
89
+ "features/ftp_server/structure_mount.feature",
90
+ "features/ftp_server/syntax_errors.feature",
91
+ "features/ftp_server/syst.feature",
92
+ "features/ftp_server/timeout.feature",
93
+ "features/ftp_server/type.feature",
94
+ "features/step_definitions/append.rb",
95
+ "features/step_definitions/client.rb",
96
+ "features/step_definitions/client_and_server_files.rb",
97
+ "features/step_definitions/client_files.rb",
98
+ "features/step_definitions/command.rb",
99
+ "features/step_definitions/connect.rb",
100
+ "features/step_definitions/delete.rb",
101
+ "features/step_definitions/directory_navigation.rb",
102
+ "features/step_definitions/error_replies.rb",
103
+ "features/step_definitions/features.rb",
104
+ "features/step_definitions/file_structure.rb",
105
+ "features/step_definitions/generic_send.rb",
106
+ "features/step_definitions/get.rb",
107
+ "features/step_definitions/help.rb",
108
+ "features/step_definitions/invalid_commands.rb",
109
+ "features/step_definitions/line_endings.rb",
110
+ "features/step_definitions/list.rb",
111
+ "features/step_definitions/login.rb",
112
+ "features/step_definitions/mkdir.rb",
113
+ "features/step_definitions/mode.rb",
114
+ "features/step_definitions/mtime.rb",
115
+ "features/step_definitions/noop.rb",
116
+ "features/step_definitions/options.rb",
117
+ "features/step_definitions/passive.rb",
118
+ "features/step_definitions/pending.rb",
119
+ "features/step_definitions/port.rb",
120
+ "features/step_definitions/put.rb",
121
+ "features/step_definitions/quit.rb",
122
+ "features/step_definitions/rename.rb",
123
+ "features/step_definitions/rmdir.rb",
124
+ "features/step_definitions/server_files.rb",
125
+ "features/step_definitions/server_title.rb",
126
+ "features/step_definitions/size.rb",
127
+ "features/step_definitions/status.rb",
128
+ "features/step_definitions/success_replies.rb",
129
+ "features/step_definitions/system.rb",
130
+ "features/step_definitions/timing.rb",
131
+ "features/step_definitions/type.rb",
132
+ "features/support/env.rb",
133
+ "features/support/example_server.rb",
134
+ "features/support/file_templates/ascii_unix",
135
+ "features/support/file_templates/ascii_windows",
136
+ "features/support/file_templates/binary",
137
+ "features/support/test_client.rb",
138
+ "features/support/test_file_templates.rb",
139
+ "features/support/test_server.rb",
140
+ "features/support/test_server_files.rb",
141
+ "ftpd.gemspec",
142
+ "insecure-test-cert.pem",
143
+ "lib/ftpd.rb",
144
+ "lib/ftpd/auth_levels.rb",
145
+ "lib/ftpd/cmd_abor.rb",
146
+ "lib/ftpd/cmd_allo.rb",
147
+ "lib/ftpd/cmd_appe.rb",
148
+ "lib/ftpd/cmd_auth.rb",
149
+ "lib/ftpd/cmd_cdup.rb",
150
+ "lib/ftpd/cmd_cwd.rb",
151
+ "lib/ftpd/cmd_dele.rb",
152
+ "lib/ftpd/cmd_eprt.rb",
153
+ "lib/ftpd/cmd_epsv.rb",
154
+ "lib/ftpd/cmd_feat.rb",
155
+ "lib/ftpd/cmd_help.rb",
156
+ "lib/ftpd/cmd_list.rb",
157
+ "lib/ftpd/cmd_login.rb",
158
+ "lib/ftpd/cmd_mdtm.rb",
159
+ "lib/ftpd/cmd_mkd.rb",
160
+ "lib/ftpd/cmd_mode.rb",
161
+ "lib/ftpd/cmd_nlst.rb",
162
+ "lib/ftpd/cmd_noop.rb",
163
+ "lib/ftpd/cmd_opts.rb",
164
+ "lib/ftpd/cmd_pasv.rb",
165
+ "lib/ftpd/cmd_pbsz.rb",
166
+ "lib/ftpd/cmd_port.rb",
167
+ "lib/ftpd/cmd_prot.rb",
168
+ "lib/ftpd/cmd_pwd.rb",
169
+ "lib/ftpd/cmd_quit.rb",
170
+ "lib/ftpd/cmd_rein.rb",
171
+ "lib/ftpd/cmd_rename.rb",
172
+ "lib/ftpd/cmd_rest.rb",
173
+ "lib/ftpd/cmd_retr.rb",
174
+ "lib/ftpd/cmd_rmd.rb",
175
+ "lib/ftpd/cmd_site.rb",
176
+ "lib/ftpd/cmd_size.rb",
177
+ "lib/ftpd/cmd_smnt.rb",
178
+ "lib/ftpd/cmd_stat.rb",
179
+ "lib/ftpd/cmd_stor.rb",
180
+ "lib/ftpd/cmd_stou.rb",
181
+ "lib/ftpd/cmd_stru.rb",
182
+ "lib/ftpd/cmd_syst.rb",
183
+ "lib/ftpd/cmd_type.rb",
184
+ "lib/ftpd/command_handler.rb",
185
+ "lib/ftpd/command_handler_factory.rb",
186
+ "lib/ftpd/command_handlers.rb",
187
+ "lib/ftpd/command_loop.rb",
188
+ "lib/ftpd/command_sequence_checker.rb",
189
+ "lib/ftpd/config.rb",
190
+ "lib/ftpd/connection_throttle.rb",
191
+ "lib/ftpd/connection_tracker.rb",
192
+ "lib/ftpd/data_connection_helper.rb",
193
+ "lib/ftpd/disk_file_system.rb",
194
+ "lib/ftpd/error.rb",
195
+ "lib/ftpd/exception_translator.rb",
196
+ "lib/ftpd/exceptions.rb",
197
+ "lib/ftpd/file_info.rb",
198
+ "lib/ftpd/file_system_helper.rb",
199
+ "lib/ftpd/ftp_server.rb",
200
+ "lib/ftpd/gets_peer_address.rb",
201
+ "lib/ftpd/insecure_certificate.rb",
202
+ "lib/ftpd/list_format/eplf.rb",
203
+ "lib/ftpd/list_format/ls.rb",
204
+ "lib/ftpd/list_path.rb",
205
+ "lib/ftpd/null_logger.rb",
206
+ "lib/ftpd/protocols.rb",
207
+ "lib/ftpd/read_only_disk_file_system.rb",
208
+ "lib/ftpd/server.rb",
209
+ "lib/ftpd/session.rb",
210
+ "lib/ftpd/session_config.rb",
211
+ "lib/ftpd/stream.rb",
212
+ "lib/ftpd/telnet.rb",
213
+ "lib/ftpd/temp_dir.rb",
214
+ "lib/ftpd/tls_server.rb",
215
+ "lib/ftpd/translate_exceptions.rb",
216
+ "rake_tasks/cucumber.rake",
217
+ "rake_tasks/default.rake",
218
+ "rake_tasks/jeweler.rake",
219
+ "rake_tasks/spec.rake",
220
+ "rake_tasks/test.rake",
221
+ "rake_tasks/yard.rake",
222
+ "spec/command_sequence_checker_spec.rb",
223
+ "spec/connection_throttle_spec.rb",
224
+ "spec/connection_tracker_spec.rb",
225
+ "spec/disk_file_system_spec.rb",
226
+ "spec/exception_translator_spec.rb",
227
+ "spec/file_info_spec.rb",
228
+ "spec/ftp_server_error_spec.rb",
229
+ "spec/list_format/eplf_spec.rb",
230
+ "spec/list_format/ls_spec.rb",
231
+ "spec/list_path_spec.rb",
232
+ "spec/null_logger_spec.rb",
233
+ "spec/protocols_spec.rb",
234
+ "spec/server_spec.rb",
235
+ "spec/spec_helper.rb",
236
+ "spec/telnet_spec.rb",
237
+ "spec/translate_exceptions_spec.rb"
238
+ ]
239
+ s.homepage = "http://github.com/wconrad/ftpd"
240
+ s.licenses = ["MIT"]
241
+ s.rubygems_version = "2.2.2"
242
+ s.summary = "Pure Ruby FTP server library"
243
+
244
+ if s.respond_to? :specification_version then
245
+ s.specification_version = 4
246
+
247
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
248
+ s.add_runtime_dependency(%q<memoizer>, ["~> 1.0"])
249
+ s.add_development_dependency(%q<cucumber>, ["~> 1.3"])
250
+ s.add_development_dependency(%q<double-bag-ftps>, ["~> 0.1"])
251
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
252
+ s.add_development_dependency(%q<rake>, ["~> 10.3"])
253
+ s.add_development_dependency(%q<redcarpet>, ["~> 3.1"])
254
+ s.add_development_dependency(%q<rspec>, ["~> 3.1"])
255
+ s.add_development_dependency(%q<rspec-its>, ["~> 1.0"])
256
+ s.add_development_dependency(%q<timecop>, ["~> 0.7"])
257
+ s.add_development_dependency(%q<yard>, ["~> 0.8.7"])
258
+ else
259
+ s.add_dependency(%q<memoizer>, ["~> 1.0"])
260
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
261
+ s.add_dependency(%q<double-bag-ftps>, ["~> 0.1"])
262
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
263
+ s.add_dependency(%q<rake>, ["~> 10.3"])
264
+ s.add_dependency(%q<redcarpet>, ["~> 3.1"])
265
+ s.add_dependency(%q<rspec>, ["~> 3.1"])
266
+ s.add_dependency(%q<rspec-its>, ["~> 1.0"])
267
+ s.add_dependency(%q<timecop>, ["~> 0.7"])
268
+ s.add_dependency(%q<yard>, ["~> 0.8.7"])
269
+ end
270
+ else
271
+ s.add_dependency(%q<memoizer>, ["~> 1.0"])
272
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
273
+ s.add_dependency(%q<double-bag-ftps>, ["~> 0.1"])
274
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
275
+ s.add_dependency(%q<rake>, ["~> 10.3"])
276
+ s.add_dependency(%q<redcarpet>, ["~> 3.1"])
277
+ s.add_dependency(%q<rspec>, ["~> 3.1"])
278
+ s.add_dependency(%q<rspec-its>, ["~> 1.0"])
279
+ s.add_dependency(%q<timecop>, ["~> 0.7"])
280
+ s.add_dependency(%q<yard>, ["~> 0.8.7"])
281
+ end
282
+ end
283
+
@@ -0,0 +1,29 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIICIzCCAYwCCQDPNA1ZOq8CbzANBgkqhkiG9w0BAQUFADBWMQswCQYDVQQGEwJV
3
+ UzEPMA0GA1UECAwGRGVuaWFsMRQwEgYDVQQHDAtTcHJpbmdmaWVsZDEMMAoGA1UE
4
+ CgwDRGlzMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTIwNjIyMTMyMTI1WhcNMjIw
5
+ NjIwMTMyMTI1WjBWMQswCQYDVQQGEwJVUzEPMA0GA1UECAwGRGVuaWFsMRQwEgYD
6
+ VQQHDAtTcHJpbmdmaWVsZDEMMAoGA1UECgwDRGlzMRIwEAYDVQQDDAlsb2NhbGhv
7
+ c3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKyacIYurNopaS1tHCE5VrUb
8
+ 1tFveP5kWm6kyeE42dYFMcb0wSKofKDWPju+jEwxZ/SLBnF/IvDKqfFH8A7bzdTi
9
+ mdtiWZgqMjs1QxFWF3ohoHm0bB2l0zSWufefjSjstSJanazOW4seq3Zm9ut233Mm
10
+ 7h2fKgmM8mzUIKqqLCFfAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAJdwBZm4BI+7y
11
+ Ul0TJtzdLuKo5lKJXX/l8v7hlvziR6Vbv0H7bdqJ+5N3DLDDHZ4DEbypP67lxf2i
12
+ cyKdbash/nJsMUVUr+MsvJ9VyRRiSyhzqCN/RgaN9nx4Z0fl5I8aQp2qcZi1t8R5
13
+ ZLgk9oqiPOEca6i22DDBSg0cnhBH9Lk=
14
+ -----END CERTIFICATE-----
15
+ -----BEGIN RSA PRIVATE KEY-----
16
+ MIICXAIBAAKBgQCsmnCGLqzaKWktbRwhOVa1G9bRb3j+ZFpupMnhONnWBTHG9MEi
17
+ qHyg1j47voxMMWf0iwZxfyLwyqnxR/AO283U4pnbYlmYKjI7NUMRVhd6IaB5tGwd
18
+ pdM0lrn3n40o7LUiWp2szluLHqt2Zvbrdt9zJu4dnyoJjPJs1CCqqiwhXwIDAQAB
19
+ AoGAcyj/1qchsNVcVXCtCgXFskSGyWnEooa2R4gvIdPak48XrRT0H3mm3XDUSOxT
20
+ kyqLn396pxMabunpBRDoPCGvbDdphhcSKIJPRga0LJBnMVp87xeaw0JvNB1EsdzP
21
+ xbsXwSt39zjJeAE1IAOgMCHC/GRisvRnkZuKOM7XYe7UAGECQQDeawf/5Zgfcvgc
22
+ Bqxv6ZPCJxAh7FKyWDUqa8RTtD0qWuXOYnlVzaEkN8FfimrPdmQBx+eMacsqCrLG
23
+ v8hvubt5AkEAxqnzo+IU4bsUdezndEjYKOVH3qs9qO+8bneKCqD4h2k2Db2va8OG
24
+ sP44hRMvgkkRiZjHWAUeG+ytgWGU7CK1lwJAe1fvv8GbcxVW8nPg/M8T2f+/upBL
25
+ 7AtusG/DGIhDw1FVT/bcQvEeA+/HlSw1v4dwPmyVxBCHUnFMY1vH0+20QQJBAI6s
26
+ 4eCx7qNLM1+Z24RFCJEeUWZWfzsDqcWALnCBuNuvMPXfY8u2KdaVTUwtQjKEfYbf
27
+ ZVMOodgWO2mvBkAskVMCQE98evHiZkDEpVU89TbbClYpmGOSRjQTrXEaVePLb0Hr
28
+ GwylNdJEAClM4gK+GnXa4m57xs13eBwuXsM+77fdU2I=
29
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,284 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: investtools-ftpd 1.0.1 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "investtools-ftpd"
9
+ s.version = "1.0.1"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Wayne Conrad"]
14
+ s.date = "2014-11-12"
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
+ s.email = "wconrad@yagni.com"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.md",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".travis.yml",
23
+ ".yardopts",
24
+ "Changelog.md",
25
+ "Gemfile",
26
+ "Gemfile.lock",
27
+ "LICENSE.md",
28
+ "README.md",
29
+ "Rakefile",
30
+ "VERSION",
31
+ "doc/benchmarks.md",
32
+ "doc/references.md",
33
+ "doc/rfc-compliance.md",
34
+ "examples/example.rb",
35
+ "examples/example_spec.rb",
36
+ "examples/hello_world.rb",
37
+ "features/example/eplf.feature",
38
+ "features/example/example.feature",
39
+ "features/example/read_only.feature",
40
+ "features/example/step_definitions/example_server.rb",
41
+ "features/ftp_server/abort.feature",
42
+ "features/ftp_server/allo.feature",
43
+ "features/ftp_server/append.feature",
44
+ "features/ftp_server/cdup.feature",
45
+ "features/ftp_server/command_errors.feature",
46
+ "features/ftp_server/concurrent_sessions.feature",
47
+ "features/ftp_server/delay_after_failed_login.feature",
48
+ "features/ftp_server/delete.feature",
49
+ "features/ftp_server/directory_navigation.feature",
50
+ "features/ftp_server/disconnect_after_failed_logins.feature",
51
+ "features/ftp_server/eprt.feature",
52
+ "features/ftp_server/epsv.feature",
53
+ "features/ftp_server/features.feature",
54
+ "features/ftp_server/file_structure.feature",
55
+ "features/ftp_server/get.feature",
56
+ "features/ftp_server/get_ipv6.feature",
57
+ "features/ftp_server/get_tls.feature",
58
+ "features/ftp_server/help.feature",
59
+ "features/ftp_server/implicit_tls.feature",
60
+ "features/ftp_server/invertability.feature",
61
+ "features/ftp_server/list.feature",
62
+ "features/ftp_server/list_tls.feature",
63
+ "features/ftp_server/logging.feature",
64
+ "features/ftp_server/login_auth_level_account.feature",
65
+ "features/ftp_server/login_auth_level_password.feature",
66
+ "features/ftp_server/login_auth_level_user.feature",
67
+ "features/ftp_server/max_connections.feature",
68
+ "features/ftp_server/mdtm.feature",
69
+ "features/ftp_server/mkdir.feature",
70
+ "features/ftp_server/mode.feature",
71
+ "features/ftp_server/name_list.feature",
72
+ "features/ftp_server/name_list_tls.feature",
73
+ "features/ftp_server/noop.feature",
74
+ "features/ftp_server/options.feature",
75
+ "features/ftp_server/pasv.feature",
76
+ "features/ftp_server/port.feature",
77
+ "features/ftp_server/put.feature",
78
+ "features/ftp_server/put_tls.feature",
79
+ "features/ftp_server/put_unique.feature",
80
+ "features/ftp_server/quit.feature",
81
+ "features/ftp_server/reinitialize.feature",
82
+ "features/ftp_server/rename.feature",
83
+ "features/ftp_server/rmdir.feature",
84
+ "features/ftp_server/site.feature",
85
+ "features/ftp_server/size.feature",
86
+ "features/ftp_server/status.feature",
87
+ "features/ftp_server/step_definitions/logging.rb",
88
+ "features/ftp_server/step_definitions/test_server.rb",
89
+ "features/ftp_server/structure_mount.feature",
90
+ "features/ftp_server/syntax_errors.feature",
91
+ "features/ftp_server/syst.feature",
92
+ "features/ftp_server/timeout.feature",
93
+ "features/ftp_server/type.feature",
94
+ "features/step_definitions/append.rb",
95
+ "features/step_definitions/client.rb",
96
+ "features/step_definitions/client_and_server_files.rb",
97
+ "features/step_definitions/client_files.rb",
98
+ "features/step_definitions/command.rb",
99
+ "features/step_definitions/connect.rb",
100
+ "features/step_definitions/delete.rb",
101
+ "features/step_definitions/directory_navigation.rb",
102
+ "features/step_definitions/error_replies.rb",
103
+ "features/step_definitions/features.rb",
104
+ "features/step_definitions/file_structure.rb",
105
+ "features/step_definitions/generic_send.rb",
106
+ "features/step_definitions/get.rb",
107
+ "features/step_definitions/help.rb",
108
+ "features/step_definitions/invalid_commands.rb",
109
+ "features/step_definitions/line_endings.rb",
110
+ "features/step_definitions/list.rb",
111
+ "features/step_definitions/login.rb",
112
+ "features/step_definitions/mkdir.rb",
113
+ "features/step_definitions/mode.rb",
114
+ "features/step_definitions/mtime.rb",
115
+ "features/step_definitions/noop.rb",
116
+ "features/step_definitions/options.rb",
117
+ "features/step_definitions/passive.rb",
118
+ "features/step_definitions/pending.rb",
119
+ "features/step_definitions/port.rb",
120
+ "features/step_definitions/put.rb",
121
+ "features/step_definitions/quit.rb",
122
+ "features/step_definitions/rename.rb",
123
+ "features/step_definitions/rmdir.rb",
124
+ "features/step_definitions/server_files.rb",
125
+ "features/step_definitions/server_title.rb",
126
+ "features/step_definitions/size.rb",
127
+ "features/step_definitions/status.rb",
128
+ "features/step_definitions/success_replies.rb",
129
+ "features/step_definitions/system.rb",
130
+ "features/step_definitions/timing.rb",
131
+ "features/step_definitions/type.rb",
132
+ "features/support/env.rb",
133
+ "features/support/example_server.rb",
134
+ "features/support/file_templates/ascii_unix",
135
+ "features/support/file_templates/ascii_windows",
136
+ "features/support/file_templates/binary",
137
+ "features/support/test_client.rb",
138
+ "features/support/test_file_templates.rb",
139
+ "features/support/test_server.rb",
140
+ "features/support/test_server_files.rb",
141
+ "ftpd.gemspec",
142
+ "insecure-test-cert.pem",
143
+ "investtools-ftpd.gemspec",
144
+ "lib/ftpd.rb",
145
+ "lib/ftpd/auth_levels.rb",
146
+ "lib/ftpd/cmd_abor.rb",
147
+ "lib/ftpd/cmd_allo.rb",
148
+ "lib/ftpd/cmd_appe.rb",
149
+ "lib/ftpd/cmd_auth.rb",
150
+ "lib/ftpd/cmd_cdup.rb",
151
+ "lib/ftpd/cmd_cwd.rb",
152
+ "lib/ftpd/cmd_dele.rb",
153
+ "lib/ftpd/cmd_eprt.rb",
154
+ "lib/ftpd/cmd_epsv.rb",
155
+ "lib/ftpd/cmd_feat.rb",
156
+ "lib/ftpd/cmd_help.rb",
157
+ "lib/ftpd/cmd_list.rb",
158
+ "lib/ftpd/cmd_login.rb",
159
+ "lib/ftpd/cmd_mdtm.rb",
160
+ "lib/ftpd/cmd_mkd.rb",
161
+ "lib/ftpd/cmd_mode.rb",
162
+ "lib/ftpd/cmd_nlst.rb",
163
+ "lib/ftpd/cmd_noop.rb",
164
+ "lib/ftpd/cmd_opts.rb",
165
+ "lib/ftpd/cmd_pasv.rb",
166
+ "lib/ftpd/cmd_pbsz.rb",
167
+ "lib/ftpd/cmd_port.rb",
168
+ "lib/ftpd/cmd_prot.rb",
169
+ "lib/ftpd/cmd_pwd.rb",
170
+ "lib/ftpd/cmd_quit.rb",
171
+ "lib/ftpd/cmd_rein.rb",
172
+ "lib/ftpd/cmd_rename.rb",
173
+ "lib/ftpd/cmd_rest.rb",
174
+ "lib/ftpd/cmd_retr.rb",
175
+ "lib/ftpd/cmd_rmd.rb",
176
+ "lib/ftpd/cmd_site.rb",
177
+ "lib/ftpd/cmd_size.rb",
178
+ "lib/ftpd/cmd_smnt.rb",
179
+ "lib/ftpd/cmd_stat.rb",
180
+ "lib/ftpd/cmd_stor.rb",
181
+ "lib/ftpd/cmd_stou.rb",
182
+ "lib/ftpd/cmd_stru.rb",
183
+ "lib/ftpd/cmd_syst.rb",
184
+ "lib/ftpd/cmd_type.rb",
185
+ "lib/ftpd/command_handler.rb",
186
+ "lib/ftpd/command_handler_factory.rb",
187
+ "lib/ftpd/command_handlers.rb",
188
+ "lib/ftpd/command_loop.rb",
189
+ "lib/ftpd/command_sequence_checker.rb",
190
+ "lib/ftpd/config.rb",
191
+ "lib/ftpd/connection_throttle.rb",
192
+ "lib/ftpd/connection_tracker.rb",
193
+ "lib/ftpd/data_connection_helper.rb",
194
+ "lib/ftpd/disk_file_system.rb",
195
+ "lib/ftpd/error.rb",
196
+ "lib/ftpd/exception_translator.rb",
197
+ "lib/ftpd/exceptions.rb",
198
+ "lib/ftpd/file_info.rb",
199
+ "lib/ftpd/file_system_helper.rb",
200
+ "lib/ftpd/ftp_server.rb",
201
+ "lib/ftpd/gets_peer_address.rb",
202
+ "lib/ftpd/insecure_certificate.rb",
203
+ "lib/ftpd/list_format/eplf.rb",
204
+ "lib/ftpd/list_format/ls.rb",
205
+ "lib/ftpd/list_path.rb",
206
+ "lib/ftpd/null_logger.rb",
207
+ "lib/ftpd/protocols.rb",
208
+ "lib/ftpd/read_only_disk_file_system.rb",
209
+ "lib/ftpd/server.rb",
210
+ "lib/ftpd/session.rb",
211
+ "lib/ftpd/session_config.rb",
212
+ "lib/ftpd/stream.rb",
213
+ "lib/ftpd/telnet.rb",
214
+ "lib/ftpd/temp_dir.rb",
215
+ "lib/ftpd/tls_server.rb",
216
+ "lib/ftpd/translate_exceptions.rb",
217
+ "rake_tasks/cucumber.rake",
218
+ "rake_tasks/default.rake",
219
+ "rake_tasks/jeweler.rake",
220
+ "rake_tasks/spec.rake",
221
+ "rake_tasks/test.rake",
222
+ "rake_tasks/yard.rake",
223
+ "spec/command_sequence_checker_spec.rb",
224
+ "spec/connection_throttle_spec.rb",
225
+ "spec/connection_tracker_spec.rb",
226
+ "spec/disk_file_system_spec.rb",
227
+ "spec/exception_translator_spec.rb",
228
+ "spec/file_info_spec.rb",
229
+ "spec/ftp_server_error_spec.rb",
230
+ "spec/list_format/eplf_spec.rb",
231
+ "spec/list_format/ls_spec.rb",
232
+ "spec/list_path_spec.rb",
233
+ "spec/null_logger_spec.rb",
234
+ "spec/protocols_spec.rb",
235
+ "spec/server_spec.rb",
236
+ "spec/spec_helper.rb",
237
+ "spec/telnet_spec.rb",
238
+ "spec/translate_exceptions_spec.rb"
239
+ ]
240
+ s.homepage = "http://github.com/wconrad/ftpd"
241
+ s.licenses = ["MIT"]
242
+ s.rubygems_version = "2.2.2"
243
+ s.summary = "Pure Ruby FTP server library"
244
+
245
+ if s.respond_to? :specification_version then
246
+ s.specification_version = 4
247
+
248
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
249
+ s.add_runtime_dependency(%q<memoizer>, ["~> 1.0"])
250
+ s.add_development_dependency(%q<cucumber>, ["~> 1.3"])
251
+ s.add_development_dependency(%q<double-bag-ftps>, ["~> 0.1"])
252
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
253
+ s.add_development_dependency(%q<rake>, ["~> 10.3"])
254
+ s.add_development_dependency(%q<redcarpet>, ["~> 3.1"])
255
+ s.add_development_dependency(%q<rspec>, ["~> 3.1"])
256
+ s.add_development_dependency(%q<rspec-its>, ["~> 1.0"])
257
+ s.add_development_dependency(%q<timecop>, ["~> 0.7"])
258
+ s.add_development_dependency(%q<yard>, ["~> 0.8.7"])
259
+ else
260
+ s.add_dependency(%q<memoizer>, ["~> 1.0"])
261
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
262
+ s.add_dependency(%q<double-bag-ftps>, ["~> 0.1"])
263
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
264
+ s.add_dependency(%q<rake>, ["~> 10.3"])
265
+ s.add_dependency(%q<redcarpet>, ["~> 3.1"])
266
+ s.add_dependency(%q<rspec>, ["~> 3.1"])
267
+ s.add_dependency(%q<rspec-its>, ["~> 1.0"])
268
+ s.add_dependency(%q<timecop>, ["~> 0.7"])
269
+ s.add_dependency(%q<yard>, ["~> 0.8.7"])
270
+ end
271
+ else
272
+ s.add_dependency(%q<memoizer>, ["~> 1.0"])
273
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
274
+ s.add_dependency(%q<double-bag-ftps>, ["~> 0.1"])
275
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
276
+ s.add_dependency(%q<rake>, ["~> 10.3"])
277
+ s.add_dependency(%q<redcarpet>, ["~> 3.1"])
278
+ s.add_dependency(%q<rspec>, ["~> 3.1"])
279
+ s.add_dependency(%q<rspec-its>, ["~> 1.0"])
280
+ s.add_dependency(%q<timecop>, ["~> 0.7"])
281
+ s.add_dependency(%q<yard>, ["~> 0.8.7"])
282
+ end
283
+ end
284
+