mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
require BandwidthRate to be at least 10kB/s
svn:r3232
This commit is contained in:
parent
1efc0f370a
commit
95f3e6161b
@ -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) {
|
||||||
|
@ -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,
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user