summaryrefslogtreecommitdiff
path: root/netfs/daemon/modeCheck.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'netfs/daemon/modeCheck.cpp')
-rw-r--r--netfs/daemon/modeCheck.cpp36
1 files changed, 15 insertions, 21 deletions
diff --git a/netfs/daemon/modeCheck.cpp b/netfs/daemon/modeCheck.cpp
index 58ade75..6e65888 100644
--- a/netfs/daemon/modeCheck.cpp
+++ b/netfs/daemon/modeCheck.cpp
@@ -2,12 +2,10 @@
#include <entCache.h>
#include <exceptions.h>
-ModeCheck::ModeCheck(const NetFS::ReqEnv & re, const std::filesystem::path & r, const EntCache<User> & u, const EntCache<Group> & g) :
+ModeCheck::ModeCheck(const NetFS::ReqEnv & re, const std::filesystem::path & r, const EntCache<User> & u,
+ const EntCache<Group> & g) :
myu(u.getEntry(re.user)->id),
- myg(g.getEntry(re.grp)->id),
- root(r),
- userLookup(u),
- groupLookup(g)
+ myg(g.getEntry(re.grp)->id), root(r), userLookup(u), groupLookup(g)
{
}
@@ -64,10 +62,11 @@ ModeCheck::AssertWritePerms(const std::filesystem::path & p) const
}
}
- struct stat
+struct stat
ModeCheck::lstat(const std::filesystem::path & p)
{
- struct stat s {};
+ struct stat s {
+ };
if (::lstat(p.c_str(), &s) != 0) {
throw NetFS::SystemError(errno);
}
@@ -86,11 +85,9 @@ ModeCheck::ReadableBy(const struct stat & s, uid_t u, gid_t g) const
if (s.st_mode & S_IRUSR && s.st_uid == u) {
return true;
}
- if (s.st_mode & S_IRGRP &&
- (s.st_gid == g
- || userLookup.getEntry(u)->group == s.st_gid
- || groupLookup.getEntry(s.st_gid)->hasMember(u)))
- {
+ if (s.st_mode & S_IRGRP
+ && (s.st_gid == g || userLookup.getEntry(u)->group == s.st_gid
+ || groupLookup.getEntry(s.st_gid)->hasMember(u))) {
return true;
}
return false;
@@ -108,10 +105,9 @@ ModeCheck::WritableBy(const struct stat & s, uid_t u, gid_t g) const
if (s.st_mode & S_IWUSR && s.st_uid == u) {
return true;
}
- if (s.st_mode & S_IWGRP &&
- (s.st_gid == g
- || userLookup.getEntry(u)->group == s.st_gid
- || groupLookup.getEntry(s.st_gid)->hasMember(u))) {
+ if (s.st_mode & S_IWGRP
+ && (s.st_gid == g || userLookup.getEntry(u)->group == s.st_gid
+ || groupLookup.getEntry(s.st_gid)->hasMember(u))) {
return true;
}
return false;
@@ -129,12 +125,10 @@ ModeCheck::ExecutableBy(const struct stat & s, uid_t u, gid_t g) const
if (s.st_mode & S_IXUSR && s.st_uid == u) {
return true;
}
- if (s.st_mode & S_IXGRP &&
- (s.st_gid == g
- || userLookup.getEntry(u)->group == s.st_gid
- || groupLookup.getEntry(s.st_gid)->hasMember(u))) {
+ if (s.st_mode & S_IXGRP
+ && (s.st_gid == g || userLookup.getEntry(u)->group == s.st_gid
+ || groupLookup.getEntry(s.st_gid)->hasMember(u))) {
return true;
}
return false;
}
-