TorSettings Class Reference

#include <torsettings.h>

Inheritance diagram for TorSettings:

AbstractTorSettings VSettings List of all members.

Public Types

 NullAuth
 CookieAuth
 PasswordAuth
 UnknownAuth
enum  AuthenticationMethod { NullAuth, CookieAuth, PasswordAuth, UnknownAuth }

Public Member Functions

 TorSettings (TorControl *torControl=0)
bool apply (QString *errmsg=0)
QString getExecutable () const
void setExecutable (const QString &torExecutable)
QString getDataDirectory () const
void setDataDirectory (const QString &dataDir)
QString getTorrc () const
void setTorrc (const QString &torrc)
QHostAddress getControlAddress () const
void setControlAddress (const QHostAddress &addr)
quint16 getControlPort () const
void setControlPort (quint16 port)
QString getControlPassword () const
void setControlPassword (const QString &password)
bool useRandomPassword () const
void setUseRandomPassword (bool useRandomPassword)
AuthenticationMethod getAuthenticationMethod () const
void setAuthenticationMethod (AuthenticationMethod method)

Static Public Member Functions

static QString randomPassword ()
static QString hashPassword (const QString &password)

Private Member Functions

AuthenticationMethod toAuthenticationMethod (const QString &authMethod) const
QString toString (AuthenticationMethod type) const

Detailed Description

Manages Tor-specific settings, such as location, command-line arguments, and control interface information.

Definition at line 27 of file torsettings.h.


Member Enumeration Documentation

enum TorSettings::AuthenticationMethod

Available Tor authentication methods.

Enumerator:
NullAuth  No authentication.
CookieAuth  Use a "magic" cookie for authentication.
PasswordAuth  Use a hashed password for authentication.
UnknownAuth  Unknown authentication method.

Definition at line 33 of file torsettings.h.


Constructor & Destructor Documentation

TorSettings::TorSettings ( TorControl torControl = 0  ) 

Default constructor.

Definition at line 57 of file torsettings.cpp.

References Vidalia::dataDirectory(), DEFAULT_AUTH_METHOD, VSettings::setDefault(), SETTING_AUTH_METHOD, SETTING_CONTROL_ADDR, SETTING_CONTROL_PASSWORD, SETTING_CONTROL_PORT, SETTING_DATA_DIRECTORY, SETTING_TOR_EXECUTABLE, SETTING_TORRC, SETTING_USE_RANDOM_PASSWORD, toString(), and win32_program_files_folder().


Member Function Documentation

bool TorSettings::apply ( QString *  errmsg = 0  )  [virtual]

Applies any changes to Tor's control port or authentication settings.

Implements AbstractTorSettings.

Definition at line 82 of file torsettings.cpp.

References CookieAuth, getControlPassword(), hashPassword(), AbstractTorSettings::localValue(), PasswordAuth, randomPassword(), TorControl::setConf(), SETTING_AUTH_METHOD, SETTING_CONTROL_PORT, toAuthenticationMethod(), TOR_ARG_COOKIE_AUTH, TOR_ARG_HASHED_PASSWORD, AbstractTorSettings::torControl(), toString(), and useRandomPassword().

Referenced by AdvancedPage::apply().

TorSettings::AuthenticationMethod TorSettings::getAuthenticationMethod (  )  const

Returns the current authentication method used when connecting to Tor.

Definition at line 231 of file torsettings.cpp.

References CookieAuth, DEFAULT_AUTH_METHOD, TorControl::getConf(), TorControl::isConnected(), AbstractTorSettings::localValue(), PasswordAuth, SETTING_AUTH_METHOD, toAuthenticationMethod(), TOR_ARG_COOKIE_AUTH, TOR_ARG_HASHED_PASSWORD, AbstractTorSettings::torControl(), toString(), and UnknownAuth.

Referenced by MainWindow::authenticate(), AdvancedPage::load(), and MainWindow::start().

QHostAddress TorSettings::getControlAddress (  )  const

Get Tor's control interface address.

Definition at line 170 of file torsettings.cpp.

References AbstractTorSettings::localValue(), and SETTING_CONTROL_ADDR.

Referenced by MainWindow::connectFailed(), AdvancedPage::load(), MainWindow::start(), and MainWindow::started().

QString TorSettings::getControlPassword (  )  const

Returns the plaintext (i.e., not hashed) control password used when authenticating to Tor.

Definition at line 200 of file torsettings.cpp.

References AbstractTorSettings::localValue(), and SETTING_CONTROL_PASSWORD.

Referenced by apply(), MainWindow::authenticate(), AdvancedPage::load(), and MainWindow::start().

quint16 TorSettings::getControlPort (  )  const

Get the control port.

Definition at line 185 of file torsettings.cpp.

References SETTING_CONTROL_PORT, and AbstractTorSettings::value().

Referenced by MainWindow::connectFailed(), AdvancedPage::load(), MainWindow::start(), and MainWindow::started().

QString TorSettings::getDataDirectory (  )  const

Gets the location of Tor's data directory.

Definition at line 118 of file torsettings.cpp.

References SETTING_DATA_DIRECTORY, toString(), and AbstractTorSettings::value().

Referenced by MainWindow::authenticate(), hashPassword(), AdvancedPage::load(), MainWindow::loadControlCookie(), AdvancedPage::save(), and MainWindow::start().

QString TorSettings::getExecutable (  )  const

Gets the name and path of Tor's executable.

Definition at line 133 of file torsettings.cpp.

References VSettings::defaultValue(), AbstractTorSettings::localValue(), and SETTING_TOR_EXECUTABLE.

Referenced by hashPassword(), GeneralPage::load(), and MainWindow::start().

QString TorSettings::getTorrc (  )  const

Gets the torrc to use when starting Tor.

Definition at line 150 of file torsettings.cpp.

References TorControl::getInfo(), TorControl::isConnected(), AbstractTorSettings::localValue(), SETTING_TORRC, AbstractTorSettings::torControl(), and toString().

Referenced by AdvancedPage::load(), AdvancedPage::save(), and MainWindow::start().

QString TorSettings::hashPassword ( const QString &  password  )  [static]

Returns the hash of password as given by the command "tor --hash-password foo".

Definition at line 299 of file torsettings.cpp.

References getDataDirectory(), getExecutable(), and i().

Referenced by apply(), and MainWindow::start().

QString TorSettings::randomPassword (  )  [static]

Generates a random control password consisting of PASSWORD_LEN characters.

Definition at line 291 of file torsettings.cpp.

References crypto_rand_string(), and PASSWORD_LEN.

Referenced by apply(), and MainWindow::start().

void TorSettings::setAuthenticationMethod ( AuthenticationMethod  method  ) 

Sets the authentication method used when starting Tor to method.

Definition at line 254 of file torsettings.cpp.

References SETTING_AUTH_METHOD, AbstractTorSettings::setValue(), and toString().

Referenced by AdvancedPage::save().

void TorSettings::setControlAddress ( const QHostAddress &  addr  ) 

Set Tor's control interface address.

Definition at line 178 of file torsettings.cpp.

References SETTING_CONTROL_ADDR, and AbstractTorSettings::setValue().

Referenced by AdvancedPage::save().

void TorSettings::setControlPassword ( const QString &  password  ) 

Sets the control password used when starting Tor with HashedControlPassword to password.

Definition at line 208 of file torsettings.cpp.

References SETTING_CONTROL_PASSWORD, and AbstractTorSettings::setValue().

Referenced by AdvancedPage::save().

void TorSettings::setControlPort ( quint16  port  ) 

Set the control port.

Definition at line 192 of file torsettings.cpp.

References SETTING_CONTROL_PORT, and AbstractTorSettings::setValue().

Referenced by AdvancedPage::save().

void TorSettings::setDataDirectory ( const QString &  dataDir  ) 

Sets the location to use for Tor's data directory.

Definition at line 125 of file torsettings.cpp.

References SETTING_DATA_DIRECTORY, and AbstractTorSettings::setValue().

Referenced by AdvancedPage::save().

void TorSettings::setExecutable ( const QString &  torExecutable  ) 

Sets the name and path of Tor's executable.

Definition at line 143 of file torsettings.cpp.

References SETTING_TOR_EXECUTABLE, and AbstractTorSettings::setValue().

Referenced by GeneralPage::save().

void TorSettings::setTorrc ( const QString &  torrc  ) 

Sets the torrc to use when starting Tor.

Definition at line 163 of file torsettings.cpp.

References SETTING_TORRC, and AbstractTorSettings::setValue().

Referenced by AdvancedPage::save().

void TorSettings::setUseRandomPassword ( bool  useRandomPassword  ) 

Sets whether or not to generate and use a random control password each time Tor is started.

Definition at line 224 of file torsettings.cpp.

References SETTING_USE_RANDOM_PASSWORD, and AbstractTorSettings::setValue().

Referenced by AdvancedPage::save().

TorSettings::AuthenticationMethod TorSettings::toAuthenticationMethod ( const QString &  authMethod  )  const [private]

Returns the AuthenticationMethod enum value for the string description of the authentication method given in authMethod.

Definition at line 277 of file torsettings.cpp.

References CookieAuth, NullAuth, PasswordAuth, toString(), and UnknownAuth.

Referenced by apply(), and getAuthenticationMethod().

QString TorSettings::toString ( AuthenticationMethod  type  )  const [private]

Returns the string description of the authentication method specified by method. The authentication method string is stored in Vidalia's configuration file.

Definition at line 263 of file torsettings.cpp.

References CookieAuth, NullAuth, and PasswordAuth.

Referenced by apply(), getAuthenticationMethod(), getDataDirectory(), getTorrc(), setAuthenticationMethod(), toAuthenticationMethod(), and TorSettings().

bool TorSettings::useRandomPassword (  )  const

Returns true if a new, random control password is to be used each time Tor is started.

Definition at line 216 of file torsettings.cpp.

References AbstractTorSettings::localValue(), and SETTING_USE_RANDOM_PASSWORD.

Referenced by apply(), AdvancedPage::load(), and MainWindow::start().


The documentation for this class was generated from the following files:
Generated on Tue Jul 7 16:58:12 2009 for Vidalia by  doxygen 1.4.7