aboutsummaryrefslogtreecommitdiff
path: root/src/or/dns.c
Commit message (Expand)AuthorAge
* Change "reverse_lookup_name" functions to refer to "PTR_name"s•••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 Mathewson2011-10-11
* Fix names of functions that convert strings to addrs•••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. Nick Mathewson2011-10-11
* Make the get_options() return const•••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! Nick Mathewson2011-06-14
* Merge branch 'maint-0.2.2'Roger Dingledine2011-05-20
|\
| * log the reason for publishing a new relay descriptor•••now we have a better chance of hunting down the root cause of bug 1810. Roger Dingledine2011-05-19
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/common/address.c src/common/compat_libevent.c src/common/memarea.c src/common/util.h src/or/buffers.c src/or/circuitbuild.c src/or/circuituse.c src/or/connection.c src/or/directory.c src/or/networkstatus.c src/or/or.h src/or/routerlist.c Nick Mathewson2011-04-07
|\|
| * Fixup tor_addr_to_sockaddr return conventionNick Mathewson2011-03-25
* | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-12
|\|
| * Add missing parens to evdns_base_resolve_* macros while I am at itNick Mathewson2011-01-09
| * Fix check for failed evdns request creation•••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 81eee0ecfff3dac1e9438719d2f7dc0ba7e84a71; found by lodger; uploaded to trac by rransom. Bug 2363. Fix on 0.2.2.6-alpha. Nick Mathewson2011-01-09
* | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\|
| * Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2011-01-03
| |\
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
* | | Try to make most routerinfo_t interfaces constNick Mathewson2010-10-01
|/ /
* | Create relay.hSebastian Hahn2010-07-27
* | Create policies.hSebastian Hahn2010-07-27
* | Create main.hSebastian Hahn2010-07-27
* | Create dns.hSebastian Hahn2010-07-27
* | Create control.hSebastian Hahn2010-07-27
* | Create connection_edge.hSebastian Hahn2010-07-27
* | Create connection.hSebastian Hahn2010-07-27
* | Create config.hSebastian Hahn2010-07-27
* | Create circuituse.hSebastian Hahn2010-07-27
* | Create circuitlist.hSebastian Hahn2010-07-27
* | Create router.hSebastian Hahn2010-07-27
* | Log the correct address when purging a mismatchd DNS cache addressvalerino2010-05-20
* | Fix a segfault when a client is hup'd.•••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. Sebastian Hahn2010-04-03
* | Merge remote branch 'origin/maint-0.2.1'•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2010-02-27
|\|
| * Update Tor Project copyright yearsNick Mathewson2010-02-27
* | Build correctly with Libevent 2.0.4-alpha and laterNick Mathewson2010-02-15
* | Make tor_addr_copy() conform to memcpy requirements•••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. Nick Mathewson2010-02-09
* | Merge branch 'ewma'Nick Mathewson2009-12-18
|\ \
| * | Enhance pqueue so we can remove items from the middle.•••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. Nick Mathewson2009-12-12
* | | Merge branch 'safelogging2'•••Conflicts: ChangeLog Nick Mathewson2009-12-15
|\ \ \ | |/ / |/| |
| * | Refactor the safe_str_*() API to make more sense.•••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". Nick Mathewson2009-12-15
| * | Allow SafeLogging to exclude client related informationSebastian Hahn2009-12-12
* | | Now that FOO_free(NULL) always works, remove checks before calling it.Nick Mathewson2009-12-12
* | | *_free functions now accept NULL•••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. Sebastian Hahn2009-12-12
|/ /
* | Another event2 evdns fix.Nick Mathewson2009-10-13
* | Fix a crash when using evdns from Libevent 2.•••When we tried to use the deprecated non-threadsafe evdns interfaces in Libevent 2 without using the also-deprecated event_init() interface, Libevent 2 would sensibly crash, since it has no guess where to find the Libevent library. Here we use the evdns_base_*() functions instead if they're present, and fake them if they aren't. Nick Mathewson2009-10-13
* | fix comments and other typosRoger Dingledine2009-07-13
* | Isolate Libevent API dependency to just main.c and dns.c in src/or.•••The rest of the code was only including event.h so that it could see EV_READ and EV_WRITE, which we were using as part of the connection_watch_events interface for no very good reason. Nick Mathewson2009-06-12
* | Update Tor to use Libevent 2.0 APIs when available.•••This patch adds a new compat_libevent.[ch] set of files, and moves our Libevent compatibility and utilitity functions there. We build them into a separate .a so that nothing else in src/commmon depends on Libevent (partially fixing bug 507). Also, do not use our own built-in evdns copy when we have Libevent 2.0, whose evdns is finally good enough (thus fixing Bug 920). Nick Mathewson2009-06-12
* | Merge commit 'origin/maint-0.2.1'Nick Mathewson2009-06-04
|\|
| * Fix gprof bottlenecks on exit nodes found by Jacob.•••Apparently all the stuff that does a linear scan over all the DNS cache entries can get really expensive when your DNS cache is very large. It's hard to say how much this will help performance, since gprof doesn't count time spent in OpenSSL or zlib, but I'd guess 10%. Also, this patch removes calls to assert_connection_ok() from inside the read and write callbacks, which are similarly unneeded, and a little costlier than I'm happy with. This is probably worth backporting to 0.2.0. Nick Mathewson2009-06-03
* | Merge commit 'origin/maint-0.2.1'Nick Mathewson2009-05-27
|\|
| * Spell-check Tor.Nick Mathewson2009-05-27
| * Update copyright to 2009.Karsten Loesing2009-05-04
* | fix codestyle issuesSebastian Hahn2009-05-24
* | Log the number and size of DNS cache entries on SIGUSR1.•••Specifically if you send SIGUSR1, it will add two lines to the log file: May 22 07:41:59.576 [notice] Our DNS cache has 3364 entries. May 22 07:41:59.576 [notice] Our DNS cache size is approximately 1022656 bytes. [tweaked a bit by nickm] Jacob Appelbaum2009-05-22