Commit Graph

487 Commits

Author SHA1 Message Date
Nick Mathewson
4e082ec84b Build correctly with Libevent 2.0.4-alpha and later 2010-02-15 16:47:47 -05:00
Nick Mathewson
c0d682686a 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.
2010-02-09 12:32:10 -05:00
Nick Mathewson
05a2473b7f Merge branch 'ewma' 2009-12-18 22:33:02 -05:00
Nick Mathewson
350181529e Merge branch 'safelogging2'
Conflicts:
	ChangeLog
2009-12-15 17:26:09 -05:00
Nick Mathewson
fcbd65b45c 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".
2009-12-15 17:25:34 -05:00
Nick Mathewson
c210db0d41 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.
2009-12-12 19:06:38 -05:00
Nick Mathewson
0c1b3070cf Now that FOO_free(NULL) always works, remove checks before calling it. 2009-12-12 02:07:59 -05:00
Sebastian Hahn
3807db001d *_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.
2009-12-12 03:29:44 +01:00
Sebastian Hahn
f258647433 Allow SafeLogging to exclude client related information 2009-12-12 02:26:11 +01:00
Nick Mathewson
71cdd99dd7 Another event2 evdns fix. 2009-10-13 18:57:25 -04:00
Nick Mathewson
81eee0ecff 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.
2009-10-13 17:54:04 -04:00
Roger Dingledine
9ece0955f7 fix comments and other typos 2009-07-13 17:34:46 -04:00
Nick Mathewson
1e709c79d1 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.
2009-06-12 14:27:53 -04:00
Nick Mathewson
e5b88dc83f 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).
2009-06-12 14:27:52 -04:00
Nick Mathewson
4945fee65a Merge commit 'origin/maint-0.2.1' 2009-06-04 03:31:12 -04:00
Nick Mathewson
b262e76563 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.
2009-06-03 13:52:03 -04:00
Nick Mathewson
cb18fc2190 Merge commit 'origin/maint-0.2.1' 2009-05-27 18:12:18 -04:00
Nick Mathewson
ec7e054668 Spell-check Tor. 2009-05-27 17:55:51 -04:00
Sebastian Hahn
f26abf5f54 fix codestyle issues 2009-05-24 02:42:37 +02:00
Jacob Appelbaum
75f963e951 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]
2009-05-22 23:33:44 -04:00
Karsten Loesing
9b32e8c141 Update copyright to 2009. 2009-05-04 11:28:27 -04:00
Karsten Loesing
4ebcc4da34 Update copyright to 2009. 2009-05-02 22:00:54 +02:00
Nick Mathewson
0f2e171653 fix a wide line.
svn:r18341
2009-01-30 15:23:44 +00:00
Nick Mathewson
e1f03572ca Support setting serverdnsrandomizecase during sighup. Backportable, unless too trivial.
svn:r18307
2009-01-28 19:53:03 +00:00
Nick Mathewson
dbc8a44bae Fix ServerDNSRandomizeCase so that setting it to 0 works.
Bugfix on 0.2.1.7-alpha.  Backport candidate. Fixes bug 905.

svn:r18063
2009-01-10 14:38:14 +00:00
Nick Mathewson
462f64b6b9 Make outgoing DNS requests respect OutboundBindAddress.
Fixes the bug part of bug 789.

svn:r17983
2009-01-06 20:50:55 +00:00
Nick Mathewson
c4b8fef362 Remove svn $Id$s from our source, and remove tor --version --version.
The subversion $Id$ fields made every commit force a rebuild of
whatever file got committed.  They were not actually useful for
telling the version of Tor files in the wild.

svn:r17867
2009-01-04 00:35:51 +00:00
Nick Mathewson
b3b14bf25d Add some early checks to keep ipv6 addresses from failing by accident. Now, they fail on purpose, at least till 0.2.2.something.
svn:r17791
2008-12-26 22:51:25 +00:00
Nick Mathewson
272e64e674 Use the literal parse of an address in dns_resolve_impl if parsing the address as an ipv4 or ipv6 address _succeeded_. Not if it failed. Bug introduced in r17707 (post 0.2.1.8-alpha), and found by xiando.
svn:r17758
2008-12-24 02:38:07 +00:00
Nick Mathewson
1e5f457461 Fix most DOCDOCs remaining and/or added by redox.
svn:r17734
2008-12-22 17:53:04 +00:00
Nick Mathewson
1725c0c8a5 Add DOCDOC comments for all undocumented functions. Add missing *s to other comments so that they will get recognized as doxygen.
svn:r17729
2008-12-22 14:56:28 +00:00
Nick Mathewson
029be5ad02 Move in-addr.arpa parsing and generation into address.c, and simplify the code that does it elsewhere. Incidentally, this lets exit servers answer requests for ip6.arpa addresses.
svn:r17707
2008-12-19 18:52:00 +00:00
Nick Mathewson
122170c1d3 Downlgrade tweak, and answer lots of XXX021s. No actual code fixes in this patch.
svn:r17686
2008-12-18 16:11:24 +00:00
Nick Mathewson
ecaee1d927 Remove fixed xxx020s; downgrade unfixed ones.
(The unfixed ones are being downgraded to regular XXXs mainly on the rationale that they don't seem to be exploding Tor, and they were apparently not showstoppers for 0.2.0.x-final.)

svn:r17682
2008-12-18 16:11:03 +00:00
Nick Mathewson
6693f32530 Resolve many DOCDOCs.
svn:r17662
2008-12-17 22:58:20 +00:00
Nick Mathewson
9aa706e20c Bug 691 fix: do not shutdown Tor servers right away if the network is down.
svn:r17566
2008-12-10 20:45:31 +00:00
Nick Mathewson
0c9dfffe5a Implement the 0x20-hack to make DNS poisoning harder against us, especially when resolving large names. Add a cfg option to disable it, since apparently 3/10 of a percent of servers get it wrong.
svn:r17171
2008-10-29 19:20:02 +00:00
Nick Mathewson
5e762e6a5c Fix the rest of bug 619: reject *:* servers should not do DNS lookups, even if broken clients send them RELAY_BEGIN cells. Patch from rovv.
svn:r17138
2008-10-21 16:51:59 +00:00
Roger Dingledine
e3127e874e fix grammar in a log message
svn:r17131
2008-10-16 17:13:28 +00:00
Nick Mathewson
0800b332a0 r17847@tombo: nickm | 2008-08-22 12:08:56 -0400
ipv6: make server-side dns cache remember for each address an ipv6 addr and an ipv4 addr.  This fix is just the struct side.


svn:r16622
2008-08-22 16:24:47 +00:00
Nick Mathewson
960a0f0a99 r17641@31-33-44: nickm | 2008-08-05 16:07:53 -0400
Initial conversion of uint32_t addr to tor_addr_t addr in connection_t and related types.  Most of the Tor wire formats using these new types are in, but the code to generate and use it is not.  This is a big patch.  Let me know what it breaks for you.


svn:r16435
2008-08-05 20:08:19 +00:00
Roger Dingledine
5ad9dc2244 apply patch from lodger to simplify code a bit
svn:r14474
2008-04-25 18:42:42 +00:00
Nick Mathewson
ef9c34688c r15273@tombo: nickm | 2008-04-22 12:32:28 -0400
apply patch from lodger: reject requests for reverse-dns lookup of names in private address space.  make non-exits reject all dns requests.  Fixes bug 619.


svn:r14410
2008-04-22 16:32:55 +00:00
Nick Mathewson
a62a24036d r18937@catbus: nickm | 2008-03-18 14:50:39 -0400
Fix the other lingering part of bug 617: make ClientDNSRejectInternalAddresses actually work.


svn:r14107
2008-03-18 18:51:34 +00:00
Nick Mathewson
7589765ae9 r14401@tombo: nickm | 2008-02-22 15:33:42 -0500
Fix a really stupid parthensis error noticed by mwenge.


svn:r13681
2008-02-22 20:33:47 +00:00
Nick Mathewson
e7db789e82 r14399@tombo: nickm | 2008-02-22 14:09:38 -0500
More 64-to-32 fixes. Partial backport candidate. still not done.


svn:r13680
2008-02-22 19:09:45 +00:00
Nick Mathewson
41eca067a1 r14356@31-33-219: nickm | 2008-02-21 10:38:26 -0500
Defer a couple of XXX020rc items, based on recommendation from arma.


svn:r13654
2008-02-21 15:39:24 +00:00
Roger Dingledine
b28a342e35 resolve one more, and leave two for nick.
svn:r13644
2008-02-21 05:53:50 +00:00
Nick Mathewson
063ced8903 r18296@catbus: nickm | 2008-02-20 23:30:11 -0500
Answer one xxx020 item; move 7 other ones to a new "XXX020rc" category: they should get fixed before we cut a release candidate. arma: please review these to see whether you have fixes/answers for any. Please check out the other 14 XXX020s to see if any look critical for the release candidate.


svn:r13640
2008-02-21 04:30:14 +00:00
Roger Dingledine
319c0d8933 is_reverse in our struct is uint8_t. don't make it be an int
elsewhere. bug reported by veracode.


svn:r13597
2008-02-19 23:14:34 +00:00
Roger Dingledine
c126b79f07 be more explicit about a harmless thing that freaked veracode out
svn:r13592
2008-02-19 22:32:32 +00:00
Nick Mathewson
ca4eb987c8 r14182@tombo: nickm | 2008-02-15 17:20:51 -0500
Defer, downgrade, or address more XXX020s.  The remaining ones are all ones we should deal with before release.


svn:r13530
2008-02-15 23:39:08 +00:00
Roger Dingledine
1f034cc5c7 note a question for nick
svn:r13437
2008-02-09 02:34:00 +00:00
Nick Mathewson
de827f89df r14062@tombo: nickm | 2008-02-08 15:17:07 -0500
Change DNs in x509 certificates to be harder to fingerprint.  Raise common code.  Refactor random hostname generation into crypto.c


svn:r13429
2008-02-08 21:13:12 +00:00
Nick Mathewson
842a33ff20 Update some copyright notices: it is now 2008.
svn:r13412
2008-02-07 05:31:47 +00:00
Roger Dingledine
c054f90f02 New config option ServerDNSAllowBrokenResolvConf to start a relay
even when the local resolv.conf file is missing, broken, or contains
only unusable nameservers.

Now I can run a local network on my laptop when I'm on an airplane.


svn:r13402
2008-02-06 12:46:17 +00:00
Nick Mathewson
3b8f76aa51 r17611@catbus: nickm | 2008-01-14 13:44:16 -0500
add some missing checks for failing return values.


svn:r13130
2008-01-14 19:00:23 +00:00
Roger Dingledine
1d8a8063b9 clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
svn:r12786
2007-12-12 21:09:01 +00:00
Roger Dingledine
aaf35cccf7 karsten's second refactoring patch
svn:r12607
2007-11-29 15:25:04 +00:00
Roger Dingledine
1b00492c40 a potential solution for bug 549
svn:r12471
2007-11-11 04:36:31 +00:00
Roger Dingledine
0d21995956 another likelier candidate for mike's leak
svn:r12470
2007-11-11 04:19:11 +00:00
Roger Dingledine
2b2d111017 a log entry to help us find mike's memory leak
svn:r12469
2007-11-11 03:56:34 +00:00
Nick Mathewson
cb0dbbcfa5 r15621@catbus: nickm | 2007-10-10 00:37:25 -0400
Turns out, Bug 463 was just another "warn about something that is no big deal" thing. Downgrade, comment, and resolve.


svn:r11829
2007-10-10 04:37:38 +00:00
Nick Mathewson
5e81b0ecb8 r15170@catbus: nickm | 2007-09-19 11:41:50 -0400
Carry a new evdns function over from libevent: do not rely on compile-time code to set the transaction ID correctly.  This will be important when we finally drop our internal copy of eventdns.c


svn:r11517
2007-09-19 15:53:36 +00:00
Nick Mathewson
3fc04529d4 r14093@catbus: nickm | 2007-08-08 01:49:54 -0400
Include fewer redundant headers; use the compiler search paths better.


svn:r11060
2007-08-08 05:50:31 +00:00
Nick Mathewson
4a9d4c2c5c r13820@catbus: nickm | 2007-07-18 16:07:30 -0400
Whitespace fix on r10849


svn:r10872
2007-07-18 20:46:10 +00:00
Roger Dingledine
ccfda2e3a3 a few fixes for bug 463. needs a changelog. might need more fixes.
svn:r10849
2007-07-17 02:53:17 +00:00
Nick Mathewson
b5c8a6183a r13452@kushana: nickm | 2007-06-20 09:52:55 -0400
Patch from Robert Hogan: Generate STREAM NEW events for dnsport requests and tunneled directory connections.  Log when we are testing for hijacking.


svn:r10737
2007-07-05 14:50:05 +00:00
Nick Mathewson
5adfa09fce r13477@catbus: nickm | 2007-06-17 14:22:03 -0400
Sun CC likes to give warnings for the do { } while(0) construction for making statement-like macros.  Define STMT_BEGIN/STMT_END macros that do the right thing, and use them everywhere.


svn:r10645
2007-06-17 18:22:39 +00:00
Nick Mathewson
93f32db438 r13476@catbus: nickm | 2007-06-17 14:04:41 -0400
Build with fewer compiler warnings on Sun.  (This and previous Sun patches are thanks to the tremendously handy services of unix-center.net.)


svn:r10644
2007-06-17 18:22:35 +00:00
Nick Mathewson
3b4fa59b60 r13117@catbus: nickm | 2007-05-31 19:40:32 -0400
Patch from Tup: treat RESOLVED_TYPE_ERROR_TRANSIENT as a SERVERFAILED, and RESOLVED_TYPE_ERROR as NOTEXIST.  Generate transient/nontransient errors more sensibly.  Set flags better on DNS replies.


svn:r10427
2007-05-31 23:40:35 +00:00
Nick Mathewson
1359871c14 r13070@catbus: nickm | 2007-05-29 15:53:21 -0400
Fix handling of resolves with very long or otherwise malformed addresses, and comment dns_resolve better, and stop making what should be a BUG warning into an assert(0).  This fixes bug 427, which was introduced around 9900/9931/9932.  Not a backport candidate: 0.1.2.x never had this bug.


svn:r10399
2007-05-29 19:54:51 +00:00
Roger Dingledine
0c047b87f5 polish r9933-r9994
svn:r10335
2007-05-25 19:41:31 +00:00
Roger Dingledine
a19d131ed7 i suspect we would trigger asserts if we answer a cached
resolve request. this should help that.


svn:r10334
2007-05-25 19:30:07 +00:00
Nick Mathewson
a312afd67e r12936@catbus: nickm | 2007-05-24 14:12:34 -0400
Review XXXX comments without a version; upgrade some to XXXX020.


svn:r10315
2007-05-24 18:12:52 +00:00
Nick Mathewson
de5194eeaa r13025@Kushana: nickm | 2007-05-21 17:40:56 -0400
Bugfix and possible backport candidate: use the same logic as in read_all when reading resolv.conf.  Maybe this fixes bug 433.


svn:r10237
2007-05-21 21:48:02 +00:00
Nick Mathewson
5364833be0 r13017@Kushana: nickm | 2007-05-20 13:40:45 -0400
Address points in r10227.


svn:r10229
2007-05-20 17:43:55 +00:00
Roger Dingledine
ddd0054a85 point out two remote crash bugs, a memory leak, and a few other
items we should probably look into.


svn:r10227
2007-05-20 14:15:23 +00:00
Roger Dingledine
440b7f0c70 polish r9726-r9903
svn:r10182
2007-05-13 09:25:06 +00:00
Nick Mathewson
2dc6019edb r12688@Kushana: nickm | 2007-04-09 17:29:12 -0400
Simplify dns_resolve: use a helper function so that we handle the error/answer/pending cases uniformly in dns_resolve, and everything else in dns_resolve_impl.


svn:r9932
2007-04-09 21:34:13 +00:00
Nick Mathewson
9c3df07b56 r12687@Kushana: nickm | 2007-04-09 17:05:57 -0400
Try to fix bug 410: move responsibility for attaching/detaching initial streams from circuits into dns_resolve.  Needs refactoring a little.


svn:r9931
2007-04-09 21:34:03 +00:00
Nick Mathewson
da6bd21b72 r12644@0-41-wifi: nickm | 2007-03-23 16:02:23 -0400
Eliminate more redundant circuit_t arguments when edge_connection_t is already supplied and the circuit is already attached.


svn:r9900
2007-03-24 15:58:11 +00:00
Nick Mathewson
306d5400c3 r12643@0-41-wifi: nickm | 2007-03-23 14:56:35 -0400
Refactor a bunch of functions that take edge_connection_t not to also take a crypt_path_t; the cpath is implicit.


svn:r9899
2007-03-24 15:57:51 +00:00
Nick Mathewson
52713788b4 r12080@catbus: nickm | 2007-03-04 21:40:55 -0500
Remove dnsworkers and related code. there goes another 550 lines of code.


svn:r9736
2007-03-05 02:40:58 +00:00
Nick Mathewson
7fcceb2c25 r12074@catbus: nickm | 2007-03-04 15:11:43 -0500
Make all LD_BUG log messsages get prefixed with "Bug: ".  Remove manually-generated "Bug: "s from log-messages.  (Apparently, we remembered to add them about 40% of the time.)


svn:r9733
2007-03-04 20:11:46 +00:00
Nick Mathewson
ddc34f6037 r11898@catbus: nickm | 2007-02-23 16:55:43 -0500
Two XXX012 comments turned out to be bogus; remove them and document why.


svn:r9625
2007-02-23 21:56:10 +00:00
Nick Mathewson
11e5656ab7 r11826@catbus: nickm | 2007-02-16 14:58:38 -0500
Resolve 56 DOCDOC comments.


svn:r9594
2007-02-16 20:01:02 +00:00
Nick Mathewson
a10ccac9cb r11797@catbus: nickm | 2007-02-13 16:17:40 -0500
Fix a longstanding dnsworker-related bug: when we decide to kill a DNS worker for having been in use too long, and we independently decide to close one of the exit connections waiting for that DNS worker (perhaps because we got an END relay cell), it was possible for us to try to double-free the connection.  We were smart enough to detect this and assert, but not smart enough to fix this bug before now.  This should resolve bug 390.  Backport candidate.


svn:r9581
2007-02-13 21:18:56 +00:00
Nick Mathewson
759c58151e r11775@catbus: nickm | 2007-02-12 16:39:09 -0500
Update copyright dates.


svn:r9570
2007-02-12 21:39:53 +00:00
Nick Mathewson
2c521d9804 r12212@Kushana: nickm | 2007-02-10 16:09:38 -0500
Remove XXXX012 for apparently resolved bug


svn:r9548
2007-02-10 21:26:17 +00:00
Nick Mathewson
e00a1cbf16 r11726@catbus: nickm | 2007-02-08 16:04:53 -0500
Resolve some XXXX012 items:
   - Remove PathlenCoinWeight: if we want it again, we can add it
     back in.
   - Ditto with RelayBandwidth*.
   - Decide to leave in the "hey, you didn't set end_reason!" BUG log message,
     but stop telling people to bug me personally.
   - Postpone strengthening assert_connection_ok(): it's important, but 
     it's also a good way to introduce weird bugs.
   - Move some expensive consistency checking from dns_free_all() into
     assert_cache_ok().


svn:r9533
2007-02-08 22:07:56 +00:00
Nick Mathewson
275109d8b0 r11631@catbus: nickm | 2007-02-02 15:39:53 -0500
Add missing return statement.


svn:r9478
2007-02-02 20:39:55 +00:00
Nick Mathewson
fefba95363 r11629@catbus: nickm | 2007-02-02 15:06:17 -0500
Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were.  Oops.  Hey, kids!  Fixing some of these could be your first Tor patch!


svn:r9477
2007-02-02 20:06:43 +00:00
Nick Mathewson
07e6eecdb2 r12122@Kushana: nickm | 2007-02-02 10:41:39 -0500
Fail when we are unable to parse the nameserver configuration.


svn:r9475
2007-02-02 18:58:04 +00:00
Nick Mathewson
5cb99857bc r11620@catbus: nickm | 2007-02-01 13:06:27 -0500
Call stat() slightly less often; use fstat() when possible.


svn:r9472
2007-02-01 18:09:27 +00:00
Nick Mathewson
e7ac17fdf5 r11613@catbus: nickm | 2007-01-30 19:58:03 -0500
Re-enable server side PTR-record cacheing.


svn:r9468
2007-01-31 00:58:06 +00:00
Nick Mathewson
49b5e5cf9c r11610@catbus: nickm | 2007-01-30 17:44:02 -0500
Fix a bug in our assertions related to removing recently-completed DNS lookup attempts on exit.  It is okay to find a cache entry with the same name as a DONE entry, so long it is not the same struct as the DONE entry.


svn:r9467
2007-01-30 22:44:24 +00:00
Nick Mathewson
42d03890b4 r11584@catbus: nickm | 2007-01-29 11:25:40 -0500
Fix/update some XXX012 points.


svn:r9456
2007-01-29 18:13:37 +00:00
Nick Mathewson
2522c392bd r11283@catbus: nickm | 2007-01-23 19:20:47 -0500
Add documentation to dns.c (mainly to test new buildbot version)


svn:r9393
2007-01-24 00:20:49 +00:00
Roger Dingledine
9f733c31cc minor cleanups
svn:r9387
2007-01-22 19:20:33 +00:00
Nick Mathewson
36620ca056 r9718@catbus: nickm | 2007-01-22 14:13:00 -0500
Free CACHE_STATE_DONE cached_router_t items on dns_free_all().


svn:r9386
2007-01-22 19:13:02 +00:00
Roger Dingledine
8662f18102 boots and suspenders, or whatever the idiom is
svn:r9365
2007-01-17 00:14:43 +00:00
Nick Mathewson
a36ec61fd7 r11983@Kushana: nickm | 2007-01-16 10:28:47 -0500
Be even more clever about severity of messages from eventdns: NOTICE when the first nameserver comes up; INFO on subsequent ones.


svn:r9364
2007-01-16 17:39:08 +00:00
Nick Mathewson
db6f0f3617 r11973@Kushana: nickm | 2007-01-15 16:43:25 -0500
Answer questions from r9348.


svn:r9358
2007-01-15 21:44:59 +00:00
Roger Dingledine
cf7069fca4 two more todo items, to make eventdns log messages less loud
svn:r9348
2007-01-15 08:40:50 +00:00
Nick Mathewson
c1b5f53679 r11938@Kushana: nickm | 2007-01-11 11:02:28 -0500
Check addresses for rfc953-saneness at exit too, and give a PROTOCOL_WARN when they fail.  Also provide a mechanism to override this, so blossom can have its @@##$$^.whatever.exit hostnames if it wants.


svn:r9336
2007-01-11 16:02:39 +00:00
Nick Mathewson
3dfeaaaf6e r11931@Kushana: nickm | 2007-01-11 09:12:49 -0500
Fix a crash bug in the presence of DNS hijacking.


svn:r9333
2007-01-11 14:13:13 +00:00
Roger Dingledine
794fedb0ad some cleanups. more probably remain, but hey, it's an alpha.
time to put out the bugfix release.


svn:r9309
2007-01-09 05:14:34 +00:00
Nick Mathewson
5239602dbc r11873@Kushana: nickm | 2007-01-06 02:32:18 -0500
Implement DNS-related status events.


svn:r9285
2007-01-06 07:34:07 +00:00
Nick Mathewson
336624ce8f r11862@Kushana: nickm | 2007-01-06 01:05:15 -0500
Re-enable warning when we resolve an already resolved address.  We only warn here now if the address is not a testing address.  Also, refactor out a function to check whether an address is used for testing.


svn:r9280
2007-01-06 06:26:46 +00:00
Roger Dingledine
ee0d2d486d fix a bug, defer a bug, bump to 0.1.2.5-alpha
svn:r9270
2007-01-05 06:30:31 +00:00
Nick Mathewson
0bbbf98be4 r11727@Kushana: nickm | 2006-12-28 16:27:17 -0500
If we only have a single nameserver, raise the threshold to decide that the nameserver is dead.  (Another fumbling attempt to do something about bug 326.)


svn:r9203
2006-12-28 21:29:37 +00:00
Nick Mathewson
460a476efa r11725@Kushana: nickm | 2006-12-28 14:44:56 -0500
Partial solution to 326: downgrade single-nameserver failures to INFO.


svn:r9201
2006-12-28 21:29:26 +00:00
Nick Mathewson
d9f1f3533d r11724@Kushana: nickm | 2006-12-28 14:22:35 -0500
Refactor and unify my-ip-addr-changed logic.  Make change in IP address or in nameservers reset and relaunch DNS hijacking tests.


svn:r9200
2006-12-28 21:29:20 +00:00
Nick Mathewson
e5f5b96ca6 r11723@Kushana: nickm | 2006-12-28 13:52:48 -0500
Fix bug 364: check for whether popular hostnames (curently google, yahoo, mit, and slashdot) are getting wildcarded.  If they are, we are probably behind a DNS server that is useless: change our exit policy to reject *:*.


svn:r9199
2006-12-28 21:29:11 +00:00
Nick Mathewson
baadf35c63 r11646@Kushana: nickm | 2006-12-19 14:40:38 -0500
Resolve bug 363: do not fall back to 127.0.0.1 when no nameservers are configured.  Instead, have the admin fix resolv.conf or configure a nameserver.


svn:r9157
2006-12-19 19:49:03 +00:00
Roger Dingledine
0f33a548c2 fix a string, pointed out by matt edman.
also fix a bug next to it that i noticed.


svn:r8784
2006-10-21 02:51:35 +00:00
Nick Mathewson
c8c36dd227 r9304@dhcp-18-188-67-85: nickm | 2006-10-20 12:22:46 -0400
Change HT_INIT from a special-case to a macro-calling-a-function like the rest of ht.h.  This might prevent errors if somebody did, I dunno, "HT_INIT(tp, hashtable++)". Based on a patch from Watson Ladd.


svn:r8776
2006-10-20 16:22:53 +00:00
Roger Dingledine
d1b9de222e cleanups, closer to a changelog
svn:r8606
2006-10-06 07:50:57 +00:00
Roger Dingledine
64b5fd3194 checkpoint some cleanups
svn:r8599
2006-10-05 08:23:21 +00:00
Nick Mathewson
5391ceb21a r9087@Kushana: nickm | 2006-10-04 01:19:15 -0400
We're trying to catch the kind of jerk who'd hijack zy6pzwohtnlq.test,
 not the kind of lunatic who'd hijack zy6pzwohtnlq%s.test, though
 apparently those exist too.
 


svn:r8595
2006-10-04 05:19:40 +00:00
Nick Mathewson
7d366f61cb r9025@Kushana: nickm | 2006-09-29 18:33:13 -0400
Differentiate more duplicated log entries


svn:r8542
2006-09-29 22:33:40 +00:00
Nick Mathewson
8308a37908 r9023@Kushana: nickm | 2006-09-29 17:27:24 -0400
Make distinct all non-bug messages at notice or higher that appear 3 or more times.


svn:r8541
2006-09-29 22:33:34 +00:00
Nick Mathewson
cd2425ffa0 r8968@Kushana: nickm | 2006-09-26 17:53:27 -0400
Fix for reverse dns: only assume we will get an answer when the result was success.


svn:r8507
2006-09-26 22:03:23 +00:00
Nick Mathewson
01f9e97d43 Minor fix: add code to eventdns so it can free memory on shutdown. This should help valgrind and dmalloc freak out less.
svn:r8503
2006-09-25 20:38:58 +00:00
Roger Dingledine
ad430b9561 checkpoint changelog and general polishing
svn:r8497
2006-09-25 05:59:13 +00:00
Roger Dingledine
bda137501e whitespace cleanups
svn:r8485
2006-09-24 20:54:59 +00:00
Nick Mathewson
11b4296b0b Marge changes from libevent evdns to our eventdns. Most are cosmetic, but one or two are stability-related. This should make it easier to push our changes back towards libevent.
svn:r8482
2006-09-24 17:52:23 +00:00
Nick Mathewson
d3af1f2189 Backport candidate: Fix a long-standing server-side DNS bug. When a
client asks us to resolve (not connect to) an address, and we have a
cached answer, give them the cached answer.  Previously, we would give
them no answer at all.



svn:r8478
2006-09-24 17:05:00 +00:00
Nick Mathewson
4218f09820 r8910@Kushana: nickm | 2006-09-22 12:14:05 -0400
Instead of just checking known-invalid addresses for DNS hijacking, we
 now check randomly generated addresses, and if too many of them map to
 the same IP, we assume that IP is the destination of a DNS hijack
 attempt.
 
 A little bird tells me that some DNS hijackers think that declining to
 give an A record for RFC2606 addresses (like .invalid and .example)
 makes them more standards compliant.  Standardswise, this is like an
 illicit brothel making sure that nobody has pulled the tags off the
 mattresss, but that doesn't get us out of working around it.
 


svn:r8465
2006-09-22 20:20:26 +00:00
Nick Mathewson
f0f3bbc63b r8901@Kushana: nickm | 2006-09-21 20:43:48 -0400
I tracked a bug in server-side reverse DNS to something concerning the caching code. Ive disabled server-side cacheing for reverse DNS answers for now, and I am noting the bug in the TODO.


svn:r8454
2006-09-22 00:45:08 +00:00
Nick Mathewson
29a756af8e Fix a couple of server-side reverse dns bugs
svn:r8449
2006-09-22 00:10:26 +00:00
Nick Mathewson
63395c747c Fix stupid C mistake. Glad I caught that one fast.
svn:r8448
2006-09-21 22:57:07 +00:00
Nick Mathewson
58200f06a5 Fix bug in r8440: base32 uses 5 bytes per char, not 4.
svn:r8447
2006-09-21 22:24:45 +00:00
Nick Mathewson
59f9487225 r8880@Kushana: nickm | 2006-09-21 17:26:02 -0400
Trivial patch to appease warn-happy gcc: mark unused parameter


svn:r8445
2006-09-21 21:49:15 +00:00
Nick Mathewson
7c21dabef1 r8878@Kushana: nickm | 2006-09-21 17:15:47 -0400
Trivial whitespace cleanups.


svn:r8443
2006-09-21 21:48:55 +00:00
Nick Mathewson
e4a9b4de4e r8875@Kushana: nickm | 2006-09-21 16:46:28 -0400
Resolve bug 330: detect ISPs that want to hijack failing DNS requests and basically domain-squat the entire internet.


svn:r8440
2006-09-21 21:48:22 +00:00
Nick Mathewson
04bec67574 r8874@Kushana: nickm | 2006-09-21 15:22:27 -0400
Rename and document SearchDomains and ResolvConf options; warn if ServerDNSResolvConfFile is given but eventdns isnt enabled.


svn:r8439
2006-09-21 21:48:16 +00:00
Nick Mathewson
083e9c2b59 r8873@Kushana: nickm | 2006-09-21 14:38:22 -0400
Fix a bug: Remember, each call to escaped() replaces the value returned from the last call to escaped().


svn:r8438
2006-09-21 21:48:11 +00:00
Nick Mathewson
a942441615 r8872@Kushana: nickm | 2006-09-21 14:00:20 -0400
Implement server-side reverse DNS using eventdns.  Add an option to routerdescs so we can tell which servers have eventdns enabled.


svn:r8437
2006-09-21 21:48:06 +00:00
Mike Chiussi
5d773af545 undid whitespace changes to dns.c
svn:r8346
2006-09-07 06:36:22 +00:00
Mike Chiussi
b931994c6a fixed win32 eventdns snafu
svn:r8345
2006-09-07 06:34:20 +00:00
Mike Chiussi
c40acb86f4 - got rid of tabs
svn:r8344
2006-09-07 04:02:52 +00:00
Mike Chiussi
5af47d1641 - added some debugging lines to load_nameservers_from_registry()
svn:r8342
2006-09-07 03:53:14 +00:00
Roger Dingledine
ae67a044f0 clean up some comments
svn:r8338
2006-09-07 01:23:15 +00:00
Nick Mathewson
e10e921386 r8729@Kushana: nickm | 2006-09-06 16:20:40 -0400
Fix dns_cancel_pending_resolve() to realize pending resolves have expiry times, and should not be freed except when they fall off the pqueue.


svn:r8328
2006-09-06 20:22:05 +00:00
Nick Mathewson
365ccf0742 r8725@Kushana: nickm | 2006-09-06 04:39:29 -0400
spawn_func fixes: have cpuworker_main and dnsworker_main confirm to the right interfaces [casting func to void* is icky].  Also, make pthread_create() build without warnings.


svn:r8327
2006-09-06 08:42:20 +00:00
Mike Chiussi
6ec9c1092a - made configure check if we are building for win32
- made configure link to required system dll's if building for win32
- added diffs for libevent 1.1b
- forced user to turn off eventdns if win32 is set 
- cleaned up tor_mmap_file()_win32 (not sure if it's stable)
- cleaned up some warnings and typos




svn:r8322
2006-09-06 01:49:55 +00:00
Nick Mathewson
8138d1c0a4 r8654@Kushana: nickm | 2006-08-28 16:50:36 -0400
I bet real programmers even have programs that compile.


svn:r8278
2006-08-28 20:50:47 +00:00
Nick Mathewson
dc4951314f r8652@Kushana: nickm | 2006-08-28 16:41:44 -0400
Resolve bug 324: strdup the right variable.


svn:r8277
2006-08-28 20:42:14 +00:00