mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-02 16:43:32 +01:00
Merge remote-tracking branch 'origin/maint-0.2.6' into release-0.2.6
This commit is contained in:
commit
0cbef8be88
@ -73,7 +73,7 @@ test-network: all
|
||||
|
||||
test-stem: $(TESTING_TOR_BINARY)
|
||||
@if test -d "$$STEM_SOURCE_DIR"; then \
|
||||
"$$STEM_SOURCE_DIR"/run_tests.py --tor $(TESTING_TOR_BINARY) --all --log notice --target RUN_ALL; \
|
||||
$(PYTHON) "$$STEM_SOURCE_DIR"/run_tests.py --tor $(TESTING_TOR_BINARY) --all --log notice --target RUN_ALL; \
|
||||
else \
|
||||
echo '$$STEM_SOURCE_DIR was not set.'; echo; \
|
||||
echo "To run these tests, git clone https://git.torproject.org/stem.git/ ; export STEM_SOURCE_DIR=\`pwd\`/stem"; \
|
||||
|
3
changes/15188
Normal file
3
changes/15188
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor bugfixes (testing):
|
||||
- Avoid a side-effect in a tor_assert() in the unit tests. Fixes bug
|
||||
15188; bugfix on 0.1.2.3-alpha. Patch from Tom van der Woerdt.
|
4
changes/bug15033
Normal file
4
changes/bug15033
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor bugfixes (tests):
|
||||
- When running the zero-length-keys check, do not use the default
|
||||
torrc file. Fixes bug 15033; bugfix on 0.2.6.3-alpha. Reported
|
||||
by "reezer".
|
4
changes/bug15037
Normal file
4
changes/bug15037
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor bugfixes (testing):
|
||||
- When running the new 'make test-stem' target, use the configured
|
||||
python binary. Fixes bug 15037; bugfix on 0.2.6.3-alpha. Patch
|
||||
from "cypherpunks".
|
4
changes/bug15064
Normal file
4
changes/bug15064
Normal file
@ -0,0 +1,4 @@
|
||||
o Major bugfixes (FreeBSD IPFW transparent proxy):
|
||||
- Fix address detection with FreeBSD transparent proxies,
|
||||
when "TransProxyType ipfw" is in use.
|
||||
Fixes bug 15064; bugfix on 0.2.5.4-alpha.
|
10
changes/bug15083
Normal file
10
changes/bug15083
Normal file
@ -0,0 +1,10 @@
|
||||
o Major bugfixes (relay, stability, possible security):
|
||||
- Fix a bug that could lead to a relay crashing with an assertion
|
||||
failure if a buffer of exactly the wrong layout was passed
|
||||
to buf_pullup() at exactly the wrong time. Fixes bug 15083;
|
||||
bugfix on 0.2.0.10-alpha. Patch from 'cypherpunks'.
|
||||
|
||||
- Do not assert if the 'data' pointer on a buffer is advanced to the very
|
||||
end of the buffer; log a BUG message instead. Only assert if it is
|
||||
past that point. Fixes bug 15083; bugfix on 0.2.0.10-alpha.
|
||||
|
4
changes/bug15088
Normal file
4
changes/bug15088
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor bugfixes (Linux seccomp2 sandbox):
|
||||
- Upon receiving sighup, do not crash during attempts to call
|
||||
wait4. Fixes bug 15088; bugfix on 0.2.5.1-alpha. Patch from
|
||||
"sanic".
|
3
changes/bug15151
Normal file
3
changes/bug15151
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor bugfixes (compilation):
|
||||
- Fix a compilation warning on FreeBSD. Fixes bug 15151; bugfix on
|
||||
0.2.6.2-alpha.
|
4
changes/feature15006
Normal file
4
changes/feature15006
Normal file
@ -0,0 +1,4 @@
|
||||
o Minor features (controller):
|
||||
- Messages about problems in the bootstrap process now include
|
||||
information about the server we were trying to connect to when we
|
||||
noticed the problem. Closes ticket 15006.
|
5
changes/ticket14128
Normal file
5
changes/ticket14128
Normal file
@ -0,0 +1,5 @@
|
||||
o Minor features (controller):
|
||||
- New "GETINFO bw-event-cache" to get information about recent bandwidth
|
||||
events. Closes ticket 14128. Useful for controllers to get recent
|
||||
bandwidth history after the fix for 13988.
|
||||
|
@ -176,6 +176,7 @@ static int filter_nopar_gen[] = {
|
||||
#endif
|
||||
SCMP_SYS(stat),
|
||||
SCMP_SYS(uname),
|
||||
SCMP_SYS(wait4),
|
||||
SCMP_SYS(write),
|
||||
SCMP_SYS(writev),
|
||||
SCMP_SYS(exit_group),
|
||||
|
@ -232,7 +232,7 @@ buf_pullup(buf_t *buf, size_t bytes, int nulterminate)
|
||||
size_t n = bytes - dest->datalen;
|
||||
src = dest->next;
|
||||
tor_assert(src);
|
||||
if (n > src->datalen) {
|
||||
if (n >= src->datalen) {
|
||||
memcpy(CHUNK_WRITE_PTR(dest), src->data, src->datalen);
|
||||
dest->datalen += src->datalen;
|
||||
dest->next = src->next;
|
||||
@ -2436,7 +2436,14 @@ assert_buf_ok(buf_t *buf)
|
||||
total += ch->datalen;
|
||||
tor_assert(ch->datalen <= ch->memlen);
|
||||
tor_assert(ch->data >= &ch->mem[0]);
|
||||
tor_assert(ch->data < &ch->mem[0]+ch->memlen);
|
||||
tor_assert(ch->data <= &ch->mem[0]+ch->memlen);
|
||||
if (ch->data == &ch->mem[0]+ch->memlen) {
|
||||
static int warned = 0;
|
||||
if (! warned) {
|
||||
log_warn(LD_BUG, "Invariant violation in buf.c related to #15083");
|
||||
warned = 1;
|
||||
}
|
||||
}
|
||||
tor_assert(ch->data+ch->datalen <= &ch->mem[0] + ch->memlen);
|
||||
if (!ch->next)
|
||||
tor_assert(ch == buf->tail);
|
||||
|
@ -1598,7 +1598,6 @@ destination_from_socket(entry_connection_t *conn, socks_request_t *req)
|
||||
struct sockaddr_storage orig_dst;
|
||||
socklen_t orig_dst_len = sizeof(orig_dst);
|
||||
tor_addr_t addr;
|
||||
int rv;
|
||||
|
||||
#ifdef TRANS_TRPOXY
|
||||
if (options->TransProxyType_parsed == TPT_TPROXY) {
|
||||
@ -1613,6 +1612,7 @@ destination_from_socket(entry_connection_t *conn, socks_request_t *req)
|
||||
#endif
|
||||
|
||||
#ifdef TRANS_NETFILTER
|
||||
int rv = -1;
|
||||
switch (ENTRY_TO_CONN(conn)->socket_family) {
|
||||
#ifdef TRANS_NETFILTER_IPV4
|
||||
case AF_INET:
|
||||
@ -1763,7 +1763,8 @@ connection_ap_get_original_destination(entry_connection_t *conn,
|
||||
if (options->TransProxyType_parsed == TPT_PF_DIVERT)
|
||||
return destination_from_socket(conn, req);
|
||||
|
||||
if (options->TransProxyType_parsed == TPT_DEFAULT)
|
||||
if (options->TransProxyType_parsed == TPT_DEFAULT ||
|
||||
options->TransProxyType_parsed == TPT_IPFW)
|
||||
return destination_from_pf(conn, req);
|
||||
|
||||
(void)conn;
|
||||
|
@ -5086,19 +5086,26 @@ MOCK_IMPL(void,
|
||||
|
||||
log_fn(severity,
|
||||
LD_CONTROL, "Problem bootstrapping. Stuck at %d%%: %s. (%s; %s; "
|
||||
"count %d; recommendation %s)",
|
||||
"count %d; recommendation %s; host %s at %s:%d)",
|
||||
status, summary, warn,
|
||||
orconn_end_reason_to_control_string(reason),
|
||||
bootstrap_problems, recommendation);
|
||||
bootstrap_problems, recommendation,
|
||||
hex_str(or_conn->identity_digest, DIGEST_LEN),
|
||||
or_conn->base_.address,
|
||||
or_conn->base_.port);
|
||||
|
||||
connection_or_report_broken_states(severity, LD_HANDSHAKE);
|
||||
|
||||
tor_snprintf(buf, sizeof(buf),
|
||||
"BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s "
|
||||
"COUNT=%d RECOMMENDATION=%s",
|
||||
"COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s:%d\"",
|
||||
bootstrap_percent, tag, summary, warn,
|
||||
orconn_end_reason_to_control_string(reason), bootstrap_problems,
|
||||
recommendation);
|
||||
recommendation,
|
||||
hex_str(or_conn->identity_digest, DIGEST_LEN),
|
||||
or_conn->base_.address,
|
||||
(int)or_conn->base_.port);
|
||||
|
||||
tor_snprintf(last_sent_bootstrap_message,
|
||||
sizeof(last_sent_bootstrap_message),
|
||||
"WARN %s", buf);
|
||||
|
@ -165,18 +165,21 @@ static crypto_pk_t *pregen_keys[5] = {NULL, NULL, NULL, NULL, NULL};
|
||||
crypto_pk_t *
|
||||
pk_generate(int idx)
|
||||
{
|
||||
int res;
|
||||
#ifdef CACHE_GENERATED_KEYS
|
||||
tor_assert(idx < N_PREGEN_KEYS);
|
||||
if (! pregen_keys[idx]) {
|
||||
pregen_keys[idx] = crypto_pk_new();
|
||||
tor_assert(!crypto_pk_generate_key(pregen_keys[idx]));
|
||||
res = crypto_pk_generate_key(pregen_keys[idx]);
|
||||
tor_assert(!res);
|
||||
}
|
||||
return crypto_pk_dup_key(pregen_keys[idx]);
|
||||
#else
|
||||
crypto_pk_t *result;
|
||||
(void) idx;
|
||||
result = crypto_pk_new();
|
||||
tor_assert(!crypto_pk_generate_key(result));
|
||||
res = crypto_pk_generate_key(result);
|
||||
tor_assert(!res);
|
||||
return result;
|
||||
#endif
|
||||
}
|
||||
|
@ -36,9 +36,11 @@ if [ ! -d "$DATA_DIR" ]; then
|
||||
fi
|
||||
trap "rm -rf '$DATA_DIR'" 0
|
||||
|
||||
touch "$DATA_DIR"/empty_torrc
|
||||
|
||||
# DisableNetwork means that the ORPort won't actually be opened.
|
||||
# 'ExitRelay 0' suppresses a warning.
|
||||
TOR="./src/or/tor --hush --DisableNetwork 1 --ShutdownWaitLength 0 --ORPort 12345 --ExitRelay 0"
|
||||
TOR="./src/or/tor --hush --DisableNetwork 1 --ShutdownWaitLength 0 --ORPort 12345 --ExitRelay 0 -f $DATA_DIR/empty_torrc"
|
||||
|
||||
if [ -s "$DATA_DIR"/keys/secret_id_key ] && [ -s "$DATA_DIR"/keys/secret_onion_key ] &&
|
||||
[ -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
|
||||
|
Loading…
Reference in New Issue
Block a user