| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Rename some fields, compress a bitfield, and document some structs and fields
svn:r6919
|
|
|
|
|
|
|
| |
Clean up wide lines from last patch.
svn:r6907
|
|
|
|
|
|
|
| |
Refactor connection_t into edge, or, dir, control, and base subtypes. This might save some RAM on busy exit servers, but really matters most in terms of correctness.
svn:r6906
|
|
|
|
|
|
|
| |
Move rend_query to origin_circuit_t where it belongs; save another 17 bytes per OR circuit.
svn:r6903
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
circuit_t into origin_circuit_t and or_circuit_t. I fixed some
segaults; there may be more. We still need to move more rendezvous
stuff into subtypes.
This is a trial run for splitting up connection_t; if the approach is
insane, please say so soon so we can do something smarter.
Also, this discards the old HALF_OPEN code, which nobody seems to
want.
svn:r6817
|
|
|
|
|
|
|
|
| |
its webserver is misconfigured to not listen on localhost, then back
off and try connecting from somewhere else before we fail.
svn:r6783
|
|
|
|
| |
svn:r6782
|
|
|
|
| |
svn:r6566
|
|
|
|
|
|
|
| |
consider ourselves reachable. this just confuses them.
svn:r6546
|
|
|
|
|
|
|
| |
on non-open circuits.
svn:r6540
|
|
|
|
|
|
| |
we have to explicitly "use" unuseds, but it can catch bugs. (It caught two coding mistakes so far.)
svn:r6532
|
|
|
|
|
|
|
| |
haven't tried to establish any circuits lately.
svn:r6516
|
|
|
|
| |
svn:r6396
|
|
|
|
|
|
|
|
| |
are reachability testing and rendserv upload/downloads, and they
have their own failure messages elsewhere.
svn:r6343
|
|
|
|
|
|
|
| |
Fix some minor bugs and memory leaks along the way.
svn:r6246
|
|
|
|
|
|
|
| |
first hop, so they don't have to time out.
svn:r6225
|
|
|
|
| |
svn:r6220
|
|
|
|
|
|
|
|
|
|
| |
wait unattached before we fail it?
Use this value for controller socks timeout, for normal socks
timeout, and for hidden-service socks timeout.
svn:r6217
|
|
|
|
| |
svn:r6214
|
|
|
|
|
|
|
|
| |
I have absolutely no idea if this change helps or hurts.
Somebody should study this.
svn:r6212
|
|
|
|
|
|
|
| |
'named' and 'valid'.
svn:r6188
|
|
|
|
| |
svn:r6174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Surround all constants by (parens), whether we'll be using them
in a denominator or not.
2) Express all time periods as products (24*60*60), not as multiplied-out
constants (86400).
3) Comments like "(60*60) /* one hour */" are as pointless as comments
like "c = a + b; /* set c to the sum of a and b */". Remove them.
4) All time periods should be #defined constants, not given inline.
5) All time periods should have doxygen comments.
6) All time periods, unless specified, are in seconds. It's not necessary
to say so.
To summarize, the old (lack of) style would allow:
#define FOO_RETRY_INTERVAL 60*60 /* one hour (seconds) */
next_try = now + 3600;
The new style is:
/** How often do we reattempt foo? */
#define FOO_RETRY_INTERVAL (60*60)
next_try = now + RETRY_INTERVAL;
svn:r6142
|
|
|
|
|
|
| |
the log. Use them everywhere except for routerinfo->plaftorm, routerinfo->contact_info, and rend*.c. (need sleep now)
svn:r6087
|
|
|
|
| |
svn:r6002
|
|
|
|
|
|
| |
when we unexpectedly get an app connection
svn:r5962
|
|
|
|
| |
svn:r5949
|
|
|
|
|
|
|
| |
this is our last easy chance for a wholesale change. heave ho.
svn:r5782
|
|
|
|
| |
svn:r5734
|
|
|
|
|
|
|
|
| |
(config options EntryNodes and StrictEntryNodes still not
implemented.)
svn:r5673
|
|
|
|
| |
svn:r5669
|
|
|
|
|
|
|
|
|
| |
have a circuit in mind, and we timeout (30 seconds) because the
network never answers, we were expiring the circuit, but we weren't
obsoleting the connection or telling the helper functions. now do that.
svn:r5668
|
|
|
|
|
|
| |
have_minimum_dir_info, and make the latter function smarter.
svn:r5591
|
|
|
|
|
|
| |
intended.
svn:r5582
|
|
|
|
|
|
|
| |
with him.
svn:r5567
|
|
|
|
|
|
|
|
|
|
|
|
| |
we screwed up the formatting in wild and unpredictable ways.
fix it before it becomes convention to format logs in wild and
unpredictable ways.
still need to do src/common/ someday.
svn:r5551
|
|
|
|
| |
svn:r5511
|
|
|
|
|
|
|
| |
not its nickname, because the chosen exit might not be verified.
svn:r5499
|
|
|
|
|
|
|
|
| |
Nick, can you confirm this one?
This is also a backport candidate.
svn:r5497
|
|
|
|
|
|
|
| |
circuits after they had been around for 30 seconds.
svn:r5496
|
|
|
|
|
|
|
| |
but leave the other half.
svn:r5495
|
|
|
|
|
|
|
|
|
|
| |
we were killing off rendezvous circuits unless they magically time-warped
to be too old before we got around to killing them, in which case we
would leave them alone. this made it hard to rendezvous with hidden
services.
svn:r5494
|
|
|
|
| |
svn:r5493
|
|
|
|
|
|
| |
circuit_expire_building
svn:r5492
|
|
|
|
|
|
| |
closing in circuit_about_to_close_connection. This accounts for our mysterious "arbitrary ram gets decremented!" bug.
svn:r5465
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Weasel says circuit_get_by_conn is his main timesink. Most of its
users were just checking whether OR conns had circuits, so add a
circuit count to OR conns, and check that. One was
circuit_about_to_close_conn, which was doing an O(n^2) series of calls
to get all circs on an OR conn, so make an O(n) function for that.
Finally, circuit_get_by_edge_conn was using it as a sanity test that
has been around for a while but never found any actualy insanity, so
kill that.
circuit_get_by_conn is finally dead, which is good, since it was never
sane to begin with.
svn:r5460
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
separately. It's important to keep them separate because internal
circuits have their last hops picked like middle hops, rather than like
exit hops. So exiting on them will break the user's expectations.
- Stop cannibalizing internal circuits for general exits, and stop
cannibalizing exit circuits for rendezvous stuff.
- Don't let new exit streams attach to internal circuits.
- When deciding if we have enough circuits for internal and for exit,
don't count the wrong ones.
- Treat predicted resolves as predicted port 80 exits.
svn:r5457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
don't tell you (it happens!); and rotate TLS connections once a week.
1) If an OR conn becomes more than a week old, make it obsolete.
2) If it's obsolete and empty, kill it.
3) When an OR makes a second connection to you, allow it.
4) If we want to send a new create cell, but the best conn we've
got is obsolete, and the router is 0.1.1.9-alpha-cvs or later, ask
for a new conn instead.
5) When we time out on circuit building on the first hop, make that
connection obsolete.
svn:r5429
|
|
|
|
| |
svn:r5375
|
|
|
|
|
|
|
|
| |
node in mind, we weren't checking to see if that exit node
was already present earlier in the circuit. oops.
svn:r5357
|