summaryrefslogtreecommitdiff
path: root/src/or/relay.c
AgeCommit message (Collapse)Author
2005-04-01update copyright notices.Nick Mathewson
svn:r3982
2005-03-27clean up socks reply stuff more.Roger Dingledine
add a few more reasons so we can be more informative. svn:r3895
2005-03-27stop most cases of hanging up on a socks connection without sendingRoger Dingledine
the socks reject. audit for remaining ones. also make things more uniform so we always remember to hold-open-until-flushed, etc. svn:r3891
2005-03-26fix assert: stop trying to send a socks reply to an *exit*Roger Dingledine
connection when we get an end cell before it's finished opening. svn:r3886
2005-03-25fix another case where we need to send a socks reply (reject)Roger Dingledine
back before we close the conn. svn:r3876
2005-03-24forward-port the circuit_resume_edge_reading_helper fix.Roger Dingledine
svn:r3863
2005-03-23whoops, fix seg fault i just introducedRoger Dingledine
svn:r3828
2005-03-23fix assert triggers (bugs 109 and 96), and put in someRoger Dingledine
debugging logs to notice future repeat bugs. svn:r3826
2005-03-22Specify and implement close-stream and close-circuit control messagesNick Mathewson
svn:r3814
2005-03-22remove obsolete codeRoger Dingledine
svn:r3809
2005-03-17Commit fixes for several pending tor core tasks: document all DOCDOCed ↵Nick Mathewson
functions; time out uncontrolled unattached streams; feed reasons to SOCKS5 (refactoring connection_ap_handshake_socks_reply in the process); change DirFetchPeriod/StatusFetchPeriod to have a special "Be smart" value. svn:r3769
2005-03-14Raise common code for "detach this stream and try it with a different ↵Nick Mathewson
circuit" into a separate function; make that function handle controller-managed streams right. svn:r3756
2005-03-13bugfix: now that we don't do the client dns thing, our checksRoger Dingledine
to see if somebody was contradicting his exit policy were wrong. svn:r3755
2005-03-11Remove unused macro; add a comment on remaining macros.Nick Mathewson
svn:r3744
2005-03-10Fix error codes to work on windowsNick Mathewson
svn:r3738
2005-03-02Still more code to make sure we send the right number and kind of RELAY END ↵Nick Mathewson
cells svn:r3723
2005-03-01Revise all calls to connection_edge_end to avoid sending MISC, and to take ↵Nick Mathewson
errno into account where possible. svn:r3720
2005-03-01Forward-port new reasons; clean up code more; add code to convert new ↵Nick Mathewson
reasons to SOCKS5 reply codes; add code to convert errnos to reasons. New code still needs to get invoked. svn:r3719
2005-02-24cache .exit address better (i think)Roger Dingledine
svn:r3684
2005-02-24stop a potential overflow (pointed out by ilja)Roger Dingledine
svn:r3681
2005-02-22Add a new AddressMap directive to rewrite incoming socks addresses.Roger Dingledine
Add a new TrackHostExits directive to trigger addressmaps for certain incoming socks addresses, for sites that break when your exit keeps changing. Redo the client-side dns cache so it's just an addressmap too. svn:r3641
2005-02-13remove redundant unpack in critical pathNick Mathewson
svn:r3620
2005-01-30be safe: if you got a resolvefailed end cell but you're not an AP, bail.Roger Dingledine
svn:r3469
2005-01-17Introduce a notion of 'internal' circs, which are chosen without regardRoger Dingledine
to the exit policy of the last hop. Intro and rendezvous circs must be internal circs, to avoid leaking information. Resolve and connect streams can use internal circs if they want. New circuit pooling algorithm: make sure to have enough circs around to satisfy any predicted ports, and also make sure to have 2 internal circs around if we've required internal circs lately (with high uptime if we've seen that lately). Split NewCircuitPeriod config option into NewCircuitPeriod (30 secs), which describes how often we retry making new circuits if current ones are dirty, and MaxCircuitDirtiness (10 mins), which describes how long we're willing to make use of an already-dirty circuit. Once rendezvous circuits are established, keep using the same circuit as long as you attach a new stream to it at least every 10 minutes. (So web browsing doesn't require you to build new rend circs every 30 seconds.) Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND circ as necessary, if there are any completed ones lying around when we try to launch one. Re-instate the ifdef's to use version-0 style introduce cells, since there was yet another bug in handling version-1 style. We'll try switching over again after 0.0.9 is obsolete. Bugfix: when choosing an exit node for a new non-internal circ, don't take into account whether it'll be useful for any pending x.onion addresses -- it won't. Bugfix: we weren't actually publishing the hidden service descriptor when it became dirty. So we only published it every 20 minutes or so, which means when you first start your Tor, the hidden service will seem broken. svn:r3360
2005-01-06clean up string printing in relay logsRoger Dingledine
svn:r3317
2005-01-06fix trivial typo in log entryRoger Dingledine
svn:r3316
2005-01-01Fix a double-mark-for-close bug, where we were finding a connRoger Dingledine
for a cell even if that conn is already marked for close. Don't back-port to 0.0.9.x, since this fix could have weird implications. svn:r3235
2004-12-13clarify a log entryRoger Dingledine
svn:r3142
2004-12-13clean up logging,Roger Dingledine
make it clearer which warns are bugs, make the control log event match its specification, point out a bug in how we deal with failure when renewing the tls context. svn:r3138
2004-12-07avoid a sigpipe from a race: if we get the end right afterRoger Dingledine
the app has hung up on us, we shouldn't hold-open-until-flush. svn:r3109
2004-11-29Suggestion from weasel: Make tor --version --version dump the cvs Id of ↵Nick Mathewson
every file. svn:r3019
2004-11-28wrong is ok, and right is fine, but in between is apparentlyRoger Dingledine
totally unacceptable to me. svn:r3005
2004-11-28Normalize space: add one between every control keyword and control clause.Nick Mathewson
svn:r3003
2004-11-28one of the debugging aids was misleadingRoger Dingledine
svn:r3000
2004-11-26give up trying to track down the reason we're calling package_inbufRoger Dingledine
with a package window of 0. it's safe to just catch the error cases there and do the right thing. svn:r2988
2004-11-21clean up some more.Roger Dingledine
i think i'm getting closer. svn:r2931
2004-11-21some more debugging aidsRoger Dingledine
svn:r2929
2004-11-21be more greedy about filling up all relay cells.Roger Dingledine
this may have some bugs in it still. and it may end up not being what we want to do. svn:r2928
2004-11-15clean up socks handling, refuse connections to port 0Roger Dingledine
svn:r2888
2004-11-12Rename exit_policy to addr_policy, since it gets used for SOCKS and ↵Nick Mathewson
directory connections too. Make all policies get validated in options_validate, and make SOCKS/directory policies get set in options_act. svn:r2819
2004-11-09Normalize whitespace; add a "tell me about all the unnormalized whitespace" ↵Nick Mathewson
target; fix a braino in dirserv.c svn:r2758
2004-11-07Clean up copyrights.Roger Dingledine
Break connection_consider_empty_buckets() out of connection_read_bucket_decrement(). svn:r2698
2004-11-06Make options no longer a global variable.Roger Dingledine
Now we can try setting an option but back out if it fails to parse, or if it's disallowed (e.g. changing RunAsDaemon from 1 to 0). Use parse_line_from_str rather than parse_line_from_file. svn:r2692
2004-11-02Use a stricter set of warnings; make them all pass.Nick Mathewson
svn:r2645
2004-11-02canonicalize "src" and "dest" arg order in crypto.c (and others)Roger Dingledine
svn:r2644
2004-10-16don't assert multiple things in the same tor_assert()Roger Dingledine
svn:r2544
2004-10-14Build without warnings on mac gcc 3.3Nick Mathewson
svn:r2487
2004-10-14more int to size_t conversions, fixing one or more amd64 bugsRoger Dingledine
plus a whitespace patch on config.c from vicman svn:r2482
2004-08-15fix assert triggers in 0.0.7.x: if the other side returnsRoger Dingledine
an address 0.0.0.0, don't put it into the client dns cache. svn:r2233
2004-08-15o clients choose nodes proportional to advertised bandwidthRoger Dingledine
o and/or while avoiding unreliable nodes, depending on goals o 'fascistfirewall' option to pick dirservers on port 80 and ORs on port 443. o if a begin failed due to exit policy, but we believe the IP should have been allowed, switch that router to exitpolicy reject *:* until we get our next directory. svn:r2231