- 17 Aug, 2012 1 commit
-
-
Nick Mathewson authored
Failure to do this would lead to double-free cases and similar, especially when the exit's DNS was broken. See bug 6472 for full details; this is a fix for 6472. Anonymous patch from "cypherpunks" on trac.
-
- 31 Jul, 2012 2 commits
-
-
Nick Mathewson authored
Fixes 6480; fix on 0.2.0.1-alpha; based on pseudonymous patch.
-
Roger Dingledine authored
-
- 07 Jun, 2012 1 commit
-
-
Nick Mathewson authored
-
- 05 Jun, 2012 1 commit
-
-
Nick Mathewson authored
-
- 18 May, 2012 1 commit
-
-
Nick Mathewson authored
To hit this leak, you need to be a relay that gets a RESOLVE request or an exit node getting a BEGIN or RESOLVE request. You must either have unconfigured (and unconfigurable) nameservers, or you must have somehow set DisableNetwork after a network request arrived but before you managed to process it. So, I doubt this is reached often. Still, a leak's a leak. Fix for bug 5916; bugfix on 0.2.3.9-alpha and 0.1.2.1-alpha.
-
- 31 Jan, 2012 1 commit
-
-
Nick Mathewson authored
This commit is completely mechanical; I used this perl script to make it: #!/usr/bin/perl -w -i.bak -p if (/^\s*\#/) { s/MS_WINDOWS/_WIN32/g; s/\bWIN32\b/_WIN32/g; }
-
- 23 Jan, 2012 1 commit
-
-
Sebastian Hahn authored
This fixes a compile warning on Windows. Fixes bug 4946, not in any released version.
-
- 18 Jan, 2012 1 commit
-
-
Nick Mathewson authored
Fixes bug 4893. These changes are pure mechanical, and were generated with this perl script: /usr/bin/perl -w -i.bak -p s/crypto_pk_env_t/crypto_pk_t/g; s/crypto_dh_env_t/crypto_dh_t/g; s/crypto_cipher_env_t/crypto_cipher_t/g; s/crypto_digest_env_t/crypto_digest_t/g; s/aes_free_cipher/aes_cipher_free/g; s/crypto_free_cipher_env/crypto_cipher_free/g; s/crypto_free_digest_env/crypto_digest_free/g; s/crypto_free_pk_env/crypto_pk_free/g; s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g; s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g; s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g; s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g; s/crypto_new_cipher_env/crypto_cipher_new/g; s/crypto_new_digest_env/crypto_digest_new/g; s/crypto_new_digest256_env/crypto_digest256_new/g; s/crypto_new_pk_env/crypto_pk_new/g; s/crypto_create_crypto_env/crypto_cipher_new/g; s/connection_create_listener/connection_listener_new/g; s/smartlist_create/smartlist_new/g; s/transport_create/transport_new/g;
-
- 17 Jan, 2012 1 commit
-
-
Nick Mathewson authored
Add a TOR_INVALID_SOCKET macro to wrap -1/INVALID_SOCKET. Partial work for bug4533.
-
- 29 Nov, 2011 1 commit
-
-
Nick Mathewson authored
-
- 11 Oct, 2011 2 commits
-
-
Nick Mathewson authored
Under the new convention, having a tor_addr.*lookup function that doesn't do hostname resolution is too close for comfort. I used this script here, and have made no other changes. s/tor_addr_parse_reverse_lookup_name/tor_addr_parse_PTR_name/g; s/tor_addr_to_reverse_lookup_name/tor_addr_to_PTR_name/g;
-
Nick Mathewson authored
Now let's have "lookup" indicate that there can be a hostname resolution, and "parse" indicate that there wasn't. Previously, we had one "lookup" function that did resolution; four "parse" functions, half of which did resolution; and a "from_str()" function that didn't do resolution. That's confusing and error-prone! The code changes in this commit are exactly the result of this perl script, run under "perl -p -i.bak" : s/tor_addr_port_parse/tor_addr_port_lookup/g; s/parse_addr_port(?=[^_])/addr_port_lookup/g; s/tor_addr_from_str/tor_addr_parse/g; This patch leaves aton and pton alone: their naming convention and behavior is is determined by the sockets API. More renaming may be needed.
-
- 14 Jun, 2011 1 commit
-
-
Nick Mathewson authored
This lets us make a lot of other stuff const, allows the compiler to generate (slightly) better code, and will make me get slightly fewer patches from folks who stick mutable stuff into or_options_t. const: because not every input is an output!
-
- 20 May, 2011 1 commit
-
-
Roger Dingledine authored
now we have a better chance of hunting down the root cause of bug 1810.
-
- 25 Mar, 2011 1 commit
-
-
Nick Mathewson authored
-
- 10 Jan, 2011 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
When using libevent 2, we use evdns_base_resolve_*(). When not, we fake evdns_base_resolve_*() using evdns_resolve_*(). Our old check was looking for negative values (like libevent 2 returns), but our eventdns.c code returns 1. This code makes the check just test for nonzero. Note that this broken check was not for _resolve_ failures or even for failures to _launch_ a resolve: it was for failures to _create_ or _encode_ a resolve request. Bug introduced in 81eee0ec; found by lodger; uploaded to trac by rransom. Bug 2363. Fix on 0.2.2.6-alpha.
-
- 03 Jan, 2011 1 commit
-
-
Nick Mathewson authored
-
- 01 Oct, 2010 1 commit
-
-
Nick Mathewson authored
-
- 27 Jul, 2010 11 commits
-
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
Sebastian Hahn authored
-
- 21 May, 2010 1 commit
-
-
- 03 Apr, 2010 1 commit
-
-
Sebastian Hahn authored
We need to make sure we have an event_base in dns.c before we call anything that wants one. Make sure we always have one in dns_reset() when we're a client. Fixes bug 1341.
-
- 27 Feb, 2010 1 commit
-
-
Nick Mathewson authored
-
- 15 Feb, 2010 1 commit
-
-
Nick Mathewson authored
-
- 09 Feb, 2010 1 commit
-
-
Nick Mathewson authored
The src and dest of a memcpy() call aren't supposed to overlap, but we were sometimes calling tor_addr_copy() as a no-op. Also, tor_addr_assign was a redundant copy of tor_addr_copy(); this patch removes it.
-
- 15 Dec, 2009 1 commit
-
-
Nick Mathewson authored
The new rule is: safe_str_X() means "this string is a piece of X information; make it safe to log." safe_str() on its own means "this string is a piece of who-knows-what; make it safe to log".
-
- 13 Dec, 2009 1 commit
-
-
Nick Mathewson authored
This changes the pqueue API by requiring an additional int in every structure that we store in a pqueue to hold the index of that structure within the heap.
-
- 12 Dec, 2009 2 commits
-
-
Nick Mathewson authored
-
Sebastian Hahn authored
Some *_free functions threw asserts when passed NULL. Now all of them accept NULL as input and perform no action when called that way. This gains us consistence for our free functions, and allows some code simplifications where an explicit null check is no longer necessary.
-