summaryrefslogtreecommitdiff
path: root/src/feature
AgeCommit message (Collapse)Author
2020-07-09Refactor setup_intro_circ_auth_key() to make it simpler.George Kadianakis
It now uses the 'goto err' pattern, instead of the fatal_unreached() pattern. The latter pattern is usually used when there is a loop, but there is no loop in this function so it can be simplified easily.
2020-07-09Handle a failure edge-case when a client-side intro circ opens.George Kadianakis
2020-07-03Merge branch 'tor-github/pr/1962' into maint-0.4.4George Kadianakis
2020-07-03hs-v2: Add deprecation warning for serviceDavid Goulet
If at least one service is configured as a version 2, a log warning is emitted once and only once. Closes #40003 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-07-02Merge branch 'maint-0.4.3' into maint-0.4.4David Goulet
2020-07-02Merge branch 'maint-0.4.2' into maint-0.4.3David Goulet
2020-07-02Merge branch 'maint-0.3.5' into maint-0.4.2David Goulet
2020-06-30Downgrade "Bug: No entry found in extrainfo map" message.Nick Mathewson
This is not actually a bug! It can happen for a bunch of reasons, which all boil down to "trying to add an extrainfo for which we no longer have the corresponding routerinfo". Fixes #16016; bugfix on 0.2.6.3-alpha.
2020-06-30Merge branch 'maint-0.3.5' into maint-0.4.2Alexander Færøy
2020-06-30Merge branch 'tor-github/pr/1909' into maint-0.3.5Alexander Færøy
2020-06-29Merge remote-tracking branch 'tor-github/pr/1696/head' into maint-0.4.2Nick Mathewson
2020-06-29Merge remote-tracking branch 'tor-github/pr/1829/head' into maint-0.4.3Nick Mathewson
2020-06-29Merge branch 'maint-0.3.5' into maint-0.4.2Nick Mathewson
2020-06-29Merge remote-tracking branch 'tor-github/pr/1725/head' into maint-0.3.5Nick Mathewson
2020-06-23Reinstate support for GUARD NEW/UP/DOWN control port events.George Kadianakis
2020-06-23Merge branch 'tor-github/pr/1937' into maint-0.4.4David Goulet
2020-06-22Consistently use 'address' in Invalid v3 address responses to ↵Miguel Jacq
ONION_CLIENT_AUTH commands
2020-06-17Update the list of recommended protocol versions to match >=0.3.5.Nick Mathewson
Since Tor 0.2.9 has been unsupported since January, 0.3.5 is the oldest supported version, and its features constitute the oldest recommended feature-set. This patch updates these recommendations: DirCache=2 Support for consensus diffs. New in 0.3.1.1-alpha. HSDir=2 Support for v3 onion service descriptors. New in 0.3.0.4-alpha. HSIntro=4 Support for Ed25519 intropoint authentication keys. New in 0.3.0-4-alpha. HSRend=2 Support for rendezvous cells longer than 20 bytes. New in 0.2.9.4-alpha. Link=5 Link padding and link padding negotiation. New in 0.3.3.2-alpha. LinkAuth=3 Ed25519 link authentication. New in 0.3.0.1-alpha.
2020-06-17Spelling fix: "RECCOMEND" => "RECOMMEND".Nick Mathewson
2020-06-11Update functions that load and write the guard state file.George Kadianakis
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11Pick guards on the order they were sampled (prop310).George Kadianakis
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11Refactor some guard state file parsing code into functions.Florentin Rochet
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-05Merge remote-tracking branch 'tor-github/pr/1902/head'Nick Mathewson
2020-06-05Fix some checks of tor_inet_ntoa() return valuerl1987
Also, fix a format string.
2020-06-02Merge branch 'tor-github/pr/1909' into maint-0.4.3George Kadianakis
2020-06-02Merge branch 'tor-github/pr/1909'George Kadianakis
2020-05-30Preemptive circs should work with UseEntryGuards 0Roger Dingledine
Resume being willing to use preemptively-built circuits when UseEntryGuards is set to 0. We accidentally disabled this feature with that config setting (in our fix for #24469), leading to slower load times. Fixes bug 34303; bugfix on 0.3.3.2-alpha.
2020-05-28Merge branch 'tor-github/pr/1901'David Goulet
2020-05-28Merge branch 'tor-github/pr/1792' into maint-0.4.3George Kadianakis
2020-05-28hs-v3: Improve accessor semantic of client cached objectDavid Goulet
Add an inline helper function that indicates if the cached object contains a decrypted descriptor or not. The descriptor object is NULL if tor is unable to decrypt it (lacking client authorization) and some actions need to be done only when we have a decrypted object. This improves code semantic. Fixes #33458 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-05-27Merge branch 'tor-github/pr/1898'George Kadianakis
2020-05-27Add HS v3 status to the SIGUSR1 dumpstats()Neel Chauhan
2020-05-21Merge branch 'tor-github/pr/1861'George Kadianakis
2020-05-21Check for NULL from tor_dup_ip()rl1987
2020-05-21Bail out of format_networkstatus_vote if fmt_addr32() failed.rl1987
Something is fishy if we cannot put IP address string into dir-vote line.
2020-05-21Actually, bail out of routerstatus_format_entry() if fmt_addr32() failsrl1987
2020-05-21Check that fmt_addr32() returned non-empty string before putting it into ↵rl1987
documents
2020-05-21Check output value of tor_inet_ntop/tor_inet_ntoa in dns.crl1987
2020-05-21Fix an enum comparison that was blowing up jenkins.George Kadianakis
The warning was: 11:23:10 ../tor/src/feature/hs/hs_service.c: In function 'log_cant_upload_desc': 11:23:10 ../tor/src/feature/hs/hs_service.c:3118:3: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits] See #34254 for more info. I guess this means that gcc assigned an unsigned type to the `log_desc_upload_reason_t` enum and it warned if we compared it against 0... For now I think it's simpler to remove that check instead of turning the enum to a signed type, or trying to hack it some other way. From what it seems, enum is up to the compiler on whether it's signed/unsigned: https://stackoverflow.com/questions/159034/are-c-enums-signed-or-unsigned
2020-05-17Declare variables in for loops in rend_service_dump_stats()Neel Chauhan
2020-05-07Merge remote-tracking branch 'tor-github/pr/1880/head'Nick Mathewson
2020-05-06Merge branch 'maint-0.4.3'Nick Mathewson
2020-05-06Merge branch 'maint-0.4.2' into maint-0.4.3Nick Mathewson
2020-05-06Merge branch 'maint-0.4.1' into maint-0.4.2Nick Mathewson
2020-05-06btrack_orconn_cevent.c: Add a missing "break;"Nick Mathewson
2020-05-06Merge branch 'maint-0.4.3'Nick Mathewson
Amazingly, this time we had no merge conflicts with "falls through" comments.
2020-05-06Use __attribute__((fallthrough)) rather than magic GCC comments.Nick Mathewson
GCC added an implicit-fallthrough warning a while back, where it would complain if you had a nontrivial "case:" block that didn't end with break, return, or something like that. Clang recently added the same thing. GCC, however, would let you annotate a fall-through as intended by any of various magic "/* fall through */" comments. Clang, however, only seems to like "__attribute__((fallthrough))". Fortunately, GCC accepts that too. A previous commit in this branch defined a FALLTHROUGH macro to do the right thing if GNUC is defined; here we replace all of our "fall through" comments with uses of that macro. This is an automated commit, made with the following perl one-liner: #!/usr/bin/perl -i -p s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i; (In order to avoid conflicts, I'm applying this script separately to each maint branch. This is the 0.4.3 version.)
2020-05-06Use __attribute__((fallthrough)) rather than magic GCC comments.Nick Mathewson
GCC added an implicit-fallthrough warning a while back, where it would complain if you had a nontrivial "case:" block that didn't end with break, return, or something like that. Clang recently added the same thing. GCC, however, would let you annotate a fall-through as intended by any of various magic "/* fall through */" comments. Clang, however, only seems to like "__attribute__((fallthrough))". Fortunately, GCC accepts that too. A previous commit in this branch defined a FALLTHROUGH macro to do the right thing if GNUC is defined; here we replace all of our "fall through" comments with uses of that macro. This is an automated commit, made with the following perl one-liner: #!/usr/bin/perl -i -p s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i; (In order to avoid conflicts, I'm applying this script separately to each maint branch. This is the 0.4.2 version.)
2020-05-06Use __attribute__((fallthrough)) rather than magic GCC comments.Nick Mathewson
GCC added an implicit-fallthrough warning a while back, where it would complain if you had a nontrivial "case:" block that didn't end with break, return, or something like that. Clang recently added the same thing. GCC, however, would let you annotate a fall-through as intended by any of various magic "/* fall through */" comments. Clang, however, only seems to like "__attribute__((fallthrough))". Fortunately, GCC accepts that too. A previous commit in this branch defined a FALLTHROUGH macro to do the right thing if GNUC is defined; here we replace all of our "fall through" comments with uses of that macro. This is an automated commit, made with the following perl one-liner: #!/usr/bin/perl -i -p s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i; (In order to avoid conflicts, I'm applying this script separately to each maint branch. This is the 0.4.1 version.)
2020-05-06Use __attribute__((fallthrough)) rather than magic GCC comments.Nick Mathewson
GCC added an implicit-fallthrough warning a while back, where it would complain if you had a nontrivial "case:" block that didn't end with break, return, or something like that. Clang recently added the same thing. GCC, however, would let you annotate a fall-through as intended by any of various magic "/* fall through */" comments. Clang, however, only seems to like "__attribute__((fallthrough))". Fortunately, GCC accepts that too. A previous commit in this branch defined a FALLTHROUGH macro to do the right thing if GNUC is defined; here we replace all of our "fall through" comments with uses of that macro. This is an automated commit, made with the following perl one-liner: #!/usr/bin/perl -i -p s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i;