mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
sched: validate KIST sched options
This commit is contained in:
parent
61fc9c41ad
commit
7f1d643083
@ -3112,6 +3112,19 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|||||||
routerset_union(options->ExcludeExitNodesUnion_,options->ExcludeNodes);
|
routerset_union(options->ExcludeExitNodesUnion_,options->ExcludeNodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options->KISTSockBufSizeFactor < 0) {
|
||||||
|
REJECT("KISTSockBufSizeFactor must be at least 0");
|
||||||
|
}
|
||||||
|
/* Don't need to validate that the Interval is less than anything because
|
||||||
|
* zero is valid and all negative values are valid. */
|
||||||
|
if (options->KISTSchedRunInterval > KIST_SCHED_RUN_INTERVAL_MAX) {
|
||||||
|
char *buf = tor_calloc(80, sizeof(char));
|
||||||
|
tor_snprintf(buf, 80, "KISTSchedRunInterval must not be more than %d (ms)",
|
||||||
|
KIST_SCHED_RUN_INTERVAL_MAX);
|
||||||
|
*msg = buf;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (options->NodeFamilies) {
|
if (options->NodeFamilies) {
|
||||||
options->NodeFamilySets = smartlist_new();
|
options->NodeFamilySets = smartlist_new();
|
||||||
for (cl = options->NodeFamilies; cl; cl = cl->next) {
|
for (cl = options->NodeFamilies; cl; cl = cl->next) {
|
||||||
|
@ -82,6 +82,20 @@ typedef struct scheduler_s {
|
|||||||
void (*on_new_options)(void);
|
void (*on_new_options)(void);
|
||||||
} scheduler_t;
|
} scheduler_t;
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Globally visible scheduler variables/values
|
||||||
|
*
|
||||||
|
* These are variables/constants that all of Tor should be able to see.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
/* Default interval that KIST runs (in ms). */
|
||||||
|
#define KIST_SCHED_RUN_INTERVAL_DEFAULT 10
|
||||||
|
/* Minimum interval that KIST runs. This value disables KIST. */
|
||||||
|
#define KIST_SCHED_RUN_INTERVAL_MIN 0
|
||||||
|
/* Maximum interval that KIST runs (in ms). */
|
||||||
|
#define KIST_SCHED_RUN_INTERVAL_MAX 100
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* Globally visible scheduler functions
|
* Globally visible scheduler functions
|
||||||
*
|
*
|
||||||
|
@ -623,13 +623,6 @@ get_kist_scheduler(void)
|
|||||||
return kist_scheduler;
|
return kist_scheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Default interval that KIST runs (in ms). */
|
|
||||||
#define KIST_SCHED_RUN_INTERVAL_DEFAULT 10
|
|
||||||
/* Minimum interval that KIST runs. This value disables KIST. */
|
|
||||||
#define KIST_SCHED_RUN_INTERVAL_MIN 0
|
|
||||||
/* Maximum interval that KIST runs (in ms). */
|
|
||||||
#define KIST_SCHED_RUN_INTERVAL_MAX 100
|
|
||||||
|
|
||||||
/* Check the torrc for the configured KIST scheduler run interval.
|
/* Check the torrc for the configured KIST scheduler run interval.
|
||||||
* - If torrc < 0, then return the negative torrc value (shouldn't even be
|
* - If torrc < 0, then return the negative torrc value (shouldn't even be
|
||||||
* using KIST)
|
* using KIST)
|
||||||
|
Loading…
Reference in New Issue
Block a user