#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 |
virtual sbuild::string_list | get_login_directories () const |
virtual void | get_user_command (sbuild::chroot::ptr &session_chroot, std::string &file, sbuild::string_list &command) const |
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.
Definition at line 38 of file dchroot-dsa-session.h.
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). |
Definition at line 45 of file dchroot-dsa-session.cc.
session::~session | ( | ) | [virtual] |
The destructor.
Reimplemented from sbuild::session.
Definition at line 54 of file dchroot-dsa-session.cc.
sbuild::auth::status session::get_chroot_auth_status | ( | sbuild::auth::status | status, | |
sbuild::chroot::ptr const & | chroot | |||
) | const [virtual] |
Reimplemented from sbuild::session.
Definition at line 59 of file dchroot-dsa-session.cc.
References sbuild::auth::change_auth(), sbuild::session::get_chroot_auth_status(), dchroot::session_base::get_compat(), and sbuild::auth::get_uid().
sbuild::string_list session::get_login_directories | ( | ) | const [virtual] |
Reimplemented from sbuild::session.
Definition at line 91 of file dchroot-dsa-session.cc.
References sbuild::auth::get_home(), sbuild::auth::get_wd(), and sbuild::auth::wd.
void session::get_user_command | ( | sbuild::chroot::ptr & | session_chroot, | |
std::string & | file, | |||
sbuild::string_list & | command | |||
) | const [virtual] |
Reimplemented from sbuild::session.
Definition at line 114 of file dchroot-dsa-session.cc.
References sbuild::session::COMMAND_ABS, sbuild::DEBUG_NOTICE, sbuild::auth::get_ruid(), sbuild::auth::get_ruser(), sbuild::auth::get_uid(), sbuild::auth::get_user(), sbuild::auth::get_verbosity(), sbuild::is_absname(), sbuild::log_debug(), sbuild::log_info(), and sbuild::string_list_to_string().