[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r1790: Use RelayBandwidthBurst and RelayBandwidthRate on Tor >= 0.2 (trunk/src/config)
Author: edmanm
Date: 2007-06-17 14:58:00 -0400 (Sun, 17 Jun 2007)
New Revision: 1790
Modified:
trunk/src/config/serversettings.cpp
Log:
Use RelayBandwidthBurst and RelayBandwidthRate on Tor >= 0.2.0.1-alpha.
Modified: trunk/src/config/serversettings.cpp
===================================================================
--- trunk/src/config/serversettings.cpp 2007-06-17 13:04:42 UTC (rev 1789)
+++ trunk/src/config/serversettings.cpp 2007-06-17 18:58:00 UTC (rev 1790)
@@ -46,6 +46,8 @@
#define SERVER_EXITPOLICY "ExitPolicy"
#define SERVER_BANDWIDTH_RATE "BandwidthRate"
#define SERVER_BANDWIDTH_BURST "BandwidthBurst"
+#define SERVER_RELAY_BANDWIDTH_RATE "RelayBandwidthRate"
+#define SERVER_RELAY_BANDWIDTH_BURST "RelayBandwidthBurst"
/* Server configuration settings */
#define SETTING_SERVER_ENABLED "Server/Enabled"
@@ -166,11 +168,19 @@
QVariant value;
QString confKey, confValue;
confKey = key.mid(key.indexOf("/")+1);
- if (_torControl->isConnected() &&
- _torControl->getConf(confKey, confValue)) {
- /* Get the value from Tor */
- value.setValue(confValue);
- value.convert(defaultValue(key).type());
+ if (_torControl->isConnected()) {
+ quint32 torVersion = _torControl->getTorVersion();
+ if (torVersion >= 0x020001) {
+ if (confKey == SERVER_BANDWIDTH_RATE)
+ confKey = SERVER_RELAY_BANDWIDTH_RATE;
+ else if (confKey == SERVER_BANDWIDTH_BURST)
+ confKey = SERVER_RELAY_BANDWIDTH_BURST;
+ }
+ if (_torControl->getConf(confKey, confValue)) {
+ /* Get the value from Tor */
+ value.setValue(confValue);
+ value.convert(defaultValue(key).type());
+ }
} else {
/* Read our saved value from vidalia.conf */
value = VidaliaSettings::value(key);
@@ -197,6 +207,8 @@
ServerSettings::confValues()
{
QHash<QString, QString> conf;
+ quint32 torVersion = _torControl->getTorVersion();
+
/* Server Nickname */
conf.insert(SERVER_NICKNAME,
(isServerEnabled() ? VidaliaSettings::value(SETTING_SERVER_NICKNAME).toString()
@@ -214,9 +226,11 @@
VidaliaSettings::value(SETTING_SERVER_EXITPOLICY).toString());
/* Server bandwidth settings */
- conf.insert(SERVER_BANDWIDTH_RATE,
+ conf.insert((torVersion >= 0x020001 ? SERVER_RELAY_BANDWIDTH_RATE
+ : SERVER_BANDWIDTH_RATE),
QString::number(VidaliaSettings::value(SETTING_SERVER_BWRATE).toUInt()) + " bytes");
- conf.insert(SERVER_BANDWIDTH_BURST,
+ conf.insert((torVersion >= 0x020001 ? SERVER_RELAY_BANDWIDTH_BURST
+ : SERVER_BANDWIDTH_BURST),
QString::number(VidaliaSettings::value(SETTING_SERVER_BWBURST).toUInt()) + " bytes");
/* Server Contact Information */
@@ -242,17 +256,24 @@
ServerSettings::apply(QString *errmsg)
{
bool rc;
+
if (isServerEnabled()) {
rc = _torControl->setConf(confValues(), errmsg);
} else {
QStringList resetKeys;
+ quint32 torVersion = _torControl->getTorVersion();
resetKeys << SERVER_ORPORT
<< SERVER_NICKNAME
<< SERVER_DIRPORT
<< SERVER_CONTACTINFO
- << SERVER_EXITPOLICY
- << SERVER_BANDWIDTH_RATE
- << SERVER_BANDWIDTH_BURST;
+ << SERVER_EXITPOLICY;
+ if (torVersion >= 0x020001) {
+ resetKeys << SERVER_RELAY_BANDWIDTH_RATE
+ << SERVER_RELAY_BANDWIDTH_BURST;
+ } else {
+ resetKeys << SERVER_BANDWIDTH_RATE
+ << SERVER_BANDWIDTH_BURST;
+ }
rc = _torControl->resetConf(resetKeys, errmsg);
}
if (rc) {