Unverified Commit 5298113d authored by teor's avatar teor
Browse files

Merge branch 'maint-0.3.5' into maint-0.4.1

parents 0ff3e8f4 b9c7c61e
......@@ -93,8 +93,6 @@ matrix:
os: osx
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
os: osx
## test-stem sometimes hangs on Travis
- env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
## (Linux only) Use a recent Linux image (Ubuntu Bionic)
dist: bionic
......
o Minor bugfixes (bridges):
- Lowercase the value of BridgeDistribution from torrc before adding it to
the descriptor. Fixes bug 32753; bugfix on 0.3.2.3-alpha.
o Testing:
- Stop allowing failures on the Travis CI stem tests job. It looks like all
the stem hangs we were seeing are now fixed, but let's make sure we see
them if they happen again. Closes ticket 33075.
......@@ -6840,7 +6840,7 @@ check_bridge_distribution_setting(const char *bd)
};
unsigned i;
for (i = 0; i < ARRAY_LENGTH(RECOGNIZED); ++i) {
if (!strcmp(bd, RECOGNIZED[i]))
if (!strcasecmp(bd, RECOGNIZED[i]))
return 0;
}
......
......@@ -2911,15 +2911,20 @@ router_dump_router_to_string(routerinfo_t *router,
}
if (options->BridgeRelay) {
const char *bd;
char *bd = NULL;
if (options->BridgeDistribution && strlen(options->BridgeDistribution)) {
bd = options->BridgeDistribution;
bd = tor_strdup(options->BridgeDistribution);
} else {
bd = "any";
bd = tor_strdup("any");
}
if (strchr(bd, '\n') || strchr(bd, '\r'))
bd = escaped(bd);
// Make sure our value is lowercased in the descriptor instead of just
// forwarding what the user wrote in their torrc directly.
tor_strlower(bd);
smartlist_add_asprintf(chunks, "bridge-distribution-request %s\n", bd);
tor_free(bd);
}
if (router->onion_curve25519_pkey) {
......
......@@ -5621,11 +5621,27 @@ test_config_check_bridge_distribution_setting_not_a_bridge(void *arg)
static void
test_config_check_bridge_distribution_setting_valid(void *arg)
{
int ret = check_bridge_distribution_setting("https");
(void)arg;
tt_int_op(ret, OP_EQ, 0);
// Check all the possible values we support right now.
tt_int_op(check_bridge_distribution_setting("none"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("any"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("https"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("email"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("moat"), OP_EQ, 0);
// Check all the possible values we support right now with weird casing.
tt_int_op(check_bridge_distribution_setting("NoNe"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("anY"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("hTTps"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("emAIl"), OP_EQ, 0);
tt_int_op(check_bridge_distribution_setting("moAt"), OP_EQ, 0);
// Invalid values.
tt_int_op(check_bridge_distribution_setting("x\rx"), OP_EQ, -1);
tt_int_op(check_bridge_distribution_setting("x\nx"), OP_EQ, -1);
tt_int_op(check_bridge_distribution_setting("\t\t\t"), OP_EQ, -1);
done:
return;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment