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);
186 return QDir::convertSeparators(torrc);
204 return QHostAddress(addr);
296 QHash<QString,QString> 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) {