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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3330a5b42b50287ff8dbcef7612fce89c864785e
4
+ data.tar.gz: c717b2b7af91d1c31eec8fb4157e95c8f3eaba22
5
+ SHA512:
6
+ metadata.gz: d1ffe5fdca6c5790ab6e6f55388d7dd71d233145e882dc0b52576c7dd0592bddb0b250806343595c5e719b8cacbae3aab87c48cbc2e0b41d020e6cc31c7a5a70
7
+ data.tar.gz: 4f1c7ecc56266a76c2919ba557f4076c60a6a24a8bc4474c3eb9bf9a17968783d9e10f602c8ec4e447dcca4dd15c91d1635d0c4294780278cca8b88d45768782
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0
5
+ - 2.1
@@ -0,0 +1,7 @@
1
+ -o doc-api
2
+ --exclude '[~#]$'
3
+ --readme README.md
4
+ --files Changelog.md
5
+ --files doc/*.md
6
+ lib/**/*.rb
7
+ examples/example.rb
@@ -0,0 +1,310 @@
1
+ This is the change log for the main branch of ftpd, which supports
2
+ Ruby 1.9 and greater. For ruby 1.8.7, please use the latest version
3
+ before 0.8.0.
4
+
5
+ ### 1.0.1
6
+
7
+ * Less strict gem dependencies
8
+
9
+ ### 1.0.0
10
+
11
+ Administration
12
+
13
+ * Update gem versions
14
+ * Declare stability (v. 1.0.0)
15
+
16
+ ### 0.17.0
17
+
18
+ This release is brought to you by Mike Ragalie. Thanks, Mike!
19
+
20
+ Features
21
+
22
+ * Streaming file transfers (issues #12 and #26)
23
+
24
+ API Changes
25
+
26
+ These breaking API changes are for streaming file transfers. Custom
27
+ file systems will notice these changes. Nobody else should.
28
+
29
+ * The FileSystemErrorTranslator has been removed. Instead, the file
30
+ system may raise FtpServerError with a message and an optional error
31
+ code.
32
+
33
+ * DiskFileSystem#write now takes an `Ftpd::Stream` object instead of a
34
+ `String`.
35
+
36
+ * DiskFileSystem#read expects to receive a block and yields an `IO`
37
+ object to the block.
38
+
39
+ ### 0.16.0
40
+
41
+ Bug fixes
42
+
43
+ * Fix Errno::ENOTSOCK error in Ruby 2.1.2 (issue #25)
44
+
45
+ ### 0.15.0
46
+
47
+ Bug fixes
48
+
49
+ * Ignore Errno::ENOTCONN on socket shutdown (issue #24)
50
+
51
+ Administration
52
+
53
+ * Remove examples/foo.rb (accidental commit)
54
+
55
+ ### 0.14.0
56
+
57
+ Administration
58
+
59
+ * Remove markdown link (but leave its text) in package description
60
+
61
+ ### 0.13.0
62
+
63
+ Administration
64
+
65
+ * Remove badges from package description
66
+
67
+ ### 0.12.0
68
+
69
+ Bug fixes
70
+
71
+ * Fix Errno::EADDRINUSE when reusing port (issue #23)
72
+
73
+ ### 0.11.0
74
+
75
+ Bug fixes
76
+
77
+ * Fix Bad file descriptor exception on stop (issue #20)
78
+ * CWD returns 250, not 257 (issue #18)
79
+
80
+ Enhancements
81
+
82
+ * MDTM command (issue #19)
83
+ * SIZE command (issue #19)
84
+
85
+ ### 0.10.0
86
+
87
+ Bug fixes
88
+
89
+ * Do not die when implicit SSL connection disconnects (issue #13)
90
+
91
+ API Changes:
92
+
93
+ * Change default interface from "localhost" to "127.0.0.1".
94
+
95
+ ### 0.9.0
96
+
97
+ Enhancements
98
+
99
+ * Added example showing ftp used as a test harness with rspec
100
+ * Ignore LIST/NLST switches such as "-a"
101
+ * Support IPV6
102
+
103
+ ### 0.8.0
104
+
105
+ Administration
106
+
107
+ * Split Ruby 1.8 into separate branch
108
+ * Upgraded gems
109
+
110
+ ### 0.7.0
111
+
112
+ Bug fixes
113
+
114
+ * Gracefully handle Errno::ENOTCONN during socket shutdown (fixes
115
+ gh-1)
116
+
117
+ ### 0.6.0
118
+
119
+ Enhancements
120
+
121
+ * Configurable maximum connections (defaults to unlimited).
122
+ * Configurable maximum connections per IP (defaults to unlimited).
123
+ * Configurable disconnect after too many failed login attempts
124
+ (defaults to unlimited)
125
+ * Delay after failed login (configurable).
126
+
127
+ API Changes
128
+
129
+ * Changes to {Ftpd::FtpServer} attributes should now only be made
130
+ before calling #start. The effect of setting these attributes
131
+ after #start is undefined.
132
+ * Added {Ftpd::FtpServer#max_connections}
133
+ * Added {Ftpd::FtpServer#max_connections_per_ip}
134
+ * Added {Ftpd::FtpServer#max_failed_logins}
135
+ * Added {Ftpd::FtpServer#failed_login_delay}
136
+ * Support FEAT (feature list)
137
+ * Support OPTS (set options)
138
+
139
+ ### 0.5.0
140
+
141
+ Bug fixes
142
+
143
+ * Replies are sent with the correct line ending ("\r\n" instead of
144
+ "\n")
145
+ * Do not hang on out-of-band commands.
146
+ * When data connection disconnects, send "426 Connection closed"
147
+ response instead of ending the session.
148
+
149
+ Enhancements
150
+
151
+ * Now unconditionally compliant
152
+ * Configurable session timeout (see {Ftpd::FtpServer#session_timeout}).
153
+ Defaults to 5 minutes.
154
+ * Disable Nagle algorithm on control connection to decrease latency.
155
+ This makes the tests run much faster.
156
+ * Support STAT (server status).
157
+ * Example has --timeout option for session idle timeout.
158
+ * Write log to Logger (see {Ftpd::FtpServer#log}).
159
+ * Disallow active-mode connections to privileged ports (configurable).
160
+ See RFC 2577 section 3.
161
+ * Added benchmarks.
162
+ * Support telnet sequences.
163
+
164
+ API Changes
165
+
166
+ * Added {Ftpd::FtpServer#server_name}
167
+ * Added {Ftpd::FtpServer#server_version}
168
+ * Removed #debug and #debug_path from Ftpd::FtpServer. They have been
169
+ replaced with #log
170
+ # Added {Ftpd::FtpServer#allow_low_data_ports}
171
+
172
+ ### 0.4.0
173
+
174
+ Enhancements
175
+
176
+ * Improved driver and file-system documentation.
177
+ * Added {Ftpd::ReadOnlyDiskFileSystem read only disk file system}
178
+ * Example can be run with a read-only file system
179
+ * Supports three different levels of authentication:
180
+ * User
181
+ * User + Password
182
+ * User + Password + Account
183
+ * Added --auth switch to the example to select the authentication
184
+ level.
185
+ * Support APPE
186
+ * Support TYPE "A T" (ASCII/Telnet)
187
+ * Support TYPE "LOCAL 8"
188
+ * Added switches to example to set authentication values
189
+ * --user
190
+ * --password
191
+ * --account
192
+
193
+ API changes
194
+
195
+ * {Example::Driver#authenticate authenticate} now takes three
196
+ parameters (user, password, account). For compatability, it can be
197
+ defined to take only two, provided you are not doing account
198
+ authentication.
199
+ * Added {Ftpd::FtpServer#auth_level} option
200
+ * Added {Ftpd::DiskFileSystem::Append}
201
+
202
+ ### 0.3.1
203
+
204
+ API changes
205
+
206
+ The file system interface for directory listing was completely
207
+ rewritten. It no longer shells out to ls, which removes potential
208
+ command injection security holes, and improves prospects for
209
+ portability.
210
+
211
+ * Removed Ftpd::DiskFileSystem::Ls
212
+ * Removed Ftpd::DiskFileSystem::NameList. NLIST now uses the
213
+ functions in {Ftpd::DiskFileSystem::List}.
214
+ * Removed Ftpd::DiskFileSystem::List#list. The formatting of
215
+ directory output is now done by ftpd, not by the file system driver.
216
+ * Added {Ftpd::DiskFileSystem::List#file_info}, used by LIST.
217
+ * Added {Ftpd::DiskFileSystem::List#dir}, used by LIST and NLST.
218
+
219
+ Bug fixes
220
+
221
+ * LIST and NLST support globs again.
222
+ * STOU (store unique) works in Ruby 1.8.7
223
+
224
+ Enhancements
225
+
226
+ * The output of the "LIST" command can be customized (see
227
+ {Ftpd::FtpServer#list_formatter})
228
+
229
+ ### 0.2.2
230
+
231
+ Bug fixes
232
+
233
+ * Respond with sequence error if RNFR is not immediately followed by
234
+ RNTO
235
+ * Respond with sequence error if USER is not immediately followed by
236
+ PASS
237
+ * Open PASV mode data connection on same local IP as control connection.
238
+ This is required by RFC 1123.
239
+ * Disabled globbing in LIST (for now) due to a command (shell)
240
+ injection vulnerability. This patch also disables globbing in NLST,
241
+ but NLST probably shouldn't do globbing. Thanks to Larry Cashdollar
242
+ for the report.
243
+
244
+ Enhancements
245
+
246
+ * Support STOU (store unique)
247
+ * Support HELP
248
+
249
+ ### 0.2.1
250
+
251
+ API changes
252
+
253
+ * Introduced PermanentFileSystemError and TransientFileSystemError exceptions.
254
+ * Deprecated FileSystemError (use PermanentFileSystemError instead).
255
+ * DiskFileSystem errors generate 550 responses, not 450
256
+
257
+ Enhancements
258
+
259
+ * Support MKD and XMKD (make directory)
260
+ * Support RMD and XRMD (remove directory)
261
+ * Support RNFR/RNTO (rename/move file/directory)
262
+ * Support XCUP (alias for CDUP)
263
+ * Support XPWD (alias for PWD)
264
+ * Support XCWD (alias for CWD)
265
+ * Test implicit TLS
266
+
267
+ Bug Fixes
268
+
269
+ * Passive mode transfers bind to the correct interface. They were
270
+ erroneously binding to the local interface, which kept passive mode
271
+ transfers from working when the client was on another machine.
272
+ * CDUP responds with syntax error if given an argument.
273
+ * RNTO checks that RNFM was called.
274
+ * Tests pass in Ruby 2.0.
275
+
276
+ ### 0.2.0
277
+
278
+ API changes
279
+
280
+ * Renamed two of the file system methods:
281
+
282
+ * `list_long -> long`
283
+ * `list_short -> short`
284
+
285
+ This will affect anyone who has written their own disk system.
286
+ Anyone using Ftpd::DiskFileSystem won't notice this change.
287
+
288
+ Enhancements
289
+
290
+ * Some commands are now optional, depending upon the file system.
291
+ These are RETR, DELE, LIST and NLST. See the comments in
292
+ Ftpd::DiskFileSystem for what command depends upon what method.
293
+ * Better text in example's ephemeral README
294
+ * Divided the DiskFileSystem into mixins.
295
+ * Improved documentation.
296
+ * Support SYST
297
+ * Support ALLO
298
+ * Removed dead code
299
+ * Added more tests
300
+
301
+ ### 0.1.1
302
+
303
+ Enhancements
304
+
305
+ * Improved documentation.
306
+ * Gemfile: development gems no longer lock down version
307
+
308
+ ### 0.1.0
309
+
310
+ First usable release
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'memoizer', '~> 1.0'
4
+
5
+ group :development do
6
+ gem 'cucumber', '~> 1.3'
7
+ gem 'double-bag-ftps', '~> 0.1'
8
+ gem 'jeweler', '~> 2.0'
9
+ gem 'rake', '~> 10.3'
10
+ gem 'redcarpet', '~> 3.1'
11
+ gem 'rspec', '~> 3.1'
12
+ gem 'rspec-its', '~> 1.0'
13
+ gem 'timecop', '~> 0.7'
14
+ gem 'yard', '~> 0.8.7'
15
+ end
@@ -0,0 +1,93 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.6)
5
+ builder (3.2.2)
6
+ cucumber (1.3.17)
7
+ builder (>= 2.1.2)
8
+ diff-lcs (>= 1.1.3)
9
+ gherkin (~> 2.12)
10
+ multi_json (>= 1.7.5, < 2.0)
11
+ multi_test (>= 0.1.1)
12
+ descendants_tracker (0.0.4)
13
+ thread_safe (~> 0.3, >= 0.3.1)
14
+ diff-lcs (1.2.5)
15
+ double-bag-ftps (0.1.2)
16
+ faraday (0.9.0)
17
+ multipart-post (>= 1.2, < 3)
18
+ gherkin (2.12.2)
19
+ multi_json (~> 1.3)
20
+ git (1.2.8)
21
+ github_api (0.12.1)
22
+ addressable (~> 2.3)
23
+ descendants_tracker (~> 0.0.4)
24
+ faraday (~> 0.8, < 0.10)
25
+ hashie (>= 3.2)
26
+ multi_json (>= 1.7.5, < 2.0)
27
+ nokogiri (~> 1.6.3)
28
+ oauth2
29
+ hashie (3.3.1)
30
+ highline (1.6.21)
31
+ jeweler (2.0.1)
32
+ builder
33
+ bundler (>= 1.0)
34
+ git (>= 1.2.5)
35
+ github_api
36
+ highline (>= 1.6.15)
37
+ nokogiri (>= 1.5.10)
38
+ rake
39
+ rdoc
40
+ json (1.8.1)
41
+ jwt (1.0.0)
42
+ memoizer (1.0.1)
43
+ mini_portile (0.6.0)
44
+ multi_json (1.10.1)
45
+ multi_test (0.1.1)
46
+ multi_xml (0.5.5)
47
+ multipart-post (2.0.0)
48
+ nokogiri (1.6.3.1)
49
+ mini_portile (= 0.6.0)
50
+ oauth2 (1.0.0)
51
+ faraday (>= 0.8, < 0.10)
52
+ jwt (~> 1.0)
53
+ multi_json (~> 1.3)
54
+ multi_xml (~> 0.5)
55
+ rack (~> 1.2)
56
+ rack (1.5.2)
57
+ rake (10.3.2)
58
+ rdoc (4.1.2)
59
+ json (~> 1.4)
60
+ redcarpet (3.1.2)
61
+ rspec (3.1.0)
62
+ rspec-core (~> 3.1.0)
63
+ rspec-expectations (~> 3.1.0)
64
+ rspec-mocks (~> 3.1.0)
65
+ rspec-core (3.1.4)
66
+ rspec-support (~> 3.1.0)
67
+ rspec-expectations (3.1.2)
68
+ diff-lcs (>= 1.2.0, < 2.0)
69
+ rspec-support (~> 3.1.0)
70
+ rspec-its (1.0.1)
71
+ rspec-core (>= 2.99.0.beta1)
72
+ rspec-expectations (>= 2.99.0.beta1)
73
+ rspec-mocks (3.1.2)
74
+ rspec-support (~> 3.1.0)
75
+ rspec-support (3.1.1)
76
+ thread_safe (0.3.4)
77
+ timecop (0.7.1)
78
+ yard (0.8.7.4)
79
+
80
+ PLATFORMS
81
+ ruby
82
+
83
+ DEPENDENCIES
84
+ cucumber (~> 1.3)
85
+ double-bag-ftps (~> 0.1)
86
+ jeweler (~> 2.0)
87
+ memoizer (~> 1.0)
88
+ rake (~> 10.3)
89
+ redcarpet (~> 3.1)
90
+ rspec (~> 3.1)
91
+ rspec-its (~> 1.0)
92
+ timecop (~> 0.7)
93
+ yard (~> 0.8.7)
@@ -0,0 +1,9 @@
1
+ Copyright 2012 Wayne Conrad
2
+
3
+ This software is distributed under the [MIT License](http://opensource.org/licenses/MIT):
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.