ftpd 0.17.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 15d6cd56c8148e7961d07ebb86246fb3c1fe7a25
4
- data.tar.gz: 54b088a8bee0cfe945377d9dd97b5ef1bcf97650
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTg1ZTM5MTJmZWZjYTBkOTE5NzI2MDc3NDc3ODhhOGUyZDk3YWZlNA==
5
+ data.tar.gz: !binary |-
6
+ YzI4ZThmY2NmZDA1NDA3OWE4ZmYxNzkzMjg3NmFkNjhiNjdhODAyNQ==
5
7
  SHA512:
6
- metadata.gz: 4978b27e90b70d04d670f2e60db440dc7e2b5686eda9674bf539db822f873e7210d446a640b95600f88f7dba89b2dbf41b01b3594ec1f28ee81ae670abdaa8d8
7
- data.tar.gz: dfcbb64e17744d9dd2016e2d7572da2194e4b5e24cd3efe986a7f1ca71f2ae76876039ffcb8001cc49ba1ab235348cff7838c48238c2afca941dab17c0026ac6
8
+ metadata.gz: !binary |-
9
+ ODlkZTk5MDQ3ZGJmMGYwNTkyNDNlYjhjMzdlZjE4YTY1ODQzZmJjODczMmQx
10
+ ZmE2M2JlYmRkM2E4NDBmMzg3NmI1NTU4NDM0ZTZkYmJmOGNmOGRlZjUzNThl
11
+ Nzk0MmQ0NDdjNzMyMDE0MGZlNWI3N2M3NWIwMDEyNDM1Y2IzMjM=
12
+ data.tar.gz: !binary |-
13
+ OTVlOWVhMWQ1OWM3YTFmMTc5ZjFjOTkzNzk0Y2MyY2Q0ZTBlOTJlMmU0YTEz
14
+ YmE4ZTI4Yzg1NjE5MjE2ZjI5M2RhNjVlZTViOGM4N2Q1MGE2OTNhZjUxMGQx
15
+ Y2FlOTU1MDNiMTZhYWJhNTBjYzFkZjhlMTg0YTVlMjI3NjhkMDE=
@@ -2,6 +2,13 @@ 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
+ ### 1.0.0
6
+
7
+ Administration
8
+
9
+ * Update gem versions
10
+ * Declare stability (v. 1.0.0)
11
+
5
12
  ### 0.17.0
6
13
 
7
14
  This release is brought to you by Mike Ragalie. Thanks, Mike!
data/Gemfile CHANGED
@@ -3,12 +3,13 @@ source 'http://rubygems.org'
3
3
  gem 'memoizer', '~> 1.0'
4
4
 
5
5
  group :development do
6
- gem 'cucumber'
7
- gem 'double-bag-ftps'
8
- gem 'jeweler'
9
- gem 'rake'
10
- gem 'redcarpet'
11
- gem 'rspec'
12
- gem 'timecop'
13
- gem 'yard'
6
+ gem 'cucumber', '~> 1.3.16'
7
+ gem 'double-bag-ftps', '~> 0.1.2'
8
+ gem 'jeweler', '~> 2.0.1'
9
+ gem 'rake', '~> 10.3.2'
10
+ gem 'redcarpet', '~> 3.1.2'
11
+ gem 'rspec', '~> 3.1.0'
12
+ gem 'rspec-its', '~> 1.0.1'
13
+ gem 'timecop', '~> 0.7.1'
14
+ gem 'yard', '~> 0.8.7.4'
14
15
  end
@@ -1,82 +1,93 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.5)
4
+ addressable (2.3.6)
5
5
  builder (3.2.2)
6
- cucumber (1.3.8)
6
+ cucumber (1.3.16)
7
7
  builder (>= 2.1.2)
8
8
  diff-lcs (>= 1.1.3)
9
- gherkin (~> 2.12.1)
9
+ gherkin (~> 2.12)
10
10
  multi_json (>= 1.7.5, < 2.0)
11
- multi_test (>= 0.0.2)
12
- diff-lcs (1.2.4)
13
- double-bag-ftps (0.1.1)
14
- faraday (0.8.8)
15
- multipart-post (~> 1.2.0)
16
- gherkin (2.12.1)
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)
17
19
  multi_json (~> 1.3)
18
- git (1.2.6)
19
- github_api (0.10.1)
20
- addressable
21
- faraday (~> 0.8.1)
22
- hashie (>= 1.2)
23
- multi_json (~> 1.4)
24
- nokogiri (~> 1.5.2)
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)
25
28
  oauth2
26
- hashie (2.0.5)
27
- highline (1.6.20)
28
- httpauth (0.2.0)
29
- jeweler (1.8.8)
29
+ hashie (3.3.1)
30
+ highline (1.6.21)
31
+ jeweler (2.0.1)
30
32
  builder
31
- bundler (~> 1.0)
33
+ bundler (>= 1.0)
32
34
  git (>= 1.2.5)
33
- github_api (= 0.10.1)
35
+ github_api
34
36
  highline (>= 1.6.15)
35
- nokogiri (= 1.5.10)
37
+ nokogiri (>= 1.5.10)
36
38
  rake
37
39
  rdoc
38
40
  json (1.8.1)
39
- jwt (0.1.8)
40
- multi_json (>= 1.5)
41
+ jwt (1.0.0)
41
42
  memoizer (1.0.1)
42
- multi_json (1.8.2)
43
- multi_test (0.0.2)
43
+ mini_portile (0.6.0)
44
+ multi_json (1.10.1)
45
+ multi_test (0.1.1)
44
46
  multi_xml (0.5.5)
45
- multipart-post (1.2.0)
46
- nokogiri (1.5.10)
47
- oauth2 (0.9.2)
48
- faraday (~> 0.8)
49
- httpauth (~> 0.2)
50
- jwt (~> 0.1.4)
51
- multi_json (~> 1.0)
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)
52
54
  multi_xml (~> 0.5)
53
55
  rack (~> 1.2)
54
56
  rack (1.5.2)
55
- rake (10.1.0)
56
- rdoc (4.0.1)
57
+ rake (10.3.2)
58
+ rdoc (4.1.1)
57
59
  json (~> 1.4)
58
- redcarpet (3.0.0)
59
- rspec (2.14.1)
60
- rspec-core (~> 2.14.0)
61
- rspec-expectations (~> 2.14.0)
62
- rspec-mocks (~> 2.14.0)
63
- rspec-core (2.14.5)
64
- rspec-expectations (2.14.2)
65
- diff-lcs (>= 1.1.3, < 2.0)
66
- rspec-mocks (2.14.3)
67
- timecop (0.6.3)
68
- yard (0.8.7.1)
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.0)
66
+ rspec-support (~> 3.1.0)
67
+ rspec-expectations (3.1.0)
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.0)
74
+ rspec-support (~> 3.1.0)
75
+ rspec-support (3.1.0)
76
+ thread_safe (0.3.4)
77
+ timecop (0.7.1)
78
+ yard (0.8.7.4)
69
79
 
70
80
  PLATFORMS
71
81
  ruby
72
82
 
73
83
  DEPENDENCIES
74
- cucumber
75
- double-bag-ftps
76
- jeweler
84
+ cucumber (~> 1.3.16)
85
+ double-bag-ftps (~> 0.1.2)
86
+ jeweler (~> 2.0.1)
77
87
  memoizer (~> 1.0)
78
- rake
79
- redcarpet
80
- rspec
81
- timecop
82
- yard
88
+ rake (~> 10.3.2)
89
+ redcarpet (~> 3.1.2)
90
+ rspec (~> 3.1.0)
91
+ rspec-its (~> 1.0.1)
92
+ timecop (~> 0.7.1)
93
+ yard (~> 0.8.7.4)
data/README.md CHANGED
@@ -1,7 +1,9 @@
1
1
  # Ftpd
2
- [![Code Climate](https://codeclimate.com/github/wconrad/ftpd.png)](https://codeclimate.com/github/wconrad/ftpd)
3
- [![Build Status](https://travis-ci.org/wconrad/ftpd.png)](https://travis-ci.org/wconrad/ftpd)
4
2
  [![Gem Version](https://badge.fury.io/rb/ftpd.png)](http://badge.fury.io/rb/ftpd)
3
+ [![Dependency Status](https://gemnasium.com/wconrad/ftpd.svg)](https://gemnasium.com/wconrad/ftpd)
4
+ [![Build Status](https://travis-ci.org/wconrad/ftpd.png)](https://travis-ci.org/wconrad/ftpd)
5
+ [![Code Climate](https://codeclimate.com/github/wconrad/ftpd.png)](https://codeclimate.com/github/wconrad/ftpd)
6
+
5
7
 
6
8
  ftpd is a pure Ruby FTP server library. It supports implicit and
7
9
  explicit TLS, IPV6, passive and active mode, and is unconditionally
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.17.0
1
+ 1.0.0
@@ -1,8 +1,8 @@
1
1
  Then /^the server should have written( no)? log output$/ do |neg|
2
- method = if neg
3
- :should
4
- else
5
- :should_not
6
- end
7
- server.log_output.send(method) == ''
2
+ verb = if neg
3
+ :to
4
+ else
5
+ :to_not
6
+ end
7
+ expect(server.log_output).send(verb, eq(''))
8
8
  end
@@ -10,7 +10,7 @@ Then /^the remote file "(.*?)" should( exactly)? match the local file$/ do
10
10
  local_contents = client.file_contents(local_path)
11
11
  remote_contents = unix_line_endings(exactly, remote_contents)
12
12
  local_contents = unix_line_endings(exactly, local_contents)
13
- remote_contents.should == local_contents
13
+ expect(remote_contents).to eq local_contents
14
14
  end
15
15
 
16
16
  Then /^the local file "(.*?)" should( exactly)? match the remote file$/ do
@@ -20,5 +20,5 @@ Then /^the local file "(.*?)" should( exactly)? match the remote file$/ do
20
20
  local_contents = client.file_contents(local_path)
21
21
  remote_contents = unix_line_endings(exactly, remote_contents)
22
22
  local_contents = unix_line_endings(exactly, local_contents)
23
- local_contents.should == remote_contents
23
+ expect(local_contents).to eq remote_contents
24
24
  end
@@ -4,11 +4,11 @@ end
4
4
 
5
5
  Then /^the local file "(.*?)" should have (unix|windows) line endings$/ do
6
6
  |local_path, line_ending_type|
7
- line_ending_type(client.file_contents(local_path)).should ==
8
- line_ending_type.to_sym
7
+ expect(line_ending_type(client.file_contents(local_path))).to eq \
8
+ line_ending_type.to_sym
9
9
  end
10
10
 
11
11
  Then /^the local file "(.*?)" should match its template$/ do |local_path|
12
- client.template(local_path).should ==
13
- client.file_contents(local_path)
12
+ expect(client.template(local_path)).to eq \
13
+ client.file_contents(local_path)
14
14
  end
@@ -29,9 +29,9 @@ When /^the (\S+) client tries to connect from (\S+)$/ do
29
29
  end
30
30
 
31
31
  Then /^the client should be connected$/ do
32
- client.should be_connected
32
+ expect(client).to be_connected
33
33
  end
34
34
 
35
35
  Then /^the client should not be connected$/ do
36
- client.should_not be_connected
36
+ expect(client).to_not be_connected
37
37
  end
@@ -18,9 +18,9 @@ When /^the client successfully cd's to "(.*?)"$/ do |path|
18
18
  end
19
19
 
20
20
  Then /^the current directory should be "(.*?)"$/ do |path|
21
- client.pwd.should == path
21
+ expect(client.pwd).to eq path
22
22
  end
23
23
 
24
24
  Then /^the XPWD directory should be "(.*?)"$/ do |path|
25
- client.xpwd.should == path
25
+ expect(client.xpwd).to eq path
26
26
  end
@@ -6,11 +6,11 @@ rescue Net::FTPError => e
6
6
  end
7
7
 
8
8
  Then /^the server returns no error$/ do
9
- @error.should be_nil
9
+ expect(@error).to be_nil
10
10
  end
11
11
 
12
12
  Then /^the server returns a "(.*?)" error$/ do |error_message|
13
- (@error || '').should include error_message
13
+ expect(@error || '').to include error_message
14
14
  end
15
15
 
16
16
  Then /^the server returns a too many connections error$/ do
@@ -7,11 +7,11 @@ def feature_regexp(feature)
7
7
  end
8
8
 
9
9
  Then /^the response should include feature "(.*?)"$/ do |feature|
10
- @feature_reply.should =~ feature_regexp(feature)
10
+ expect(@feature_reply).to match feature_regexp(feature)
11
11
  end
12
12
 
13
13
  Then /^the response should not include feature "(.*?)"$/ do |feature|
14
- @feature_reply.should_not =~ feature_regexp(feature)
14
+ expect(@feature_reply).to_not match feature_regexp(feature)
15
15
  end
16
16
 
17
17
  Then /^the response should( not)? include TLS features$/ do |neg|
@@ -5,14 +5,14 @@ end
5
5
 
6
6
  Then /^the server should return a list of commands$/ do
7
7
  commands = @help_reply.scan(/\b([A-Z][A-Z]+)\b/).flatten
8
- commands.should include 'NOOP'
9
- commands.should include 'USER'
8
+ expect(commands).to include 'NOOP'
9
+ expect(commands).to include 'USER'
10
10
  end
11
11
 
12
12
  Then /^the server should return help for "(.*?)"$/ do |command|
13
- @help_reply.should =~ /Command #{command} is recognized/
13
+ expect(@help_reply).to match /Command #{command} is recognized/
14
14
  end
15
15
 
16
16
  Then /^the server should return no help for "(.*?)"$/ do |command|
17
- @help_reply.should =~ /Command #{command} is not recognized/
17
+ expect(@help_reply).to match /Command #{command} is not recognized/
18
18
  end
@@ -52,22 +52,22 @@ When /^the client name-lists the directory( "(?:.*?)")?$/ do |directory|
52
52
  end
53
53
 
54
54
  Then /^the file list should( not)? contain "(.*?)"$/ do |neg, filename|
55
- matcher = if neg
56
- :should_not
57
- else
58
- :should
59
- end
60
- @list.filenames.send(matcher, include(filename))
55
+ verb = if neg
56
+ :to_not
57
+ else
58
+ :to
59
+ end
60
+ expect(@list.filenames).send(verb, include(filename))
61
61
  end
62
62
 
63
63
  Then /^the file list should be in (long|short) form$/ do |form|
64
- @list.should send("be_#{form}_form")
64
+ expect(@list).to send("be_#{form}_form")
65
65
  end
66
66
 
67
67
  Then /^the file list should be empty$/ do
68
- @list.should be_empty
68
+ expect(@list).to be_empty
69
69
  end
70
70
 
71
71
  Then /^the list should be in EPLF format$/ do
72
- @list.should be_eplf_format
72
+ expect(@list).to be_eplf_format
73
73
  end
@@ -47,11 +47,11 @@ end
47
47
 
48
48
  Then /^the client should( not)? be logged in$/ do |neg|
49
49
  matcher_method = if neg
50
- :be_false
50
+ :be_falsey
51
51
  else
52
- :be_true
52
+ :be_truthy
53
53
  end
54
- logged_in?.should send(matcher_method)
54
+ expect(logged_in?).to send(matcher_method)
55
55
  end
56
56
 
57
57
  When /^the client sends a password( with no parameter)?$/ do |no_param|
@@ -19,5 +19,5 @@ end
19
19
 
20
20
  Then(/^the reported mtime should be "(.*?)"$/) do |mtime|
21
21
  expected_time = DateTime.parse(mtime).to_time.utc
22
- @mtime.should eq expected_time
22
+ expect(@mtime).to eq expected_time
23
23
  end
@@ -15,47 +15,47 @@ end
15
15
 
16
16
  Then /^the server should( not)? have file "(.*?)"$/ do |neg, path|
17
17
  matcher = if neg
18
- :be_false
18
+ :be_falsey
19
19
  else
20
- :be_true
20
+ :be_truthy
21
21
  end
22
- server.has_file?(path).should send(matcher)
22
+ expect(server.has_file?(path)).to send(matcher)
23
23
  end
24
24
 
25
25
  Then /^the server should( not)? have directory "(.*?)"$/ do |neg, path|
26
26
  matcher = if neg
27
- :be_false
27
+ :be_falsey
28
28
  else
29
- :be_true
29
+ :be_truthy
30
30
  end
31
- server.has_directory?(path).should send(matcher)
31
+ expect(server.has_directory?(path)).to send(matcher)
32
32
  end
33
33
 
34
34
  Then /^the remote file "(.*?)" should have (unix|windows) line endings$/ do
35
35
  |remote_path, line_ending_type|
36
- line_ending_type(server.file_contents(remote_path)).should ==
36
+ expect(line_ending_type(server.file_contents(remote_path))).to eq \
37
37
  line_ending_type.to_sym
38
38
  end
39
39
 
40
40
  Then /^the server should have a file with the contents of "(.*?)"$/ do
41
41
  |path|
42
- server.has_file_with_contents_of?(path).should be_true
42
+ expect(server.has_file_with_contents_of?(path)).to be_truthy
43
43
  end
44
44
 
45
45
  Then /^the server should have (\d+) files? with "(.*?)" in the name$/ do
46
46
  |count, name|
47
- server.files_named_like(name).size.should == count.to_i
47
+ expect(server.files_named_like(name).size).to eq count.to_i
48
48
  end
49
49
 
50
50
  Then /^the remote file "(.*?)" should match "(\w+)" \+ "(\w+)"$/ do
51
51
  |remote_path, template1, template2|
52
52
  expected = @server.template(template1) + @server.template(template2)
53
53
  actual = @server.file_contents(remote_path)
54
- actual.should == expected
54
+ expect(actual).to eq expected
55
55
  end
56
56
 
57
57
  Then /^the remote file "(.*?)" should match "(\w+)"$/ do |remote_path, template|
58
58
  expected = @server.template(template)
59
59
  actual = @server.file_contents(remote_path)
60
- actual.should == expected
60
+ expect(actual).to eq expected
61
61
  end