E-MailRelay
Classes | Namespaces | Functions
gprocess_unix.cpp File Reference
#include "gdef.h"
#include "gprocess.h"
#include "gidentity.h"
#include "gstr.h"
#include "gfile.h"
#include "gpath.h"
#include "glimits.h"
#include "glog.h"
#include <iostream>
#include <stdexcept>
#include <array>
#include <cstring>
#include <climits>
#include <cerrno>
#include <fcntl.h>

Go to the source code of this file.

Classes

class  G::Process::UmaskImp
 A private implemetation class for G::Process::Umask that hides mode_t. More...
 

Namespaces

namespace  G
 Low-level classes.
 

Functions

void G::ProcessImp::noCloseOnExec (int fd) noexcept
 
void G::ProcessImp::reopen (int fd, int mode)
 
mode_t G::ProcessImp::umaskValue (G::Process::Umask::Mode mode)
 
bool G::ProcessImp::readlink_ (const char *path, std::string &value)
 
bool G::ProcessImp::setRealUser (Identity id, std::nothrow_t) noexcept
 
bool G::ProcessImp::setRealGroup (Identity id, std::nothrow_t) noexcept
 
void G::ProcessImp::setEffectiveUser (Identity id)
 
bool G::ProcessImp::setEffectiveUser (Identity id, std::nothrow_t) noexcept
 
void G::ProcessImp::setEffectiveGroup (Identity id)
 
bool G::ProcessImp::setEffectiveGroup (Identity id, std::nothrow_t) noexcept
 
void G::ProcessImp::throwError ()
 
void G::ProcessImp::beSpecial (Identity special_identity, bool change_group)
 
void G::ProcessImp::beSpecialForExit (SignalSafe, Identity special_identity) noexcept
 
Identity G::ProcessImp::beOrdinaryAtStartup (Identity, bool change_group)
 
Identity G::ProcessImp::beOrdinary (Identity, bool change_group)
 
void G::ProcessImp::beOrdinaryForExec (Identity run_as_id) noexcept
 
void G::ProcessImp::revokeExtraGroups ()
 

Function Documentation

◆ beOrdinary()

G::Identity G::ProcessImp::beOrdinary ( Identity  nobody_id,
bool  change_group 
)

Definition at line 318 of file gprocess_unix.cpp.

◆ beOrdinaryForExec()

void G::ProcessImp::beOrdinaryForExec ( Identity  run_as_id)
noexcept

Definition at line 354 of file gprocess_unix.cpp.

◆ beSpecial()

void G::ProcessImp::beSpecial ( Identity  special_identity,
bool  change_group 
)

Definition at line 366 of file gprocess_unix.cpp.

◆ beSpecialForExit()

void G::ProcessImp::beSpecialForExit ( SignalSafe  ,
Identity  special_identity 
)
noexcept

Definition at line 373 of file gprocess_unix.cpp.

◆ noCloseOnExec()

void G::ProcessImp::noCloseOnExec ( int  fd)
noexcept

Definition at line 285 of file gprocess_unix.cpp.

◆ readlink_()

bool G::ProcessImp::readlink_ ( const char *  path,
std::string &  value 
)

Definition at line 309 of file gprocess_unix.cpp.

◆ reopen()

void G::ProcessImp::reopen ( int  fd,
int  mode 
)

Definition at line 290 of file gprocess_unix.cpp.

◆ revokeExtraGroups()

void G::ProcessImp::revokeExtraGroups ( )

Definition at line 380 of file gprocess_unix.cpp.

◆ setEffectiveGroup() [1/2]

void G::ProcessImp::setEffectiveGroup ( Identity  id)

Definition at line 414 of file gprocess_unix.cpp.

◆ setEffectiveGroup() [2/2]

bool G::ProcessImp::setEffectiveGroup ( Identity  id,
std::nothrow_t   
)
noexcept

Definition at line 423 of file gprocess_unix.cpp.

◆ setEffectiveUser() [1/2]

void G::ProcessImp::setEffectiveUser ( Identity  id)

Definition at line 395 of file gprocess_unix.cpp.

◆ setEffectiveUser() [2/2]

bool G::ProcessImp::setEffectiveUser ( Identity  id,
std::nothrow_t   
)
noexcept

Definition at line 404 of file gprocess_unix.cpp.

◆ setRealGroup()

bool G::ProcessImp::setRealGroup ( Identity  id,
std::nothrow_t   
)
noexcept

Definition at line 409 of file gprocess_unix.cpp.

◆ setRealUser()

bool G::ProcessImp::setRealUser ( Identity  id,
std::nothrow_t   
)
noexcept

Definition at line 390 of file gprocess_unix.cpp.

◆ throwError()

void G::ProcessImp::throwError ( )

Definition at line 428 of file gprocess_unix.cpp.

◆ umaskValue()

mode_t G::ProcessImp::umaskValue ( G::Process::Umask::Mode  mode)

Definition at line 298 of file gprocess_unix.cpp.