aboutsummaryrefslogtreecommitdiff
path: root/src/or/dirserv.c
Commit message (Collapse)AuthorAge
* Install correct incoming cell handlers on reachability testing channelsAndrea Shepard2012-10-12
| | | | Fix for bug 7086.
* Merge branch 'bug7011'Nick Mathewson2012-10-10
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/or/circuitbuild.c The conflict was trivial, since no line of code actually changed in both branches: There was a fmt_addr() that turned into fmt_addrport() in bug7011, and a "if (!n_conn)" that turned into "if (!n_chan)" in master.
| * Use fmt_addrport where appropriate.David Fifield2012-10-10
| | | | | | | | | | | | | | | | | | This is mostly a conversion from this pattern: log("... %s:%d ...", fmt_and_decorate_addr(&addr), port); to this: log("... %s ...", fmt_addrport(&addr, port)); The output is the same in all cases.
* | Make reachabiity test in dirserv.c use channel_tAndrea Shepard2012-10-08
|/
* Remove the testing_since* fieldsNick Mathewson2012-09-21
| | | | | | They weren't actually used since 7a35dad00 Bug 5809
* Merge remote-tracking branch 'linus/bug6880'Nick Mathewson2012-09-17
|\
| * Don't do reachability testing over IPv6 unless AuthDirPublishIPv6 is set.Linus Nordberg2012-09-17
| | | | | | | | This affects both directory authorities and bridge authoritites.
* | Split the generic config_fmt_t code into a new confparse.c fileNick Mathewson2012-09-13
|/ | | | | This helps us split up one of our larger files, and sets the stage for refactoring the configuration backend a little
* Merge branch 'remove_old_ver_checks'Nick Mathewson2012-09-10
|\
| * Remove one more check for an insanely old versionNick Mathewson2012-09-07
| |
* | Merge remote-tracking branch 'public/ticket6789'Nick Mathewson2012-09-10
|\ \
| * | Dirservers no longer accept tors released before December 2011.Nick Mathewson2012-09-07
| |/ | | | | | | Implements ticket 6789.
* / Don't follow the NULL pointer.Linus Nordberg2012-09-10
|/ | | | | | | | If dirvote_create_microdescriptor() returns NULL, don't use md. Found by "f. tp.". Fixes bug 6797.
* fix punctuation in logsRoger Dingledine2012-09-06
|
* Remove AuthDirPublishIPv6 and let AuthDirHasIPv6Connectivity fill its function.Linus Nordberg2012-09-05
| | | | | | | | | | See #4771 for rationale. Note that this patch does not take suggested changes in #4470 into account and keeps treating AuthDirHasIPv6Connectivity as an AUTOBOOL. Thus, bug fixes for that are included here as well. This is a fix on master, unreleased as of now.
* Allocate vote_microdesc_hash_t using tor_malloc_zero().Linus Nordberg2012-09-04
| | | | In case the struct grows in the future. Shouldn't be too expensive.
* Whitespace.Linus Nordberg2012-09-04
|
* Generate microdescriptors with "a" lines.Linus Nordberg2012-09-04
| | | | | | | | | Generate and store all supported microdescriptor formats. Generate votes with one "m" line for each format. Only "m" lines with version info matching chosen consensus method will be voted upon. An optimisation would be to combine "m" lines with identical hashes, i.e. instead of "m 1,2,3 H1" and "m 4,5 H1", say "m 1,2,3,4,5 H1".
* Have directory authorities vote on IPv6 OR ports according to the specLinus Nordberg2012-09-04
| | | | | | | | | | | | | | Define new new consensus method 14 adding "a" lines to vote and consensus documents. From proposal 186: As with other data in the vote derived from the descriptor, the consensus will include whichever set of "a" lines are given by the most authorities who voted for the descriptor digest that will be used for the router. This patch implements this.
* Merge remote-tracking branch 'linus/bug6621'Nick Mathewson2012-08-21
|\
| * Make authorities not set Running unless all advertised OR ports are reachable.Linus Nordberg2012-08-17
| | | | | | | | Resolves #6621.
* | Merge remote-tracking branch 'public/bug5124'Nick Mathewson2012-08-17
|\ \
| * | Never emit the "opt" prefix in any directory stuffNick Mathewson2012-06-28
| | | | | | | | | | | | Fix for bug 5124.
* | | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-08-17
|\ \ \ | |_|/ |/| |
| * | Don't infer we have a FooPort from the presence of a FooPort lineNick Mathewson2012-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to the changes we started making with SocksPort and friends in 0.2.3.3-alpha, any of our code that did "if (options->Sockport)" became wrong, since "SocksPort 0" would make that test true whereas using the default SocksPort value would make it false. (We didn't actually do "if (options->SockPort)" but we did have tests for TransPort. When we moved DirPort, ORPort, and ControlPort over to the same system in 0.2.3.9-alpha, the problem got worse, since our code is littered with checks for DirPort and ORPort as booleans. This code renames the current linelist-based FooPort options to FooPort_lines, and adds new FooPort_set options which get set at parse-and-validate time on the or_options_t. FooPort_set is true iff we will actually try to open a listener of the given type. (I renamed the FooPort options rather than leave them alone so that every previous user of a FooPort would need to get inspected, and so that any new code that forgetfully uses FooPort will need fail to compile.) Fix for bug 6507.
* | | Add config option AuthDirPublishIPv6.Linus Nordberg2012-07-19
| | | | | | | | | | | | | | | | | | | | | | | | Test for config option AuthDirPublishIPv6 == 1 rather than for running as a bridge authority when deciding whether to care or not about IPv6 OR ports in descriptors. Implements enhancement #6406.
* | | Don't shadow 'buf'.Linus Nordberg2012-07-19
| | |
* | | Add configure option AuthDirHasIPv6Connectivity.Linus Nordberg2012-07-19
| | | | | | | | | | | | Implements enhancement 5974.
* | | Rename routers_have_same_or_addr() to reflect the fact that it now checks ↵Linus Nordberg2012-07-19
| | | | | | | | | | | | both OR ports.
* | | Include IPv6 OR ports in status documents only if we're a bridge authority.Linus Nordberg2012-07-19
| | |
* | | Don't put unreachable IPv6 OR port in routerstatus.Linus Nordberg2012-07-19
| | | | | | | | | | | | To have only reachable ports in "a" lines.
* | | Add "a" line to status document.Linus Nordberg2012-07-19
| | |
* | | Add last_reachable and testing_since for IPv6 OR port.Linus Nordberg2012-07-19
| | |
* | | Don't assume that a node has routerinfo.Linus Nordberg2012-07-19
| | | | | | | | | | | | | | | | | | We can end up in dirserv_orconn_tls_done() with a node missing routerinfo in at least two cases -- command_process_certs_cell() and connection_or_check_valid_tls_handshake() -- and probably more.
* | | Move last_reachable and testing_since from routerinfo_t to node_t.Linus Nordberg2012-07-19
|/ /
* / Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/ENDNick Mathewson2012-07-17
|/ | | | | | | | | | | The SMARTLIST_FOREACH macro is more convenient than BEGIN/END when you have a nice short loop body, but using it for long bodies makes your preprocessor tell the compiler that all the code is on the same line. That causes grief, since compiler warnings and debugger lines will all refer to that one line. So, here's a new style rule: SMARTLIST_FOREACH blocks need to be short.
* Triage the XXX023 and XXX022 comments: postpone many.Nick Mathewson2012-06-15
|
* Merge remote-tracking branch 'arma/bug3886'Nick Mathewson2012-06-07
|\ | | | | | | | | Conflicts: src/or/dirserv.c
| * let private tor networks more reliably handle hidden servicesRoger Dingledine2011-09-01
| | | | | | | | this is a tweak on the fix in f87c6f100d (see also #2088)
* | Merge remote-tracking branch 'public/format_doubles'Nick Mathewson2012-06-05
|\ \ | | | | | | | | | | | | Conflicts: src/or/geoip.c
| * | Use %f, not %lf when formatting doublesNick Mathewson2012-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | %f is correct; %lf is only needed with scanf. Apparently, on some old BSDs, %lf is deprecated. Didn't we do this before? Yes, we did. But we only got the instances of %lf, not more complicated things like %.5lf . This patch tries to get everything. Based on a patch for 3894 by grarpamp.
* | | Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson2012-06-04
| | |
* | | Add about 60 more DOCDOC comments to 0.2.3Nick Mathewson2012-06-04
| | | | | | | | | | | | | | | | | | | | | | | | Also, try to resolve some doxygen issues. First, define a magic "This is doxygen!" macro so that we take the correct branch in various #if/#else/#endifs in order to get the right documentation. Second, add in a few grouping @{ and @} entries in order to get some variables and fields to get grouped together.
* | | Merge remote-tracking branch 'public/bug2297'Nick Mathewson2012-05-16
|\ \ \
| * | | Exits don't need to fetch certs for unknown authoritiesNick Mathewson2012-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we started RefuseUnknownExits back in 0.2.2.11-alpha, we started making exits act like they cache directory info (since they need an up-to-date idea of who is really a router). But this included fetching needless (unrecognized) authorities' certs, which doesn't make any sense for them. This is related to, but not necessarily the same as, the issue that Ian reported for bug #2297. (This patch is based on a patch from a user who I believe has asked not to be named. If I'm wrong about that, please add the appropriate name onto the changelog.)
* | | | peel off some unnecessary parensRoger Dingledine2012-04-24
| | | |
* | | | Obsolete GiveGuardFlagTo_CVE_2011_2768_VulnerableRelaysNick Mathewson2012-04-11
|/ / / | | | | | | | | | Closes ticket 4572.
* | | Move router lookup to _after_ we assert that its argument is setNick Mathewson2012-03-30
| | | | | | | | | | | | | | | | | | | | | A previous commit in the 5527 branch had moved router_get_mutable_by_digest(digest_rcvd) to happen before we did tor_assert(digest_rcvd), which would have defeated the purpose of the assert.
* | | checking "same addr/port but with nonmatching keys" is obsoleteRoger Dingledine2012-03-29
| | | | | | | | | | | | | | | | | | Specifically, I believe it dates back to when extend cells had address:port but no digest in them. The special edge case is certainly not worth the complexity these days.
* | | simplify furtherRoger Dingledine2012-03-29
| | |