aboutsummaryrefslogtreecommitdiff
path: root/src/feature/dirparse/routerparse.c
AgeCommit message (Collapse)Author
2024-06-26Routerparse: accept routerdescs without TAP keys.Nick Mathewson
2024-06-26routerparse: Simplify checking for now-mandatory elementsNick Mathewson
All of these elements are now mandatory, so we can now simplify our logic for making sure that they are all present or all not-present.
2024-06-26Rename "onion_pkey" fields in routerinfo_t, and make them optional.Nick Mathewson
(Renaming them has forced me to look at every place where they are used, so I can make sure that they are really optional now.)
2021-03-12Update copyrights to 2021, using "make update-copyright"Nick Mathewson
2021-01-11Reject obsolete router/extrainfo descs more quietly.Nick Mathewson
Thanks to proposal 315 / ticket #30132, more fields are now required in these documents. But ancient Tors that try to upload obsolete documents were causing the authorities to log warnings about missing fields, and to do so very spammily. We now detect the missing fields before tokenizing, and log at debug. This is a bit of ugliness, but it's probably a safer choice than making _all_ unparseable-desc warnings into debug-level logs. I'm looking at identity-ed25519 in extrainfos and proto in routerdescs because they were (I believe) the latest-added fields in Tor's history: any Tor that lacks them will also lack the other newly required fields. Fixes bug #40238; bugfix on 0.4.5.1-alpha.
2020-11-12Fix typos.Samanta Navarro
Typos found with codespell. Please keep in mind that this should have impact on actual code and must be carefully evaluated: src/core/or/lttng_circuit.inc - ctf_enum_value("CONTROLER", CIRCUIT_PURPOSE_CONTROLLER) + ctf_enum_value("CONTROLLER", CIRCUIT_PURPOSE_CONTROLLER)
2020-10-15Mark as required fields from prop315.Nick Mathewson
This change breaks some unit tests; it's time to fix those in subsequent commits.
2020-07-14addr: Use tor_addr_t instead of uint32_t for IPv4David Goulet
This changes a LOT of code but in the end, behavior is the same. Unfortunately, many functions had to be changed to accomodate but in majority of cases, to become simpler. Functions are also removed specifically those that were there to convert an IPv4 as a host format to a tor_addr_t. Those are not needed anymore. The IPv4 address field has been standardized to "ipv4_addr", the ORPort to "ipv4_orport" (currently IPv6 uses ipv6_orport) and DirPort to "ipv4_dirport". This is related to Sponsor 55 work that adds IPv6 support for relays and this work is needed in order to have a common interface between IPv4 and IPv6. Closes #40043. Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06Wrap columnar tables in "clang-format off/on"Nick Mathewson
These tables have aligned comments, so we don't want clang-format to mess with them.
2020-01-08It's 2020. Update the copyright dates with "make update-copyright"Nick Mathewson
2019-12-20Replace several C identifiers.teor
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ EXPOSE_CLEAN_BACKTRACE BACKTRACE_PRIVATE \ TOR_CHANNEL_INTERNAL_ CHANNEL_OBJECT_PRIVATE \ CHANNEL_PRIVATE_ CHANNEL_FILE_PRIVATE \ EXPOSE_ROUTERDESC_TOKEN_TABLE ROUTERDESC_TOKEN_TABLE_PRIVATE \ SCHEDULER_PRIVATE_ SCHEDULER_PRIVATE
2019-06-06Merge branch 'bug30781_035' into bug30781_040teor
2019-06-06Merge branch 'bug30781_034' into bug30781_035teor
Moved fix from src/or/routerparse.c to src/feature/dirparse/routerparse.c.
2019-01-16Bump copyright date to 2019Nick Mathewson
2019-01-16Bump copyright date to 2019.Nick Mathewson
2018-12-18Avoid a needless decode/re-encode step in assigning onion keysNick Mathewson
Previously we had decoded the asn.1 to get a public key, and then discarded the asn.1 so that we had to re-encode the key to store it in the onion_pkey field of a microdesc_t or routerinfo_t. Now we can just do a tor_memdup() instead, which should be loads faster.
2018-10-01Remove versions.h include from routerparse.hNick Mathewson
2018-10-01Remove unused headers from routerparse.cNick Mathewson
2018-10-01Extract addr-policy parsing code.Nick Mathewson
2018-10-01Move summarize_protover_flags to versions.cNick Mathewson
2018-10-01extract networkstatus parsing to its own file.Nick Mathewson
2018-10-01Pull detached-signatures code into dirauth.Nick Mathewson
2018-10-01Split microdescriptor parser into its own file.Nick Mathewson
2018-10-01Remove addr_policy_assert_ok() as unusedNick Mathewson
2018-10-01Remove dump_distinct_digest_count()Nick Mathewson
It was disabled-by-default for ages, and it no longer compiles. I think it's safe to call it obsolete.
2018-10-01Remove router_get_dir_hash as unused.Nick Mathewson
2018-10-01Move v2 hs parsing into feature/rendNick Mathewson
2018-10-01Split the authority-cert and signature/hash code from routerparseNick Mathewson
2018-10-01Extract the version-managing code from routerparse.cNick Mathewson
Leave the versions.h include in routerparse.h for now; I'll remove it later.
2018-10-01Extract logic for dumping unparseable junk from routerparse.cNick Mathewson
2018-10-01Move routerparse and parsecommon to their own module.Nick Mathewson