Fix permissions not being checked correctly for admins
This commit is contained in:
parent
f390784973
commit
7fa7cc313f
|
@ -1,5 +1,9 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.6.3
|
||||||
|
### Fixed
|
||||||
|
* Fixes SFTP authentication failing for administrative users due to a permissions adjustment on the Panel.
|
||||||
|
|
||||||
## v1.6.2
|
## v1.6.2
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fixes file upload size not being properly enforced.
|
* Fixes file upload size not being properly enforced.
|
||||||
|
|
|
@ -288,14 +288,10 @@ func (h *Handler) can(permission string) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// SFTPServer owners and super admins have their permissions returned as '[*]' via the Panel
|
|
||||||
// API, so for the sake of speed do an initial check for that before iterating over the
|
|
||||||
// entire array of permissions.
|
|
||||||
if len(h.permissions) == 1 && h.permissions[0] == "*" {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
for _, p := range h.permissions {
|
for _, p := range h.permissions {
|
||||||
if p == permission {
|
// If we match the permission specifically, or the user has been granted the "*"
|
||||||
|
// permission because they're an admin, let them through.
|
||||||
|
if p == permission || p == "*" {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user