Vidalia 0.2.10
|
#include <ServerSettings.h>
Public Member Functions | |
ServerSettings (TorControl *torControl) | |
bool | apply (QString *errmsg=0) |
void | setServerEnabled (bool enable) |
bool | isServerEnabled () |
void | setBridgeEnabled (bool enable) |
bool | isBridgeEnabled () |
void | setORPort (quint16 orPort) |
quint16 | getORPort () |
void | setDirPort (quint16 dirPort) |
quint16 | getDirPort () |
void | setNickname (QString nickname) |
QString | getNickname () |
void | setContactInfo (QString info) |
QString | getContactInfo () |
void | setDirectoryMirror (bool mirror) |
bool | isDirectoryMirror () |
void | setExitPolicy (ExitPolicy &policy) |
ExitPolicy | getExitPolicy () |
void | setBandwidthAvgRate (quint32 rate) |
quint32 | getBandwidthAvgRate () |
void | setBandwidthBurstRate (quint32 rate) |
quint32 | getBandwidthBurstRate () |
void | setPublishServerDescriptor (bool publish) |
bool | publishServerDescriptor () const |
void | configurePortForwarding () |
void | cleanupPortForwarding () |
bool | isUpnpEnabled () |
void | setUpnpEnabled (bool enabled) |
Protected Member Functions | |
virtual QVariant | torValue (const QString &key) const |
Private Member Functions | |
QHash< QString, QString > | confValues () |
Definition at line 24 of file ServerSettings.h.
ServerSettings::ServerSettings | ( | TorControl * | torControl | ) |
Constructor
Constructor.
torControl | a TorControl object used to read and apply the server configuration settings. |
Definition at line 56 of file ServerSettings.cpp.
References ExitPolicy::Default, VSettings::setDefault(), SETTING_BANDWIDTH_BURST, SETTING_BANDWIDTH_RATE, SETTING_BRIDGE_RELAY, SETTING_CONTACT, SETTING_DIRMIRROR, SETTING_DIRPORT, SETTING_ENABLE_UPNP, SETTING_ENABLED, SETTING_EXITPOLICY, SETTING_NICKNAME, SETTING_ORPORT, SETTING_PUBLISH_SERVER_DESCRIPTOR, SETTING_RELAY_BANDWIDTH_BURST, and SETTING_RELAY_BANDWIDTH_RATE.
bool ServerSettings::apply | ( | QString * | errmsg = 0 | ) | [virtual] |
Applies changese to Tor.
Applies the current server configuration settings to Tor. If errmsg is specified and an error occurs while applying the settings, it will be set to a string describing the error.
Implements AbstractTorSettings.
Definition at line 140 of file ServerSettings.cpp.
References configurePortForwarding(), confValues(), TorControl::getTorVersion(), isServerEnabled(), TorControl::resetConf(), TorControl::setConf(), SETTING_BANDWIDTH_BURST, SETTING_BANDWIDTH_RATE, SETTING_BRIDGE_RELAY, SETTING_CONTACT, SETTING_DIRPORT, SETTING_EXITPOLICY, SETTING_NICKNAME, SETTING_ORPORT, SETTING_PUBLISH_SERVER_DESCRIPTOR, SETTING_RELAY_BANDWIDTH_BURST, SETTING_RELAY_BANDWIDTH_RATE, and AbstractTorSettings::torControl().
Referenced by ServerPage::apply().
void ServerSettings::cleanupPortForwarding | ( | ) |
Definition at line 201 of file ServerSettings.cpp.
References UPNPControl::cleanup().
Referenced by MainWindow::aboutToQuit().
void ServerSettings::configurePortForwarding | ( | ) |
Configure port forwarding.
Configure UPnP device to forward DirPort and ORPort. If enable is true, will forward ORPort and DirPort; otherwise will remove exising port mappings
Definition at line 178 of file ServerSettings.cpp.
References getDirPort(), getORPort(), UPNPControl::instance(), isDirectoryMirror(), isServerEnabled(), isUpnpEnabled(), and UPNPControl::setDesiredState().
Referenced by apply(), and MainWindow::authenticated().
QHash< QString, QString > ServerSettings::confValues | ( | ) | [private] |
Returns Tor-recognizable configuration keys and current values.
Returns a QHash of Tor-recognizable configuratin keys to their current values.
Definition at line 83 of file ServerSettings.cpp.
References VSettings::defaultValue(), TorControl::getTorVersion(), isBridgeEnabled(), isDirectoryMirror(), isServerEnabled(), AbstractTorSettings::localValue(), publishServerDescriptor(), scrub_email_addr(), SETTING_BANDWIDTH_BURST, SETTING_BANDWIDTH_RATE, SETTING_BRIDGE_RELAY, SETTING_CONTACT, SETTING_DIRPORT, SETTING_EXITPOLICY, SETTING_NICKNAME, SETTING_ORPORT, SETTING_PUBLISH_SERVER_DESCRIPTOR, SETTING_RELAY_BANDWIDTH_BURST, SETTING_RELAY_BANDWIDTH_RATE, and AbstractTorSettings::torControl().
Referenced by apply().
quint32 ServerSettings::getBandwidthAvgRate | ( | ) |
Gets the long-term average bandwidth rate (in KB/s) of this server.
Returns the long-term average bandwidth rate (in KB/s) for this server.
Definition at line 350 of file ServerSettings.cpp.
References SETTING_BANDWIDTH_RATE, and AbstractTorSettings::value().
Referenced by ServerPage::loadBandwidthLimits().
quint32 ServerSettings::getBandwidthBurstRate | ( | ) |
Gets the maximum burst rate (in B/s) of this server.
Returns the maximum bandwidth burst rate (in KB/s) for this server.
Definition at line 364 of file ServerSettings.cpp.
References SETTING_BANDWIDTH_BURST, and AbstractTorSettings::value().
Referenced by ServerPage::loadBandwidthLimits().
QString ServerSettings::getContactInfo | ( | ) |
Gets the server operator's contact information.
Gets the server's contact information.
Definition at line 315 of file ServerSettings.cpp.
References SETTING_CONTACT, and AbstractTorSettings::value().
Referenced by ServerPage::load().
quint16 ServerSettings::getDirPort | ( | ) |
Gets the server's DirPort value.
Gets the server's current DirPort.
Definition at line 284 of file ServerSettings.cpp.
References SETTING_DIRPORT, and AbstractTorSettings::value().
Referenced by configurePortForwarding(), and ServerPage::load().
ExitPolicy ServerSettings::getExitPolicy | ( | ) |
Gets the exit policy for this server.
Returns the exit policy for this server.
Definition at line 336 of file ServerSettings.cpp.
References SETTING_EXITPOLICY, and AbstractTorSettings::value().
Referenced by ServerPage::loadExitPolicies().
QString ServerSettings::getNickname | ( | ) |
Gets the server's nickname.
Definition at line 298 of file ServerSettings.cpp.
References ensure_valid_chars(), MAX_NICKNAME_LEN, SETTING_NICKNAME, VALID_NICKNAME_CHARS, and AbstractTorSettings::value().
Referenced by ServerPage::load().
quint16 ServerSettings::getORPort | ( | ) |
Gets the server's ORPort value.
Gets the server's current ORPort setting.
Definition at line 270 of file ServerSettings.cpp.
References SETTING_ORPORT, and AbstractTorSettings::value().
Referenced by configurePortForwarding(), and ServerPage::load().
bool ServerSettings::isBridgeEnabled | ( | ) |
Returns true if Tor is configured to act as a bridge node.
Definition at line 256 of file ServerSettings.cpp.
References isServerEnabled(), SETTING_BRIDGE_RELAY, and AbstractTorSettings::value().
Referenced by confValues(), and ServerPage::load().
bool ServerSettings::isDirectoryMirror | ( | ) |
Returns true if the server will mirror the directory.
Returns whether this server will act as a directory mirror or not.
Definition at line 322 of file ServerSettings.cpp.
References AbstractTorSettings::localValue(), and SETTING_DIRMIRROR.
Referenced by configurePortForwarding(), confValues(), and ServerPage::load().
bool ServerSettings::isServerEnabled | ( | ) |
Returns true if Tor is running as a server.
Returns true if Tor is currently configured to run as a Tor server. If Tor is running, we will check whether it has an ORPort defined. Otherwise, we will use our saved settings.
Definition at line 236 of file ServerSettings.cpp.
References AbstractTorSettings::changedSinceLastApply(), AbstractTorSettings::localValue(), SETTING_ENABLED, SETTING_ORPORT, and AbstractTorSettings::torControl().
Referenced by apply(), MainWindow::close(), configurePortForwarding(), confValues(), isBridgeEnabled(), ServerPage::load(), and MainWindow::stop().
bool ServerSettings::isUpnpEnabled | ( | ) |
Returns true if UPnP support is enabled.
Returns true if UPnP support is available and enabled.
Definition at line 399 of file ServerSettings.cpp.
References AbstractTorSettings::localValue(), and SETTING_ENABLE_UPNP.
Referenced by configurePortForwarding(), and ServerPage::load().
bool ServerSettings::publishServerDescriptor | ( | ) | const |
Returns true if the user's server descriptor will be published to the appropriate authorities.
Definition at line 392 of file ServerSettings.cpp.
References SETTING_PUBLISH_SERVER_DESCRIPTOR, and AbstractTorSettings::value().
Referenced by confValues(), and ServerPage::load().
void ServerSettings::setBandwidthAvgRate | ( | quint32 | rate | ) |
Sets the long-term average bandwidth rate (in KB/s) of this server.
Sets the long-term average bandwidth rate (in KB/s) for this server.
Definition at line 357 of file ServerSettings.cpp.
References SETTING_BANDWIDTH_RATE, and AbstractTorSettings::setValue().
Referenced by ServerPage::saveBandwidthLimits().
void ServerSettings::setBandwidthBurstRate | ( | quint32 | rate | ) |
Sets the maximum burst rate (in B/s) of this server.
Sets the maximum bandwidth burst rate (in KB/s) for this server.
Definition at line 371 of file ServerSettings.cpp.
References SETTING_BANDWIDTH_BURST, and AbstractTorSettings::setValue().
Referenced by ServerPage::saveBandwidthLimits().
void ServerSettings::setBridgeEnabled | ( | bool | enabled | ) |
Sets to enabled whether Tor should be a bridge node when acting as a server.
Definition at line 249 of file ServerSettings.cpp.
References SETTING_BRIDGE_RELAY, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setContactInfo | ( | QString | contact | ) |
Sets the server operator's contact information.
Sets the server's contact information.
Definition at line 308 of file ServerSettings.cpp.
References SETTING_CONTACT, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setDirectoryMirror | ( | bool | mirror | ) |
Enables or disables the server to act as a directory mirror.
Sets whether this server will act as a directory mirror.
Definition at line 329 of file ServerSettings.cpp.
References SETTING_DIRMIRROR, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setDirPort | ( | quint16 | dirPort | ) |
Sets the server's DirPort value.
Sets the server's current DirPort.
Definition at line 277 of file ServerSettings.cpp.
References SETTING_DIRPORT, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setExitPolicy | ( | ExitPolicy & | exitPolicy | ) |
Sets the exit policy for this server.
Definition at line 343 of file ServerSettings.cpp.
References SETTING_EXITPOLICY, AbstractTorSettings::setValue(), and ExitPolicy::toString().
Referenced by ServerPage::saveExitPolicies().
void ServerSettings::setNickname | ( | QString | nickname | ) |
Sets the server's nickname.
Definition at line 291 of file ServerSettings.cpp.
References SETTING_NICKNAME, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setORPort | ( | quint16 | orPort | ) |
Sets the server's ORPort value.
Sets the server's ORPort.
Definition at line 263 of file ServerSettings.cpp.
References SETTING_ORPORT, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setPublishServerDescriptor | ( | bool | publish | ) |
Sets whether the user's server descriptor will be published or not. Currently this only affects publishing of bridge descriptors. If the user is running a normal relay, its descriptor will always be published regardless of this setting.
Definition at line 381 of file ServerSettings.cpp.
References SETTING_PUBLISH_SERVER_DESCRIPTOR, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setServerEnabled | ( | bool | enable | ) |
Enables running Tor as a server.
Enables or disables running Tor as a server.
enable | Whether to enable or disable the Tor server. |
Definition at line 227 of file ServerSettings.cpp.
References SETTING_ENABLED, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
void ServerSettings::setUpnpEnabled | ( | bool | enabled | ) |
Sets whether Vidalia should try to configure port forwarding using UPnP.
Sets whether Vidalia should try to configure port forwarding using UPnP. If Vidalia was compiled without UPnP support, this method has no effect.
Definition at line 411 of file ServerSettings.cpp.
References SETTING_ENABLE_UPNP, and AbstractTorSettings::setValue().
Referenced by ServerPage::save().
QVariant ServerSettings::torValue | ( | const QString & | key | ) | const [protected, virtual] |
Virtual method called when we retrieve a server-related setting from Tor. Currently this just translates BandwidthFoo to RelayBandwidthFoo when appropriate.
Reimplemented from AbstractTorSettings.
Definition at line 212 of file ServerSettings.cpp.
References SETTING_BANDWIDTH_BURST, SETTING_BANDWIDTH_RATE, SETTING_RELAY_BANDWIDTH_BURST, SETTING_RELAY_BANDWIDTH_RATE, and AbstractTorSettings::torControl().