r = router_choose_random_node(options.RendNodes, options.RendExcludeNodes,
NULL, 0, 1, options._AllowUnverified & ALLOW_UNVERIFIED_RENDEZVOUS, 0);
return r;
- default:
- log_fn(LOG_WARN,"unhandled purpose %d", purpose);
- tor_assert(0);
}
- return NULL; /* never reached */
+ log_fn(LOG_WARN,"Unhandled purpose %d", purpose);
+ return NULL;
}
/** Allocate a cpath_build_state_t, populate it based on
tor_assert(cp->handshake_state);
break;
default:
- log_fn(LOG_WARN,"Unexpected state %d",cp->state);
+ log_fn(LOG_ERR,"Unexpected state %d",cp->state);
tor_assert(0);
}
tor_assert(cp->package_window >= 0);
static int config_compare(struct config_line_t *c, const char *key, config_type_t type, void *arg);
static int config_assign(or_options_t *options, struct config_line_t *list);
static int parse_dir_server_line(const char *line);
+static int parse_redirect_line(or_options_t *options,
+ struct config_line_t *line);
/** Helper: Read a list of configuration options from the command line. */
static struct config_line_t *
config_free_lines(options->NodeFamilies);
config_free_lines(options->RedirectExit);
if (options->RedirectExitList) {
- SMARTLIST_FOREACH(options->RedirectExit,exit_redirect_t *, p, tor_free(p));
- smartlist_free(options->RedirectExit);
- options->RedirectExit = NULL;
+ SMARTLIST_FOREACH(options->RedirectExitList,exit_redirect_t *, p, tor_free(p));
+ smartlist_free(options->RedirectExitList);
+ options->RedirectExitList = NULL;
}
if (options->FirewallPorts) {
SMARTLIST_FOREACH(options->FirewallPorts, char *, cp, tor_free(cp));
}
}
-static int parse_redirect_line(or_options_t *options,
+static int parse_redirect_line(or_options_t *options,
struct config_line_t *line)
{
smartlist_t *elements = NULL;
uint16_t port_max;
uint32_t addr_dest;
- uint32_t port_dest;
+ uint16_t port_dest;
} exit_redirect_t;
/** Configuration options for a Tor process */
* node families */
struct config_line_t *RedirectExit; /**< List of config lines for simple
* addr/port redirection */
- smartlist_t *RedirectExitList; /** List of exit_redirect_t */
+ smartlist_t *RedirectExitList; /**< List of exit_redirect_t */
} or_options_t;
/* XXX are these good enough defaults? */