mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Whoops; make options_validate conform to validate_fn_t.
This just goes to show: never cast a function pointer. Found while
testing new command line parse logic.
Bugfix on 1293835440, which implemented
6752: Not in any released tor.
This commit is contained in:
+12
-1
@@ -550,6 +550,9 @@ static int parse_outbound_addresses(or_options_t *options, int validate_only,
|
||||
char **msg);
|
||||
static void config_maybe_load_geoip_files_(const or_options_t *options,
|
||||
const or_options_t *old_options);
|
||||
static int options_validate_cb(void *old_options, void *options,
|
||||
void *default_options,
|
||||
int from_setconf, char **msg);
|
||||
|
||||
/** Magic value for or_options_t. */
|
||||
#define OR_OPTIONS_MAGIC 9090909
|
||||
@@ -561,7 +564,7 @@ STATIC config_format_t options_format = {
|
||||
STRUCT_OFFSET(or_options_t, magic_),
|
||||
option_abbrevs_,
|
||||
option_vars_,
|
||||
(validate_fn_t)options_validate,
|
||||
options_validate_cb,
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -2385,6 +2388,14 @@ compute_publishserverdescriptor(or_options_t *options)
|
||||
* */
|
||||
#define RECOMMENDED_MIN_CIRCUIT_BUILD_TIMEOUT (10)
|
||||
|
||||
static int
|
||||
options_validate_cb(void *old_options, void *options, void *default_options,
|
||||
int from_setconf, char **msg)
|
||||
{
|
||||
return options_validate(old_options, options, default_options,
|
||||
from_setconf, msg);
|
||||
}
|
||||
|
||||
/** Return 0 if every setting in <b>options</b> is reasonable, is a
|
||||
* permissible transition from <b>old_options</b>, and none of the
|
||||
* testing-only settings differ from <b>default_options</b> unless in
|
||||
|
||||
+5
-1
@@ -32,7 +32,11 @@ int resolve_my_address(int warn_severity, const or_options_t *options,
|
||||
const char **method_out, char **hostname_out);
|
||||
int is_local_addr(const tor_addr_t *addr);
|
||||
void options_init(or_options_t *options);
|
||||
char *options_dump(const or_options_t *options, int minimal);
|
||||
|
||||
#define OPTIONS_DUMP_MINIMAL 1
|
||||
#define OPTIONS_DUMP_DEFAULTS 2
|
||||
#define OPTIONS_DUMP_ALL 3
|
||||
char *options_dump(const or_options_t *options, int how_to_dump);
|
||||
int options_init_from_torrc(int argc, char **argv);
|
||||
setopt_err_t options_init_from_string(const char *cf_defaults, const char *cf,
|
||||
int command, const char *command_arg, char **msg);
|
||||
|
||||
Reference in New Issue
Block a user