Nick Mathewson
273ee3e814
r7392@Kushana: nickm | 2006-08-14 23:50:32 -0400
...
Only do the expensive version of router_have_minimum_dir_info() when the dir info has changed. Backport candidate, since oprofile suggests that this function and ones it calls account for 25-35% of oprofile samples.
svn:r7062
2006-08-15 03:54:09 +00:00
Nick Mathewson
bc21df6a5c
r7386@Kushana: nickm | 2006-08-14 17:43:44 -0400
...
Patch from Adam Langley.
* I meant getaddrinfo_a, not getaddrinfo_r - fixed
* Added more checks to the parsing code.
* It seems you switched an alloca to a malloc, but didn't add any frees
svn:r7061
2006-08-14 21:44:45 +00:00
Nick Mathewson
200e24981a
r7046@Kushana: nickm | 2006-08-05 13:57:04 -0400
...
Make it possible for dns_init() to fail; note failure of eventdns configuratoin.
svn:r7059
2006-08-14 21:44:34 +00:00
Nick Mathewson
a5c0aa43a0
r7383@Kushana: nickm | 2006-08-14 16:16:03 -0400
...
Stop walking entire dns cache for every request, now that we found our hash table bug.
svn:r7057
2006-08-14 20:16:21 +00:00
Roger Dingledine
5194b91053
avoid complaining about our SOCKS proxy proxy.
...
svn:r7053
2006-08-14 10:00:15 +00:00
Roger Dingledine
4b94dabb53
note a compile warning that we should investigate one day.
...
svn:r7052
2006-08-14 09:44:54 +00:00
Roger Dingledine
9b10f11d39
fix typos and stuff
...
svn:r7049
2006-08-14 08:55:41 +00:00
Roger Dingledine
bf10d8a06a
simplify compare_cached_resolves_by_expiry() to make it match
...
the idioms of other compare functions. hopefully i didn't
break it?
svn:r7048
2006-08-14 07:08:29 +00:00
Nick Mathewson
6da96f0ed7
r7369@Kushana: nickm | 2006-08-14 02:03:10 -0400
...
Shortening fields is only one part of making structs shorter. You must also consider alignment padding. Whee.
svn:r7045
2006-08-14 06:03:26 +00:00
Roger Dingledine
2c27cfc38e
save 3-7 bytes per edge connection
...
svn:r7044
2006-08-14 05:53:57 +00:00
Roger Dingledine
6fdc63aed2
simplify the connection_write_to_buf_zlib() wrapper.
...
svn:r7042
2006-08-13 23:38:30 +00:00
Nick Mathewson
b68ffcc193
r7341@Kushana: nickm | 2006-08-11 00:51:05 -0700
...
Amazing how much difference adding a ! to all your asserts can make.
svn:r7029
2006-08-11 07:51:34 +00:00
Nick Mathewson
33fc829273
r7337@Kushana: nickm | 2006-08-11 00:42:04 -0700
...
Only use __builtin_offsetof with gcc 4 or later
svn:r7028
2006-08-11 07:42:11 +00:00
Roger Dingledine
f294575469
fix funny-looking assignment that crashes unit tests
...
svn:r7027
2006-08-11 07:41:21 +00:00
Roger Dingledine
5647e5c7e6
fix typo, add explanatory comment
...
svn:r7026
2006-08-11 07:31:16 +00:00
Nick Mathewson
42a5d7a4ba
r7335@Kushana: nickm | 2006-08-11 00:13:03 -0700
...
fix wide lines
svn:r7025
2006-08-11 07:17:16 +00:00
Nick Mathewson
9b5a643475
r7328@Kushana: nickm | 2006-08-11 00:04:26 -0700
...
remove an assert that can never be false (an array in a non-null struct cannot be null).
svn:r7024
2006-08-11 07:09:52 +00:00
Nick Mathewson
04bf4b0fc4
r7327@Kushana: nickm | 2006-08-11 00:00:36 -0700
...
Fix a pedantic warning
svn:r7023
2006-08-11 07:09:45 +00:00
Nick Mathewson
ffab3b48a8
r7326@Kushana: nickm | 2006-08-10 23:50:49 -0700
...
And another GCC change: predict that tor_frees() are usually real frees, and tor_asserts() usually wont happen. Other test should wait till -fprofile-arcs
svn:r7022
2006-08-11 07:09:35 +00:00
Nick Mathewson
4eddbcf262
r7325@Kushana: nickm | 2006-08-10 23:37:31 -0700
...
Use gcc offsetof where available.
svn:r7021
2006-08-11 07:09:28 +00:00
Nick Mathewson
09a895e222
r7324@Kushana: nickm | 2006-08-10 23:23:15 -0700
...
Add more warnings to the list of those we tolerate. Start using GCC attributes more, for better error checking and better code generation.
svn:r7020
2006-08-11 07:09:17 +00:00
Nick Mathewson
02d42d9138
Fix crash in first-time option validation. Oops.
...
svn:r7018
2006-08-10 19:56:10 +00:00
Nick Mathewson
7ddd9e8cd9
r7304@Kushana: nickm | 2006-08-10 01:58:05 -0700
...
Fix verbose compilation errors; make sure transparent proxy fails when no method is configured.
svn:r7012
2006-08-10 09:02:26 +00:00
Nick Mathewson
3da737ac98
r7303@Kushana: nickm | 2006-08-10 01:52:19 -0700
...
whitespace fixes
svn:r7011
2006-08-10 09:02:12 +00:00
Nick Mathewson
74df271e00
r7302@Kushana: nickm | 2006-08-10 01:48:44 -0700
...
Warn about open TransListenAddress values.
svn:r7010
2006-08-10 09:02:02 +00:00
Nick Mathewson
cd560d8528
r7301@Kushana: nickm | 2006-08-10 01:41:27 -0700
...
Only open /dev/pf once.
svn:r7009
2006-08-10 09:01:54 +00:00
Nick Mathewson
d893d8c52e
r7300@Kushana: nickm | 2006-08-10 01:36:40 -0700
...
Distinguish netfilter vs pf at configure time based on headers, not on OS.
svn:r7008
2006-08-10 09:01:46 +00:00
Nick Mathewson
5cff4164a0
r7299@Kushana: nickm | 2006-08-10 01:08:58 -0700
...
Patch from Tup to add support for transparent AP connections: this basically bundles the functionality of trans-proxy-tor into the tor mainline. Now hosts with compliant pf/netfilter implementations can redirect TCP connections straight to Tor without diverting through SOCKS.
svn:r7007
2006-08-10 09:01:37 +00:00
Roger Dingledine
8075928b2a
a way to make tor more stable in crummy situations
...
svn:r7005
2006-08-10 08:00:54 +00:00
Nick Mathewson
35f0881802
Experimentally re-enable kqueue on OSX when using libevent 1.1b or later. Log when we are doing this, so we can diagnose it when it fails.
...
svn:r7004
2006-08-10 08:00:13 +00:00
Nick Mathewson
f2a0df4d02
Recommend libevent 1.1b for kqueue and win32 methods; deprecate libevent 1.0b harder; make libevent recommendation system saner.
...
svn:r7003
2006-08-10 07:39:47 +00:00
Nick Mathewson
1b7ad5aed3
r7030@Kushana: nickm | 2006-08-04 14:46:52 -0700
...
Close an fd leak on failed mmap()
svn:r6988
2006-08-05 17:53:32 +00:00
Nick Mathewson
7c596c166b
r7029@Kushana: nickm | 2006-08-04 14:08:41 -0700
...
Remove now-spurious size and data arguments from tor_mmap_file
svn:r6987
2006-08-05 17:53:21 +00:00
Nick Mathewson
dbac3fb481
r7028@Kushana: nickm | 2006-08-04 13:10:16 -0700
...
Make data and size fields visible in tor_mmap_t; hide win magic differently.
svn:r6986
2006-08-05 17:53:08 +00:00
Nick Mathewson
714d1b66aa
r7027@Kushana: nickm | 2006-08-04 13:06:48 -0700
...
Oops. Fix downcast macro.
svn:r6985
2006-08-05 17:52:51 +00:00
Roger Dingledine
bc2e040669
make svn trunk link again. nick can fix this if it's wrong.
...
svn:r6982
2006-08-04 20:30:45 +00:00
Nick Mathewson
db72fb9cdc
r7025@Kushana: nickm | 2006-08-04 12:03:22 -0700
...
Finish (I hope) windows mmap impl.
svn:r6981
2006-08-04 19:03:40 +00:00
Nick Mathewson
bf72878cad
r7012@Kushana: nickm | 2006-08-03 19:21:25 -0700
...
Add an "mmap handle" type to encapsulate bookkeeping elements of mmap issues; add prelim win32 impl
svn:r6980
2006-08-04 18:32:43 +00:00
Nick Mathewson
abe27b807e
svn:r6979
2006-08-04 18:31:13 +00:00
Nick Mathewson
2c33f385f7
r7011@Kushana: nickm | 2006-08-03 13:26:34 -0700
...
eventdns: Document functions added to API; make suspended requests go to the front of the queue; check (or explicitly ignore) return values on libevent functions.
svn:r6978
2006-08-04 18:27:10 +00:00
Nick Mathewson
e8f28a71e8
r7010@Kushana: nickm | 2006-08-03 10:47:36 -0700
...
Enable log message format checking in eventdns.c when __GNUC__ is defined.
svn:r6977
2006-08-04 18:26:40 +00:00
Nick Mathewson
3fa1cdafce
r7009@Kushana: nickm | 2006-08-03 10:44:58 -0700
...
Add functions to eventdns to allow detecting whether we have any nameservers configured, and to change the list of nameservers after initial configuration.
svn:r6976
2006-08-04 18:26:13 +00:00
Nick Mathewson
87939813c3
r7008@Kushana: nickm | 2006-08-03 10:03:39 -0700
...
Oops. We shouldnt initialize eventdns when we are not being a server and not resolving anything.
svn:r6975
2006-08-04 18:24:41 +00:00
Nick Mathewson
a122bfb439
r7007@Kushana: nickm | 2006-08-03 09:58:30 -0700
...
Export and use eventdns_config_windows_nameservers(); clean up some comments and log messages.
svn:r6974
2006-08-04 18:24:25 +00:00
Nick Mathewson
19cf66c0f1
Patch from Frediano Ziglio: Windows compilation fixes on eventdns.c.
...
svn:r6971
2006-08-03 07:46:25 +00:00
Roger Dingledine
e64825126b
turn future seg faults into asserts
...
svn:r6970
2006-08-03 04:23:45 +00:00
Roger Dingledine
3152d44c3a
fix a seg fault on exit for clients; and fix a comment.
...
svn:r6969
2006-08-03 04:22:25 +00:00
Roger Dingledine
74bf8b1289
man, our sample torrc sucked.
...
svn:r6964
2006-08-01 04:08:15 +00:00
Roger Dingledine
ed567c6feb
more compile options mean more codepaths
...
svn:r6963
2006-07-31 20:25:57 +00:00
Nick Mathewson
80282d8f55
r6993@Kushana: nickm | 2006-07-31 16:19:21 -0400
...
Interesting how much a ! can change the behavior of an assert.
svn:r6962
2006-07-31 20:19:58 +00:00
Nick Mathewson
b9082682fd
r6982@Kushana: nickm | 2006-07-31 13:47:19 -0400
...
documentation and naming tweaks in dns.c
svn:r6961
2006-07-31 18:01:49 +00:00
Nick Mathewson
58c0ac77be
r6981@Kushana: nickm | 2006-07-31 13:23:26 -0400
...
More asserts for cache correctness.
svn:r6960
2006-07-31 18:01:45 +00:00
Nick Mathewson
ea0f5ec8ad
r6980@Kushana: nickm | 2006-07-31 13:18:22 -0400
...
Add a utility function to verify that a string has been through strlower.
svn:r6959
2006-07-31 18:01:37 +00:00
Nick Mathewson
d934607069
r6979@Kushana: nickm | 2006-07-31 13:16:58 -0400
...
Add assert_ok functions for strmap and digestmap; use them in unit test code.
svn:r6958
2006-07-31 18:01:27 +00:00
Nick Mathewson
3843b1b3d0
r6978@Kushana: nickm | 2006-07-31 13:16:14 -0400
...
Add isupper and islower wrappers to compat.h
svn:r6957
2006-07-31 18:01:22 +00:00
Nick Mathewson
fd0bafb0de
r6977@Kushana: nickm | 2006-07-31 13:01:28 -0400
...
Solve timing-out pending connections. Add pending resolves to expiry queue; when we find an answer, change the pending resolve to "done" and stick the actual answer in the expiry queue as a new entry. This uses a little more memory, but makes the code simpler than other solutions.
svn:r6956
2006-07-31 18:01:18 +00:00
Nick Mathewson
ccf9c1345e
svn:r6955
2006-07-31 18:00:47 +00:00
Nick Mathewson
46574319a2
r6959@Kushana: nickm | 2006-07-29 22:33:18 -0400
...
start restructuring dns to use priority queues for expiring entries.
svn:r6954
2006-07-31 18:00:18 +00:00
Nick Mathewson
2fe537c57a
r6958@Kushana: nickm | 2006-07-29 18:54:15 -0400
...
Looks like we might need a priority queue.
svn:r6953
2006-07-31 17:59:37 +00:00
Nick Mathewson
8ba913c660
r6952@Kushana: nickm | 2006-07-28 11:09:37 -0400
...
Add completely untested find-my-nameservers code for win32.
svn:r6952
2006-07-31 17:59:11 +00:00
Roger Dingledine
798b580695
fix assert found by DreadWingKnight: now that rendezvous streams
...
are attached to p_streams, the p_streams list can consist of both AP
and EXIT conns.
svn:r6945
2006-07-30 04:54:13 +00:00
Roger Dingledine
2bcb081cb1
defense in depth
...
svn:r6939
2006-07-30 04:32:58 +00:00
Roger Dingledine
c3b79ebf13
a bit more debugging for phobos
...
svn:r6937
2006-07-30 03:34:44 +00:00
Nick Mathewson
84c2a6c16b
r6950@Kushana: nickm | 2006-07-28 10:32:08 -0400
...
Document split fields better. Now, I think we can take a break from type splitting for a bit.
svn:r6935
2006-07-28 15:11:28 +00:00
Nick Mathewson
85f381153b
r6949@Kushana: nickm | 2006-07-28 10:17:38 -0400
...
Shave another 8 bytes from connection_t: turn inbuf_reached_eof into a bit, and lower timestamp_lastempty to or_connection_t
svn:r6934
2006-07-28 15:11:20 +00:00
Nick Mathewson
6dc13cdbeb
r6948@Kushana: nickm | 2006-07-28 10:10:35 -0400
...
Identify some likely target fields for lowering; lower global_identifier (since we only use it for AP streams and origin circs).
svn:r6933
2006-07-28 15:11:11 +00:00
Roger Dingledine
a5e5074807
resolve typo
...
svn:r6927
2006-07-27 19:35:11 +00:00
Nick Mathewson
c2f28615ed
More asserts in dns.c
...
svn:r6926
2006-07-27 18:35:56 +00:00
Nick Mathewson
8786b4b88e
Fix a bug in HT_REMOVE.
...
svn:r6925
2006-07-27 18:35:25 +00:00
Nick Mathewson
45c3a4365f
Get better numbers out of HT_REP_OK
...
svn:r6924
2006-07-27 17:37:37 +00:00
Nick Mathewson
dc2b7e9af0
Add more asserts in dns_found_answer. This may confirm my theory that dns_purge_resolve is the culprit.
...
svn:r6922
2006-07-27 17:16:10 +00:00
Nick Mathewson
5227395aba
r6922@Kushana: nickm | 2006-07-26 16:32:24 -0400
...
Rename some fields, compress a bitfield, and document some structs and fields
svn:r6919
2006-07-27 05:03:57 +00:00
Nick Mathewson
dd779d99ea
Fix comments that implied that only dir connections had a purpose field, and the code that believed in those comments.
...
svn:r6918
2006-07-27 04:10:51 +00:00
Nick Mathewson
0bc741ba7f
r6918@Kushana: nickm | 2006-07-26 15:22:28 -0400
...
Fix compilation for eventdns dns.c with split structs.
svn:r6908
2006-07-26 19:29:30 +00:00
Nick Mathewson
ec82db6995
r6909@Kushana: nickm | 2006-07-26 13:05:58 -0400
...
Clean up wide lines from last patch.
svn:r6907
2006-07-26 19:07:37 +00:00
Nick Mathewson
4ff4577beb
r6908@Kushana: nickm | 2006-07-26 12:38:52 -0400
...
Refactor connection_t into edge, or, dir, control, and base subtypes. This might save some RAM on busy exit servers, but really matters most in terms of correctness.
svn:r6906
2006-07-26 19:07:26 +00:00
Nick Mathewson
18771e851f
r6907@Kushana: nickm | 2006-07-25 19:03:43 -0400
...
Realign circuit structs to avoid wasted space.
svn:r6905
2006-07-26 19:07:23 +00:00
Nick Mathewson
e61d28dfb8
r6903@Kushana: nickm | 2006-07-25 18:22:48 -0400
...
No circuit can be both an intro point and a rend point, so we can merge both the cookie and the pk digest into one "rend_token" field for or circuits. This saves another 20 bytes per or circuit.
svn:r6904
2006-07-26 19:05:41 +00:00
Nick Mathewson
a88ec48a39
r6902@Kushana: nickm | 2006-07-25 17:30:27 -0400
...
Move rend_query to origin_circuit_t where it belongs; save another 17 bytes per OR circuit.
svn:r6903
2006-07-26 19:05:34 +00:00
Nick Mathewson
96bcbb1e1c
Remove code to special-case "-cvs" ending, since it has not actually mattered since 0.0.9. Perhaps we can special-case even more...
...
svn:r6898
2006-07-25 04:34:14 +00:00
Peter Palfrader
521c006fd5
Remove .cvsignore files from trunk
...
svn:r6891
2006-07-25 01:00:48 +00:00
Roger Dingledine
c9b8458f59
publish a new descriptor after we hup. this is important if our
...
config has changed such that we'll want to start advertising our
dirport now, etc.
svn:r6819
2006-07-23 11:50:03 +00:00
Nick Mathewson
d27cbf5d4b
Fix another segfault in assert_circuit_ok.
...
svn:r6818
2006-07-23 08:13:45 +00:00
Nick Mathewson
7239262f71
Don't tell anybody, but we're going OO here. This patch splits
...
circuit_t into origin_circuit_t and or_circuit_t. I fixed some
segaults; there may be more. We still need to move more rendezvous
stuff into subtypes.
This is a trial run for splitting up connection_t; if the approach is
insane, please say so soon so we can do something smarter.
Also, this discards the old HALF_OPEN code, which nobody seems to
want.
svn:r6817
2006-07-23 07:37:35 +00:00
Nick Mathewson
6d2eb77555
Whitespace fix
...
svn:r6816
2006-07-23 07:19:49 +00:00
Roger Dingledine
40cc536307
rewrite conn->address for GET commands as well as POST commands.
...
svn:r6815
2006-07-23 06:41:02 +00:00
Roger Dingledine
0b5ad1bcfb
use tor_mem_is_zero() in more places.
...
svn:r6814
2006-07-23 05:52:27 +00:00
Nick Mathewson
4280218a42
Delete trailing whitespace in eventdns.c
...
svn:r6813
2006-07-23 05:40:24 +00:00
Nick Mathewson
1c0f02f657
Add (void) lines for unused parameters in eventdns.c
...
svn:r6812
2006-07-23 05:39:37 +00:00
Nick Mathewson
f4e506f423
Remove STRUCT_OFFSET from config.c
...
svn:r6811
2006-07-23 05:33:10 +00:00
Nick Mathewson
35960e1162
Add a mem_is_zero function (I think we will need this) and a STRUCT_OFFSET macro (we already need this).
...
svn:r6810
2006-07-23 05:32:35 +00:00
Roger Dingledine
ee789052b8
whitespace and docs
...
svn:r6808
2006-07-23 05:18:29 +00:00
Roger Dingledine
00aefaab6b
think harder about my logic
...
svn:r6806
2006-07-22 07:19:11 +00:00
Roger Dingledine
2d6a4d283b
i lied, that won't work at all. maybe this will.
...
svn:r6805
2006-07-22 07:15:34 +00:00
Roger Dingledine
444f096d2d
more bulletproof reachability testing
...
svn:r6804
2006-07-22 05:29:31 +00:00
Nick Mathewson
64c14d8ce3
These asserts will either cause spurious crashes or help debug the pend->conn->s == -1 issue.
...
svn:r6803
2006-07-21 22:02:58 +00:00
Nick Mathewson
08a4114abf
Another MSVC6 fix. Grnk.
...
svn:r6802
2006-07-21 14:53:23 +00:00
Roger Dingledine
2249180b60
bugfix: if you find yourself reachable, then don't ever make any client
...
requests (so you stop predicting circuits), then hup, then later your
IP changes, you won't think circuits are working so you won't try to
test reachability, so you won't publish.
svn:r6800
2006-07-21 07:55:35 +00:00
Roger Dingledine
4d5fab4f9a
tweak
...
svn:r6799
2006-07-21 07:53:21 +00:00
Roger Dingledine
9283ddb760
an entry guard that is "unlisted", as well as not known to be "down", is
...
not therefore "up".
svn:r6798
2006-07-21 07:06:18 +00:00