diff options
author | Neel Chauhan <neel@neelc.org> | 2020-06-16 14:38:08 -0700 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-10-07 08:35:12 -0400 |
commit | 884cad3edffb644a3da8b1e7e704678225cfe4ac (patch) | |
tree | ce02ee3a92c32c0c3425796cf6bab90b9e00f105 | |
parent | 3e9fa5a029af55a0175b106199a5371fd87c8e4a (diff) | |
download | tor-884cad3edffb644a3da8b1e7e704678225cfe4ac.tar.gz tor-884cad3edffb644a3da8b1e7e704678225cfe4ac.zip |
Make HSFETCH take the decoded length into account, not the base32 one
-rw-r--r-- | changes/bug34400 | 5 | ||||
-rw-r--r-- | src/feature/control/control_cmd.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/bug34400 b/changes/bug34400 new file mode 100644 index 0000000000..e2b56688b9 --- /dev/null +++ b/changes/bug34400 @@ -0,0 +1,5 @@ + o Minor bugfixes (v2 onion services): + - For HSFETCH commands on v2 onion services addresses, check the length of + bytes decoded, not the base32 length. This takes the behavior introduced + in commit a517daa56f5848d25ba79617a1a7b82ed2b0a7c0 into consideration. + Fixes bug 34400; bugfix on 0.4.1.1-alpha. Patch by Neel Chauhan. diff --git a/src/feature/control/control_cmd.c b/src/feature/control/control_cmd.c index 8259c3b353..b3f61549ad 100644 --- a/src/feature/control/control_cmd.c +++ b/src/feature/control/control_cmd.c @@ -1430,7 +1430,7 @@ handle_control_hsfetch(control_connection_t *conn, rend_valid_descriptor_id(arg1 + v2_str_len) && base32_decode(digest, sizeof(digest), arg1 + v2_str_len, REND_DESC_ID_V2_LEN_BASE32) == - REND_DESC_ID_V2_LEN_BASE32) { + sizeof(digest)) { /* We have a well formed version 2 descriptor ID. Keep the decoded value * of the id. */ desc_id = digest; |