Go to the documentation of this file.
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";
51 struct Acl:
public std::vector<AclEntry> {
56 explicit
Acl(const std::
string&) throw ();
64 Acl(const
Acl& parent, uid_t uid, gid_t gid, mode_t cmode, mode_t* fmode) throw ();
68 int has(uint8_t type) const throw ();
89 const
Acl& acl, const struct ::stat& stat,
96 std::
string voFromDn(const std::
string& mapfile, const std::
string& dn);
113 const std::
string& passwd, time_t lifetime,
123 const std::
string& pfn, const std::
string& passwd,
128 #endif // DMLITE_CPP_UTILS_SECURITY_H_
int checkPermissions(const SecurityContext *context, const Acl &acl, const struct ::stat &stat, mode_t mode)
bool operator>(const AclEntry &) const
@ kTokenOK
Definition: security.h:21
bool operator<(const AclEntry &) const
static const uint8_t kMask
Definition: security.h:36
TokenResult validateToken(const std::string &token, const std::string &id, const std::string &pfn, const std::string &passwd, bool write=false)
bool hasGroup(const std::vector< GroupInfo > &groups, gid_t gid)
static const uint8_t kUserObj
ACL Type possible values.
Definition: security.h:32
@ kTokenInvalidMode
Definition: security.h:25
TokenResult
Possible outputs for validateToken.
Definition: security.h:20
std::string generateToken(const std::string &id, const std::string &pfn, const std::string &passwd, time_t lifetime, bool write=false)
static const uint8_t kUser
Definition: security.h:33
uint32_t id
Definition: security.h:42
@ kTokenMalformed
Definition: security.h:22
std::string serialize(void) const
@ kTokenExpired
Definition: security.h:24
Security context. To be created by the Authn.
Definition: authn.h:64
void validate(void) const
static const uint8_t kGroupObj
Definition: security.h:34
uint8_t type
Definition: security.h:40
uint8_t perm
Definition: security.h:41
std::string voFromDn(const std::string &mapfile, const std::string &dn)
std::string getCertificateSubject(const std::string &path)
Get the subject from the certificate.
int has(uint8_t type) const
std::string voFromRole(const std::string &role)
@ kTokenInvalid
Definition: security.h:23
ACL Entry.
Definition: security.h:30
bool operator!=(const AclEntry &) const
static const uint8_t kDefault
Definition: security.h:38
bool operator==(const AclEntry &) const
static const uint8_t kOther
Definition: security.h:37
Namespace for the dmlite C++ API.
Definition: authn.h:15
@ kTokenInternalError
Definition: security.h:26
Definition: security.h:51
static const uint8_t kGroup
Definition: security.h:35