aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
Commit message (Collapse)AuthorAge
* predict required circuits better, with an eye toward makingRoger Dingledine2005-08-13
| | | | | | | hidden services faster on the service end. svn:r4772
* start using new renddesc codeNick Mathewson2005-08-12
| | | | svn:r4769
* We weren't cannibilizing circuits correctly forRoger Dingledine2005-08-12
| | | | | | | | | CIRCUIT_PURPOSE_C_ESTABLISH_REND and CIRCUIT_PURPOSE_S_ESTABLISH_INTRO so we were being forced to build those from scratch. This should save us a bit of time. Also fixes bug 173. svn:r4763
* Shorten hidden service port config parsing; fix bug 174Nick Mathewson2005-08-06
| | | | svn:r4725
* Be consistent about preferring foo* to struct foo*Nick Mathewson2005-07-22
| | | | svn:r4637
* fix problems noticed by arma in rendservice.cNick Mathewson2005-07-14
| | | | svn:r4558
* substantive changes on nick's rendezvous commit.Roger Dingledine2005-07-14
| | | | | | | nick, can you fix these? svn:r4554
* Logic to implement rendezvous/introduction via unknown servers.Nick Mathewson2005-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new extend_info_t datatype to hold information needed to extend a circuit (addr,port,keyid,onion_key). Use it in cpath and build_state. Make appropriate functions take or return it instead of routerinfo_t or keyid. - #if 0 needless check in circuit_get_by_edge_conn; if nobody triggers this error in 0.1.0.10, nobody will trigger it. - Implement new hidden service descriptor format, which contains "extend info" for introduction points, along with protocol version list. - Parse new format. - Generate new format - Cache old and new formats alongside each other. - Directories serve "old" format if asked in old way, "newest available" format if asked in new way. - Use new format to find introduction points if possible; otherwise fall back. Keep nickname lists and extendinfo lists in sync. - Tests for new format. - Implement new "v2" INTRODUCE cell format. - Accept new format - Use new format if we have a versioned service descriptor that says the server accepts the new format. - Add documentation for functions and data types. svn:r4506
* Docment or add DOCDOC comments to undocumented functions in src/or. Make ↵Nick Mathewson2005-06-11
| | | | | | function definition format uniform. svn:r4411
* Change end-of-file NLNL convention. It turns out arma I and I agree.Nick Mathewson2005-06-09
| | | | svn:r4382
* New whitespace normalization rule: no blank line at EOF.Nick Mathewson2005-06-09
| | | | svn:r4378
* New and frightening code to implement fast-path first-hop CREATE_FAST cells. ↵Nick Mathewson2005-05-02
| | | | | | Watch out when we bump the version to 0.1.0.6-rc! svn:r4162
* Improve conn_*_to_string; add circuit_state_to_string; make ↵Nick Mathewson2005-04-07
| | | | | | skewed-descriptor messages better. svn:r4047
* update copyright notices.Nick Mathewson2005-04-01
| | | | svn:r3982
* Add a magic value to cpath_layer_t to make sure that we can tell valid ↵Nick Mathewson2005-03-23
| | | | | | cpaths from freed ones. I audited this once; it could use another audit. svn:r3831
* make hidden services more likely to work from the server-sideRoger Dingledine2005-03-19
| | | | svn:r3781
* fix a minor memory leakRoger Dingledine2005-02-27
| | | | svn:r3704
* Change from inet_ntoa to a threadproof tor_inet_ntoa.Nick Mathewson2005-02-22
| | | | svn:r3656
* Add more functions to free things to help dmalloc allong.Nick Mathewson2005-02-10
| | | | svn:r3613
* Introduce a notion of 'internal' circs, which are chosen without regardRoger Dingledine2005-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* when the hidden service launches a rendezvous circ, make sure itRoger Dingledine2005-01-14
| | | | | | | provides good uptime if any virtual_port of the service wants that. svn:r3355
* start generating version 1 style introduce cellsRoger Dingledine2005-01-13
| | | | svn:r3352
* Annotate circuits w/ whether they aim to contain high uptime nodes and/orRoger Dingledine2005-01-12
| | | | | | | | | | | | | | | | | high capacity nodes. When building circuits, choose appropriate nodes. New config option LongLivedPorts to indicate application streams that will want high uptime circuits. When attaching a stream to a circuit, pay attention to its requirements. This means that every single node in an intro rend circuit, not just the last one, will have a minimum uptime. Boost the min uptime from an hour to 24 hours. svn:r3339
* fix a minor leak for people offering hidden servicesRoger Dingledine2004-12-07
| | | | svn:r3113
* Spell-check strings and commentsNick Mathewson2004-12-01
| | | | svn:r3052
* Suggestion from weasel: Make tor --version --version dump the cvs Id of ↵Nick Mathewson2004-11-29
| | | | | | every file. svn:r3019
* Normalize space: add one between every control keyword and control clause.Nick Mathewson2004-11-28
| | | | svn:r3003
* remove emacs droppings, since nick says he doesn't need them anymoreRoger Dingledine2004-11-26
| | | | svn:r2989
* Normalize a few more kinds of whitespace. We now dislike:Nick Mathewson2004-11-22
| | | | | | | | | - func (args) - if (x){ This doesn't normalize if(x), for(x); while(x), and friends. svn:r2943
* Break DirFetchPostPeriod into:Roger Dingledine2004-11-15
| | | | | | | | | | | | | - DirFetchPeriod for fetching full directory, - StatusFetchPeriod for fetching running-routers, - DirPostPeriod for posting server descriptor, - RendPostPeriod for posting hidden service descriptors. Also make sure the hidden service descriptors are at a random offset from each other, to hinder linkability. svn:r2889
* Make check_private_dir trimodal (check/create/ignore), not bimodal ↵Nick Mathewson2004-11-09
| | | | | | (create/ignore). svn:r2733
* Separate validate from activate. Document undocumented stuff in config.c.Nick Mathewson2004-11-08
| | | | svn:r2711
* Clean up copyrights.Roger Dingledine2004-11-07
| | | | | | | | Break connection_consider_empty_buckets() out of connection_read_bucket_decrement(). svn:r2698
* Make options no longer a global variable.Roger Dingledine2004-11-06
| | | | | | | | | 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
* canonicalize "src" and "dest" arg order in crypto.c (and others)Roger Dingledine2004-11-02
| | | | svn:r2644
* Hidden service operators had a bug in version 1 style INTRODUCE cellsRoger Dingledine2004-11-01
| | | | | | | | that made them fail. Fix the bug, and revert clients to use version 0 until 0.0.9pre4 is obsolete. svn:r2641
* Fix paul gardner's assert bug. Turns out when circuit_launch_by_nickname()Roger Dingledine2004-10-30
| | | | | | | | | failed at the first hop, it would try to relaunch another circ right then, even though the first circuit hadn't been populated yet with its pending_final_cpath. svn:r2624
* Use strlcpy, not strcpy.Nick Mathewson2004-10-27
| | | | svn:r2610
* Use tor_snprintf, not snprintfNick Mathewson2004-10-27
| | | | svn:r2609
* Replace sprintf with snprintfNick Mathewson2004-10-27
| | | | svn:r2602
* fix a memory leakRoger Dingledine2004-10-24
| | | | svn:r2587
* start generating new version of introduce1 cellsRoger Dingledine2004-10-24
| | | | svn:r2586
* don't assert multiple things in the same tor_assert()Roger Dingledine2004-10-16
| | | | svn:r2544
* Change interface of parse_addr_port() to return address in host order, since ↵Nick Mathewson2004-10-16
| | | | | | most users seem to want that. svn:r2542
* bugfix: parse_addr_port() bites us again -- it returns addr in network order.Roger Dingledine2004-10-14
| | | | svn:r2508
* Build without warnings on mac gcc 3.3Nick Mathewson2004-10-14
| | | | svn:r2487
* more int to size_t conversions, fixing one or more amd64 bugsRoger Dingledine2004-10-14
| | | | | | | plus a whitespace patch on config.c from vicman svn:r2482
* fix warning about always-false comparison; detect too-large realport betterNick Mathewson2004-10-13
| | | | svn:r2465
* parse HttpProxy address in configRoger Dingledine2004-10-12
| | | | | | | | | fix a potential confusion in fetch_from_buf_http() make all our int config options non-negative better bounds checking on options that are ports svn:r2456
* Better bounds checking on parsed intsNick Mathewson2004-10-12
| | | | svn:r2450