aboutsummaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2014-11-12Replace operators used as macro arguments with OP_XX macrosNick Mathewson
Part of fix for 13172
2014-11-12Reenhappy make check-spacesNick Mathewson
2014-11-12Merge remote-tracking branch 'rl1987/bug13644'Nick Mathewson
2014-11-12Merge remote-tracking branch 'rl1987/bug9812'Nick Mathewson
2014-11-12Merge remote-tracking branch 'public/bug13698_024_v1'Nick Mathewson
2014-11-11Renaming ROUTER_WAS_NOT_NEW to ROUTER_IS_ALREADY_KNOWN.rl1987
2014-11-11Comment possible values of was_router_added_t.rl1987
2014-11-10Fix: don't report timeout when closing parallel intro pointsDavid Goulet
When closing parallel introduction points, the given reason (timeout) was actually changed to "no reason" thus when the circuit purpose was CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT, we were reporting an introduction point failure and flagging it "unreachable". After three times, that intro point gets removed from the rend cache object. In the case of CIRCUIT_PURPOSE_C_INTRODUCING, the intro point was flagged has "timed out" and thus not used until the connection to the HS is closed where that flag gets reset. This commit adds an internal circuit reason called END_CIRC_REASON_IP_NOW_REDUNDANT which tells the closing circuit mechanism to not report any intro point failure. This has been observed while opening hundreds of connections to an HS on different circuit for each connection. This fix makes this use case to work like a charm. Fixes #13698. Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2014-11-09Print a warning when extra info document is found incompatible with router ↵rl1987
descriptor.
2014-11-07Wrong format in log statementDavid Goulet
Fixes bug 13701.
2014-11-05Merge remote-tracking branch 'meejah/ticket-11291-extra-utests'Nick Mathewson
Conflicts: src/or/config.c
2014-11-04Fix a wide line I introducedNick Mathewson
2014-11-04Merge remote-tracking branch 'andrea/ticket6456'Nick Mathewson
Somewhat tricky conflicts: src/or/config.c Also, s/test_assert/tt_assert in test_config.c
2014-11-04Merge branch 'bug13315_squashed'Nick Mathewson
Conflicts: src/or/buffers.c
2014-11-04Sending 'Not allowed' error message before closing the connection.rl1987
2014-11-04Checking if FQDN is actually IPv6 address string and handling that case.rl1987
2014-11-04Validating SOCKS5 hostname more correctly.rl1987
2014-11-04Merge remote-tracking branch 'public/bug13214_025_squashed'Nick Mathewson
2014-11-04Check descriptor ID in addition to HS ID when saving a v2 hs descriptorNick Mathewson
Fixes bug 13214; reported by 'special'.
2014-11-04Add comments and rename intro_nodes list in rend_services_introduce()David Goulet
(No changes file needed: this patch just adds comments and renames variables. This is ticket 13646. message taken from the ticket. -Nick)
2014-11-02Apply new calloc coccinelle patchNick Mathewson
2014-10-31Use digest256_len in networkstatus_copy_old_consensus_info()Nick Mathewson
Now, if a router ever changes its microdescriptor, but the new microdescriptor SHA256 hash has the same 160-bit prefix as the old one, we treat it as a new microdescriptor when deciding whether to copy status information. (This function also is used to compare SHA1 digests of router descriptors, but don't worry: the descriptor_digest field either holds a SHA256 hash, or a SHA1 hash padded with 0 bytes.)
2014-10-31Use digest256map for computing microdescriptor downloadsNick Mathewson
2014-10-30Silence spurious clang warningsteor
Silence clang warnings under --enable-expensive-hardening, including: + implicit truncation of 64 bit values to 32 bit; + const char assignment to self; + tautological compare; and + additional parentheses around equality tests. (gcc uses these to silence assignment, so clang warns when they're present in an equality test. But we need to use extra parentheses in macros to isolate them from other code).
2014-10-28Add another year to our copyright dates.Nick Mathewson
Because in 95 years, we or our successors will surely care about enforcing the BSD license terms on this code. Right?
2014-10-28Updating message that warns about running out of sockets we can use.rl1987
2014-10-28Fix smartlist_choose_node_by_bandwidth() so that it rejects ORs with BadExit ↵rl1987
flag.
2014-10-28Merge remote-tracking branch 'rl1987/feature10427'Nick Mathewson
2014-10-27Merge remote-tracking branch 'sebastian/bug13286'Nick Mathewson
2014-10-27Remove configure option to disable curve25519Sebastian Hahn
By now, support in the network is widespread and it's time to require more modern crypto on all Tor instances, whether they're clients or servers. By doing this early in 0.2.6, we can be sure that at some point all clients will have reasonable support.
2014-10-26Congratulate relay operator when OR is first startedrl1987
When Tor first generates identity keypair, emit a log message that thanks for their participation and points to new Tor relay lifecycle document.
2014-10-26Fix a crash bug introduced in 223d354e3.Nick Mathewson
Arma found this and commented on #11243. Bug not in any released version of Tor.
2014-10-23Fix minor typos, two line lengths, and a repeated includeteor
2014-10-22Merge remote-tracking branch 'public/ticket6938'Nick Mathewson
Conflicts: src/tools/tor-resolve.c
2014-10-20Merge remote-tracking branch 'teor/memwipe-more-keys'Nick Mathewson
2014-10-20Fix a use-after-free error in cleaned-up rouerlist code.Nick Mathewson
Bug not in any released tor. This is CID 1248521
2014-10-20Memwipe more keys after tor has finished with themteor
Ensure we securely wipe keys from memory after crypto_digest_get_digest and init_curve25519_keypair_from_file have finished using them. Fixes bug 13477.
2014-10-16Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2014-10-16Downgrade 'unexpected sendme cell from client' to PROTOCOL_WARNNick Mathewson
Closes 8093.
2014-10-16Merge remote-tracking branch 'yawning/bug13314'Nick Mathewson
2014-10-13Merge remote-tracking branch 'public/bug11243_squashed'Nick Mathewson
2014-10-13Add comments to can_dl_again usageNick Mathewson
2014-10-13Note that parse-list functions may add duplicate 'invalid' entries.Nick Mathewson
2014-10-13Bugfixes on bug11243 fix for the not-added cases and testsNick Mathewson
1. The test that adds things to the cache needs to set the clock back so that the descriptors it adds are valid. 2. We split ROUTER_NOT_NEW into ROUTER_TOO_OLD, so that we can distinguish "already had it" from "rejected because of old published date". 3. We make extrainfo_insert() return a was_router_added_t, and we make its caller use it correctly. This is probably redundant with the extrainfo_is_bogus flag.
2014-10-13Use symbolic constants for statuses in microdescs_add_to_cache.Nick Mathewson
Suggested by Andrea in her review of 11243.
2014-10-13Don't reset the download failure status of any object marked as impossibleNick Mathewson
2014-10-13Unit tests for 11243: loading ri, ei, mds from listsNick Mathewson
These tests make sure that entries are actually marked undownloadable as appropriate.
2014-10-13Treat unparseable (micro)descriptors and extrainfos as undownloadableNick Mathewson
One pain point in evolving the Tor design and implementing has been adding code that makes clients reject directory documents that they previously would have accepted, if those descriptors actually exist. When this happened, the clients would get the document, reject it, and then decide to try downloading it again, ad infinitum. This problem becomes particularly obnoxious with authorities, since if some authorities accept a descriptor that others don't, the ones that don't accept it would go crazy trying to re-fetch it over and over. (See for example ticket #9286.) This patch tries to solve this problem by tracking, if a descriptor isn't parseable, what its digest was, and whether it is invalid because of some flaw that applies to the portion containing the digest. (This excludes RSA signature problems: RSA signatures aren't included in the digest. This means that a directory authority can still put another directory authority into a loop by mentioning a descriptor, and then serving that descriptor with an invalid RSA signatures. But that would also make the misbehaving directory authority get DoSed by the server it's attacking, so it's not much of an issue.) We already have a mechanism to mark something undownloadable with downloadstatus_mark_impossible(); we use that here for microdescriptors, extrainfos, and router descriptors. Unit tests to follow in another patch. Closes ticket #11243.
2014-10-13Merge remote-tracking branch 'isis/bug12951_r1'Nick Mathewson
2014-10-09Remove is_router_version_good_for_possible_guard()Nick Mathewson
The versions which this function would keep from getting the guard flag are already blocked by the minimum version check. Closes 13152.