- Jun 12, 2013
-
-
Nick Mathewson authored
This is a reprise of the fix in bdff7e32; 6905c1f6 reintroduced that bug. Briefly: windows doesn't seem to like deleting a mapped file. I tried adding the PROT_SHARED_DELETE flag to the createfile all, but that didn't actually fix this issue. Fortunately, the unit test I added in 4f4fc63f should prevent us from making this particular screw-up again. This patch also tries to limit the crash potential of a failure to write by a little bit, although it could do a better job of retaining microdescriptor bodies. Fix for bug 8822, bugfix on 0.2.4.12-alpha.
-
Nick Mathewson authored
This reverts commit 884a0e26. I'm reverting this because it doesn't actually make the problem go away. It appears that instead we need to do unmap-then-replace.
-
Nick Mathewson authored
A comment by rransom on #8795 taken together with a comment by doorss recorded on #2077 suggest that *every* attempt to replace the md cache will fail on Vista/Win7 if we don't have the FILE_SHARE_DELETE flag passed to CreateFile, and if we try to replace the file ourselves before unmapping it. I'm adding the FILE_SHARE_DELETE, since that's this simplest fix. Broken indexers (the favored #2077 hypothesis) could still cause trouble here, but at least this patch should make us stop stepping on our own feet. Likely fix for #2077 and its numerous duplicates. Bugfix on 0.2.2.6-alpha, which first had a microdescriptor cache that would get replaced before remapping it.
-
Nick Mathewson authored
Is it possible that *every* attempt to replace the microdesc cache on windows 7 is going to fail because of our lack of FILE_SHARE_DELETE while opening the file? If so, this test will catch #2077 and let us know when it's fixed.
-
- Jun 10, 2013
-
-
Nick Mathewson authored
There's an assertion failure that can occur if a connection has optimistic data waiting, and then the connect() call returns 0 on the first attempt (rather than -1 and EINPROGRESS). That latter behavior from connect() appears to be an (Open?)BSDism when dealing with remote addresses in some cases. (At least, I've only seen it reported with the BSDs under libevent, even when the address was 127.0.0.1. And we've only seen this problem in Tor with OpenBSD.) Fixes bug 9017; bugfix on 0.2.3.1-alpha, which first introduced optimistic data. (Although you could also argue that the commented-out connection_start_writing in 155c9b80 back in 2002 is the real source of the issue.)
-
- Jun 05, 2013
-
-
Karsten Loesing authored
-
- May 21, 2013
-
-
Nick Mathewson authored
See discussion on #8093
-
- May 20, 2013
-
-
Andrea Shepard authored
-
- May 17, 2013
-
-
Nick Mathewson authored
-
- May 15, 2013
-
-
Nick Mathewson authored
-
Roger Dingledine authored
The fix for bug 8117 exposed this bug, and it turns out real-world applications like Pidgin do care. Bugfix on 0.2.3.2-alpha; fixes bug 8879.
-
- May 13, 2013
-
-
Karsten Loesing authored
-
- May 09, 2013
-
-
Andrea Shepard authored
-
Andrea Shepard authored
-
Andrea Shepard authored
-
Andrea Shepard authored
-
Andrea Shepard authored
-
Andrea Shepard authored
-
Andrea Shepard authored
When downloading certificates, distinguish requesting by identity digest from requesting by ID digest, signing key pair; fixes bug 5595
-
Andrea Shepard authored
-
Nick Mathewson authored
This is a fix for bug 8844, where eugenis correctly notes that there's a sentinel value at the end of the list-of-freelists that's never actually checked. It's a bug since the first version of the chunked buffer code back in 0.2.0.16-alpha. This would probably be a crash bug if it ever happens, but nobody's ever reported something like this, so I'm unsure whether it can occur. It would require write_to_buf, write_to_buf_zlib, read_to_buf, or read_to_buf_tls to get an input size of more than 32K. Still, it's a good idea to fix this kind of thing!
-
- May 08, 2013
-
-
Nick Mathewson authored
This couldn't actually be a buffer overrun unless AES somehow turned into memcpy, but still it's good to fix it.
-
- May 05, 2013
-
-
Nick Mathewson authored
-
Nick Mathewson authored
It appears that moria1 crashed because of one instance of this (the one in router_counts_toward_thresholds). The other instance I fixed won't actually have broken anything, but I think it's more clear this way. Fixes bug 8833; bugfix on 0.2.4.12-alpha.
-
- Apr 25, 2013
-
-
We now know the bug is present in 0.2.4.12-alpha too. It should be fixed in 0.2.4.13-alpha, though.
-
We need to subtract both the current built circuits *and* the attempted circuits from the attempt count during scaling, since *both* have already been counted there.
-
- Apr 19, 2013
-
-
Nick Mathewson authored
Implements #8711.
-
- Apr 18, 2013
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
Looks like I turned this off in 6ac42f5e back in 2003 and never got around to making it work again. There has been no small amount of code drift.
-
Nick Mathewson authored
-
Nick Mathewson authored
It sure is a good thing we can run each test in its own process, or else the amount of setup I needed to do to make this thing work would have broken all the other tests. Test mocking would have made this easier to write too.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
Nothing uses it any longer now that we use smartlists of strings for stuff that manipulates iles of formatted routerstatuses.
-
Nick Mathewson authored
Now we can compute the hash and signature of a dirobj before concatenating the smartlist, and we don't need to play silly games with sigbuf and realloc any more.
-
Nick Mathewson authored
-