Nick Mathewson
f0bce2dc35
Fix some harmless/untriggerable memory leaks found by coverity
2014-04-07 23:20:13 -04:00
Nick Mathewson
595303fd1e
Merge remote-tracking branch 'public/bug10363_024_squashed'
2014-04-07 23:03:04 -04:00
Nick Mathewson
092ac26ea2
Fix undefined behavior with pointer addition in channeltls.c
...
In C, it's a bad idea to do this:
char *cp = array;
char *end = array + array_len;
/* .... */
if (cp + 3 >= end) { /* out of bounds */ }
because cp+3 might be more than one off the end of the array, and
you are only allowed to construct pointers to the array elements,
and to an element one past the end. Instead you have to say
if (cp - array + 3 >= array_len) { /* ... */ }
or something like that.
This patch fixes two of these: one in process_versions_cell
introduced in 0.2.0.10-alpha, and one in process_certs_cell
introduced in 0.2.3.6-alpha. These are both tracked under bug
10363. "bobnomnom" found and reported both. See also 10313.
In our code, this is likely to be a problem as we used it only if we
get a nasty allocator that makes allocations end close to (void*)-1.
But it's best not to have to worry about such things at all, so
let's just fix all of these we can find.
2014-04-07 22:56:42 -04:00
Nick Mathewson
90341b4852
For missing transport, say "PT_MISSING" not "NO_ROUTE"
2014-04-07 13:44:22 -04:00
Nick Mathewson
754a50592c
Forward-port bug9665 fix to work with our fix for 11069
2014-04-07 13:41:07 -04:00
Fábio J. Bertinatto
08ae53e400
Fix bug9665
2014-04-07 13:36:36 -04:00
Nick Mathewson
bc0882c868
Merge remote-tracking branch 'public/bug9650'
2014-04-05 14:53:48 -04:00
Nick Mathewson
2ff664ee20
Merge remote-tracking branch 'public/bug10801_024'
...
Conflicts:
src/common/address.c
src/or/config.c
2014-04-05 14:50:57 -04:00
Nick Mathewson
8f16a77d6a
Protocol_Warn when a rendezvous cookie is used twice.
2014-04-04 12:17:16 -04:00
Nick Mathewson
1bb6e3b503
Merge remote-tracking branch 'public/bug9841_024_v2' into bug9841_025
2014-04-04 12:05:51 -04:00
Nick Mathewson
09dbcf3b82
Fix to 9841 fix: setting a token to NULL should clear it
...
Found by testing with chutney. The old behavior was "fail an
assertion", which obviously isn't optimal.
Bugfix on 8b9a2cb68b290e550695124d7ef0511225b451d5; bug not in any
released version.
2014-04-04 12:01:49 -04:00
Nick Mathewson
d290e36576
Fix make_socket_reusable() on windows. Bug not in any released Tor
2014-04-02 21:11:45 -04:00
Nick Mathewson
24c4b56a39
Merge remote-tracking branch 'public/bug10081'
2014-04-02 15:45:20 -04:00
Nick Mathewson
da908a593f
Unit tests for connection_edge_process_resolved_cell
...
Also rename a function to be more accurate (resolve->resolved)
2014-04-02 15:38:00 -04:00
Nick Mathewson
c230ff4ca9
Look at all of a RESOLVED cell; not just the first answer.
...
Also, stop accepting the old kind of RESOLVED cells with no TTL
fields; they haven't been sent since 0.1.1.6-alpha.
This patch won't work without the fix to #10468 -- it will break
DNSPorts unless they set the proper ipv4/6 flags on entry_connection_t.
2014-04-02 15:38:00 -04:00
Nick Mathewson
2f59d6e2d8
Drop MAX_REND_FAILURES to 8
2014-04-02 15:36:13 -04:00
Nick Mathewson
4fb3ae69a6
Extract code to handle RESOLVED cells
...
No other changes have been made; only code has been moved.
2014-04-01 23:30:41 -04:00
Nick Mathewson
17d5734df4
Merge remote-tracking branch 'public/bug11278'
2014-04-01 21:56:49 -04:00
Nick Mathewson
86f619d0d3
Merge remote-tracking branch 'public/bug10468_024'
2014-04-01 21:50:55 -04:00
Nick Mathewson
fc9e84062b
Merge remote-tracking branch 'public/bug4645'
...
Conflicts:
src/or/dirserv.c
2014-04-01 21:49:01 -04:00
Nick Mathewson
408bd98e79
Add one more missing heck on bug4645 fixes
2014-04-01 21:10:14 -04:00
Nick Mathewson
b4b91864bb
Merge remote-tracking branch 'public/bug9870'
...
Conflicts:
src/or/config.c
2014-04-01 20:48:15 -04:00
Nick Mathewson
c0441cca8b
Merge branch 'bug8787_squashed'
2014-03-31 11:57:56 -04:00
Nick Mathewson
1a9b4bd28c
Munmap the right pointers in routerlist_free()
2014-03-31 11:43:51 -04:00
Nick Mathewson
449b87791d
NULL out all mappings after tor_munmap_file()
2014-03-31 11:42:49 -04:00
Andrea Shepard
abdf1878a3
Always check returns from unlink()
2014-03-31 11:27:08 -04:00
Andrea Shepard
df076eccfa
Always check returns from tor_munmap_file() in microdesc.c
2014-03-31 11:27:08 -04:00
Andrea Shepard
947a6daa31
Always check returns from tor_munmap_file() in routerlist.c
2014-03-31 11:27:08 -04:00
Nick Mathewson
f82e499aa5
Merge remote-tracking branch 'public/bug11342'
2014-03-31 10:51:09 -04:00
Nick Mathewson
5e0cfba969
Fix a clang compilation warning
...
Subtracting two time_t values was yielding something that maybe
can't be fit in an int.
Bugfix on 0389d4aa; bug not in any released Tor.
2014-03-31 10:07:42 -04:00
Nick Mathewson
bfe783f167
Make dump_desc() use binary mode
...
Otherwise, it could mung the thing that came over the net on windows,
which would defeat the purpose of recording the unparseable thing.
Fixes bug 11342; bugfix on 0.2.2.1-alpha.
2014-03-27 23:53:03 -04:00
Nick Mathewson
9efd970dd9
Merge branch 'bug9658_refactor'
2014-03-27 23:00:28 -04:00
Nick Mathewson
6ad7f3417c
Renamed "onionskins_completed" to "onionskins_assigned"
...
This improves the accuracy of the function/variable names.
2014-03-27 22:57:53 -04:00
Nick Mathewson
46a3914079
Respond to AAAA requests on DNSPort with AAAA automaps
...
Other DNS+IPv6 problems remain, but at least this fixes the
automapping.
Fixes bug 10468; bugfix on 0.2.4.7-alpha.
2014-03-27 17:41:43 -04:00
Nick Mathewson
753a246a14
check outputs from get_first_listener_addrport_string
...
Fix for 9650; bugfix for 0.2.3.16-alpha.
2014-03-27 17:12:01 -04:00
Nick Mathewson
b0bbe6b2f1
Report only the first bootstrap failure from an orconn
...
Otherwise, when we report "identity mismatch", we then later report
DONE when the connection gets closed.
Fixes bug 10431; bugfix on 0.2.1.1-alpha.
2014-03-27 15:58:43 -04:00
Nick Mathewson
24e0b1088a
whitespace fix
2014-03-27 15:34:57 -04:00
Nick Mathewson
9c0a1adfa2
Don't do a DNS lookup on a bridge line address
...
Fixes bug 10801; bugfix on 07bf274d
in 0.2.0.1-alpha.
2014-03-27 15:31:29 -04:00
Nick Mathewson
2721246f5d
Merge branch 'bug7164_diagnose_harder_v2'
2014-03-27 14:26:21 -04:00
Nick Mathewson
0389d4aa56
More logs to try to diagnose bug 7164
...
This time, check in microdesc_cache_clean() to see what could be
going wrong with an attempt to clean a microdesc that's held by a node.
2014-03-27 14:23:19 -04:00
Nick Mathewson
60abc4804f
Don't warn when setsockopt(SO_REUSEABLE) on accept()ed socket says EINVAL
...
This should fix bug10081. I believe this bug pertains to OSX
behavior, not any Tor behavior change.
2014-03-27 13:55:18 -04:00
Nick Mathewson
6da2544f20
Turn off testing code for #9683 .
...
(This wasn't supposed to get committed turned-on.)
2014-03-26 10:31:56 -04:00
Nick Mathewson
07eb481492
Demote "Invalid length on ESTABLISH_RENDEZVOUS" to protocol_warn
...
Fixes bug 11279
2014-03-25 11:55:27 -04:00
Nick Mathewson
d5e11f21cc
Fix warnings from doxygen
...
Most of these are simple. The only nontrivial part is that our
pattern for using ENUM_BF was confusing doxygen by making declarations
that didn't look like declarations.
2014-03-25 11:27:43 -04:00
Nick Mathewson
852fd1819e
Free placeholder circid/chan->circuit map entries on exit
...
In circuitlist_free_all, we free all the circuits, removing them from
the map as we go, but we weren't actually freeing the placeholder
entries that we use to indicate pending DESTROY cells.
Fix for bug 11278; bugfix on the 7912 code that was merged in
0.2.5.1-alpha
2014-03-25 10:14:26 -04:00
Roger Dingledine
85ef58e5ba
quiet the debug message in circuit_build_times_disabled()
...
something recently made it get called once per second, which will clutter
up your debug log file.
2014-03-24 02:33:17 -04:00
Nick Mathewson
3ddbf2880f
Merge remote-tracking branch 'public/bug11275_024'
2014-03-23 15:56:23 -04:00
Roger Dingledine
eff16e834b
Stop leaking 'sig' at each call of router_append_dirobj_signature()
...
The refactoring in commit cb75519b
(tor 0.2.4.13-alpha) introduced
this leak.
2014-03-23 15:53:51 -04:00
Roger Dingledine
ddaeb4deee
Be more lenient in our fix for bug 11149
...
There are still quite a few 0.2.3.2x relays running for x<5, and while I
agree they should upgrade, I don't think cutting them out of the network
is a net win on either side.
2014-03-23 02:53:08 -04:00
Nick Mathewson
f560eeadc3
Remove the unused circuit_dump_by_chan().
...
Also remove its helper function.
2014-03-23 00:28:39 -04:00
Nick Mathewson
2cfc4453c2
Merge remote-tracking branch 'public/bug9683_rebased'
2014-03-23 00:20:05 -04:00
Nick Mathewson
f4e2c72bee
Merge remote-tracking branch 'karsten/task-11070'
2014-03-23 00:18:48 -04:00
Nick Mathewson
f2c6c5e69c
Merge branch 'ticket11149'
2014-03-23 00:18:11 -04:00
Andrea Shepard
3b31b45ddb
Appease make check-spaces
2014-03-18 10:26:44 -07:00
Karsten Loesing
7450403410
Take out remaining V1 directory code.
2014-03-18 10:40:10 +01:00
Nick Mathewson
d769cab3e5
Defensive programming: null [pn]_chan,circ_id in circuit_mark_for_close_
...
Doing this as part of the patch for #9683 to prevent possible bugs
down the line
2014-03-14 11:58:34 -04:00
Nick Mathewson
1a74360c2d
Test code for implementation of faster circuit_unlink_all_from_channel
...
This contains the obvious implementation using the circuitmux data
structure. It also runs the old (slow) algorithm and compares
the results of the two to make sure that they're the same.
Needs review and testing.
2014-03-14 11:57:51 -04:00
Nick Mathewson
df836b45b0
Merge remote-tracking branch 'asn/bug5018_notice'
2014-03-12 11:10:51 -04:00
Nick Mathewson
9077118ee2
Remove the unused router_hex_digest_matches
...
When I removed some unused functions in 5bfa373eee
, this became
unused as well.
2014-03-11 11:17:46 -04:00
Nick Mathewson
cce06b649e
Merge remote-tracking branch 'asn/bug11069_take2'
2014-03-11 11:04:47 -04:00
George Kadianakis
1c475eb018
Throw control port warning if we failed to connect to all our bridges.
2014-03-10 22:52:07 +00:00
George Kadianakis
cc1bb19d56
Tone down the log message for when we don't need a PT proxy.
2014-03-10 22:05:31 +00:00
Nick Mathewson
b8ceb464e5
Merge branch 'bug11156_squashed'
2014-03-10 14:08:38 -04:00
Nick Mathewson
0c04416c11
Merge branch 'bug11043_take2_squashed'
2014-03-10 14:08:29 -04:00
George Kadianakis
6606e676ee
Don't do directory fetches before all PTs have been configured.
2014-03-10 14:07:56 -04:00
George Kadianakis
8c8e21e296
Improve the log message for when the Extended ORPort is not enabled.
2014-03-10 12:54:46 -04:00
Nick Mathewson
a50690e68f
Merge remote-tracking branch 'origin/maint-0.2.4'
2014-03-06 11:52:22 -05:00
Nick Mathewson
4a2a1e572e
Merge branch 'bug11108'
2014-03-06 10:22:40 -05:00
Nick Mathewson
cbf9e74236
Correct the URL in the "a relay on win95???" message
...
This is a fix for 9393; it's not a bugfix on any Tor version per se,
but rather on whatever Tor version was current when we reorganized the
wiki.
2014-03-06 09:57:42 -05:00
Nick Mathewson
a4b447604a
Stop accepting 0.2.2 relay uploads for the consensus.
...
Resolves ticket 11149.
2014-03-06 09:38:35 -05:00
Nick Mathewson
663aba07e5
Fix whitespace errors, all of them mine.
2014-03-05 14:36:32 -05:00
Nick Mathewson
22ccfc6b5f
Rename PredictedCircsRelevanceTime->PredictedPortsRelevanceTime
...
All circuits are predictive; it's the ports that are expiring here.
2014-03-05 14:35:07 -05:00
Nick Mathewson
103cebd924
Merge branch 'ticket9176_squashed'
...
Conflicts:
doc/tor.1.txt
2014-03-05 14:32:05 -05:00
Nick Mathewson
25374d307d
Fix wide lines.
2014-03-05 14:31:13 -05:00
Nick Mathewson
2c25bb413e
Lower the maximum for PrecictedCircsRelevanceTime to one hour
2014-03-05 14:31:13 -05:00
unixninja92
4f03804b08
Fixed spacing.
2014-03-05 14:31:13 -05:00
unixninja92
5c310a4fa2
Added max value to PredictedCircsRelevanceTime.
2014-03-05 14:31:13 -05:00
unixninja92
898154f717
PredictedCircsRelevanceTime: limit how long we predict a port will be used
...
By default, after you've made a connection to port XYZ, we assume
you might still want to have an exit ready to connect to XYZ for one
hour. This patch lets you lower that interval.
Implements ticket 91
2014-03-05 14:29:54 -05:00
Nick Mathewson
f0b2dc83b6
Merge remote-tracking branch 'arma/ticket5528'
...
Conflicts:
src/or/router.c
src/test/test_dir.c
2014-03-05 12:44:40 -05:00
Nick Mathewson
496fe685fd
Include v3 in documented 'protocols' in rend_service_descriptor_t
...
Also make it unsigned and document that it's for INTRODUCE cell versions.
Fixes 9099; bugfix on 0.2.1.5-alpha, which introduced the v3 protocol.
2014-03-04 12:03:18 -05:00
Nick Mathewson
ab225aaf28
Merge branch 'bug10169_025_v2'
...
Conflicts:
src/test/test.c
2014-03-04 11:03:30 -05:00
Nick Mathewson
bb37544214
Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2
...
Conflicts:
src/common/compat_libevent.h
src/or/relay.c
2014-03-04 11:00:02 -05:00
Nick Mathewson
46118d7d75
Merge remote-tracking branch 'public/bug10169_023' into bug10169_024
...
Conflicts:
src/or/relay.c
2014-03-04 10:54:54 -05:00
Nick Mathewson
0db39eb89f
ATTR_NORETURN is needed on lost_owning_controller now
...
This should fixes some "hey, that function could have
__attribute__((noreturn))" warnings introduced by f96400d9
.
Bug not in any released version of Tor.
2014-03-03 10:54:20 -05:00
Nick Mathewson
4050dfa320
Warn if ports are specified in {Socks,Dir}Policy
...
We have ignored any ports listed here since 80365b989
(0.0.7rc1),
but we didn't warn the user that we were ignoring them. This patch
adds a warning if you put explicit ports in any of the options
{Socks,Dir}Policy or AuthDir{Reject,Invalid,BadDir,BadExit}. It
also adjusts the manpage to say that ports are ignored.
Fixes ticket 11108.
2014-03-03 10:45:39 -05:00
Roger Dingledine
bd49653f8e
trivial whitespace fixes
2014-03-03 06:53:08 -05:00
Nick Mathewson
0b7a66fac7
whitespace fix
2014-02-28 08:57:29 -05:00
Nick Mathewson
273f536d72
Merge branch 'bug10884_squashed'
2014-02-28 08:54:50 -05:00
Nick Mathewson
886d4be149
Unit tests for test_routerkeys_write_fingerprint
2014-02-28 08:53:14 -05:00
Nick Mathewson
25c0435aa5
Tighten router_write_fingerprint impl
2014-02-28 08:53:14 -05:00
Karsten Loesing
3ca5fe81e3
Write hashed bridge fingerprint to logs and to disk.
...
Implements #10884 .
2014-02-28 08:53:13 -05:00
Nick Mathewson
043329eeb6
Merge remote-tracking branch 'karsten/task-5824'
2014-02-28 08:32:13 -05:00
Nick Mathewson
833d027778
Monotonize the OOM-killer data timers
...
In a couple of places, to implement the OOM-circuit-killer defense
against sniper attacks, we have counters to remember the age of
cells or data chunks. These timers were based on wall clock time,
which can move backwards, thus giving roll-over results for our age
calculation. This commit creates a low-budget monotonic time, based
on ratcheting gettimeofday(), so that even in the event of a time
rollback, we don't do anything _really_ stupid.
A future version of Tor should update this function to do something
even less stupid here, like employ clock_gettime() or its kin.
2014-02-26 09:51:30 -05:00
Nick Mathewson
bf1678603f
Merge remote-tracking branch 'public/bug10449'
2014-02-25 16:09:15 -05:00
Nick Mathewson
c3800f631b
Merge remote-tracking branch 'public/no_itime_queue' into maint-0.2.4
2014-02-25 15:58:53 -05:00
Nick Mathewson
d21b24b3b6
Merge remote-tracking branch 'public/feature9777_024_squashed' into maint-0.2.4
2014-02-24 13:05:25 -05:00
Nick Mathewson
1753975ece
When not an exit node, don't test for DNS hijacking.
...
Back in 5e762e6a5c
, non-exit servers
stopped launching DNS requests for users. So there's no need for them
to see if their DNS answers are hijacked.
Patch from Matt Pagan. I think this is a 965 fix.
2014-02-21 18:04:48 +00:00
Nick Mathewson
6eba3584b1
Merge remote-tracking branch 'public/bug10987_024'
2014-02-21 17:29:48 +00:00
Nick Mathewson
f3e8271652
Style tweaks on code, changes file for 10987
2014-02-21 17:27:35 +00:00
David Goulet
1532cff2ce
Fix: send back correct IPv6 SOCKS5 connect reply
...
For a client using a SocksPort connection and IPv6, the connect reply
from tor daemon did not handle AF_INET6 thus sending back the wrong
payload to the client.
A changes file is provided and this fixes #10987
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2014-02-21 17:19:11 +00:00