summaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
AgeCommit message (Collapse)Author
2006-04-18"Resolve" all XXX011 items, mostly by marking them non-011.Nick Mathewson
svn:r6395
2006-03-19Finish the transition from the word 'verified' to the wordsRoger Dingledine
'named' and 'valid'. svn:r6188
2006-03-12More cleanups noticed by weasel; also, remove macros that nobody uses.Nick Mathewson
svn:r6143
2006-03-06Add some "to-be-safe" escaped() wrappers to log statements in rend*.c, ↵Nick Mathewson
though I am not 100% sure that each one is necessary. svn:r6088
2006-02-19New config options to address bug 251:Roger Dingledine
FetchServerDescriptors and FetchHidServDescriptors for whether to fetch server info and hidserv info or let the controller do it, and also PublishServerDescriptor and PublishHidServDescriptors. Add AllDirActionsPrivate undocumented option -- if you set it, you'll need the controller to bootstrap you enough to build your first circuits. svn:r6047
2006-02-13the last of the log convention conversion. finally.Roger Dingledine
svn:r6005
2006-02-12Clients now honor the "guard" flag in the router status whenRoger Dingledine
picking entry guards, rather than looking at is_fast or is_stable. Now dirservers can change how they define it and clients will automatically use their new definition. svn:r5979
2006-02-09Happy new year!Roger Dingledine
svn:r5949
2006-01-10Warn about actual offending hiddenservice* config option, now that more than ↵Nick Mathewson
one is possible. Closes bug 239. svn:r5766
2006-01-05Add reasons to DESTROY and RELAY_TRUNCATED cells.Nick Mathewson
svn:r5734
2005-12-14Bite the bullet and limit all our source lines to 80 characters, the way IBM ↵Nick Mathewson
intended. svn:r5582
2005-12-10when we changed from log_fn to debug/info/notice/warn/err,Roger Dingledine
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
2005-11-25Start the process of treating internal circuits and exit circuitsRoger Dingledine
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
2005-11-05On directory servers, old_routers was wasting hundreds of bytes per ↵Nick Mathewson
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
2005-10-25Remove last vestiges of old logging interface.Nick Mathewson
svn:r5317
2005-10-24Use LD_BUG as appropriate; convert rend* and router* to new logging ↵Nick Mathewson
interface; use new circ_log_path interface svn:r5302
2005-10-18Update more files to new log stuff.Nick Mathewson
svn:r5286
2005-10-07Warn less about intro nodes by nickname; remember our own intro nodes by key.Nick Mathewson
svn:r5224
2005-10-06Using RAND_pseudo_bytes instead of RAND_bytes is an accident waiting to ↵Nick Mathewson
happen, and does not really speed us up much when we do it. So stop doing it. svn:r5210
2005-10-05Fix verbose compiler warnings, including one in routerlist.c that would have ↵Nick Mathewson
been an actual error. Normalize whitespace. Enforce convention that "address" is a hostname and "addr" is an IPv4 address. svn:r5190
2005-10-04Check for named servers when looking them up by nickname;Nick Mathewson
warn when we'recalling a non-named server by its nickname; don't warn twice about the same name. Fix a bug in routers_update_status_from_networkstatus that made nearly all clients never update routerinfo_t.is_named. Try to list MyFamily elements by key, not by nickname. Only warn about names that we generated ourself, or got from the local user. On TLS handshake, only check the other router's nickname against its expected nickname if is_named is set. svn:r5185
2005-09-30Reformat inconsistent function declarations.Nick Mathewson
svn:r5160
2005-09-09clean up the rendezvous warn log msgs, and downgrade some to infoRoger Dingledine
svn:r4964
2005-09-08Make GCC v4 happy with heavy warnings enabled.Nick Mathewson
svn:r4922
2005-09-06stop using the v1 rend desc format. we're going to change v1Roger Dingledine
some more before we switch to it. svn:r4909
2005-08-26Add quotes around filenames in src/orNick Mathewson
svn:r4845
2005-08-13predict required circuits better, with an eye toward makingRoger Dingledine
hidden services faster on the service end. svn:r4772
2005-08-12start using new renddesc codeNick Mathewson
svn:r4769
2005-08-12We weren't cannibilizing circuits correctly forRoger Dingledine
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
2005-08-06Shorten hidden service port config parsing; fix bug 174Nick Mathewson
svn:r4725
2005-07-22Be consistent about preferring foo* to struct foo*Nick Mathewson
svn:r4637
2005-07-14fix problems noticed by arma in rendservice.cNick Mathewson
svn:r4558
2005-07-14substantive changes on nick's rendezvous commit.Roger Dingledine
nick, can you fix these? svn:r4554
2005-06-29Logic to implement rendezvous/introduction via unknown servers.Nick Mathewson
- 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
2005-06-11Docment or add DOCDOC comments to undocumented functions in src/or. Make ↵Nick Mathewson
function definition format uniform. svn:r4411
2005-06-09Change end-of-file NLNL convention. It turns out arma I and I agree.Nick Mathewson
svn:r4382
2005-06-09New whitespace normalization rule: no blank line at EOF.Nick Mathewson
svn:r4378
2005-05-02New and frightening code to implement fast-path first-hop CREATE_FAST cells. ↵Nick Mathewson
Watch out when we bump the version to 0.1.0.6-rc! svn:r4162
2005-04-07Improve conn_*_to_string; add circuit_state_to_string; make ↵Nick Mathewson
skewed-descriptor messages better. svn:r4047
2005-04-01update copyright notices.Nick Mathewson
svn:r3982
2005-03-23Add a magic value to cpath_layer_t to make sure that we can tell valid ↵Nick Mathewson
cpaths from freed ones. I audited this once; it could use another audit. svn:r3831
2005-03-19make hidden services more likely to work from the server-sideRoger Dingledine
svn:r3781
2005-02-27fix a minor memory leakRoger Dingledine
svn:r3704
2005-02-22Change from inet_ntoa to a threadproof tor_inet_ntoa.Nick Mathewson
svn:r3656
2005-02-10Add more functions to free things to help dmalloc allong.Nick Mathewson
svn:r3613
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-14when the hidden service launches a rendezvous circ, make sure itRoger Dingledine
provides good uptime if any virtual_port of the service wants that. svn:r3355
2005-01-13start generating version 1 style introduce cellsRoger Dingledine
svn:r3352
2005-01-12Annotate circuits w/ whether they aim to contain high uptime nodes and/orRoger Dingledine
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
2004-12-07fix a minor leak for people offering hidden servicesRoger Dingledine
svn:r3113