r11944@catbus: nickm | 2007-02-25 14:43:18 -0500

Add a lower-bound on MaxAdvertisedBandwidth.


svn:r9652
This commit is contained in:
Nick Mathewson 2007-02-25 19:43:23 +00:00
parent 938de88e3b
commit 333bf44471
2 changed files with 21 additions and 9 deletions

View File

@ -102,6 +102,7 @@ Changes in version 0.1.2.8-rc - 2007-02-??
- Always remove expired routers and networkstatus docs before checking
whether we have enough information to build circuits. (Fixes
bug 373.)
- Put a lower-bound on MaxAdvertisedBandwidth.
Changes in version 0.1.2.7-alpha - 2007-02-06

View File

@ -2647,16 +2647,27 @@ options_validate(or_options_t *old_options, or_options_t *options,
*msg = tor_strdup(r >= 0 ? buf : "internal error");
return -1;
}
if (server_mode(options) &&
options->BandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH*2) {
r = tor_snprintf(buf, sizeof(buf),
"BandwidthRate is set to %d bytes/second. "
"For servers, it must be at least %d.",
(int)options->BandwidthRate,
ROUTER_REQUIRED_MIN_BANDWIDTH*2);
*msg = tor_strdup(r >= 0 ? buf : "internal error");
return -1;
if (server_mode(options)) {
if (options->BandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH*2) {
r = tor_snprintf(buf, sizeof(buf),
"BandwidthRate is set to %d bytes/second. "
"For servers, it must be at least %d.",
(int)options->BandwidthRate,
ROUTER_REQUIRED_MIN_BANDWIDTH*2);
*msg = tor_strdup(r >= 0 ? buf : "internal error");
return -1;
} else if (options->MaxAdvertisedBandwidth <
ROUTER_REQUIRED_MIN_BANDWIDTH) {
r = tor_snprintf(buf, sizeof(buf),
"MaxAdvertisedBandwidth is set to %d bytes/second. "
"For servers, it must be at least %d.",
(int)options->MaxAdvertisedBandwidth,
ROUTER_REQUIRED_MIN_BANDWIDTH);
*msg = tor_strdup(r >= 0 ? buf : "internal error");
return -1;
}
}
if (options->BandwidthRate > options->BandwidthBurst)
REJECT("BandwidthBurst must be at least equal to BandwidthRate.");