vidibus-pureftpd 1.0.2 → 1.0.3
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.
- 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:
|