#include <dchroot-session.h>
Inheritance diagram for dchroot::session:
Public Member Functions | |
session (std::string const &service, config_ptr &config, operation operation, sbuild::string_list const &chroots, bool compat) | |
The constructor. | |
virtual | ~session () |
The destructor. | |
virtual sbuild::auth::status | get_chroot_auth_status (sbuild::auth::status status, sbuild::chroot::ptr const &chroot) const |
Check if authentication is required for a single chroot, taking users, groups, root-users and root-groups membership into account. | |
virtual sbuild::string_list | get_login_directories () const |
Get a list of directories to change to when running a login shell. | |
virtual void | get_user_command (sbuild::chroot::ptr &session_chroot, std::string &file, sbuild::string_list &command) const |
Get the command to run a user command. |
This class provides the session handling for dchroot compatibility. It overrides the normal authentication checks to allow all users to access the service, and it specialises the session behaviour to be compatible with the chdir and command execution behaviour of dchroot.
session::session | ( | std::string const & | service, | |
config_ptr & | config, | |||
operation | operation, | |||
sbuild::string_list const & | chroots, | |||
bool | compat | |||
) |
The constructor.
service | the PAM service name. | |
config | a shared_ptr to the chroot configuration. | |
operation | the session operation to perform. | |
chroots | the chroots to act upon. | |
compat | true to enable full dchroot compatibility, or false to enable schroot compatiblity (permissions checks). |
session::~session | ( | ) | [virtual] |
sbuild::auth::status session::get_chroot_auth_status | ( | sbuild::auth::status | status, | |
sbuild::chroot::ptr const & | chroot | |||
) | const [virtual] |
Check if authentication is required for a single chroot, taking users, groups, root-users and root-groups membership into account.
Reimplemented from sbuild::session.
sbuild::string_list session::get_login_directories | ( | ) | const [virtual] |
Get a list of directories to change to when running a login shell.
Multiple directories are used as fallbacks.
Reimplemented from sbuild::session.
void session::get_user_command | ( | sbuild::chroot::ptr & | session_chroot, | |
std::string & | file, | |||
sbuild::string_list & | command | |||
) | const [virtual] |
Get the command to run a user command.
session_chroot | the chroot to setup. This must be present in the chroot list and the chroot configuration object. | |
file | the filename to pass to execve(2). | |
command | the argv to pass to execve(2). |
Reimplemented from sbuild::session.