#include <dchroot-dsa-session.h>
Inheritance diagram for dchroot_dsa::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-dsa compatibility. It overrides the normal authentication checks to allow all users to access the service, but enforce dchroot-dsa user access controls when present, and it specialises the session behaviour to be compatible with the chdir and command execution behaviour of dchroot-dsa.
| 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.
1.4.7