OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::SetUserGroupRetainCap Class Reference

#include <usergroup_retain_cap.hpp>

Inheritance diagram for openvpn::SetUserGroupRetainCap:
[legend]
Collaboration diagram for openvpn::SetUserGroupRetainCap:
[legend]

Classes

class  Capabilities
 

Public Member Functions

 SetUserGroupRetainCap (const std::string &user, const std::string &group, const bool strict, std::initializer_list< cap_value_t > retain_caps_arg)
 
 SetUserGroupRetainCap (const char *user, const char *group, const bool strict, std::initializer_list< cap_value_t > retain_caps_arg)
 
virtual void pre_thread () const override
 
virtual void activate () const override
 
virtual void post_thread () const override
 
- Public Member Functions inherited from openvpn::SetUserGroup
 OPENVPN_EXCEPTION (user_group_err)
 
 SetUserGroup (const std::string &user, const std::string &group, const bool strict)
 
 SetUserGroup (const char *user, const char *group, const bool strict)
 
virtual ~SetUserGroup ()=default
 
const std::string & user () const
 
const std::string & group () const
 
void chown (const std::string &fn) const
 
void chown (const int fd, const std::string &title) const
 
void invalidate ()
 
uid_t uid () const
 
gid_t gid () const
 
bool uid_defined () const
 
bool gid_defined () const
 
bool defined () const
 

Private Member Functions

void grab_root ()
 

Private Attributes

const std::vector< cap_value_t > retain_caps
 

Additional Inherited Members

- Protected Member Functions inherited from openvpn::SetUserGroup
void do_setgid_setgroups () const
 
void do_setuid () const
 
void retain_core_dumps () const
 
- Protected Attributes inherited from openvpn::SetUserGroup
std::string user_name
 
std::string group_name
 
struct passwd * pw
 
struct groupgr
 

Detailed Description

Definition at line 32 of file usergroup_retain_cap.hpp.

Constructor & Destructor Documentation

◆ SetUserGroupRetainCap() [1/2]

openvpn::SetUserGroupRetainCap::SetUserGroupRetainCap ( const std::string &  user,
const std::string &  group,
const bool  strict,
std::initializer_list< cap_value_t >  retain_caps_arg 
)
inline

Definition at line 35 of file usergroup_retain_cap.hpp.

◆ SetUserGroupRetainCap() [2/2]

openvpn::SetUserGroupRetainCap::SetUserGroupRetainCap ( const char *  user,
const char *  group,
const bool  strict,
std::initializer_list< cap_value_t >  retain_caps_arg 
)
inline

Definition at line 45 of file usergroup_retain_cap.hpp.

Member Function Documentation

◆ activate()

virtual void openvpn::SetUserGroupRetainCap::activate ( ) const
inlineoverridevirtual

Reimplemented from openvpn::SetUserGroup.

Definition at line 79 of file usergroup_retain_cap.hpp.

◆ grab_root()

void openvpn::SetUserGroupRetainCap::grab_root ( )
inlineprivate

Definition at line 181 of file usergroup_retain_cap.hpp.

Here is the caller graph for this function:

◆ post_thread()

virtual void openvpn::SetUserGroupRetainCap::post_thread ( ) const
inlineoverridevirtual

Reimplemented from openvpn::SetUserGroup.

Definition at line 109 of file usergroup_retain_cap.hpp.

◆ pre_thread()

virtual void openvpn::SetUserGroupRetainCap::pre_thread ( ) const
inlineoverridevirtual

Reimplemented from openvpn::SetUserGroup.

Definition at line 56 of file usergroup_retain_cap.hpp.

Member Data Documentation

◆ retain_caps

const std::vector<cap_value_t> openvpn::SetUserGroupRetainCap::retain_caps
private

Definition at line 191 of file usergroup_retain_cap.hpp.


The documentation for this class was generated from the following file: