summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-19
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / /
| | * | | | | | | | Oops; actually add the code to the last patch. :/Nick Mathewson2011-01-19
| | | | | | | | | |
| | * | | | | | | | Fix two more SIZE_T_CEILING issuesNick Mathewson2011-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch imposes (very long) limits on the length of a line in a directory document, and on the length of a certificate. I don't think it should actually be possible to overrun these remotely, since we already impose a maximum size on any directory object we're downloading, but a little defensive programming never hurt anybody. Roger emailed me that doorss reported these on IRC, but nobody seems to have put them on the bugtracker.
* | | | | | | | | | fix 0.2.2 changelog to match 0.2.1Roger Dingledine2011-01-18
| | | | | | | | | |
* | | | | | | | | | Merge branch 'maint-0.2.2'Roger Dingledine2011-01-18
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / /
| * | | | | | | | | Merge branch 'maint-0.2.1' into maint-0.2.2Roger Dingledine2011-01-18
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / /
| | * | | | | | | | be the winner, rewrite historyRoger Dingledine2011-01-18
| | |/ / / / / / /
* | | | | | | | | trivial make-signature.sh patchTaylor R Campbell2011-01-15
| | | | | | | | |
* | | | | | | | | forward-port that part of the changelogRoger Dingledine2011-01-15
| | | | | | | | |
* | | | | | | | | Merge branch 'maint-0.2.2'Roger Dingledine2011-01-15
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Merge commit 'sebastian/bug2317' into maint-0.2.2Roger Dingledine2011-01-15
| |\ \ \ \ \ \ \ \
| | * | | | | | | | Update the spec with the new boundsSebastian Hahn2011-01-15
| | | | | | | | | |
| | * | | | | | | | Tighten accepted circwindow parametersSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on discussion in bug 2317, these values seem to be sane.
| | * | | | | | | | Provide constant limits for all consensus paramsSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This addresses Nick's concern about doing non-constant bounds checking inside networkstatus_get_param().
| | * | | | | | | | Fix a typo spotted by RogerSebastian Hahn2011-01-15
| | | | | | | | | |
| | * | | | | | | | Sanity-check consensus param valuesSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to make sure that the worst thing that a weird consensus param can do to us is to break our Tor (and only if the other Tors are reliably broken in the same way) so that the majority of directory authorities can't pull any attacks that are worse than the DoS that they can trigger by simply shutting down. One of these worse things was the cbtnummodes parameter, which could lead to heap corruption on some systems if the value was sufficiently large. This commit fixes this particular issue and also introduces sanity checking for all consensus parameters.
| | * | | | | | | | Make get_net_param_from_list() staticSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prepares for making the accessor method for consensus parameters safer in the next commit.
* | | | | | | | | | some changelog entries for master tooRoger Dingledine2011-01-15
| | | | | | | | | |
* | | | | | | | | | Merge branch 'maint-0.2.2'Roger Dingledine2011-01-15
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / /
| * | | | | | | | | Merge branch 'maint-0.2.1' into maint-0.2.2Roger Dingledine2011-01-15
| |\ \ \ \ \ \ \ \ \ | | | |/ / / / / / / | | |/| | | | | | |
| | * | | | | | | | 0.2.1.29 changelog and blurbRoger Dingledine2011-01-15
| | | |/ / / / / / | | |/| | | | | |
* | | | | | | | | Add a make-signature.sh script.Nick Mathewson2011-01-15
| | | | | | | | |
* | | | | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | | | / / / / / / | | |/ / / / / / | |/| | | | | |
| | * | | | | | Fix a couple of non-cleared key issues in hidden servicesNick Mathewson2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we need to do more hunting, but this fixes the ones mentioned in 2385.
| | * | | | | | Zero out some more key data before freeing itNick Mathewson2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by cypherpunks; fixes bug 2384.
* | | | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\ \ \ \ \ \ \ | | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/routerparse.c src/or/test.c
| | * | | | | | Merge branch 'bug2352_obsize' into maint-0.2.1Nick Mathewson2011-01-15
| | |\ \ \ \ \ \
| | | * | | | | | catch another overlong malloc possibility. found by cypherpunksNick Mathewson2011-01-15
| | | | | | | | |
| | | * | | | | | Impose maximum sizes on parsed objectsNick Mathewson2011-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An object, you'll recall, is something between -----BEGIN----- and -----END----- tags in a directory document. Some of our code, as doorss has noted in bug 2352, could assert if one of these ever overflowed SIZE_T_CEILING but not INT_MAX. As a solution, I'm setting a maximum size on a single object such that neither of these limits will ever be hit. I'm also fixing the INT_MAX checks, just to be sure.
| | | * | | | | | Add logic in routerparse to not read overlong private keysNick Mathewson2011-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I am not at all sure that it is possible to trigger a bug here, but better safe than sorry.
* | | | | | | | | Remove some unnecessary occurrences of +1.Robert Ransom2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I dug through the OpenSSL source and verified that RSA_private_decrypt will not write more than RSA_size(key) bytes to its output buffer.
* | | | | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\ \ \ \ \ \ \ \ | | |/ / / / / / /
| | * | | | | | | Add missing check for hostname answer_len in dnsserv sizeNick Mathewson2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is checked elsewhere too, but let's be RFC-conformant.
* | | | | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\ \ \ \ \ \ \ \ | | |/ / / / / / /
| | * | | | | | | Merge branch 'bug2332_part2' into maint-0.2.1Nick Mathewson2011-01-15
| | |\ \ \ \ \ \ \
| | | * | | | | | | Always nul-terminate the result passed to evdns_server_add_ptr_replyNick Mathewson2011-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In dnsserv_resolved(), we carefully made a nul-terminated copy of the answer in a PTR RESOLVED cell... then never used that nul-terminated copy. Ouch. Surprisingly this one isn't as huge a security problem as it could be. The only place where the input to dnsserv_resolved wasn't necessarily nul-terminated was when it was called indirectly from relay.c with the contents of a relay cell's payload. If the end of the payload was filled with junk, eventdns.c would take the strdup() of the name [This part is bad; we might crash there if the cell is in a bad part of the stack or the heap] and get a name of at least length 495[*]. eventdns.c then rejects any name of length over 255, so the bogus data would be neither transmitted nor altered. [*] If the name was less than 495 bytes long, the client wouldn't actually be reading off the end of the cell. Nonetheless this is a reasonably annoying bug. Better fix it. Found while looking at bug 2332, reported by doorss. Bugfix on 0.2.0.1-alpha.
* | | | | | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / /
| * | | | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / /
| | * | | | | | | | Merge branch 'bug2324_uncompress' into maint-0.2.1Nick Mathewson2011-01-15
| | |\ \ \ \ \ \ \ \
| | | * | | | | | | | clean up message; explain a magic number in a commentNick Mathewson2011-01-15
| | | | | | | | | | |
| | | * | | | | | | | Fix a SIZE_T_CEILING check in torgzip.c; noticed by cypherpunksNick Mathewson2011-01-05
| | | | | | | | | | |
| | | * | | | | | | | Detect and disallow compression bombsNick Mathewson2011-01-03
| | | | | | | | | | |
* | | | | | | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / /
| * | | | | | | | | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/config.c src/or/networkstatus.c src/or/rendcommon.c src/or/routerparse.c src/or/test.c
| | * | | | | | | | | make the description of tolen_asserts more direNick Mathewson2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a CVE # for this bug.
| | * | | | | | | | | Fix a heap overflow found by debuger, and make it harder to make that ↵Nick Mathewson2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mistake again Our public key functions assumed that they were always writing into a large enough buffer. In one case, they weren't. (Incorporates fixes from sebastian)