ftpd 0.17.0 → 1.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.
- checksums.yaml +13 -5
- data/Changelog.md +7 -0
- data/Gemfile +9 -8
- data/Gemfile.lock +66 -55
- data/README.md +4 -2
- data/VERSION +1 -1
- data/features/ftp_server/step_definitions/logging.rb +6 -6
- data/features/step_definitions/client_and_server_files.rb +2 -2
- data/features/step_definitions/client_files.rb +4 -4
- data/features/step_definitions/connect.rb +2 -2
- data/features/step_definitions/directory_navigation.rb +2 -2
- data/features/step_definitions/error_replies.rb +2 -2
- data/features/step_definitions/features.rb +2 -2
- data/features/step_definitions/help.rb +4 -4
- data/features/step_definitions/list.rb +9 -9
- data/features/step_definitions/login.rb +3 -3
- data/features/step_definitions/mtime.rb +1 -1
- data/features/step_definitions/server_files.rb +11 -11
- data/features/step_definitions/server_title.rb +2 -2
- data/features/step_definitions/size.rb +1 -1
- data/features/step_definitions/success_replies.rb +1 -1
- data/features/step_definitions/timing.rb +2 -2
- data/ftpd.gemspec +30 -27
- data/spec/connection_throttle_spec.rb +14 -11
- data/spec/connection_tracker_spec.rb +23 -17
- data/spec/disk_file_system_spec.rb +15 -15
- data/spec/exception_translator_spec.rb +1 -0
- data/spec/file_info_spec.rb +4 -4
- data/spec/list_format/eplf_spec.rb +3 -4
- data/spec/list_format/ls_spec.rb +3 -3
- data/spec/null_logger_spec.rb +1 -1
- data/spec/protocols_spec.rb +8 -8
- data/spec/spec_helper.rb +1 -0
- metadata +54 -40
data/spec/list_format/ls_spec.rb
CHANGED
@@ -19,8 +19,8 @@ module Ftpd
|
|
19
19
|
|
20
20
|
it 'should approximate ls -l format' do
|
21
21
|
Timecop.freeze(2013, 3, 3, 8, 38, 0) do
|
22
|
-
formatter.to_s.
|
23
|
-
|
22
|
+
expect(formatter.to_s).to eq \
|
23
|
+
'-rw-r--r-- 1 user group 1234 Mar 3 08:38 foo'
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -40,7 +40,7 @@ module Ftpd
|
|
40
40
|
].each do |ftype, letter|
|
41
41
|
context "(#{ftype})" do
|
42
42
|
specify do
|
43
|
-
Ls::FileType.letter(ftype).
|
43
|
+
expect(Ls::FileType.letter(ftype)).to eq letter
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
data/spec/null_logger_spec.rb
CHANGED
data/spec/protocols_spec.rb
CHANGED
@@ -43,11 +43,11 @@ module Ftpd
|
|
43
43
|
subject(:protocols) {Protocols.new(connected_socket)}
|
44
44
|
|
45
45
|
it 'should support IPV4' do
|
46
|
-
expect(protocols.supports_protocol?(Protocols::IPV4)).to
|
46
|
+
expect(protocols.supports_protocol?(Protocols::IPV4)).to be_truthy
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'should not support IPV6' do
|
50
|
-
expect(protocols.supports_protocol?(Protocols::IPV6)).to
|
50
|
+
expect(protocols.supports_protocol?(Protocols::IPV6)).to be_falsey
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'should list the supported protocols' do
|
@@ -68,11 +68,11 @@ module Ftpd
|
|
68
68
|
subject(:protocols) {Protocols.new(connected_socket)}
|
69
69
|
|
70
70
|
it 'should not support IPV4' do
|
71
|
-
expect(protocols.supports_protocol?(Protocols::IPV4)).to
|
71
|
+
expect(protocols.supports_protocol?(Protocols::IPV4)).to be_falsey
|
72
72
|
end
|
73
73
|
|
74
74
|
it 'should support IPV6' do
|
75
|
-
expect(protocols.supports_protocol?(Protocols::IPV6)).to
|
75
|
+
expect(protocols.supports_protocol?(Protocols::IPV6)).to be_truthy
|
76
76
|
end
|
77
77
|
|
78
78
|
it 'should list the supported protocols' do
|
@@ -93,11 +93,11 @@ module Ftpd
|
|
93
93
|
subject(:protocols) {Protocols.new(connected_socket)}
|
94
94
|
|
95
95
|
it 'should support IPV4' do
|
96
|
-
expect(protocols.supports_protocol?(Protocols::IPV4)).to
|
96
|
+
expect(protocols.supports_protocol?(Protocols::IPV4)).to be_truthy
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'should support IPV6' do
|
100
|
-
expect(protocols.supports_protocol?(Protocols::IPV6)).to
|
100
|
+
expect(protocols.supports_protocol?(Protocols::IPV6)).to be_truthy
|
101
101
|
end
|
102
102
|
|
103
103
|
it 'should list the supported protocols' do
|
@@ -119,11 +119,11 @@ module Ftpd
|
|
119
119
|
subject(:protocols) {Protocols.new(connected_socket)}
|
120
120
|
|
121
121
|
it 'should support IPV4' do
|
122
|
-
expect(protocols.supports_protocol?(Protocols::IPV4)).to
|
122
|
+
expect(protocols.supports_protocol?(Protocols::IPV4)).to be_truthy
|
123
123
|
end
|
124
124
|
|
125
125
|
it 'should support IPV6' do
|
126
|
-
expect(protocols.supports_protocol?(Protocols::IPV6)).to
|
126
|
+
expect(protocols.supports_protocol?(Protocols::IPV6)).to be_truthy
|
127
127
|
end
|
128
128
|
|
129
129
|
it 'should list the supported protocols' do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,141 +1,155 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ftpd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wayne Conrad
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: memoizer
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: cucumber
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.3.16
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.3.16
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: double-bag-ftps
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.1.2
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.1.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: jeweler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 2.0.1
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 2.0.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 10.3.2
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 10.3.2
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: redcarpet
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 3.1.2
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 3.1.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 3.1.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 3.1.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rspec-its
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.0.1
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.0.1
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: timecop
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ~>
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
131
|
+
version: 0.7.1
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ~>
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 0.7.1
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: yard
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - ~>
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
145
|
+
version: 0.8.7.4
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
|
-
- -
|
150
|
+
- - ~>
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
152
|
+
version: 0.8.7.4
|
139
153
|
description: ftpd is a pure Ruby FTP server library. It supports implicit and explicit
|
140
154
|
TLS, IPV6, passive and active mode, and is unconditionally compliant per RFC-1123. It
|
141
155
|
can be used as part of a test fixture or embedded in a program.
|
@@ -146,8 +160,8 @@ extra_rdoc_files:
|
|
146
160
|
- LICENSE.md
|
147
161
|
- README.md
|
148
162
|
files:
|
149
|
-
-
|
150
|
-
-
|
163
|
+
- .travis.yml
|
164
|
+
- .yardopts
|
151
165
|
- Changelog.md
|
152
166
|
- Gemfile
|
153
167
|
- Gemfile.lock
|
@@ -371,12 +385,12 @@ require_paths:
|
|
371
385
|
- lib
|
372
386
|
required_ruby_version: !ruby/object:Gem::Requirement
|
373
387
|
requirements:
|
374
|
-
- -
|
388
|
+
- - ! '>='
|
375
389
|
- !ruby/object:Gem::Version
|
376
390
|
version: '0'
|
377
391
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
378
392
|
requirements:
|
379
|
-
- -
|
393
|
+
- - ! '>='
|
380
394
|
- !ruby/object:Gem::Version
|
381
395
|
version: '0'
|
382
396
|
requirements: []
|