Go to the documentation of this file.
21 #if defined(Q_OS_WIN32)
30 #define SETTING_TOR_EXECUTABLE "TorExecutable"
31 #define SETTING_TORRC "Torrc"
32 #define SETTING_CONTROL_ADDR "ControlAddr"
33 #define SETTING_CONTROL_PORT "ControlPort"
34 #define SETTING_SOCKET_PATH "ControlSocket"
35 #define SETTING_CONTROL_METHOD "ControlMethod"
36 #define SETTING_AUTH_TOKEN "AuthToken"
37 #define SETTING_TOR_USER "User"
38 #define SETTING_TOR_GROUP "Group"
39 #define SETTING_DATA_DIRECTORY "DataDirectory"
40 #define SETTING_AUTH_METHOD "AuthenticationMethod"
41 #define SETTING_CONTROL_PASSWORD "ControlPassword"
42 #define SETTING_USE_RANDOM_PASSWORD "UseRandomPassword"
43 #define SETTING_WARN_PLAINTEXT_PORTS "WarnPlaintextPorts"
44 #define SETTING_REJECT_PLAINTEXT_PORTS "RejectPlaintextPorts"
45 #define SETTING_BOOTSTRAP "Bootstrap"
46 #define SETTING_BOOTSTRAP_FROM "BootstrapFrom"
47 #define SETTING_AUTOCONTROL "AutoControl"
50 #define DEFAULT_AUTH_METHOD PasswordAuth
52 #define DEFAULT_CONTROL_METHOD "ControlPort"
54 #define DEFAULT_SOCKET_PATH ""
57 #define TOR_ARG_CONTROL_PORT "ControlPort"
58 #define TOR_ARG_TORRC "-f"
59 #define TOR_ARG_DATA_DIRECTORY "DataDirectory"
60 #define TOR_ARG_HASHED_PASSWORD "HashedControlPassword"
61 #define TOR_ARG_COOKIE_AUTH "CookieAuthentication"
62 #define TOR_ARG_SOCKSPORT "SocksPort"
65 #define PASSWORD_LEN 16
72 #if defined(Q_OS_WIN32)
74 if (QFileInfo(programFiles +
"\\Vidalia Bundle\\Tor\\tor.exe").exists())
76 programFiles +
"\\Vidalia Bundle\\Tor\\tor.exe");
104 QHash<QString, QString> conf;
105 QString hashedPassword;
117 switch (authMethod) {
126 if (hashedPassword.isEmpty()) {
128 *errmsg = tr(
"Failed to hash the control password.");
169 return QDir::convertSeparators(tor);
185 if (
tc &&
tc->isConnected() &&
tc->getInfo(
"config-file", torrc))
186 return QDir::convertSeparators(torrc);
204 return QHostAddress(addr);
295 if (
tc &&
tc->isConnected()) {
296 QHash<QString,QString> conf;
299 if (
tc->getConf(conf)) {
324 QList<QVariant> ports;
328 out << port.toUInt();
338 QList<QVariant> warnList;
339 foreach (quint16 port, ports) {
351 QList<QVariant> ports;
355 out << port.toUInt();
365 QList<QVariant> rejectList;
366 foreach (quint16 port, ports) {
392 QString str = authMethod.toLower();
418 while (salt.size() < 8) {
virtual QVariant localValue(const QString &key) const
#define DEFAULT_SOCKET_PATH
#define TOR_ARG_HASHED_PASSWORD
QString toString(AuthenticationMethod type) const
void setAutoControlPort(const bool autoControl)
void setControlPort(quint16 port)
QString getDataDirectory() const
#define SETTING_CONTROL_PORT
QString win32_program_files_folder()
void setControlMethod(ControlMethod::Method method)
#define TOR_ARG_SOCKSPORT
static QString randomPassword()
QString bootstrapFrom() const
#define SETTING_WARN_PLAINTEXT_PORTS
QString getControlPassword() const
QString crypto_rand_string(int len)
ControlMethod::Method getControlMethod() const
static QString dataDirectory()
QByteArray crypto_rand_bytes(int len)
bool apply(QString *errmsg=0)
QVariant defaultValue(const QString &key) const
QList< quint16 > getRejectPlaintextPorts() const
#define SETTING_DATA_DIRECTORY
static Method fromString(QString method)
void setControlPassword(const QString &password)
bool autoControlPort() const
#define SETTING_SOCKET_PATH
bool setConf(QHash< QString, QString > map, QString *errmsg=0)
void setWarnPlaintextPorts(const QList< quint16 > &ports)
TorControl * torControl() const
QByteArray crypto_secret_to_key(const QString &secret, const QByteArray &salt, quint8 c)
static QString toString(ControlMethod::Method method)
void setUseRandomPassword(bool useRandomPassword)
#define SETTING_TOR_EXECUTABLE
void setBootstrap(bool enabled)
#define SETTING_BOOTSTRAP
#define SETTING_CONTROL_ADDR
void setControlAddress(const QHostAddress &addr)
#define SETTING_CONTROL_METHOD
#define SETTING_AUTH_METHOD
void setAuthenticationMethod(AuthenticationMethod method)
void setExecutable(const QString &torExecutable)
AuthenticationMethod getAuthenticationMethod() const
void setDataDirectory(const QString &dataDir)
AuthenticationMethod toAuthenticationMethod(const QString &authMethod) const
#define SETTING_CONTROL_PASSWORD
QString getSocketPath() const
void setSocketPath(const QString &path)
void setRejectPlaintextPorts(const QList< quint16 > &ports)
QHostAddress getControlAddress() const
void setDefault(const QString &key, const QVariant &val)
TorSettings(TorControl *torControl=0)
#define DEFAULT_AUTH_METHOD
void setBootstrapFrom(const QString &from)
QList< quint16 > getWarnPlaintextPorts() const
#define SETTING_REJECT_PLAINTEXT_PORTS
quint16 getControlPort() const
#define SETTING_USE_RANDOM_PASSWORD
QString base16_encode(const QByteArray &buf)
virtual void setValue(const QString &key, const QVariant &value)
static QString hashPassword(const QString &password)
QString getExecutable() const
void setTorrc(const QString &torrc)
#define SETTING_AUTOCONTROL
#define SETTING_BOOTSTRAP_FROM
#define TOR_ARG_COOKIE_AUTH
bool useRandomPassword() const
#define DEFAULT_CONTROL_METHOD
virtual QVariant value(const QString &key) const