5 #ifndef DMLITE_CPP_UTILS_SECURITY_H_ 6 #define DMLITE_CPP_UTILS_SECURITY_H_ 13 #include "../exceptions.h" 17 static const std::string kGenericUser =
"nouser";
52 class Acl:
public std::vector<AclEntry> {
57 explicit Acl(
const std::string&)
throw ();
65 Acl(
const Acl& parent, uid_t uid, gid_t gid, mode_t cmode, mode_t* fmode)
throw ();
69 int has(uint8_t type)
const throw ();
71 std::string
serialize(
void)
const throw ();
79 bool hasGroup(
const std::vector<GroupInfo>& groups, gid_t gid);
90 const Acl& acl,
const struct ::stat& stat,
97 std::string
voFromDn(
const std::string& mapfile,
const std::string& dn);
102 std::string
voFromRole(
const std::string& role);
113 std::string
generateToken(
const std::string&
id,
const std::string& pfn,
114 const std::string& passwd, time_t lifetime,
124 const std::string& pfn,
const std::string& passwd,
129 #endif // DMLITE_CPP_UTILS_SECURITY_H_ Definition: security.h:22
Security context. To be created by the Authn.
Definition: authn.h:73
std::string voFromDn(const std::string &mapfile, const std::string &dn)
static const uint8_t kGroup
Definition: security.h:36
void validate(void) const
std::string getCertificateSubject(const std::string &path)
Get the subject from the certificate.
static const uint8_t kGroupObj
Definition: security.h:35
static const uint8_t kDefault
Definition: security.h:39
TokenResult validateToken(const std::string &token, const std::string &id, const std::string &pfn, const std::string &passwd, bool write=false)
Definition: security.h:24
uint8_t perm
Definition: security.h:42
int has(uint8_t type) const
uint32_t id
Definition: security.h:43
Definition: security.h:23
bool operator<(const AclEntry &) const
bool operator==(const AclEntry &) const
bool operator!=(const AclEntry &) const
Definition: security.h:21
bool hasGroup(const std::vector< GroupInfo > &groups, gid_t gid)
std::string generateToken(const std::string &id, const std::string &pfn, const std::string &passwd, time_t lifetime, bool write=false)
Definition: security.h:26
int checkPermissions(const SecurityContext *context, const Acl &acl, const struct ::stat &stat, mode_t mode)
std::string serialize(void) const
bool operator>(const AclEntry &) const
TokenResult
Possible outputs for validateToken.
Definition: security.h:20
static const uint8_t kUser
Definition: security.h:34
Definition: security.h:52
uint8_t type
Definition: security.h:41
static const uint8_t kUserObj
ACL Type possible values.
Definition: security.h:33
static const uint8_t kMask
Definition: security.h:37
std::string voFromRole(const std::string &role)
ACL Entry.
Definition: security.h:30
static const uint8_t kOther
Definition: security.h:38
Namespace for the dmlite C++ API.
Definition: authn.h:16
Definition: security.h:25