require BandwidthRate to be at least 10kB/s

svn:r3232
This commit is contained in:
Roger Dingledine 2004-12-31 21:47:54 +00:00
parent 1efc0f370a
commit 95f3e6161b
3 changed files with 18 additions and 15 deletions

View File

@ -217,15 +217,7 @@ get_options(void) {
} }
/** Change the current global options to contain <b>new_val</b> instead /** Change the current global options to contain <b>new_val</b> instead
* of their current value; free the old value as necessary. Where * of their current value; free the old value as necessary.
* <b>new_val</b> is different from the old value, update the process to
* use the new value instead.
*
* Note 1: <b>new_val</b> must have previously been validated with
* options_validate(), or Tor may freak out and exit.
*
* Note 2: We haven't moved all the "act on new configuration" logic
* here yet. Some is still in do_hup() and other places.
*/ */
void void
set_options(or_options_t *new_val) { set_options(or_options_t *new_val) {
@ -237,6 +229,12 @@ set_options(or_options_t *new_val) {
/** Fetch the active option list, and take actions based on it. All /** Fetch the active option list, and take actions based on it. All
* of the things we do should survive being done repeatedly. * of the things we do should survive being done repeatedly.
* Return 0 if all goes well, return -1 if it's time to die. * Return 0 if all goes well, return -1 if it's time to die.
*
* Note 1: <b>new_val</b> must have previously been validated with
* options_validate(), or Tor may freak out and exit.
*
* Note 2: We haven't moved all the "act on new configuration" logic
* here yet. Some is still in do_hup() and other places.
*/ */
int int
options_act(void) { options_act(void) {
@ -1369,6 +1367,10 @@ options_validate(or_options_t *options)
log(LOG_WARN,"BandwidthBurst must be less than %d",INT_MAX); log(LOG_WARN,"BandwidthBurst must be less than %d",INT_MAX);
result = -1; result = -1;
} }
if (options->BandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH) {
log(LOG_WARN,"BandwidthRate is set to %d bytes/second. It must be at least %d.", (int)options->BandwidthRate, ROUTER_REQUIRED_MIN_BANDWIDTH);
result = -1;
}
if (options->_MonthlyAccountingStart) { if (options->_MonthlyAccountingStart) {
if (options->AccountingStart) { if (options->AccountingStart) {

View File

@ -1579,6 +1579,13 @@ void add_nickname_list_to_smartlist(struct smartlist_t *sl, const char *list, in
int router_nickname_is_in_list(routerinfo_t *router, const char *list); int router_nickname_is_in_list(routerinfo_t *router, const char *list);
routerinfo_t *routerlist_find_my_routerinfo(void); routerinfo_t *routerlist_find_my_routerinfo(void);
int router_nickname_matches(routerinfo_t *router, const char *nickname); int router_nickname_matches(routerinfo_t *router, const char *nickname);
/** How many seconds a router must be up before we'll use it for
* reliability-critical node positions.
*/
#define ROUTER_REQUIRED_MIN_UPTIME 3600 /* an hour */
#define ROUTER_REQUIRED_MIN_BANDWIDTH 10000
int router_is_unreliable_router(routerinfo_t *router, int need_uptime, int need_bw); int router_is_unreliable_router(routerinfo_t *router, int need_uptime, int need_bw);
routerinfo_t *routerlist_sl_choose_by_bandwidth(smartlist_t *sl); routerinfo_t *routerlist_sl_choose_by_bandwidth(smartlist_t *sl);
routerinfo_t *router_choose_random_node(const char *preferred, routerinfo_t *router_choose_random_node(const char *preferred,

View File

@ -396,12 +396,6 @@ routerlist_find_my_routerinfo(void) {
return NULL; return NULL;
} }
/** How many seconds a router must be up before we'll use it for
* reliability-critical node positions.
*/
#define ROUTER_REQUIRED_MIN_UPTIME 3600 /* an hour */
#define ROUTER_REQUIRED_MIN_BANDWIDTH 10000
int int
router_is_unreliable_router(routerinfo_t *router, int need_uptime, int need_bw) router_is_unreliable_router(routerinfo_t *router, int need_uptime, int need_bw)
{ {