aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
Commit message (Expand)AuthorAge
...
* | | appease "make check-spaces"Nick Mathewson2011-11-30
* | | First chunk of support for bridges on IPv6•••Comments below focus on changes, see diff for added code. New type tor_addr_port_t holding an IP address and a TCP/UDP port. New flag in routerinfo_t, ipv6_preferred. This should go in the node_t instead but not now. Replace node_get_addr() with - node_get_prim_addr() for primary address, i.e. IPv4 for now - node_get_pref_addr() for preferred address, IPv4 or IPv6. Rename node_get_addr_ipv4h() node_get_prim_addr_ipv4h() for consistency. The primary address will not allways be an IPv4 address. Same for node_get_orport() -> node_get_prim_orport(). Rewrite node_is_a_configured_bridge() to take all OR ports into account. Extend argument list to extend_info_from_node and extend_info_from_router with a flag indicating if we want to use the routers primary address or the preferred address. Use the preferred address in as few situtations as possible for allowing clients to connect to bridges over IPv6. Linus Nordberg2011-11-30
* | | Merge remote-tracking branch 'rransom-tor/bug3460-v4'•••Conflicts: src/or/rendservice.c Nick Mathewson2011-11-29
|\ \ \ | |/ / |/| |
| * | Correct documentation comments for fields formerly named accepted_introsRobert Ransom2011-11-27
| * | Rename accepted_intros fieldsRobert Ransom2011-11-27
| * | Ignore timestamps of INTRODUCE2 cellsRobert Ransom2011-10-31
| * | Move the real INTRODUCE2 replay-detection cache into rend_intro_point_tRobert Ransom2011-10-30
| * | Make introduction points expireRobert Ransom2011-10-30
| * | Allow intro points to expire somewhat gracefully•••The Right Way to expire an intro point is to establish a new one to replace it, publish a new descriptor that doesn't list any expiring intro points, and *then*, once our upload attempts for the new descriptor have ended (whether in success or failure), close the expiring intro points. Unfortunately, we can't find out when the new descriptor has actually been uploaded, so we'll have to settle for a five-minute timer. There should be no significant behaviour changes due to this commit (only a log-message change or two), despite the rather massive overhaul, so this commit doesn't include a changes/ file. (The commit that teaches intro_point_should_expire_now to return non-zero gets a changes/ file, though.) Robert Ransom2011-10-30
| * | Use SMARTLIST_FOREACH_BEGIN and _END, not a for loopRobert Ransom2011-10-30
| * | Correct bogus comments•••The behaviour of rend_services_introduce here is likely as bogus as the comments were. Robert Ransom2011-10-30
| * | Use a more meaningful variable nameRobert Ransom2011-10-30
| * | Determine whether an intro point was in the last HS desc in a sane wayRobert Ransom2011-10-30
| * | Record which intro points were listed in the last HS descRobert Ransom2011-10-30
| * | Record the number of INTRODUCE2 cells each intro point has receivedRobert Ransom2011-10-30
| * | Correct a log messageRobert Ransom2011-10-30
| * | Record the time at which each intro point was first publishedRobert Ransom2011-10-30
| * | Improve a commentRobert Ransom2011-10-30
| * | Allow different HSes to maintain different numbers of intro pointsRobert Ransom2011-10-30
* | | Fix a couple of memory leaks in rend_add_service spotted by coverityNick Mathewson2011-11-17
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-11-09
|\ \ \ | | |/ | |/|
| * | Include HiddenServiceDir in some warning messagesRobert Ransom2011-11-07
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-10-20
|\| |
| * | Free rend_data and intro_key when extra intro circs become general-purposeRobert Ransom2011-10-18
| |/
* | Fix names of functions that convert strings to addrs•••Now let's have "lookup" indicate that there can be a hostname resolution, and "parse" indicate that there wasn't. Previously, we had one "lookup" function that did resolution; four "parse" functions, half of which did resolution; and a "from_str()" function that didn't do resolution. That's confusing and error-prone! The code changes in this commit are exactly the result of this perl script, run under "perl -p -i.bak" : s/tor_addr_port_parse/tor_addr_port_lookup/g; s/parse_addr_port(?=[^_])/addr_port_lookup/g; s/tor_addr_from_str/tor_addr_parse/g; This patch leaves aton and pton alone: their naming convention and behavior is is determined by the sockets API. More renaming may be needed. Nick Mathewson2011-10-11
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-09-11
|\|
| * Demote 'INTRODUCE2 cell is too {old,new}' message to info levelRobert Ransom2011-09-10
| * Demote HS 'replay detected' log message for DH public keys to info levelRobert Ransom2011-09-10
* | Merge remote-tracking branch 'rransom-tor/typo-fix-ohkah8Ah'Nick Mathewson2011-09-10
|\|
| * Fix log message typo.Robert Ransom2011-09-10
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: configure.in src/or/circuitbuild.c Nick Mathewson2011-09-09
|\|
| * Merge remote-tracking branch 'public/enhance_replay_detection' into maint-0.2.2Nick Mathewson2011-09-09
| |\
| | * Check for replays in PK-encrypted part of intro cell, not just in the g^x valueNick Mathewson2011-09-09
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-07-19
|\| |
| * | Specify text or binary mode in every start_writing_to_stdio_file callRobert Ransom2011-07-19
* | | Fix bug in upload/download of hsdesc with microdescs•••Previously we were using router_get_by_id(foo) to test "do we have a descriptor that will let us make an anonymous circuit to foo". But that isn't right for microdescs: we should have been using node_t. Fixes bug 3601; bugfix on 0.2.3.1-alpha. Nick Mathewson2011-07-15
* | | Kill redundant checks around routerset_contains_*()•••All of the routerset_contains*() functions return 0 if their routerset_t argument is NULL. Therefore, there's no point in doing "if (ExcludeNodes && routerset_contains*(ExcludeNodes...))", for example. This patch fixes every instance of if (X && routerstatus_contains*(X,...)) Note that there are other patterns that _aren't_ redundant. For example, we *don't* want to change: if (EntryNodes && !routerstatus_contains(EntryNodes,...)) Fixes #2797. No bug here; just needless code. Nick Mathewson2011-07-07
* | | Merge remote-tracking branch 'rransom-tor/bug3332-v2'Nick Mathewson2011-06-15
|\ \ \
| * | | Assert that HS operations are not performed using single-hop circuits•••(with fixes by Nick Mathewson to unbreak the build) Robert Ransom2011-06-14
* | | | Make the get_options() return const•••This lets us make a lot of other stuff const, allows the compiler to generate (slightly) better code, and will make me get slightly fewer patches from folks who stick mutable stuff into or_options_t. const: because not every input is an output! Nick Mathewson2011-06-14
* | | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-06-14
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Make ControlSocketsGroupWritable work with User.•••Original message from bug3393: check_private_dir() to ensure that ControlSocketsGroupWritable is safe to use. Unfortunately, check_private_dir() only checks against the currently running user… which can be root until privileges are dropped to the user and group configured by the User config option. The attached patch fixes the issue by adding a new effective_user argument to check_private_dir() and updating the callers. It might not be the best way to fix the issue, but it did in my tests. (Code by lunar; changelog by nickm) Jérémy Bobbio2011-06-14
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-30
|\| |
| * | Warn when two hs use the same directory•••This simple implementation has a few issues, but it should do for 0.2.2.x. We will want to revisit this later and make it smarter. Sebastian Hahn2011-05-30
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••The conflicts were mainly caused by the routerinfo->node transition. Conflicts: src/or/circuitbuild.c src/or/command.c src/or/connection_edge.c src/or/directory.c src/or/dirserv.c src/or/relay.c src/or/rendservice.c src/or/routerlist.c Nick Mathewson2011-05-30
|\| |
| * | Log descriptions of nodes, not just nicknames.•••This patch introduces a few new functions in router.c to produce a more helpful description of a node than its nickame, and then tweaks nearly all log messages taking a nickname as an argument to call these functions instead. There are a few cases where I left the old log messages alone: in these cases, the nickname was that of an authority (whose nicknames are useful and unique), or the message already included an identity and/or an address. I might have missed a couple more too. This is a fix for bug 3045. Nick Mathewson2011-05-15
* | | Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023•••Conflicts in various places, mainly node-related. Resolved them in favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022. src/common/Makefile.am src/or/circuitlist.c src/or/connection_edge.c src/or/directory.c src/or/microdesc.c src/or/networkstatus.c src/or/router.c src/or/routerlist.c src/test/test_util.c Nick Mathewson2011-05-11
|\| |
| * | Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcm...•••Conflicts throughout. All resolved in favor of taking HEAD and adding tor_mem* or fast_mem* ops as appropriate. src/common/Makefile.am src/or/circuitbuild.c src/or/directory.c src/or/dirserv.c src/or/dirvote.c src/or/networkstatus.c src/or/rendclient.c src/or/rendservice.c src/or/router.c src/or/routerlist.c src/or/routerparse.c src/or/test.c Nick Mathewson2011-05-11
| |\|
| | * Hand-conversion and audit phase of memcmp transition•••Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant. Nick Mathewson2011-05-11
| | * Automated conversion of memcmp to tor_memcmp/tor_mem[n]eq•••This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h Nick Mathewson2011-05-11