mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
Merge branch 'maint-0.4.1'
This commit is contained in:
commit
b83dba7cb0
3
changes/bug22619
Normal file
3
changes/bug22619
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
o Minor bugfixes (circuit isolation):
|
||||||
|
- Fix a logic error that prevented the SessionGroup sub-option from
|
||||||
|
being accepted. Fixes bug 22619; bugfix on 0.2.7.2-alpha.
|
@ -7091,7 +7091,7 @@ parse_port_config(smartlist_t *out,
|
|||||||
if (!strcasecmpstart(elt, "SessionGroup=")) {
|
if (!strcasecmpstart(elt, "SessionGroup=")) {
|
||||||
int group = (int)tor_parse_long(elt+strlen("SessionGroup="),
|
int group = (int)tor_parse_long(elt+strlen("SessionGroup="),
|
||||||
10, 0, INT_MAX, &ok, NULL);
|
10, 0, INT_MAX, &ok, NULL);
|
||||||
if (!ok || !allow_no_stream_options) {
|
if (!ok || allow_no_stream_options) {
|
||||||
log_warn(LD_CONFIG, "Invalid %sPort option '%s'",
|
log_warn(LD_CONFIG, "Invalid %sPort option '%s'",
|
||||||
portname, escaped(elt));
|
portname, escaped(elt));
|
||||||
goto err;
|
goto err;
|
||||||
|
@ -4569,16 +4569,14 @@ test_config_parse_port_config__ports__ports_given(void *data)
|
|||||||
"127.0.0.44", 0, CL_PORT_NO_STREAM_OPTIONS);
|
"127.0.0.44", 0, CL_PORT_NO_STREAM_OPTIONS);
|
||||||
tt_int_op(ret, OP_EQ, -1);
|
tt_int_op(ret, OP_EQ, -1);
|
||||||
|
|
||||||
// TODO: this seems wrong. Shouldn't it be the other way around?
|
// Test failure for a SessionGroup argument with valid value but with no
|
||||||
// Potential bug.
|
// stream options allowed
|
||||||
// Test failure for a SessionGroup argument with valid value but with stream
|
|
||||||
// options allowed
|
|
||||||
config_free_lines(config_port_invalid); config_port_invalid = NULL;
|
config_free_lines(config_port_invalid); config_port_invalid = NULL;
|
||||||
SMARTLIST_FOREACH(slout,port_cfg_t *,pf,port_cfg_free(pf));
|
SMARTLIST_FOREACH(slout,port_cfg_t *,pf,port_cfg_free(pf));
|
||||||
smartlist_clear(slout);
|
smartlist_clear(slout);
|
||||||
config_port_invalid = mock_config_line("DNSPort", "42 SessionGroup=123");
|
config_port_invalid = mock_config_line("DNSPort", "42 SessionGroup=123");
|
||||||
ret = parse_port_config(slout, config_port_invalid, "DNS", 0,
|
ret = parse_port_config(slout, config_port_invalid, "DNS", 0,
|
||||||
"127.0.0.44", 0, 0);
|
"127.0.0.44", 0, CL_PORT_NO_STREAM_OPTIONS);
|
||||||
tt_int_op(ret, OP_EQ, -1);
|
tt_int_op(ret, OP_EQ, -1);
|
||||||
|
|
||||||
// Test failure for more than one SessionGroup argument
|
// Test failure for more than one SessionGroup argument
|
||||||
@ -4588,7 +4586,7 @@ test_config_parse_port_config__ports__ports_given(void *data)
|
|||||||
config_port_invalid = mock_config_line("DNSPort", "42 SessionGroup=123 "
|
config_port_invalid = mock_config_line("DNSPort", "42 SessionGroup=123 "
|
||||||
"SessionGroup=321");
|
"SessionGroup=321");
|
||||||
ret = parse_port_config(slout, config_port_invalid, "DNS", 0,
|
ret = parse_port_config(slout, config_port_invalid, "DNS", 0,
|
||||||
"127.0.0.44", 0, CL_PORT_NO_STREAM_OPTIONS);
|
"127.0.0.44", 0, 0);
|
||||||
tt_int_op(ret, OP_EQ, -1);
|
tt_int_op(ret, OP_EQ, -1);
|
||||||
|
|
||||||
// Test success with a sessiongroup options
|
// Test success with a sessiongroup options
|
||||||
@ -4597,7 +4595,7 @@ test_config_parse_port_config__ports__ports_given(void *data)
|
|||||||
smartlist_clear(slout);
|
smartlist_clear(slout);
|
||||||
config_port_valid = mock_config_line("DNSPort", "42 SessionGroup=1111122");
|
config_port_valid = mock_config_line("DNSPort", "42 SessionGroup=1111122");
|
||||||
ret = parse_port_config(slout, config_port_valid, "DNS", 0,
|
ret = parse_port_config(slout, config_port_valid, "DNS", 0,
|
||||||
"127.0.0.44", 0, CL_PORT_NO_STREAM_OPTIONS);
|
"127.0.0.44", 0, 0);
|
||||||
tt_int_op(ret, OP_EQ, 0);
|
tt_int_op(ret, OP_EQ, 0);
|
||||||
tt_int_op(smartlist_len(slout), OP_EQ, 1);
|
tt_int_op(smartlist_len(slout), OP_EQ, 1);
|
||||||
port_cfg = (port_cfg_t *)smartlist_get(slout, 0);
|
port_cfg = (port_cfg_t *)smartlist_get(slout, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user