Classes | |
| class | auth_conv_tty |
| Authentication conversation handler for terminal devices. More... | |
| class | auth_conv |
| Authentication conversation handler interface. More... | |
| class | auth_message |
| Authentication messages. More... | |
| class | auth |
| Authentication handler. More... | |
| class | basic_keyfile_parser |
| class | basic_keyfile |
| Configuration file parser. More... | |
| class | chroot_block_device |
| A chroot stored on an unmounted block device. More... | |
| class | chroot_config |
| Chroot configuration. More... | |
| class | chroot_directory |
| A chroot located in the filesystem. More... | |
| class | chroot_file |
| A chroot stored in a file archive (tar or zip). More... | |
| class | chroot_loopback |
| A chroot stored in a file for loopback mounting. More... | |
| class | chroot_lvm_snapshot |
| A chroot stored on an LVM logical volume (LV). More... | |
| class | chroot_mountable |
| A chroot stored on an unmounted block device. More... | |
| class | chroot_plain |
| A chroot located in the filesystem (mounts disabled). More... | |
| class | chroot_source |
| A chroot may offer a "source" chroot in addition to its normal "session" copy, to allow for maintenence of the source data. More... | |
| class | chroot |
| Common chroot data. More... | |
| class | custom_error |
| Custom error. More... | |
| class | direntry |
| An entry in a dirstream. More... | |
| class | dirstream |
| Access directories. More... | |
| class | environment |
| Container of environment variables. More... | |
| class | error_base |
| Error exception base class. More... | |
| class | error |
| Error exception class. More... | |
| class | format_detail |
| Format names and values for output. More... | |
| class | keyfile_base |
| Base class for key-value configuration file formats. More... | |
| struct | keyfile_traits |
| Traits class for an INI-style configuration file. More... | |
| struct | keyfile_parser |
| class | lock |
| Advisory locking. More... | |
| class | file_lock |
| File lock. More... | |
| class | device_lock |
| Device lock. More... | |
| class | mntstream |
| Access mounts. More... | |
| class | basic_nbuf |
| Null stream buffer. More... | |
| class | basic_nostream |
| Null output stream. More... | |
| class | null |
| Null. More... | |
| class | parse_error |
| Parse error. More... | |
| class | personality |
| Chroot personality. More... | |
| class | regex |
| POSIX extended regular expression. More... | |
| class | run_parts |
| Run all scripts or programs within a directory. More... | |
| class | session |
| Session handler. More... | |
| class | date_base |
| A date representation. More... | |
| class | gmdate |
| A date representation in UTC. More... | |
| class | date |
| A date representation in local time. More... | |
| class | isodate |
| A date representation in ISO-8601 format. More... | |
| class | stat |
| Get file status. More... | |
Typedefs | |
| typedef parse_error < ctty_error_code > | ctty_error |
| typedef basic_keyfile < keyfile_traits, keyfile_parser< keyfile_traits > > | keyfile |
| Configuration file parser. | |
| typedef basic_nostream< char > | nostream |
| A null ostream. | |
| typedef basic_nostream< wchar_t > | wnostream |
| A wide null ostream. | |
| typedef parse_error < parse_value_error_code > | parse_value_error |
| typedef std::vector< std::string > | string_list |
| A string vector. | |
| typedef std::set< std::string > | string_set |
| A string set. | |
Enumerations | |
| enum | ctty_error_code { CTTY_CLOEXEC, CTTY_DUP } |
| enum | DebugLevel { DEBUG_NONE = -1, DEBUG_NOTICE = 1, DEBUG_INFO = 2, DEBUG_WARNING = 3, DEBUG_CRITICAL = 4 } |
| Debugging level. More... | |
| enum | parse_value_error_code { BAD_VALUE } |
Functions | |
| chroot::session_flags | operator| (chroot::session_flags const &lhs, chroot::session_flags const &rhs) |
| Bitwise-OR of specifed session properties. | |
| chroot::session_flags | operator& (chroot::session_flags const &lhs, chroot::session_flags const &rhs) |
| Bitwise-AND of specifed session properties. | |
| dirstream & | operator>> (dirstream &stream, direntry &entry) |
| The overloaded extraction operator. | |
| const char * | gettext (const char *message) |
| Get a translated message. | |
| std::ostream & | log_info () |
| Log an informational message. | |
| std::ostream & | log_warning () |
| Log a warning message. | |
| std::ostream & | log_error () |
| Log an error message. | |
| std::ostream & | log_debug (DebugLevel level) |
| Log a debug message. | |
| std::ostream & | log_ctty_info () |
| Log an informational message to the Controlling TTY. | |
| std::ostream & | log_ctty_warning () |
| Log a warning message to the Controlling TTY. | |
| std::ostream & | log_ctty_error () |
| Log an error message to the Controlling TTY. | |
| void | log_exception_warning (std::exception const &e) |
| Log an exception as a warning. | |
| void | log_exception_error (std::exception const &e) |
| Log an exception as an error. | |
| void | log_ctty_exception_warning (std::exception const &e) |
| Log an exception as a warning to the Controlling TTY. | |
| void | log_ctty_exception_error (std::exception const &e) |
| Log an exception as an error to the Controlling TTY. | |
| void | log_unknown_exception_error () |
| Log an unknown exception as an error. | |
| mntstream & | operator>> (mntstream &stream, mntstream::mntentry &entry) |
| The overloaded extraction operator. | |
| void | parse_value (std::string const &value, bool &parsed_value) |
| Parse a boolean value. | |
| void | parse_value (std::string const &value, std::string &parsed_value) |
| Parse a string value. | |
| template<typename T > | |
| void | parse_value (std::string const &value, T &parsed_value) |
| Parse a value of type T. | |
| std::string | basename (std::string name, char separator= '/') |
| Strip the directory path from a filename. | |
| std::string | dirname (std::string name, char separator= '/') |
| Strip the fileame from a pathname. | |
| std::string | normalname (std::string name, char separator= '/') |
| Normalise a pathname. | |
| bool | is_absname (std::string const &name) |
| Check if a pathname is absolute. | |
| std::string | string_list_to_string (string_list const &list, std::string const &separator) |
| Convert a string_list into a string. | |
| string_list | split_string (std::string const &value, std::string const &separator) |
| Split a string into a string_list. | |
| std::wstring | widen_string (std::string const &str, std::locale locale) |
| Widen a string. | |
| std::string | narrow_string (std::wstring const &str, std::locale locale) |
| Narrow a string. | |
| std::string | find_program_in_path (std::string const &program, std::string const &path, std::string const &prefix) |
| Find a program in the PATH search path. | |
| char ** | string_list_to_strv (string_list const &str) |
| Create a string vector from a string_list. | |
| void | strv_delete (char **strv) |
| Delete a string vector. | |
| int | exec (std::string const &file, string_list const &command, environment const &env) |
| execve wrapper. | |
| stat::mode_bits | operator| (stat::mode_bits const &lhs, stat::mode_bits const &rhs) |
| Bitwise-OR of specifed mode bits. | |
| stat::mode_bits | operator| (mode_t const &lhs, stat::mode_bits const &rhs) |
| Bitwise-OR of specifed mode bits. | |
| stat::mode_bits | operator| (stat::mode_bits const &lhs, mode_t const &rhs) |
| Bitwise-OR of specifed mode bits. | |
| stat::mode_bits | operator& (stat::mode_bits const &lhs, stat::mode_bits const &rhs) |
| Bitwise-AND of specifed mode bits. | |
| stat::mode_bits | operator& (mode_t const &lhs, stat::mode_bits const &rhs) |
| Bitwise-AND of specifed mode bits. | |
| stat::mode_bits | operator& (stat::mode_bits const &lhs, mode_t const &rhs) |
| Bitwise-AND of specifed mode bits. | |
Variables | |
| const int | CTTY_FILENO |
| CTTY fd. | |
| std::iostream | cctty |
| CTTY stream. | |
| DebugLevel | debug_level = sbuild::DEBUG_NONE |
| The debugging level in use. | |
| nostream | cnull |
| A null ostream. | |
| typedef parse_error<ctty_error_code> sbuild::ctty_error |
Configuration file parser.
This class loads an INI-style configuration file from a file or stream. The format is documented in schroot.conf(5).
| typedef basic_nostream<char> sbuild::nostream |
A null ostream.
| typedef std::vector<std::string> sbuild::string_list |
A string vector.
| typedef std::set<std::string> sbuild::string_set |
A string set.
| typedef basic_nostream<wchar_t> sbuild::wnostream |
A wide null ostream.
| enum sbuild::DebugLevel |
| std::string sbuild::basename | ( | std::string | name, | |
| char | separator = '/' | |||
| ) |
Strip the directory path from a filename.
This is similar to basename(3).
| name | the filename to strip of its path. | |
| separator | the separation delimiting directories. |
Referenced by sbuild::session::get_login_command(), and sbuild::chroot_lvm_snapshot::setup_env().
| std::string sbuild::dirname | ( | std::string | name, | |
| char | separator = '/' | |||
| ) |
Strip the fileame from a pathname.
This is similar to dirname(3).
| name | the path to strip of its filename. | |
| separator | the separation delimiting directories. |
Referenced by sbuild::session::run_impl().
| int sbuild::exec | ( | std::string const & | file, | |
| string_list const & | command, | |||
| environment const & | env | |||
| ) |
execve wrapper.
Run the command specified by file (an absolute pathname), using command and env as the argv and environment, respectively.
| file | the program to execute. | |
| command | the arguments to pass to the executable. | |
| env | the environment. |
References sbuild::environment::get_strv(), string_list_to_strv(), and strv_delete().
Referenced by sbuild::session::run_child(), and sbuild::run_parts::run_child().
| std::string sbuild::find_program_in_path | ( | std::string const & | program, | |
| std::string const & | path, | |||
| std::string const & | prefix | |||
| ) |
Find a program in the PATH search path.
| program | the program to search for. | |
| path | the search path; typically the value of $PATH. | |
| prefix | a directory prefix the add to the search path. This may be left empty to search the root filesystem. |
References split_string().
Referenced by sbuild::session::get_user_command().
| const char* sbuild::gettext | ( | const char * | message | ) | [inline] |
Get a translated message.
| message | the message to translate. |
References SBUILD_MESSAGE_CATALOGUE.
| bool sbuild::is_absname | ( | std::string const & | name | ) |
Check if a pathname is absolute.
| name | the path to check. |
Referenced by sbuild::chroot_block_device::set_device(), sbuild::chroot_loopback::set_file(), sbuild::chroot_file::set_file(), sbuild::chroot::set_location(), sbuild::chroot_mountable::set_location(), sbuild::chroot_directory::set_location(), sbuild::chroot::set_mount_device(), sbuild::chroot::set_mount_location(), and sbuild::chroot_lvm_snapshot::set_snapshot_device().
| std::ostream & sbuild::log_ctty_error | ( | ) |
Log an error message to the Controlling TTY.
References cctty.
Referenced by sbuild::auth_conv_tty::conversation(), and log_ctty_exception_error().
| void sbuild::log_ctty_exception_error | ( | std::exception const & | e | ) |
Log an exception as an error to the Controlling TTY.
| e | the exception to log. |
References log_ctty_error(), log_ctty_info(), split_string(), and sbuild::error_base::why().
| void sbuild::log_ctty_exception_warning | ( | std::exception const & | e | ) |
Log an exception as a warning to the Controlling TTY.
| e | the exception to log. |
References log_ctty_info(), log_ctty_warning(), split_string(), and sbuild::error_base::why().
Referenced by sbuild::auth_conv_tty::get_delay().
| std::ostream & sbuild::log_ctty_info | ( | ) |
Log an informational message to the Controlling TTY.
References cctty.
Referenced by sbuild::auth_conv_tty::conversation(), log_ctty_exception_error(), and log_ctty_exception_warning().
| std::ostream & sbuild::log_ctty_warning | ( | ) |
Log a warning message to the Controlling TTY.
References cctty.
Referenced by log_ctty_exception_warning().
| std::ostream & sbuild::log_debug | ( | sbuild::DebugLevel | level | ) |
Log a debug message.
| level | the debug level of the message being logged. |
References cnull, and debug_level.
Referenced by sbuild::auth::account(), sbuild::format_detail::add(), sbuild::environment::add(), sbuild::chroot_config::add_config_directory(), sbuild::chroot_config::add_config_file(), sbuild::auth::authenticate(), sbuild::auth::close_session(), sbuild::auth_conv_tty::conversation(), sbuild::auth::cred_delete(), sbuild::auth::cred_establish(), sbuild::environment::get(), sbuild::session::get_chroot_auth_status(), sbuild::session::get_login_command(), sbuild::session::get_user_command(), sbuild::basic_keyfile< K, P >::get_value(), sbuild::chroot_config::load_data(), sbuild::auth::open_session(), parse_value(), sbuild::auth::run(), sbuild::session::run_child(), sbuild::run_parts::run_child(), sbuild::session::run_impl(), sbuild::auth::set_user(), sbuild::session::setup_chroot(), sbuild::auth::setupenv(), sbuild::auth::start(), and sbuild::auth::stop().
| std::ostream & sbuild::log_error | ( | ) |
Log an error message.
Referenced by log_exception_error(), log_unknown_exception_error(), sbuild::run_parts::run_child(), sbuild::session::run_chroot(), and sbuild::session::setup_chroot().
| void sbuild::log_exception_error | ( | std::exception const & | e | ) |
Log an exception as an error.
| e | the exception to log. |
References log_error(), log_info(), split_string(), and sbuild::error_base::why().
Referenced by sbuild::chroot_config::print_chroot_config(), sbuild::chroot_config::print_chroot_info(), sbuild::chroot_config::print_chroot_location(), sbuild::run_parts::run_child(), sbuild::session::run_chroot(), sbuild::session::setup_chroot(), sbuild::session::wait_for_child(), and sbuild::auth::~auth().
| void sbuild::log_exception_warning | ( | std::exception const & | e | ) |
Log an exception as a warning.
| e | the exception to log. |
References log_info(), log_warning(), split_string(), and sbuild::error_base::why().
Referenced by sbuild::chroot_config::add(), sbuild::chroot_config::add_config_directory(), sbuild::session::get_auth_status(), sbuild::basic_keyfile< K, P >::get_list_value(), sbuild::session::get_shell(), sbuild::basic_keyfile< K, P >::get_value(), sbuild::session::run_child(), sbuild::session::run_impl(), sbuild::device_lock::~device_lock(), and sbuild::file_lock::~file_lock().
| std::ostream & sbuild::log_info | ( | ) |
Log an informational message.
Referenced by sbuild::session::get_login_command(), sbuild::session::get_user_command(), log_exception_error(), log_exception_warning(), and sbuild::run_parts::run_child().
| void sbuild::log_unknown_exception_error | ( | ) |
| std::ostream & sbuild::log_warning | ( | ) |
Log a warning message.
Referenced by sbuild::environment::get(), log_exception_warning(), sbuild::session::restore_termios(), and sbuild::session::save_termios().
| std::string sbuild::narrow_string | ( | std::wstring const & | str, | |
| std::locale | locale | |||
| ) |
| std::string sbuild::normalname | ( | std::string | name, | |
| char | separator = '/' | |||
| ) |
Normalise a pathname.
This strips all trailing separators, and duplicate separators within a path.
| name | the path to normalise. | |
| separator | the separation delimiting directories. |
Referenced by sbuild::chroot::setup_env().
| stat::mode_bits sbuild::operator& | ( | stat::mode_bits const & | lhs, | |
| mode_t const & | rhs | |||
| ) | [inline] |
Bitwise-AND of specifed mode bits.
| lhs | mode bits | |
| rhs | mode bits |
| stat::mode_bits sbuild::operator& | ( | mode_t const & | lhs, | |
| stat::mode_bits const & | rhs | |||
| ) | [inline] |
Bitwise-AND of specifed mode bits.
| lhs | mode bits | |
| rhs | mode bits |
| stat::mode_bits sbuild::operator& | ( | stat::mode_bits const & | lhs, | |
| stat::mode_bits const & | rhs | |||
| ) | [inline] |
Bitwise-AND of specifed mode bits.
| lhs | mode bits | |
| rhs | mode bits |
| chroot::session_flags sbuild::operator& | ( | chroot::session_flags const & | lhs, | |
| chroot::session_flags const & | rhs | |||
| ) | [inline] |
| mntstream & sbuild::operator>> | ( | mntstream & | stream, | |
| mntstream::mntentry & | entry | |||
| ) |
The overloaded extraction operator.
This is used to pull mntentries from a mntstream.
| stream | the mntstream to get input from. | |
| entry | the mntentry to set. |
References sbuild::mntstream::data, sbuild::mntstream::eof_status, and sbuild::mntstream::read().
The overloaded extraction operator.
This is used to pull direntries from a dirstream.
References sbuild::dirstream::data, sbuild::dirstream::eof_status, and sbuild::dirstream::read().
| stat::mode_bits sbuild::operator| | ( | stat::mode_bits const & | lhs, | |
| mode_t const & | rhs | |||
| ) | [inline] |
Bitwise-OR of specifed mode bits.
| lhs | mode bits | |
| rhs | mode bits |
| stat::mode_bits sbuild::operator| | ( | mode_t const & | lhs, | |
| stat::mode_bits const & | rhs | |||
| ) | [inline] |
Bitwise-OR of specifed mode bits.
| lhs | mode bits | |
| rhs | mode bits |
| stat::mode_bits sbuild::operator| | ( | stat::mode_bits const & | lhs, | |
| stat::mode_bits const & | rhs | |||
| ) | [inline] |
Bitwise-OR of specifed mode bits.
| lhs | mode bits | |
| rhs | mode bits |
| chroot::session_flags sbuild::operator| | ( | chroot::session_flags const & | lhs, | |
| chroot::session_flags const & | rhs | |||
| ) | [inline] |
| void sbuild::parse_value | ( | std::string const & | value, | |
| T & | parsed_value | |||
| ) | [inline] |
Parse a value of type T.
| value | the value to parse. | |
| parsed_value | the variable to store the parsed value. |
References BAD_VALUE, DEBUG_NOTICE, and log_debug().
| void sbuild::parse_value | ( | std::string const & | value, | |
| std::string & | parsed_value | |||
| ) |
Parse a string value.
| value | the value to parse. | |
| parsed_value | the variable to store the parsed value. |
References DEBUG_NOTICE, and log_debug().
| void sbuild::parse_value | ( | std::string const & | value, | |
| bool & | parsed_value | |||
| ) |
Parse a boolean value.
| value | the value to parse. | |
| parsed_value | the variable to store the parsed value. |
References BAD_VALUE, DEBUG_NOTICE, and log_debug().
Referenced by sbuild::environment::get(), sbuild::basic_keyfile< K, P >::get_list_value(), and sbuild::basic_keyfile< K, P >::get_value().
| string_list sbuild::split_string | ( | std::string const & | value, | |
| std::string const & | separator | |||
| ) |
Split a string into a string_list.
The string is split using separator as a delimiter.
| value | the string to split. | |
| separator | the delimiting character or characters. |
Referenced by find_program_in_path(), sbuild::basic_keyfile< K, P >::get_list_value(), log_ctty_exception_error(), log_ctty_exception_warning(), log_exception_error(), and log_exception_warning().
| std::string sbuild::string_list_to_string | ( | sbuild::string_list const & | list, | |
| std::string const & | separator | |||
| ) |
Convert a string_list into a string.
The strings are concatenated using separator as a delimiter.
| list | the list to concatenate. | |
| separator | the delimiting character. |
Referenced by sbuild::format_detail::add(), sbuild::session::get_user_command(), sbuild::session::run_child(), and sbuild::run_parts::run_child().
| char ** sbuild::string_list_to_strv | ( | string_list const & | str | ) |
Create a string vector from a string_list.
The strings in the vector, as well as the vector itself, are allocated with new, and should be freed as a whole with strv_delete.
| str | the string_list to use. |
Referenced by exec().
| void sbuild::strv_delete | ( | char ** | strv | ) |
Delete a string vector.
The strings in the vector, as well as the vector itself, must have been previously allocated with new, for example sbuild::environment::get_strv.
| strv | the string vector to delete. |
Referenced by exec().
| std::wstring sbuild::widen_string | ( | std::string const & | str, | |
| std::locale | locale | |||
| ) |
| std::iostream sbuild::cctty |
CTTY stream.
A stream to the Controlling TTY, or standard input if not available.
Referenced by log_ctty_error(), log_ctty_info(), log_ctty_warning(), and sbuild::auth_conv_tty::read_string().
| const int sbuild::CTTY_FILENO |
CTTY fd.
The fd number of the Controlling TTY, or -1 if not available.
Referenced by sbuild::auth_conv_tty::read_string(), sbuild::session::restore_termios(), and sbuild::session::save_termios().
| sbuild::DebugLevel sbuild::debug_level = sbuild::DEBUG_NONE |
1.5.8