vidibus-pureftpd 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +24 -25
- data/config/locales/de.yml +2 -0
- data/config/locales/en.yml +2 -0
- data/lib/vidibus/pureftpd/user.rb +12 -2
- data/lib/vidibus/pureftpd/version.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -167,45 +167,44 @@ dscacheutil -q user
|
|
167
167
|
dscacheutil -q group
|
168
168
|
```
|
169
169
|
|
170
|
+
#### Debugging
|
170
171
|
|
171
|
-
|
172
|
+
To start the server, e.g. for debugging the users you've created, type `sudo /usr/local/sbin/pure-ftpd &`
|
172
173
|
|
173
|
-
|
174
|
-
sudo /usr/local/sbin/pure-ftpd &
|
175
|
-
```
|
174
|
+
You should now be able to connect via ftp by entering `ftp localhost`. To shut it down, call `sudo pkill pure-ftpd`
|
176
175
|
|
177
|
-
|
176
|
+
In order to check which users have been created, call `pure-pw list`.
|
178
177
|
|
179
|
-
|
180
|
-
ftp localhost
|
181
|
-
```
|
178
|
+
If you really want to use Pure-FTPd as FTP server on OSX, you should consider installing [PureFTPd Manager](http://jeanmatthieu.free.fr/pureftpd/).
|
182
179
|
|
183
|
-
Shut it down with:
|
184
180
|
|
185
|
-
|
186
|
-
sudo pkill pure-ftpd
|
187
|
-
```
|
181
|
+
#### Troubleshooting
|
188
182
|
|
189
|
-
|
183
|
+
When using this gem in a web application, it may happen that the execution of the `pure-ftp` command fails. A reason for that may be that your webserver is not able access the command.
|
184
|
+
|
185
|
+
I solved this issue by adding a symlink:
|
190
186
|
|
187
|
+
```
|
188
|
+
sudo ln -s /usr/local/bin/pure-pw /usr/bin/pure-pw
|
189
|
+
```
|
191
190
|
|
192
191
|
## TODO
|
193
192
|
|
194
193
|
Implement all user options offered by Pure-FTPd:
|
195
194
|
|
196
195
|
```
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
196
|
+
-t <download bandwidth>
|
197
|
+
-T <upload bandwidth>
|
198
|
+
-n <max number of files>
|
199
|
+
-N <max Mbytes>
|
200
|
+
-q <upload ratio>
|
201
|
+
-Q <download ratio>
|
202
|
+
-r <allow client host>
|
203
|
+
-R <deny client host>
|
204
|
+
-i <allow local host>
|
205
|
+
-I <deny local host>
|
206
|
+
-y <max number of concurrent sessions>
|
207
|
+
-z <hhmm>-<hhmm>
|
209
208
|
```
|
210
209
|
|
211
210
|
|
data/config/locales/de.yml
CHANGED
data/config/locales/en.yml
CHANGED
@@ -28,7 +28,7 @@ module Vidibus
|
|
28
28
|
|
29
29
|
validates :password, :directory, :presence => true
|
30
30
|
validates :login, :format => { :with => /^[a-z_0-9\-]+$/ }
|
31
|
-
validate :
|
31
|
+
validate :valid_login?, :if => :login_changed?
|
32
32
|
validate :valid_directory?, :if => :directory_changed?
|
33
33
|
|
34
34
|
def initialize(values = {})
|
@@ -73,6 +73,7 @@ module Vidibus
|
|
73
73
|
def reload
|
74
74
|
if persisted? && login_was && (user = User.find_by_login(login_was))
|
75
75
|
self.attributes = user.attributes
|
76
|
+
@changed_attributes.clear
|
76
77
|
self
|
77
78
|
else
|
78
79
|
raise DocumentNotFound
|
@@ -118,11 +119,20 @@ module Vidibus
|
|
118
119
|
attributes.merge(Vidibus::Pureftpd.settings)
|
119
120
|
end
|
120
121
|
|
121
|
-
def
|
122
|
+
def valid_login?
|
122
123
|
return unless login.present?
|
123
124
|
if User.find_by_login(login)
|
124
125
|
self.errors.add(:login, :taken)
|
125
126
|
end
|
127
|
+
unless password_changed?
|
128
|
+
# Double check that password has not been changed
|
129
|
+
if existing = User.find_by_login(login_was)
|
130
|
+
if password == existing.password
|
131
|
+
self.password = nil
|
132
|
+
self.errors.add(:password, :reenter)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
126
136
|
end
|
127
137
|
|
128
138
|
def valid_directory?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vidibus-pureftpd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: posix-spawn
|
@@ -184,7 +184,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
184
184
|
version: '0'
|
185
185
|
segments:
|
186
186
|
- 0
|
187
|
-
hash:
|
187
|
+
hash: -2523392839063022724
|
188
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
189
|
none: false
|
190
190
|
requirements:
|