ftpd 2.0.4 → 2.0.5
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 +4 -4
- data/Changelog.md +6 -1
- data/Gemfile.lock +17 -17
- data/README.md +7 -0
- data/VERSION +1 -1
- data/examples/example.rb +3 -1
- data/ftpd.gemspec +1 -1
- data/lib/ftpd/connection_tracker.rb +2 -0
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c3fc097615e27f601d22ca3e2eafae1799e7ec6
|
4
|
+
data.tar.gz: 7a0f7056bcc776576466baf64e7c957e0b751cdf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34bf396a9a6fa14971f9a63e6c29238f5b56dcfd40cbcb4cd1832025871186e7ecfc67ade325163039b998a24543b5a2ad5774538292ea787df5c3193de31332
|
7
|
+
data.tar.gz: d8530f13d4da99b95836d5109aff4564c45ab0232af9447bd36b28d6d72af5bda4aa601e029440ac5a895593453b3f2d3a32f3391fd5b84a49b81cbe34fa3073
|
data/Changelog.md
CHANGED
@@ -2,7 +2,12 @@ This is the change log for the main branch of ftpd, which supports
|
|
2
2
|
Ruby 1.9 and greater. For ruby 1.8.7, please use the latest version
|
3
3
|
before 0.8.0.
|
4
4
|
|
5
|
-
### 2.0.
|
5
|
+
### 2.0.5 2017-07-23
|
6
|
+
|
7
|
+
* Fix DOS caused by fast socket disconnects (thanks iblue)
|
8
|
+
* Tests pass in Ruby 2.4
|
9
|
+
|
10
|
+
### 2.0.4 2017-07-17
|
6
11
|
|
7
12
|
* Fix gem description
|
8
13
|
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ftpd (2.0.
|
4
|
+
ftpd (2.0.4)
|
5
5
|
memoizer (~> 1.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
builder (3.2.
|
10
|
+
builder (3.2.3)
|
11
11
|
cucumber (2.4.0)
|
12
12
|
builder (>= 2.1.2)
|
13
13
|
cucumber-core (~> 1.5.0)
|
@@ -19,31 +19,31 @@ GEM
|
|
19
19
|
cucumber-core (1.5.0)
|
20
20
|
gherkin (~> 4.0)
|
21
21
|
cucumber-wire (0.0.1)
|
22
|
-
diff-lcs (1.
|
22
|
+
diff-lcs (1.3)
|
23
23
|
double-bag-ftps (0.1.4)
|
24
|
-
gherkin (4.
|
24
|
+
gherkin (4.1.3)
|
25
25
|
memoizer (1.0.3)
|
26
26
|
multi_json (1.12.1)
|
27
27
|
multi_test (0.1.2)
|
28
28
|
rake (11.3.0)
|
29
|
-
redcarpet (3.
|
30
|
-
rspec (3.
|
31
|
-
rspec-core (~> 3.
|
32
|
-
rspec-expectations (~> 3.
|
33
|
-
rspec-mocks (~> 3.
|
34
|
-
rspec-core (3.
|
35
|
-
rspec-support (~> 3.
|
36
|
-
rspec-expectations (3.
|
29
|
+
redcarpet (3.4.0)
|
30
|
+
rspec (3.6.0)
|
31
|
+
rspec-core (~> 3.6.0)
|
32
|
+
rspec-expectations (~> 3.6.0)
|
33
|
+
rspec-mocks (~> 3.6.0)
|
34
|
+
rspec-core (3.6.0)
|
35
|
+
rspec-support (~> 3.6.0)
|
36
|
+
rspec-expectations (3.6.0)
|
37
37
|
diff-lcs (>= 1.2.0, < 2.0)
|
38
|
-
rspec-support (~> 3.
|
38
|
+
rspec-support (~> 3.6.0)
|
39
39
|
rspec-its (1.2.0)
|
40
40
|
rspec-core (>= 3.0.0)
|
41
41
|
rspec-expectations (>= 3.0.0)
|
42
|
-
rspec-mocks (3.
|
42
|
+
rspec-mocks (3.6.0)
|
43
43
|
diff-lcs (>= 1.2.0, < 2.0)
|
44
|
-
rspec-support (~> 3.
|
45
|
-
rspec-support (3.
|
46
|
-
timecop (0.
|
44
|
+
rspec-support (~> 3.6.0)
|
45
|
+
rspec-support (3.6.0)
|
46
|
+
timecop (0.9.1)
|
47
47
|
yard (0.8.7.6)
|
48
48
|
|
49
49
|
PLATFORMS
|
data/README.md
CHANGED
@@ -259,11 +259,18 @@ The tests pass with these Rubies:
|
|
259
259
|
* ruby-1.9.3
|
260
260
|
* ruby-2.0
|
261
261
|
* ruby-2.1
|
262
|
+
* ruby-2.2
|
263
|
+
* ruby-2.3
|
264
|
+
* ruby-2.4 (but see below)
|
262
265
|
|
263
266
|
For Ruby 1.8, use an ftpd version before 0.8. In your Gemfile:
|
264
267
|
|
265
268
|
gem 'ftpd', '<0.8'
|
266
269
|
|
270
|
+
This gem runs fine in Ruby 2.4, but the tests that use TLS are skipped
|
271
|
+
in Ruby 2.4. That is because the double_bag_ftps gem that the tests
|
272
|
+
use for TLS does not work in Ruby 2.4.
|
273
|
+
|
267
274
|
## OS compatability
|
268
275
|
|
269
276
|
## *nix
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.5
|
data/examples/example.rb
CHANGED
@@ -33,7 +33,9 @@ module Example
|
|
33
33
|
@tls = :explicit
|
34
34
|
@port = 0
|
35
35
|
@auth_level = 'password'
|
36
|
-
|
36
|
+
# When running on travisci, the LOGNAME environment variable is
|
37
|
+
# not set, but we require it to be set.
|
38
|
+
@user = ENV['LOGNAME'] || "test"
|
37
39
|
@password = ''
|
38
40
|
@account = ''
|
39
41
|
@session_timeout = default_session_timeout
|
data/ftpd.gemspec
CHANGED
@@ -92,7 +92,7 @@ Gem::Specification.new do |s|
|
|
92
92
|
s.summary = "Pure Ruby FTP server library"
|
93
93
|
s.add_runtime_dependency("memoizer", "~> 1.0")
|
94
94
|
s.add_development_dependency("cucumber", "~> 2.0")
|
95
|
-
s.add_development_dependency("double-bag-ftps", "
|
95
|
+
s.add_development_dependency("double-bag-ftps", "~> 0.1", ">= 0.1.4")
|
96
96
|
s.add_development_dependency("rake", "~> 11.1")
|
97
97
|
s.add_development_dependency("redcarpet", "~> 3.1")
|
98
98
|
s.add_development_dependency("rspec", "~> 3.1")
|
@@ -54,6 +54,7 @@ module Ftpd
|
|
54
54
|
@connections[ip] += 1
|
55
55
|
@socket_ips[socket.object_id] = ip
|
56
56
|
end
|
57
|
+
rescue Errno::ENOTCONN
|
57
58
|
end
|
58
59
|
|
59
60
|
# Stop tracking a connection
|
@@ -61,6 +62,7 @@ module Ftpd
|
|
61
62
|
def stop_track(socket)
|
62
63
|
@mutex.synchronize do
|
63
64
|
ip = @socket_ips.delete(socket.object_id)
|
65
|
+
break unless ip
|
64
66
|
if (@connections[ip] -= 1) == 0
|
65
67
|
@connections.delete(ip)
|
66
68
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ftpd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wayne Conrad
|
@@ -42,22 +42,22 @@ dependencies:
|
|
42
42
|
name: double-bag-ftps
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.4
|
48
45
|
- - "~>"
|
49
46
|
- !ruby/object:Gem::Version
|
50
47
|
version: '0.1'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 0.1.4
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- - ">="
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: 0.1.4
|
58
55
|
- - "~>"
|
59
56
|
- !ruby/object:Gem::Version
|
60
57
|
version: '0.1'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.1.4
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rake
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -267,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
267
|
version: '0'
|
268
268
|
requirements: []
|
269
269
|
rubyforge_project:
|
270
|
-
rubygems_version: 2.
|
270
|
+
rubygems_version: 2.6.12
|
271
271
|
signing_key:
|
272
272
|
specification_version: 4
|
273
273
|
summary: Pure Ruby FTP server library
|