aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
Commit message (Collapse)AuthorAge
...
* Choose directory servers from routerstatus list, not from routerinfo list. ↵Nick Mathewson2005-12-14
| | | | | | This way, as soon was we have a networkstatus, we can ask a cache to give us routers, rather than needing to ask the directories. svn:r5586
* Shave off 8 bytes per connection and 4 bytes per circuit by paying attention ↵Nick Mathewson2005-12-14
| | | | | | to padding warnings, moving fields around, and acknowledging that we have no files with over 64 kilolines. svn:r5583
* Bite the bullet and limit all our source lines to 80 characters, the way IBM ↵Nick Mathewson2005-12-14
| | | | | | intended. svn:r5582
* Have dirctory authorites note which servers make good V2 directory caches in ↵Nick Mathewson2005-12-12
| | | | | | publishe network-status. svn:r5574
* when we're checking reachability, make it clearer in the logsRoger Dingledine2005-12-08
| | | | | | | what to expect. svn:r5538
* Document CREATE_FAST better in the code. Move our key expansion algorithm ↵Nick Mathewson2005-12-08
| | | | | | into a separate function in crypto.c svn:r5530
* Make clients use CREATE_FAST cells. add an option to disable this.Nick Mathewson2005-12-07
| | | | svn:r5524
* Fix bug 212: Directory authorities should not try to download server ↵Nick Mathewson2005-12-06
| | | | | | descriptors that they know they will reject. svn:r5514
* Better fix for last bug: avoids trying to double-mark circuits.Nick Mathewson2005-12-05
| | | | svn:r5511
* Change how OR conns get removed from the identity map; fix some warnings on ↵Nick Mathewson2005-12-05
| | | | | | shutdown. svn:r5509
* Shave off another 4.7%: remove a linear search when figuring out which ↵Nick Mathewson2005-12-03
| | | | | | circuits wanted us to open a given OR connection. svn:r5489
* Fix some verbose warnings and remove an unneeded include.Nick Mathewson2005-11-30
| | | | svn:r5472
* remove some functions that are not used; #if0 out some files that are not ↵Nick Mathewson2005-11-30
| | | | | | likely to be used. svn:r5471
* Rename connection_get_by_identity_digest to reflect that it is OR-only. ↵Nick Mathewson2005-11-30
| | | | | | Make it use a hashtable instead of a linear search. svn:r5469
* clean up broken commentRoger Dingledine2005-11-26
| | | | svn:r5461
* "How about 'never'? Does 'never' work for you?"Nick Mathewson2005-11-26
| | | | | | | | | | | | | | | | | 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
* Start the process of treating internal circuits and exit circuitsRoger Dingledine2005-11-25
| | | | | | | | | | | | | | | | | | | 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
* Dump bytes held to store descriptors.Nick Mathewson2005-11-23
| | | | svn:r5443
* Track how many bytes we have in signed descriptors. Try to make sure we are ↵Nick Mathewson2005-11-23
| | | | | | tracking this right. Somebody should valgrind a dirserver on an example net. There should be code to dump this value. svn:r5442
* Add a new controller event type that allows controllers to get allPeter Palfrader2005-11-19
| | | | | | | | server descriptors that were uploaded to a router in its role as authoritative dirserver. svn:r5436
* Start obeying our firewall options more rigorously:Roger Dingledine2005-11-19
| | | | | | | | | | | | - If we can't get to a dirserver directly, try going via Tor. - Don't ever try to connect (as a client) to a place our firewall options forbid. - If we specify a proxy and also firewall options, obey the firewall options even when we're using the proxy: some proxies can only proxy to certain destinations. svn:r5431
* Recover better from TCP connections to Tor servers that are broken butRoger Dingledine2005-11-19
| | | | | | | | | | | | | | | | 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
* Leave options->DirServers alone -- if the user didn't specify any,Roger Dingledine2005-11-18
| | | | | | | | | | just add the default ones directly to the trusted dirserver list. This fixes a bug where people running controllers would setconf or the equivalent, and Tor would start yelling at them about setting their own DirServer lines. svn:r5418
* help the term "OP" become obsoleteRoger Dingledine2005-11-17
| | | | svn:r5403
* Add a new config option TestSocks so people can see if theirRoger Dingledine2005-11-16
| | | | | | | | | applications are using socks4, socks4a, socks5-with-ip, or socks5-with-hostname. This way they don't have to keep mucking with tcpdump and wondering if something got cached somewhere. svn:r5399
* when we were cannibalizing a circuit with a particular exitRoger Dingledine2005-11-11
| | | | | | | | node in mind, we weren't checking to see if that exit node was already present earlier in the circuit. oops. svn:r5357
* On directory servers, old_routers was wasting hundreds of bytes per ↵Nick Mathewson2005-11-05
| | | | | | superseded router descriptor. Roll the signed descriptor info and identifying info into a cache_info struct, and use only that for old_routers. svn:r5349
* enable code to remove members of old_routers when it gets big.Nick Mathewson2005-11-01
| | | | svn:r5345
* make circ->onionskin a pointer, not a static array. moria2 was usingRoger Dingledine2005-10-29
| | | | | | | | 125000 circuit_t's after it had been up for a few weeks, which translates to 20+ megs of wasted space. svn:r5333
* Do round-robin writes of at most 16 kB per write. This mightRoger Dingledine2005-10-29
| | | | | | | | be more fair on loaded Tor servers, and it might resolve our Windows crash bug. It might also slow things down. svn:r5332
* Start making directory caches retain old routerinfo_t. The code to remove ↵Nick Mathewson2005-10-27
| | | | | | old ones is definitely some textbook C problem. svn:r5323
* Remove last vestiges of old logging interface.Nick Mathewson2005-10-25
| | | | svn:r5317
* Efficiency hack: call tor_fix_source_file late, not early. Add "BUG" ↵Nick Mathewson2005-10-25
| | | | | | domain. Domains are now bitmasks... just in case. Make some err msgs non-general. svn:r5309
* Fix one possible source of reuse-a-circuit-id bug; convert circuitbuild to ↵Nick Mathewson2005-10-24
| | | | | | new logging svn:r5301
* Migrate a few more files to domained loggingNick Mathewson2005-10-18
| | | | svn:r5285
* Start dividing log messages into logging domains. No, LD_ is not the best ↵Nick Mathewson2005-10-18
| | | | | | of identifiers. src/or has not been converted yet. Domains dont do anything yet. svn:r5284
* Use digestmap_t instead of strmap_t where appropriate. Do less hex en/decodingNick Mathewson2005-10-18
| | | | svn:r5279
* Refactor routerlist access slightly: always use router_get_by_routerlist(); ↵Nick Mathewson2005-10-18
| | | | | | change its interface; add modifier functions to add/remove elements from the current routerlist (so we can add indices). svn:r5276
* Make dirserv_get_routerdescs() return better http 404 error messages instead ↵Peter Palfrader2005-10-18
| | | | | | of a generic "Servers unavailable." svn:r5274
* start calling it *ListenAddress rather than *BindAddress,Roger Dingledine2005-10-17
| | | | | | | since none of our users know what it means to bind an address or port. svn:r5260
* start the process of reducing clutter in server logsRoger Dingledine2005-10-17
| | | | svn:r5253
* remove obsolete IgnoreVersion config from or.hRoger Dingledine2005-10-16
| | | | svn:r5251
* Enable trivial "download by descriptor digest" functionality.Nick Mathewson2005-10-14
| | | | svn:r5250
* Try to extract as many descriptors as possible from truncated http ↵Nick Mathewson2005-10-14
| | | | | | responses. (when DIR_PURPOSE_FETCH_ROUTERDESC) svn:r5249
* Check if our IP address has changed every 5 minutes. If it has, update our ↵Peter Palfrader2005-10-12
| | | | | | server descriptor, but not too often svn:r5246
* More work towards a sane digest-based liveness testing.Nick Mathewson2005-10-12
| | | | svn:r5238
* Add an as-yet-unused "EXTENDED" flag to SETEVENTS to indicate that the ↵Nick Mathewson2005-10-12
| | | | | | client can handle extra labeled info in its events. Add moreinfo to the "what is ready for downloading" msg so we can investigate digest-related download rules svn:r5237
* doxygen fixRoger Dingledine2005-10-07
| | | | svn:r5217
* Make doxygen marginally happierNick Mathewson2005-10-06
| | | | svn:r5208
* Rate-limit warnings related to unrecognized MyFamily elements.Nick Mathewson2005-10-05
| | | | svn:r5204