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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9bcb389f4310725957120c7378e1e712be899e8
4
- data.tar.gz: b2a3129843509281c5afd4ec4ea8b0b63950712f
3
+ metadata.gz: 9c3fc097615e27f601d22ca3e2eafae1799e7ec6
4
+ data.tar.gz: 7a0f7056bcc776576466baf64e7c957e0b751cdf
5
5
  SHA512:
6
- metadata.gz: 7233f6037507f45aac486daa99157ff6b1938690dcfd2c550db43673327d02aa815c688f8dde278607db862f1b7cb87ee0a46d8c3b32321ef082fa58df993bb4
7
- data.tar.gz: 1ba557fc756eabf319fb7350c2d84939949b6e2612b707b03f2710c5d138a1b830767cf46595fdca63d78be7f62311152dc6e5cf1c926bf882a535810e46f34e
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.4 2016-07-17
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.3)
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.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.2.5)
22
+ diff-lcs (1.3)
23
23
  double-bag-ftps (0.1.4)
24
- gherkin (4.0.0)
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.3.4)
30
- rspec (3.4.0)
31
- rspec-core (~> 3.4.0)
32
- rspec-expectations (~> 3.4.0)
33
- rspec-mocks (~> 3.4.0)
34
- rspec-core (3.4.4)
35
- rspec-support (~> 3.4.0)
36
- rspec-expectations (3.4.0)
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.4.0)
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.4.1)
42
+ rspec-mocks (3.6.0)
43
43
  diff-lcs (>= 1.2.0, < 2.0)
44
- rspec-support (~> 3.4.0)
45
- rspec-support (3.4.1)
46
- timecop (0.8.1)
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.4
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
- @user = ENV['LOGNAME']
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", ">= 0.1.4", "~> 0.1")
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
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.4.8
270
+ rubygems_version: 2.6.12
271
271
  signing_key:
272
272
  specification_version: 4
273
273
  summary: Pure Ruby FTP server library