testftpd 0.2.0 → 0.2.1
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/lib/testftpd/file_system_provider.rb +8 -7
- data/lib/testftpd/server.rb +1 -1
- data/lib/testftpd/version.rb +1 -1
- data/vendor/dyn-ftp-serv/dynftp_server.rb +9 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 136a31c4348297f7ae55056d8714d0552b6d6570
|
4
|
+
data.tar.gz: 941277ed7a8fb42821c6dd388d020e1adec0c550
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3924d5537db955f0fccde16f722e02d876c22a544086c7e9e14ddc2cde2995dc38b86e00792afb79477cc4d1d9c733c4f3eb0a9b452e9f90c025ee33c7668984
|
7
|
+
data.tar.gz: 3285451db03c3f4ec6aa9b4771c00ffc6483b3fc2f3bada32add975610892b2fddbeba67098f940cf23a76e6559cea5a0046a0f82f762034d7825fa0748cdf3b
|
@@ -1,10 +1,11 @@
|
|
1
1
|
module TestFtpd
|
2
2
|
|
3
3
|
class FileSystemProvider
|
4
|
-
attr_reader :path, :ftp_name, :ftp_size, :ftp_date
|
4
|
+
attr_reader :path, :server, :ftp_name, :ftp_size, :ftp_date
|
5
5
|
|
6
|
-
def initialize(path)
|
6
|
+
def initialize(path, server)
|
7
7
|
@path = path
|
8
|
+
@server = server
|
8
9
|
@ftp_name = path.split('/').last
|
9
10
|
@ftp_name = '/' unless @ftp_name
|
10
11
|
@ftp_dir = File.directory?(path)
|
@@ -23,7 +24,7 @@ module TestFtpd
|
|
23
24
|
path_parts = path.split('/')
|
24
25
|
return nil unless path_parts.pop
|
25
26
|
return nil if path_parts.size <= 1
|
26
|
-
FileSystemProvider.new(path_parts.join('/'))
|
27
|
+
FileSystemProvider.new(path_parts.join('/'), server)
|
27
28
|
end
|
28
29
|
|
29
30
|
def ftp_list(filter = nil)
|
@@ -36,16 +37,16 @@ module TestFtpd
|
|
36
37
|
else
|
37
38
|
entries = Dir.entries(path)
|
38
39
|
end
|
39
|
-
entries = entries.reject { |name| %w{. ..}.include?(File.basename(name)) }
|
40
|
+
entries = entries.reject { |name| %w{. ..}.include?(File.basename(name)) } unless server.config.fetch(:include_dot_folders, false)
|
40
41
|
entries.map do |name|
|
41
|
-
FileSystemProvider.new(File.join(path, name))
|
42
|
+
FileSystemProvider.new(File.join(path, name), server)
|
42
43
|
end
|
43
44
|
end
|
44
45
|
|
45
46
|
def ftp_create(name, dir = false)
|
46
|
-
return FileSystemProvider.new(path + '/' + name) unless dir
|
47
|
+
return FileSystemProvider.new(path + '/' + name, server) unless dir
|
47
48
|
Dir.mkdir(path + '/' + name)
|
48
|
-
FileSystemProvider.new(path + '/' + name)
|
49
|
+
FileSystemProvider.new(path + '/' + name, server)
|
49
50
|
rescue
|
50
51
|
return false
|
51
52
|
end
|
data/lib/testftpd/server.rb
CHANGED
@@ -9,7 +9,7 @@ module TestFtpd
|
|
9
9
|
|
10
10
|
class Server < DynFTPServer
|
11
11
|
def initialize(config = {})
|
12
|
-
config.merge!(:root => FileSystemProvider.new(config[:root_dir]))
|
12
|
+
config.merge!(:root => FileSystemProvider.new(config[:root_dir], self))
|
13
13
|
@ftp_thread = nil
|
14
14
|
super(config)
|
15
15
|
end
|
data/lib/testftpd/version.rb
CHANGED
@@ -65,14 +65,15 @@ class DynFTPServer
|
|
65
65
|
|
66
66
|
def defaults
|
67
67
|
{
|
68
|
-
host:
|
69
|
-
port:
|
70
|
-
masquerade_ip:
|
71
|
-
pasv_min_port:
|
72
|
-
pasv_max_port:
|
73
|
-
root:
|
74
|
-
authentication:
|
75
|
-
logger:
|
68
|
+
host: '',
|
69
|
+
port: 21,
|
70
|
+
masquerade_ip: nil,
|
71
|
+
pasv_min_port: 1024,
|
72
|
+
pasv_max_port: 65535,
|
73
|
+
root: nil,
|
74
|
+
authentication: ->(user, pass) { return true },
|
75
|
+
logger: nil,
|
76
|
+
include_dot_folders: false
|
76
77
|
}
|
77
78
|
end
|
78
79
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testftpd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Schulze
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|