sbuild::session Class Reference

Session handler. More...

#include <sbuild-session.h>

Inheritance diagram for sbuild::session:

Inheritance graph
[legend]
Collaboration diagram for sbuild::session:

Collaboration graph
[legend]
List of all members.

Public Types

enum  operation {
  OPERATION_AUTOMATIC, OPERATION_BEGIN, OPERATION_RECOVER, OPERATION_END,
  OPERATION_RUN
}
 Session operations. More...
enum  error_code {
  CHDIR, CHDIR_FB, CHILD_CORE, CHILD_FAIL,
  CHILD_FORK, CHILD_SIGNAL, CHILD_WAIT, CHROOT,
  CHROOT_ALIAS, CHROOT_LOCK, CHROOT_SETUP, CHROOT_UNKNOWN,
  CHROOT_UNLOCK, COMMAND_ABS, EXEC, GROUP_GET_SUP,
  GROUP_GET_SUPC, GROUP_SET, GROUP_SET_SUP, GROUP_UNKNOWN,
  PAM, ROOT_DROP, SHELL, SHELL_FB,
  SIGNAL_CATCH, SIGNAL_SET, USER_SET, USER_SWITCH
}
 Error codes. More...
typedef custom_error< error_codeerror
 Exception type.
typedef std::tr1::shared_ptr<
chroot_config
config_ptr
 A shared_ptr to a chroot_config object.
typedef std::tr1::shared_ptr<
session
ptr
 A shared_ptr to a session object.

Public Member Functions

 session (std::string const &service, config_ptr &config, operation operation, string_list const &chroots)
 The constructor.
virtual ~session ()
 The destructor.
config_ptr const & get_config () const
 Get the configuration associated with this session.
void set_config (config_ptr &config)
 Set the configuration associated with this session.
string_list const & get_chroots () const
 Get the chroots to use in this session.
void set_chroots (string_list const &chroots)
 Set the chroots to use in this session.
operation get_operation () const
 Get the operation this session will perform.
void set_operation (operation operation)
 Set the operation this session will perform.
std::string const & get_session_id () const
 Get the session identifier.
void set_session_id (std::string const &session_id)
 Set the session identifier.
bool get_force () const
 Get the force status of this session.
void set_force (bool force)
 Set the force status of this session.
void save_termios ()
 Save terminal state.
void restore_termios ()
 Restore terminal state.
int get_child_status () const
 Get the exit (wait) status of the last child process to run in this session.
virtual sbuild::auth::status get_auth_status () const
 Check if authentication is required, taking users, groups, root-users and root-groups membership of all chroots specified into account.

Protected Member Functions

virtual auth::status get_chroot_auth_status (auth::status status, 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 void run_impl ()
 Run a session.
virtual string_list get_login_directories () const
 Get a list of directories to change to when running a login shell.
virtual string_list get_command_directories () const
 Get a list of directories to change to when running a command Multiple directories are used as fallbacks.
virtual std::string get_shell () const
 Get the shell to run.
virtual void get_command (chroot::ptr &session_chroot, std::string &file, string_list &command) const
 Get the command to run.
virtual void get_login_command (chroot::ptr &session_chroot, std::string &file, string_list &command) const
 Get the command to run a login shell.
virtual void get_user_command (chroot::ptr &session_chroot, std::string &file, string_list &command) const
 Get the command to run a user command.

Protected Attributes

std::string cwd
 Current working directory.

Private Member Functions

void setup_chroot (chroot::ptr &session_chroot, chroot::setup_type setup_type)
 Setup a chroot.
void run_chroot (chroot::ptr &session_chroot)
 Run command or login shell in the specified chroot.
void run_child (chroot::ptr &session_chroot)
 Run a command or login shell as a child process in the specified chroot.
void wait_for_child (pid_t pid, int &child_status)
 Wait for a child process to complete, and check its exit status.
void set_sighup_handler ()
 Set the SIGHUP handler.
void clear_sighup_handler ()
 Restore the state of SIGHUP prior to setting the handler.
void set_sigterm_handler ()
 Set the SIGTERM handler.
void clear_sigterm_handler ()
 Restore the state of SIGTERM prior to setting the handler.
void set_signal_handler (int signal, struct sigaction *saved_signal, void(*handler)(int))
 Set a signal handler.
void clear_signal_handler (int signal, struct sigaction *saved_signal)
 Restore the state of the signal prior to setting the handler.

Private Attributes

config_ptr config
 The chroot configuration.
string_list chroots
 The chroots to run the session operation in.
int chroot_status
 The current chroot status.
int child_status
 The child exit status.
operation session_operation
 The session operation to perform.
std::string session_id
 The session identifier.
bool force
 The session force status.
sigaction saved_sighup_signal
 Signal saved while sighup handler is set.
sigaction saved_sigterm_signal
 Signal saved while sigterm handler is set.
termios saved_termios
 Saved terminal settings.
bool termios_ok
 Are the saved terminal settings valid?

Detailed Description

Session handler.

This class provides the session handling for schroot. It derives from auth, which performs all the necessary PAM actions, specialising it by overriding its virtual functions. This allows more sophisticated handling of user authorisation (users, groups, root-users and root-groups membership in the configuration file) and session management (setting up the session, entering the chroot and running the requested command or shell).

Definition at line 48 of file sbuild-session.h.


Member Typedef Documentation

typedef custom_error<error_code> sbuild::session::error

Exception type.

Reimplemented from sbuild::auth.

Definition at line 95 of file sbuild-session.h.

typedef std::tr1::shared_ptr<chroot_config> sbuild::session::config_ptr

A shared_ptr to a chroot_config object.

Definition at line 98 of file sbuild-session.h.

typedef std::tr1::shared_ptr<session> sbuild::session::ptr

A shared_ptr to a session object.

Definition at line 101 of file sbuild-session.h.


Member Enumeration Documentation

enum sbuild::session::operation

Session operations.

Enumerator:
OPERATION_AUTOMATIC  Begin, end and run a session automatically.
OPERATION_BEGIN  Begin a session.
OPERATION_RECOVER  Recover an existing (but inactive) session.
OPERATION_END  End a session.
OPERATION_RUN  Run a command in an existing session.

Definition at line 52 of file sbuild-session.h.

enum sbuild::session::error_code

Error codes.

Enumerator:
CHDIR  Failed to change to directory.
CHDIR_FB  Falling back to directory.
CHILD_CORE  Child dumped core.
CHILD_FAIL  Child exited abnormally (reason unknown).
CHILD_FORK  Failed to fork child.
CHILD_SIGNAL  Child terminated by signal.
CHILD_WAIT  Wait for child failed.
CHROOT  Failed to change root to directory.
CHROOT_ALIAS  No chroot found matching alias.
CHROOT_LOCK  Failed to lock chroot.
CHROOT_SETUP  Setup failed.
CHROOT_UNKNOWN  Failed to find chroot.
CHROOT_UNLOCK  Failed to unlock chroot.
COMMAND_ABS  Command must have an absolute path.
EXEC  Failed to execute.
GROUP_GET_SUP  Failed to get supplementary groups.
GROUP_GET_SUPC  Failed to get supplementary group count.
GROUP_SET  Failed to set group.
GROUP_SET_SUP  Failed to set supplementary groups.
GROUP_UNKNOWN  Group not found.
PAM  PAM error.
ROOT_DROP  Failed to drop root permissions.
SHELL  Shell not available.
SHELL_FB  Falling back to shell.
SIGNAL_CATCH  Caught signal.
SIGNAL_SET  Failed to set signal handler.
USER_SET  Failed to set user.
USER_SWITCH  User switching is not permitted.

Reimplemented from sbuild::auth.

Definition at line 62 of file sbuild-session.h.


Constructor & Destructor Documentation

session::session ( std::string const &  service,
config_ptr config,
operation  operation,
string_list const &  chroots 
)

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.

Definition at line 232 of file sbuild-session.cc.

session::~session (  )  [virtual]

The destructor.

Reimplemented in dchroot::session, and dchroot_dsa::session.

Definition at line 252 of file sbuild-session.cc.


Member Function Documentation

session::config_ptr const & session::get_config (  )  const

Get the configuration associated with this session.

Returns:
a shared_ptr to the configuration.

Definition at line 257 of file sbuild-session.cc.

References config.

void session::set_config ( config_ptr config  ) 

Set the configuration associated with this session.

Parameters:
config a shared_ptr to the configuration.

Definition at line 263 of file sbuild-session.cc.

string_list const & session::get_chroots (  )  const

Get the chroots to use in this session.

Returns:
a list of chroots.

Definition at line 269 of file sbuild-session.cc.

References chroots.

void session::set_chroots ( string_list const &  chroots  ) 

Set the chroots to use in this session.

Parameters:
chroots a list of chroots.

Definition at line 275 of file sbuild-session.cc.

session::operation session::get_operation (  )  const

Get the operation this session will perform.

Returns:
the operation.

Definition at line 281 of file sbuild-session.cc.

References session_operation.

void session::set_operation ( operation  operation  ) 

Set the operation this session will perform.

Parameters:
operation the operation.

Definition at line 287 of file sbuild-session.cc.

References session_operation.

std::string const & session::get_session_id (  )  const

Get the session identifier.

The session identifier is a unique string to identify a session.

Returns:
the session id.

Definition at line 293 of file sbuild-session.cc.

References session_id.

Referenced by run_impl().

Here is the caller graph for this function:

void session::set_session_id ( std::string const &  session_id  ) 

Set the session identifier.

The session identifier is a unique string to identify a session.

Parameters:
session_id the session id.

Definition at line 299 of file sbuild-session.cc.

Referenced by run_impl().

Here is the caller graph for this function:

bool session::get_force (  )  const

Get the force status of this session.

Returns:
true if operation will be forced, otherwise false.

Definition at line 305 of file sbuild-session.cc.

References force.

void session::set_force ( bool  force  ) 

Set the force status of this session.

Parameters:
force true to force operation, otherwise false.

Definition at line 311 of file sbuild-session.cc.

void session::save_termios (  ) 

Save terminal state.

Definition at line 317 of file sbuild-session.cc.

References _, sbuild::auth::command, sbuild::DEBUG_WARNING, sbuild::auth::get_command(), sbuild::log_debug(), sbuild::log_warning(), and termios_ok.

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::restore_termios (  ) 

Restore terminal state.

Definition at line 343 of file sbuild-session.cc.

References _, sbuild::auth::command, sbuild::DEBUG_WARNING, sbuild::auth::get_command(), sbuild::log_debug(), sbuild::log_warning(), and termios_ok.

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

int session::get_child_status (  )  const

Get the exit (wait) status of the last child process to run in this session.

Returns:
the exit status.

Definition at line 365 of file sbuild-session.cc.

References child_status.

auth::status session::get_chroot_auth_status ( auth::status  status,
chroot::ptr const &  chroot 
) const [protected, virtual]

Check if authentication is required for a single chroot, taking users, groups, root-users and root-groups membership into account.

Reimplemented in dchroot::session, and dchroot_dsa::session.

Definition at line 371 of file sbuild-session.cc.

References sbuild::auth::change_auth(), sbuild::DEBUG_INFO, sbuild::auth::get_ruser(), sbuild::auth::get_uid(), is_group_member(), sbuild::log_debug(), sbuild::auth::STATUS_FAIL, sbuild::auth::STATUS_NONE, and sbuild::auth::STATUS_USER.

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

Here is the call graph for this function:

Here is the caller graph for this function:

auth::status session::get_auth_status (  )  const [virtual]

Check if authentication is required, taking users, groups, root-users and root-groups membership of all chroots specified into account.

Reimplemented from sbuild::auth.

Definition at line 451 of file sbuild-session.cc.

References sbuild::auth::change_auth(), CHROOT_ALIAS, chroots, get_chroot_auth_status(), sbuild::log_exception_warning(), sbuild::auth::STATUS_FAIL, and sbuild::auth::STATUS_NONE.

Here is the call graph for this function:

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

Run a session.

If a command has been specified, this will be run in each of the specified chroots. If no command has been specified, a login shell will run in the specified chroot.

An error will be thrown on failure.

Implements sbuild::auth.

Reimplemented in dchroot::session_base.

Definition at line 487 of file sbuild-session.cc.

References child_status, CHROOT_UNKNOWN, chroots, clear_sighup_handler(), clear_sigterm_handler(), sbuild::auth::close_session(), config, sbuild::DEBUG_INFO, sbuild::DEBUG_NOTICE, sbuild::DEBUG_WARNING, sbuild::dirname(), sbuild::chroot::EXEC_START, sbuild::chroot::EXEC_STOP, sbuild::chroot_block_device::get_device(), sbuild::chroot::get_run_setup_scripts(), get_session_id(), sbuild::log_debug(), sbuild::auth::open_session(), OPERATION_AUTOMATIC, OPERATION_BEGIN, OPERATION_RUN, restore_termios(), run_chroot(), save_termios(), sbuild::chroot::SESSION_CREATE, session_id, set_session_id(), set_sighup_handler(), set_sigterm_handler(), sbuild::chroot_lvm_snapshot::set_snapshot_device(), setup_chroot(), sbuild::chroot::SETUP_RECOVER, sbuild::chroot::SETUP_START, sbuild::chroot::SETUP_STOP, sighup_called, and sigterm_called.

Referenced by dchroot::session_base::run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

string_list session::get_login_directories (  )  const [protected, virtual]

Get a list of directories to change to when running a login shell.

Multiple directories are used as fallbacks.

Returns:
a list of directories

Reimplemented in dchroot::session, and dchroot_dsa::session.

Definition at line 666 of file sbuild-session.cc.

References sbuild::environment::get(), sbuild::auth::get_home(), sbuild::auth::get_pam_environment(), sbuild::auth::get_wd(), sbuild::auth::home, and sbuild::auth::wd.

Referenced by dchroot::session_base::get_command_directories(), and run_child().

Here is the call graph for this function:

Here is the caller graph for this function:

string_list session::get_command_directories (  )  const [protected, virtual]

Get a list of directories to change to when running a command Multiple directories are used as fallbacks.

Returns:
a list of directories

Reimplemented in dchroot::session_base.

Definition at line 701 of file sbuild-session.cc.

References sbuild::auth::get_wd(), and sbuild::auth::wd.

Referenced by run_child().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string session::get_shell (  )  const [protected, virtual]

Get the shell to run.

This finds a suitable shell to run in the chroot, falling back to /bin/sh if necessary. Note that it assumes it is inside the chroot when called.

Returns:
the shell.

Reimplemented from sbuild::auth.

Definition at line 717 of file sbuild-session.cc.

References sbuild::auth::get_shell(), sbuild::log_exception_warning(), SHELL, sbuild::auth::shell, and SHELL_FB.

Referenced by get_login_command(), dchroot::session::get_user_command(), and run_child().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::get_command ( chroot::ptr session_chroot,
std::string &  file,
string_list command 
) const [protected, virtual]

Get the command to run.

Parameters:
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).

Definition at line 739 of file sbuild-session.cc.

References get_login_command(), and get_user_command().

Here is the call graph for this function:

void session::get_login_command ( chroot::ptr session_chroot,
std::string &  file,
string_list command 
) const [protected, virtual]

Get the command to run a login shell.

Parameters:
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).

Definition at line 752 of file sbuild-session.cc.

References _, sbuild::basename(), sbuild::DEBUG_NOTICE, sbuild::auth::get_environment(), sbuild::auth::get_ruid(), sbuild::auth::get_ruser(), get_shell(), sbuild::auth::get_uid(), sbuild::auth::get_user(), sbuild::auth::get_verbosity(), sbuild::log_debug(), sbuild::log_info(), sbuild::auth::shell, and sbuild::auth::VERBOSITY_QUIET.

Referenced by get_command().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::get_user_command ( chroot::ptr session_chroot,
std::string &  file,
string_list command 
) const [protected, virtual]

Get the command to run a user command.

Parameters:
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 in dchroot::session, and dchroot_dsa::session.

Definition at line 834 of file sbuild-session.cc.

References _, sbuild::DEBUG_NOTICE, sbuild::find_program_in_path(), sbuild::environment::get(), sbuild::auth::get_pam_environment(), sbuild::auth::get_ruid(), sbuild::auth::get_ruser(), sbuild::auth::get_uid(), sbuild::auth::get_user(), sbuild::auth::get_verbosity(), sbuild::log_debug(), sbuild::log_info(), sbuild::string_list_to_string(), and sbuild::auth::VERBOSITY_QUIET.

Referenced by get_command().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::setup_chroot ( chroot::ptr session_chroot,
chroot::setup_type  setup_type 
) [private]

Setup a chroot.

This runs all of the commands in setup.d or run.d.

The environment variables CHROOT_NAME, CHROOT_DESCRIPTION, CHROOT_LOCATION, AUTH_USER and AUTH_VERBOSITY are set for use in setup scripts. See schroot-setup(5) for a complete list.

An error will be thrown on failure.

Parameters:
session_chroot the chroot to setup. This must be present in the chroot list and the chroot configuration object.
setup_type the type of setup to perform.

Definition at line 878 of file sbuild-session.cc.

References _, sbuild::environment::add(), CHILD_FORK, CHROOT_LOCK, CHROOT_SETUP, chroot_status, CHROOT_UNLOCK, sbuild::DEBUG_CRITICAL, sbuild::DEBUG_INFO, sbuild::chroot::EXEC_START, sbuild::chroot::EXEC_STOP, sbuild::auth::get_user(), sbuild::auth::get_verbosity(), sbuild::log_debug(), sbuild::log_error(), sbuild::log_exception_error(), OPERATION_AUTOMATIC, OPERATION_BEGIN, OPERATION_END, OPERATION_RECOVER, OPERATION_RUN, sbuild::run_parts::run(), sbuild::run_parts::set_reverse(), sbuild::run_parts::set_verbose(), sbuild::chroot::SETUP_RECOVER, sbuild::chroot::SETUP_START, sbuild::chroot::SETUP_STOP, sbuild::auth::VERBOSITY_NORMAL, sbuild::auth::VERBOSITY_QUIET, sbuild::auth::VERBOSITY_VERBOSE, and wait_for_child().

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::run_chroot ( chroot::ptr session_chroot  )  [private]

Run command or login shell in the specified chroot.

An error will be thrown on failure.

Parameters:
session_chroot the chroot to setup. This must be present in the chroot list and the chroot configuration object.

Definition at line 1242 of file sbuild-session.cc.

References _, CHILD_FORK, sbuild::log_error(), sbuild::log_exception_error(), run_child(), and wait_for_child().

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::run_child ( chroot::ptr session_chroot  )  [private]

Run a command or login shell as a child process in the specified chroot.

This method is only ever to be run in a child process, and will never return.

Parameters:
session_chroot the chroot to setup. This must be present in the chroot list and the chroot configuration object.

Definition at line 1061 of file sbuild-session.cc.

References CHDIR, CHDIR_FB, CHROOT, sbuild::auth::command, cwd, sbuild::DEBUG_INFO, sbuild::DEBUG_NOTICE, EXEC, sbuild::exec(), sbuild::auth::get_command(), get_command_directories(), sbuild::auth::get_gid(), get_login_directories(), sbuild::auth::get_pam_environment(), get_shell(), sbuild::auth::get_uid(), sbuild::auth::get_user(), getcwd(), GROUP_SET, GROUP_SET_SUP, sbuild::log_debug(), sbuild::log_exception_warning(), sbuild::auth::pam, ROOT_DROP, sbuild::string_list_to_string(), and USER_SET.

Referenced by run_chroot().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::wait_for_child ( pid_t  pid,
int &  child_status 
) [private]

Wait for a child process to complete, and check its exit status.

An error will be thrown on failure.

Parameters:
pid the pid to wait for.
child_status the place to store the child exit status.
Todo:
Use waitpid instead of wait.

Definition at line 1177 of file sbuild-session.cc.

References _, CHILD_CORE, CHILD_FAIL, CHILD_SIGNAL, CHILD_WAIT, chroot_status, sbuild::log_exception_error(), sighup_called, SIGNAL_CATCH, and sigterm_called.

Referenced by run_chroot(), and setup_chroot().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::set_sighup_handler (  )  [private]

Set the SIGHUP handler.

An error will be thrown on failure.

Definition at line 1279 of file sbuild-session.cc.

References set_signal_handler(), and sighup_handler().

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::clear_sighup_handler (  )  [private]

Restore the state of SIGHUP prior to setting the handler.

Definition at line 1285 of file sbuild-session.cc.

References clear_signal_handler().

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::set_sigterm_handler (  )  [private]

Set the SIGTERM handler.

An error will be thrown on failure.

Definition at line 1291 of file sbuild-session.cc.

References set_signal_handler(), and sigterm_handler().

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::clear_sigterm_handler (  )  [private]

Restore the state of SIGTERM prior to setting the handler.

Definition at line 1297 of file sbuild-session.cc.

References clear_signal_handler().

Referenced by run_impl().

Here is the call graph for this function:

Here is the caller graph for this function:

void session::set_signal_handler ( int  signal,
struct sigaction *  saved_signal,
void(*)(int)  handler 
) [private]

Set a signal handler.

An error will be thrown on failure.

Parameters:
signal the signal number.
saved_signal the location to save the current handler.
handler the signal handler to install.

Definition at line 1303 of file sbuild-session.cc.

References SIGNAL_SET.

Referenced by set_sighup_handler(), and set_sigterm_handler().

Here is the caller graph for this function:

void session::clear_signal_handler ( int  signal,
struct sigaction *  saved_signal 
) [private]

Restore the state of the signal prior to setting the handler.

Parameters:
signal the signal number.
saved_signal the location from which to restore the saved handler.

Definition at line 1317 of file sbuild-session.cc.

Referenced by clear_sighup_handler(), and clear_sigterm_handler().

Here is the caller graph for this function:


Member Data Documentation

config_ptr sbuild::session::config [private]

The chroot configuration.

Definition at line 426 of file sbuild-session.h.

Referenced by get_config(), and run_impl().

string_list sbuild::session::chroots [private]

The chroots to run the session operation in.

Definition at line 428 of file sbuild-session.h.

Referenced by get_auth_status(), get_chroots(), and run_impl().

int sbuild::session::chroot_status [private]

The current chroot status.

Definition at line 430 of file sbuild-session.h.

Referenced by setup_chroot(), and wait_for_child().

int sbuild::session::child_status [private]

The child exit status.

Definition at line 432 of file sbuild-session.h.

Referenced by get_child_status(), and run_impl().

operation sbuild::session::session_operation [private]

The session operation to perform.

Definition at line 434 of file sbuild-session.h.

Referenced by get_operation(), and set_operation().

std::string sbuild::session::session_id [private]

The session identifier.

Definition at line 436 of file sbuild-session.h.

Referenced by get_session_id(), and run_impl().

bool sbuild::session::force [private]

The session force status.

Definition at line 438 of file sbuild-session.h.

Referenced by get_force().

struct sigaction sbuild::session::saved_sighup_signal [private]

Signal saved while sighup handler is set.

Definition at line 440 of file sbuild-session.h.

struct sigaction sbuild::session::saved_sigterm_signal [private]

Signal saved while sigterm handler is set.

Definition at line 442 of file sbuild-session.h.

struct termios sbuild::session::saved_termios [private]

Saved terminal settings.

Definition at line 444 of file sbuild-session.h.

bool sbuild::session::termios_ok [private]

Are the saved terminal settings valid?

Definition at line 446 of file sbuild-session.h.

Referenced by restore_termios(), and save_termios().

std::string sbuild::session::cwd [protected]

Current working directory.

Definition at line 450 of file sbuild-session.h.

Referenced by run_child().


The documentation for this class was generated from the following files:
Generated on Sat Jan 27 16:14:47 2007 for schroot by  doxygen 1.5.1