dchroot::session_base Class Reference

Basic session handler for dchroot sessions. More...

#include <dchroot-session-base.h>

Inheritance diagram for dchroot::session_base:

Inheritance graph
[legend]
Collaboration diagram for dchroot::session_base:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 session_base (std::string const &service, config_ptr &config, operation operation, sbuild::string_list const &chroots, bool compat)
 The constructor.
virtual ~session_base ()
 The destructor.
bool get_compat () const
 Get the dchroot compatibility state.
void set_compat (bool state)
 Set the dchroot compatibility state.

Protected Member Functions

virtual void run_impl ()
virtual sbuild::string_list get_command_directories () const

Private Attributes

bool compat
 dchroot compatibility enabled?

Detailed Description

Basic session handler for dchroot sessions.

This class provides common session functionality for dchroot and dchroot-dsa, such as providing a schroot compatibility mode. It also prevents user switching when running sessions, which is forbidden.

Definition at line 36 of file dchroot-session-base.h.


Constructor & Destructor Documentation

session_base::session_base ( std::string const &  service,
config_ptr config,
operation  operation,
sbuild::string_list const &  chroots,
bool  compat 
)

The constructor.

Parameters:
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 43 of file dchroot-session-base.cc.

session_base::~session_base (  )  [virtual]

The destructor.

Definition at line 53 of file dchroot-session-base.cc.


Member Function Documentation

bool session_base::get_compat (  )  const

Get the dchroot compatibility state.

Returns:
the state.

Definition at line 58 of file dchroot-session-base.cc.

References compat.

Referenced by dchroot::session::get_chroot_auth_status(), and dchroot_dsa::session::get_chroot_auth_status().

Here is the caller graph for this function:

void session_base::set_compat ( bool  state  ) 

Set the dchroot compatibility state.

Parameters:
state the dchroot compatibility state.

Definition at line 64 of file dchroot-session-base.cc.

References compat.

void session_base::run_impl (  )  [protected, virtual]

Reimplemented from sbuild::session.

Definition at line 70 of file dchroot-session-base.cc.

References sbuild::auth::get_ruid(), sbuild::auth::get_ruser(), sbuild::auth::get_uid(), sbuild::auth::get_user(), sbuild::session::run_impl(), and sbuild::session::USER_SWITCH.

sbuild::string_list session_base::get_command_directories (  )  const [protected, virtual]

Reimplemented from sbuild::session.

Definition at line 80 of file dchroot-session-base.cc.

References sbuild::session::get_login_directories().


Member Data Documentation

bool dchroot::session_base::compat [private]

dchroot compatibility enabled?

Definition at line 83 of file dchroot-session-base.h.

Referenced by get_compat(), and set_compat().


The documentation for this class was generated from the following files:
Generated on Sun Jul 8 21:24:28 2007 for schroot by  doxygen 1.5.2