summaryrefslogtreecommitdiff
path: root/src/or/router.c
AgeCommit message (Collapse)Author
2016-11-16refactor router_pick_published_address to have another argRoger Dingledine
no change in behavior except fewer log entries in the case where we use a cached result.
2016-10-31policy_is_reject_star():Nick Mathewson
ome policies are default-reject, some default-accept. But policy_is_reject_star() assumed they were all default_reject. Fix that! Also, document that policy_is_reject_star() treats a NULL policy as empty. This allows us to simplify the checks in parse_reachable_addresses() by quite a bit. Fxes bug 20306; bugfix on 0.2.8.2-alpha.
2016-10-18Module-level docs for ext_orport and router.cNick Mathewson
2016-10-13Tweak patch for 18529.Nick Mathewson
- function doesn't need to be inline. - rename function - Make documentation more pedantically correct - Remove needless "? 1 : 0."
2016-10-13Remove duplicate code that checks for default authoritiesNick Mathewson
Patch from ericho. Fixes 18529. Simple refactoring.
2016-09-28Fix memory leak from prop264 branch. CID 1373401Nick Mathewson
2016-09-26Merge branch 'protover_v2_squashed'Nick Mathewson
2016-09-26Rename get_supported_protocols to protover_get_supported_protocolsNick Mathewson
2016-09-26Emit and parse protocol lists in router descriptorsNick Mathewson
2016-09-06Give useful error if authority_signing_key doesn't existSebastian Hahn
2016-08-29Merge remote-tracking branch 'teor/reject-tap-v6'Nick Mathewson
2016-08-23Use tor_assert, not assert.Nick Mathewson
2016-08-23Merge branch 'bug13953_squashed'Nick Mathewson
2016-08-23Reword the router_check_descriptor_address_port_consistency log messageteor
The new message covers static and dynamic public IPv4 addresses, and external / internal addresses in NAT setups.
2016-08-16Check parameters to router_check_descriptor_address_port_consistencyteor
2016-08-16Refactor duplicate code in router_check_descriptor_address_consistencyteor
No behaviour change
2016-08-15Make log message clearers7r
Longer and more explicit log message so we don't confuse users with behind NAT with working configurations and state that public IP addresses only should be provided with "Address", won't work with internal addresses.
2016-08-02Get the extend_info_from_router check the right way aroundteor
2016-07-28Merge branch 'bug18902_squashed'Nick Mathewson
2016-07-28Fix all -Wshadow warnings on LinuxNick Mathewson
This is a partial fix for 18902.
2016-07-26Check that extend_info_from_router is never called on a clientteor (Tim Wilson-Brown)
2016-07-15Relays make sure their own descriptor has an ntor keyteor (Tim Wilson-Brown)
2016-06-11Merge branch 'bug19180_easy_squashed'Nick Mathewson
2016-06-11Add -Wmissing-variable-declarations, with attendant fixesNick Mathewson
This is a big-ish patch, but it's very straightforward. Under this clang warning, we're not actually allowed to have a global variable without a previous extern declaration for it. The cases where we violated this rule fall into three roughly equal groups: * Stuff that should have been static. * Stuff that was global but where the extern was local to some other C file. * Stuff that was only global when built for the unit tests, that needed a conditional extern in the headers. The first two were IMO genuine problems; the last is a wart of how we build tests.
2016-05-30Replace nearly all XXX0vv comments with smarter onesNick Mathewson
So, back long ago, XXX012 meant, "before Tor 0.1.2 is released, we had better revisit this comment and fix it!" But we have a huge pile of such comments accumulated for a large number of released versions! Not cool. So, here's what I tried to do: * 0.2.9 and 0.2.8 are retained, since those are not yet released. * XXX+ or XXX++ or XXX++++ or whatever means, "This one looks quite important!" * The others, after one-by-one examination, are downgraded to plain old XXX. Which doesn't mean they aren't a problem -- just that they cannot possibly be a release-blocking problem.
2016-05-26Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-26Fix two long linesNick Mathewson
2016-05-19Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-17whitespace fixesNick Mathewson
2016-05-17Remove duplicate siging_key_cert fields.Nick Mathewson
With the fix for #17150, I added a duplicate certificate here. Here I remove the original location in 0.2.8. (I wouldn't want to do that in 027, due to the amount of authority-voting-related code drift.) Closes 19073.
2016-05-17Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-17Merge branch 'bug17150_027_extra' into maint-0.2.8Nick Mathewson
2016-05-17Improve API of routerinfo_incompatible_with_extrainfo()Nick Mathewson
This API change makes it so that routerinfo_incompatible...() no longer takes a routerinfo_t, so that it's obvious that it should only look at fields from the signed_descriptor_t. This change should prevent a recurrence of #17150.
2016-05-17Copy the signing_key_cert field into signed_descriptor_tNick Mathewson
We need this field to be in signed_descriptor_t so that routerinfo_incompatible_with_extrainfo can work correctly (#17150). But I don't want to move it completely in this patch, since a great deal of the code that messes with it has been in flux since 0.2.7, when this ticket was opened. I should open another ticket about removing the field from routerinfo_t and extrainfo_t later on. This patch fixes no actual behavior.
2016-05-17Move extra_info_digest256 into signed_descriptor_tNick Mathewson
This patch includes no semantic changes; it's just a field movement. It's prerequisite for a fix to 19017/17150.
2016-05-17Merge remote-tracking branch 'teor/bug18963-remember-v2'Nick Mathewson
2016-05-17Merge remote-tracking branch 'arma/bug18616-v4' into maint-0.2.8Nick Mathewson
2016-05-16touchups and refactorings on bug 18616 branchRoger Dingledine
no behavior changes
2016-05-11Fetch certificates from the same directory as previous certificatesteor (Tim Wilson-Brown)
Improves the fix to #18963.
2016-05-11refactor the #19003 patchesRoger Dingledine
fix the logic in one of the comments
2016-05-09Allow directories in small networks to bootstrapteor (Tim Wilson-Brown)
Skip DirPort checks when the consensus has no exits. Resolves #19003, bugfix on #18050 in 0.2.8.1-alpha.
2016-05-07Warn users when addresses in ports and descriptor are inconsistentteor (Tim Wilson-Brown)
This mitigates bug 13953.
2016-04-28Refactor DirPort & begindir descriptor checksteor (Tim Wilson-Brown)
No actual behaviour changes
2016-04-28Remove redundant descriptor checks for OR/Dir reachabilityteor (Tim Wilson-Brown)
The ORPort and DirPort must be reachable, or we won't publish a descriptor.
2016-04-28Refactor common code out of reachability checksteor (Tim Wilson-Brown)
No actual changes in behavior
2016-04-28Avoid checking ORPort reachability when the network is disabledteor (Tim Wilson-Brown)
This is consistent with existing DirPort reachability checks.
2016-04-28Decide to advertise begindir support like we decide to advertise DirPortteor (Tim Wilson-Brown)
Decide to advertise begindir support in a similar way to how we decide to advertise DirPort. Fix up the associated descriptor-building unit tests. Resolves #18616, bugfix on 0c8e042c30946faa in #12538 in 0.2.8.1-alpha.
2016-03-01Remove an extraneous space in a log messageteor (Tim Wilson-Brown)
2016-03-01Allow internal IPv6 addresses in descriptors in private networksteor (Tim Wilson-Brown)
2016-02-27Update the copyright year.Nick Mathewson