aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-05-11Hand-conversion and audit phase of memcmp transitionNick Mathewson
Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant.
2011-05-11Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson
This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h
2011-05-11Add a "di_ops.h" include to util.hNick Mathewson
2011-05-11Add a data-independent variant of memcmp and a d-i memeq function.Nick Mathewson
The tor_memcmp code is by Robert Ransom, and the tor_memeq code is by me. Both incorporate some ideas from DJB's stuff.
2011-04-28Fix a failure case of connection_ap_handshake_attach_circuit()Sebastian Hahn
tor_fragile_assert() might be a no-op, so we have to return something here to indicate failure to the caller.
2011-04-28Fix a bug introduced by purging rend_cache on NEWNYMRobert Ransom
If the user sent a SIGNAL NEWNYM command after we fetched a rendezvous descriptor, while we were building the introduction-point circuit, we would give up entirely on trying to connect to the hidden service. Original patch by rransom slightly edited to go into 0.2.1
2011-04-28Allow rend_client_send_introduction to fail transientlyRobert Ransom
i.e. without closing the AP connection.
2011-04-28Forget all rendezvous client state on SIGNAL NEWNYMRobert Ransom
2011-04-26Make SIZE_T_CEILING unsigned; add a signed SSIZE_T_CEILINGNick Mathewson
None of the comparisons were _broken_ previously, but avoiding signed/unsigned comparisons makes everybody happier. Fixes bug2475.
2011-04-21Fix a bug in removing DNSPort requests from their circular listNick Mathewson
Under heavy load, this could result in an assertion failure. Fix for bug 2933; bugfix on 0.2.0.10-alpha.
2011-04-19Merge remote-tracking branch 'rransom/bug2750-v3' into maint-0.2.1Nick Mathewson
2011-04-19Ouch: correctly tabify the micro-revision.i target in Makefile.am (0.2.1 only)Nick Mathewson
2011-04-18Add an XXXRobert Ransom
2011-04-18Correct the warning emitted when rejecting an oversized HS descRobert Ransom
2011-04-06Merge remote-tracking branch 'public/bug2402_again' into maint-0.2.1Nick Mathewson
2011-04-04switch to the apr 2011 geoip dbRoger Dingledine
2011-03-15Fix a compile warning when using clangSebastian Hahn
Issue noticed by Steven Murdoch; fixes bug 2689. The cast didn't do anything, and we don't need to look at the return value of the function here.
2011-03-13we're not reachable if we don't have a routerinfo yetRoger Dingledine
2011-03-11Backport: Generate version tags using Git, not (broken) svn revisions.Nick Mathewson
Partial backport of daa0326aaaa85a760be94ee2360cfa61a9fb5be2 . Resolves bug 2402. Bugfix on 0.2.1.15 (for the part where we switched to git) and on 0.2.1.30 (for the part where we dumped micro-revisions.)
2011-03-11Revert "Simplest fix to bug2402: do not include SVN versions"Nick Mathewson
This reverts commit a1073ee956021ead19d30c2151510dbaced416a8. Apparently, we totally misunderstood how the debian packages were using microrevisions. Better fix that!
2011-03-08move to march 2011 geoip fileRoger Dingledine
2011-03-08Avoid crash in any_pending_bridge_descriptor_fetchesNick Mathewson
This is based on shitlei's fix for bug2629, with extra parens removed. Fixes bug 2629, bugfix on 0.2.1.2-alpha.
2011-03-06Merge branch 'real_ipv6_fix' into maint-0.2.1Nick Mathewson
2011-03-06Oops, here's the *REAL* fix for the ipv6 issueNick Mathewson
We need to _REJECT_ descriptors with accept6/reject6 lines. If we let them onto the network , other un-upgraded tors will crash.
2011-03-06Merge branch 'careful_with_all_descs' into maint-0.2.1Nick Mathewson
2011-03-06Revert "Disallow reject6 and accept6 lines in descriptors"Nick Mathewson
This reverts commit b3918b3bbbfa9097246d63746c8b540eff2ec8e8.
2011-03-06exit_policy_is_general_exit is IPv4 only; it should admit it.Nick Mathewson
2011-03-06Disallow reject6 and accept6 lines in descriptorsSebastian Hahn
This fixes a remotely triggerable assert on directory authorities, who don't handle descriptors with ipv6 contents well yet. We will want to revert this once we're ready to handle ipv6. Issue raised by lorth on #tor, who wasn't able to use Tor anymore. Analyzed with help from Christian Fromme. Fix suggested by arma. Bugfix on 0.2.1.3-alpha.
2011-03-04Do not serve encrypt-only descriptors with the "all" request. Reported by ↵Nick Mathewson
piebeer
2011-02-22Merge remote branch 'public/bug1859_021' into maint-0.2.1Nick Mathewson
2011-02-22Merge remote branch 'public/bug2402_nothing' into maint-0.2.1Nick Mathewson
2011-02-10fix the other half of bug 1074Roger Dingledine
2011-02-10Make the DH parameter we use for TLS match the one from Apache's mod_sslNick Mathewson
Our regular DH parameters that we use for circuit and rendezvous crypto are unchanged. This is yet another small step on the path of protocol fingerprinting resistance. (Backport from 0.2.2's 5ed73e3807d90dd0a3)
2011-02-09Ignore and warn about "PublishServerDescriptor hidserv"Robert Ransom
Fixes #2408.
2011-02-07move the clause above the "if bw is too low" checkRoger Dingledine
2011-02-07dtrt when only relaybandwidthburst is setRoger Dingledine
fixes bug 2470
2011-02-07Update to the February 1 2011 Maxmind GeoLite Country database.Karsten Loesing
2011-01-25Simplest fix to bug2402: do not include SVN versionsNick Mathewson
When we stopped using svn, 0.2.1.x lost the ability to notice its svn revision and report it in the version number. However, it kept looking at the micro-revision.i file... so if you switched to master, built tor, then switched to 0.2.1.x, you'd get a micro-revision.i file from master reported as an SVN tag. This patch takes out the "include the svn tag" logic entirely. Bugfix on 0.2.1.15-rc; fixes bug 2402.
2011-01-20Merge remote branch 'rransom/policy_summarize-assert' into maint-0.2.1Nick Mathewson
2011-01-20Fix bounds-checking in policy_summarizeRobert Ransom
Found by piebeer.
2011-01-19Oops; actually add the code to the last patch. :/Nick Mathewson
2011-01-15Fix a couple of non-cleared key issues in hidden servicesNick Mathewson
we need to do more hunting, but this fixes the ones mentioned in 2385.
2011-01-15Zero out some more key data before freeing itNick Mathewson
Found by cypherpunks; fixes bug 2384.
2011-01-15Merge branch 'bug2352_obsize' into maint-0.2.1Nick Mathewson
2011-01-15Add missing check for hostname answer_len in dnsserv sizeNick Mathewson
This is checked elsewhere too, but let's be RFC-conformant.
2011-01-15Merge branch 'bug2324_uncompress' into maint-0.2.1Nick Mathewson
2011-01-15clean up message; explain a magic number in a commentNick Mathewson
2011-01-15Fix a heap overflow found by debuger, and make it harder to make that ↵Nick Mathewson
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)
2011-01-15Always nul-terminate the result passed to evdns_server_add_ptr_replyNick Mathewson
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.
2011-01-15catch another overlong malloc possibility. found by cypherpunksNick Mathewson