Nick Mathewson
8efb2a957d
Make sure that router_get_by_* can always return "me"
...
svn:r3702
2005-02-27 07:23:42 +00:00
Nick Mathewson
bbaa3c7792
Implement more control spec functionality
...
- Mapaddress
- Postdescriptor
- GetInfo on descriptors
Required changes elsewhere:
- Keep the most recent running_routers_t in the routerlist_t. That way we
can learn about new routers and remember whether we were last told that
they were up or down. Also enables more simplifications.
- Keep the signed descriptor inside routerinfo_t. This makes
descriptor_entry_t in dirservers.c unneeded.
- Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun.
- Check addresses for plausibility before mapping them.
svn:r3696
2005-02-25 20:46:13 +00:00
Nick Mathewson
8396105d84
Implement some of GETINFO control message
...
svn:r3694
2005-02-25 06:37:07 +00:00
Nick Mathewson
81d2c2d8e5
Stub functions for new control-spec logic.
...
svn:r3693
2005-02-25 06:16:28 +00:00
Nick Mathewson
26e6eb7539
Check returns from libevent calls better; stop poking at internals of events to see if they are live.
...
svn:r3691
2005-02-25 05:42:01 +00:00
Roger Dingledine
6329811a88
fix a seg fault from tor_free_all
...
svn:r3690
2005-02-24 23:01:26 +00:00
Nick Mathewson
24d7ae6fe8
Insert missing ! in assert_connection_ok; test was accidentally reversed in revision 1.329 yesterday. Should fix bug 102
...
svn:r3685
2005-02-24 17:08:27 +00:00
Roger Dingledine
5b24ca6cde
cache .exit address better (i think)
...
svn:r3684
2005-02-24 11:44:08 +00:00
Roger Dingledine
6faaac2706
add support for CONNECTing through https proxies.
...
not sure if it works. i don't have an https proxy.
svn:r3682
2005-02-24 10:56:55 +00:00
Roger Dingledine
8054f82992
stop a potential overflow (pointed out by ilja)
...
svn:r3681
2005-02-24 10:22:00 +00:00
Nick Mathewson
2adee31a26
Improve log message on unrecognized encoding to indicate that we can cope.
...
svn:r3676
2005-02-23 22:14:34 +00:00
Nick Mathewson
22c38b0f9b
Clarify comment. Use CONN_IS_EDGE more. Try to be more zealous about calling connection_edge_end when things go bad with edge conns in connection.c
...
svn:r3671
2005-02-23 20:35:26 +00:00
Nick Mathewson
69a36e352e
clarify comment
...
svn:r3667
2005-02-23 06:46:54 +00:00
Nick Mathewson
e0387d1322
Addressmap tweak: Make "addressmap x x" remove any mapping from the address x.
...
svn:r3666
2005-02-23 06:40:48 +00:00
Nick Mathewson
2ff6cfccd6
Forward-port fix to make dual-purpose NT executable work.
...
svn:r3665
2005-02-23 05:34:25 +00:00
Roger Dingledine
55c3f15ed1
Forward-port the trick to bump up ConnLimit as far as it can
...
go, but not past MAXCONNECTIONS. Also throw away the FAKE_POLL
caveats since 0.1.0 doesn't need it any more.
svn:r3657
2005-02-22 23:52:44 +00:00
Nick Mathewson
6e6d95b3db
Change from inet_ntoa to a threadproof tor_inet_ntoa.
...
svn:r3656
2005-02-22 08:18:36 +00:00
Nick Mathewson
70c3580f81
Patch to localtime/gmtime handling: use the _r variants where available. Use mutexes to fake _r where necessary. Make mutexes no-ops where no threading is enabled.
...
svn:r3653
2005-02-22 07:03:03 +00:00
Nick Mathewson
d01718841e
Remove assumptions that maximum path length is anything like 1024. From comments by Chris Palmer
...
svn:r3652
2005-02-22 06:38:39 +00:00
Nick Mathewson
a68fcbf807
Initial IRIX compatibility fixes: check for inttypes.h; check for platform cell_t.
...
svn:r3648
2005-02-22 04:26:45 +00:00
Nick Mathewson
c2d5b67dd2
After we successfully connect, try handling pending stuff immediately, rather than waiting for the next call to connection_handle_write. Roger: is this right?
...
svn:r3647
2005-02-22 03:02:33 +00:00
Nick Mathewson
e673536e3f
Print uname on start of unittests.
...
svn:r3646
2005-02-22 03:01:31 +00:00
Nick Mathewson
1a55422006
Fix windows build: juggle }s and #endifs around in main.c
...
svn:r3645
2005-02-22 02:57:43 +00:00
Roger Dingledine
8991af604c
make the addressmap internals less noisy
...
svn:r3643
2005-02-22 00:55:50 +00:00
Roger Dingledine
8727acf2f1
Add a new AddressMap directive to rewrite incoming socks addresses.
...
Add a new TrackHostExits directive to trigger addressmaps for
certain incoming socks addresses, for sites that break when your exit
keeps changing.
Redo the client-side dns cache so it's just an addressmap too.
svn:r3641
2005-02-22 00:53:08 +00:00
Roger Dingledine
38f53cff41
forward-port the onion queue thing
...
svn:r3639
2005-02-20 09:27:48 +00:00
Roger Dingledine
cbb4803ec8
forward-port some fixes
...
svn:r3631
2005-02-17 01:12:50 +00:00
Roger Dingledine
797419a62c
remove unused code
...
svn:r3629
2005-02-16 02:06:54 +00:00
Nick Mathewson
0289144229
Fix another crash bug found by Jaroslaw--it is possible for dns_resolve to mark a connection to be freed, if the circuit it was attached to fails for some reason.
...
svn:r3623
2005-02-14 21:16:27 +00:00
Nick Mathewson
427e246a10
Add a missing prototype to or.h
...
svn:r3621
2005-02-13 22:31:26 +00:00
Nick Mathewson
d90ab823ea
remove redundant unpack in critical path
...
svn:r3620
2005-02-13 16:17:32 +00:00
Nick Mathewson
58540dde50
Do not try to double-aquire lock when rotating keys. May fix deadlock bug found by weasel.
...
svn:r3616
2005-02-11 07:56:10 +00:00
Nick Mathewson
5d836c8140
Free tls resources on exit too
...
svn:r3615
2005-02-11 01:41:19 +00:00
Nick Mathewson
f672577bc6
Free even more things on shutdown. Temporarily move tor_free_all out from #ifdef so it gets tested more.
...
svn:r3614
2005-02-11 01:26:47 +00:00
Nick Mathewson
60f234f42b
Add more functions to free things to help dmalloc allong.
...
svn:r3613
2005-02-10 23:18:39 +00:00
Roger Dingledine
33569e40d7
if we're hibernating and we get a sigint, exit immediately.
...
closes bug 91.
svn:r3611
2005-02-10 07:34:19 +00:00
Roger Dingledine
236aa86ae7
stop picking unverified dir mirrors, ever.
...
it only leads to misery.
svn:r3610
2005-02-10 07:00:23 +00:00
Roger Dingledine
37ca621301
when a client asks us for a dir mirror and we don't have one,
...
launch an attempt to get a fresh one.
svn:r3609
2005-02-10 06:31:34 +00:00
Roger Dingledine
07a3307460
remove redundant lines
...
svn:r3607
2005-02-09 23:54:30 +00:00
Nick Mathewson
89d422914a
Patch from adam langley: always remove sockets from libevent before closing them. Should fix epoll-related bugs.
...
svn:r3606
2005-02-09 23:16:31 +00:00
Roger Dingledine
c5c46d6fb6
don't list version in the win32 service display name or service name,
...
since they'll keep changing and people will get messed up about which
one is installed.
svn:r3592
2005-02-09 02:26:24 +00:00
Nick Mathewson
a64b03a4fd
Avoid double-free on tor-resolve failure
...
svn:r3567
2005-02-05 23:55:21 +00:00
Nick Mathewson
bb32fa86d7
Re-normalize whitespace; make "make check-spaces" happy
...
svn:r3566
2005-02-05 21:42:46 +00:00
Nick Mathewson
24ad6542c9
forward-port NT service patch
...
svn:r3565
2005-02-05 21:40:25 +00:00
Nick Mathewson
322c728e97
Fix tor-resolve implementation to prevent crashes and send resolves when we should.
...
svn:r3561
2005-02-05 21:03:24 +00:00
Roger Dingledine
56d4b99491
forward-port the logic skew and double-free thing
...
svn:r3549
2005-02-04 01:49:58 +00:00
Roger Dingledine
efa9bb5535
fix the latest bug: don't explode when some router declares a
...
bandwidthburst of 500 gigabytes.
this bug seems to have taken down most of the network. oops.
svn:r3523
2005-02-03 22:58:22 +00:00
Roger Dingledine
bcece3d8a7
another minor fix
...
svn:r3511
2005-02-03 07:30:00 +00:00
Peter Palfrader
ddd724ef94
Add --with-dmalloc configure option
...
svn:r3508
2005-02-03 07:25:10 +00:00
Peter Palfrader
dfa3a0220f
Write a function header for Roger so he can fill it with life
...
svn:r3507
2005-02-03 07:23:48 +00:00
Roger Dingledine
f575d29a59
note a bug that wmf just found
...
svn:r3503
2005-02-02 06:28:45 +00:00
Roger Dingledine
c1656f41b4
bugfix: tor-resolve requests were ignoring .exit if there was
...
a working circuit they could use instead.
svn:r3502
2005-02-02 06:26:52 +00:00
Roger Dingledine
0551e3a814
reject more default filesharing ports by default.
...
svn:r3500
2005-02-02 04:15:40 +00:00
Roger Dingledine
976bee4a3f
only check if exit_policy_implicitly_allows if you're a server.
...
also, put a comment next to an interesting undocumented 'feature'.
svn:r3499
2005-02-02 01:59:16 +00:00
Roger Dingledine
0f5a198028
sometimes, a conn on the closeable_lst gets absolutely
...
clobbered. maybe this will help me find out why.
svn:r3498
2005-02-02 00:19:09 +00:00
Roger Dingledine
850c300e46
bump the default rate limit to 1 MB
...
svn:r3494
2005-02-01 13:44:10 +00:00
Roger Dingledine
b90983e44f
reject odd-looking addresses at the client, rather than having
...
the server drop them because they're malformed.
svn:r3493
2005-02-01 12:19:44 +00:00
Roger Dingledine
1447145470
give a bit more load to servers that claim to be able to
...
handle a whole lot.
svn:r3489
2005-02-01 02:56:31 +00:00
Roger Dingledine
1e847aebb1
Go into soft hibernation after 95% of the bandwidth is used,
...
not 99%. This is especially important for daily hibernators who
have a small accounting max. Hopefully it will result in fewer
cut connections when the hard hibernation starts.
svn:r3488
2005-02-01 02:45:28 +00:00
Roger Dingledine
2e97593d25
define TOR_FRAGILE if you want tor to give you a core when
...
something goes wrong. this should only be used by people actively
tracking bugs.
svn:r3487
2005-02-01 00:37:16 +00:00
Roger Dingledine
e7e77d6d8e
fix an edge case in parsing config options (thanks weasel)
...
svn:r3486
2005-02-01 00:05:57 +00:00
Peter Palfrader
d19aaa9a46
Fix arma's fix for my leak
...
svn:r3485
2005-01-31 23:47:25 +00:00
Roger Dingledine
ab8691c343
fix a minor memory leak found by weasel
...
svn:r3484
2005-01-31 20:38:57 +00:00
Roger Dingledine
d232831135
stop a sigpipe.
...
apparently when we get an eof, at least sometimes it *does* mean
you'd better not try writing.
svn:r3481
2005-01-31 08:12:30 +00:00
Roger Dingledine
9856e328c4
stop logging loudly when a client tries an old onion key. it's
...
time to give up on that issue, at least for now.
svn:r3479
2005-01-31 04:03:57 +00:00
Roger Dingledine
a7138f2535
fix another rogue connection_free that was causing us troubles
...
there are no doubt more lurking.
svn:r3478
2005-01-31 03:47:38 +00:00
Roger Dingledine
a0312f3590
don't double-detach a closing exit conn that's waiting for dns resolve
...
svn:r3477
2005-01-31 01:27:49 +00:00
Roger Dingledine
692a57c8e8
but don't spring the trip on worker children, because it turns
...
out they don't actually remove anything before freeing the conns.
svn:r3476
2005-01-31 01:02:20 +00:00
Roger Dingledine
d6489d8e41
lay a trap for situations where we connection_free something
...
that's still on one of the lists.
in particular, this will detect situations where we mark-for-close
and then free it ourselves.
svn:r3475
2005-01-31 00:33:32 +00:00
Roger Dingledine
75b45bcd4d
stop the infinite loop of freeing the same connection_t over and
...
over when it's not linked into the connection_array
svn:r3474
2005-01-31 00:26:09 +00:00
Roger Dingledine
5d8659429e
be less noisy about complaining when a jap client tries to connect
...
and we refuse him.
svn:r3472
2005-01-30 23:52:47 +00:00
Roger Dingledine
3969b6066e
Stop crashing when we're asking to close_if_marked a conn that
...
hasn't been connection_added yet. This happens when an exit conn
is in dns_wait and we get a relay end cell for it before it finishes.
We were silently leaking each of these marked conns in 0.0.9.x. Now
we actually free them.
svn:r3470
2005-01-30 21:47:47 +00:00
Roger Dingledine
20ecfc757b
be safe: if you got a resolvefailed end cell but you're not an AP, bail.
...
svn:r3469
2005-01-30 21:46:42 +00:00
Roger Dingledine
7ddeb7fae7
try to find the corrupt closeable_connection_lst entry early
...
svn:r3468
2005-01-30 20:31:08 +00:00
Roger Dingledine
e432d2ceea
we should handle the case where the client has no cert, for
...
backwards compatibility with jap clients.
svn:r3466
2005-01-30 08:02:33 +00:00
Roger Dingledine
cab0138e4c
give a better log message when we don't have a good mirror of
...
the directory yet and somebody asks for it.
svn:r3464
2005-01-30 06:08:42 +00:00
Roger Dingledine
8e7fc8d259
comment about a bug wrt clock skew
...
svn:r3461
2005-01-30 00:07:31 +00:00
Roger Dingledine
d273891107
if we fetch the dir from a mirror that has a wildly skewed
...
clock, then don't bother checking recommended-versions: it will
just make us sad.
as a side effect, people running obsolete versions and whose
clocks are wildly skewed will not be auto-shut-down. but they
will still get warns about their clock skew.
svn:r3459
2005-01-29 11:48:37 +00:00
Roger Dingledine
191e52179c
distinguish between "well-formed and rejected" and "not well
...
formed", when parsing server descriptors.
svn:r3458
2005-01-29 11:23:34 +00:00
Roger Dingledine
7fd8dfe6ea
accept LDAP (389/tcp) and LDAPS (636/tcp) in default exit policy
...
svn:r3457
2005-01-29 11:16:23 +00:00
Roger Dingledine
82d3894f3e
don't let a corrupt directory cache keep us from starting
...
svn:r3456
2005-01-29 11:07:35 +00:00
Roger Dingledine
0b9b97aaf4
forward-port the shutting up
...
svn:r3450
2005-01-28 10:00:29 +00:00
Roger Dingledine
b2fbd834f0
forward-port the dns and maxconn fixes
...
svn:r3448
2005-01-28 08:53:47 +00:00
Nick Mathewson
e03f571ee3
Forward-port win32 service patch; try to clean it a touch.
...
svn:r3438
2005-01-27 21:45:32 +00:00
Nick Mathewson
fbb7f869c5
fwd-port win32 isprint fix
...
svn:r3410
2005-01-22 00:42:58 +00:00
Nick Mathewson
1dc4d9a0ce
Fix dumb bug in unittests.
...
svn:r3409
2005-01-22 00:42:40 +00:00
Nick Mathewson
de9b46ad64
clean a couple of messages
...
svn:r3401
2005-01-21 23:16:07 +00:00
Roger Dingledine
4826718eac
special case so we don't yell when an empty http body doesn't specify a
...
content-encoding
svn:r3397
2005-01-21 03:18:49 +00:00
Roger Dingledine
b137f6d19f
if we get an incredibly skewed timestamp from a dirserver mirror that
...
isn't a verified OR, don't complain very loudly -- it's probably him
that's wrong.
svn:r3395
2005-01-21 00:45:18 +00:00
Nick Mathewson
8115ca5f99
Log the offending policy, not the first policy
...
svn:r3394
2005-01-20 20:42:45 +00:00
Nick Mathewson
6704093c0d
Appease another 64-bit warning
...
svn:r3392
2005-01-20 20:21:34 +00:00
Nick Mathewson
fd41cbcadf
Have reason string for serverdesc post requests contain actual serverdesc status. Also fix return values of dirserv_add_descriptor to work as advertised.
...
svn:r3391
2005-01-20 20:18:32 +00:00
Nick Mathewson
5b45527851
Appease weasel's paranoid 64-bit compiler.
...
svn:r3389
2005-01-20 20:16:48 +00:00
Roger Dingledine
67f0babfd4
start to fix http status stuff, more work needed
...
svn:r3387
2005-01-20 20:07:36 +00:00
Nick Mathewson
80e8359ccf
Give better reason phrases in HTTP status lines. Start resolving task #67 . (Messages still need to be better.)
...
svn:r3386
2005-01-20 19:46:02 +00:00
Nick Mathewson
129e754ae4
Warn when exit policy implicitly allows local addresses.
...
svn:r3383
2005-01-20 18:39:48 +00:00
Roger Dingledine
a6e91f8157
The crowning hidden-service patch: prefer non-internal circuits
...
for normal connections, so we don't spend our internal circs on
other stuff and not have them when we need them.
svn:r3380
2005-01-20 07:02:24 +00:00
Roger Dingledine
38be533c69
Handle unavailable hidden services better. We try each intro point
...
until none are left, then we try to refetch the descriptor. If it's
the same one we had before, then close streams right then. Whenever
a new stream arrives, even if it's right after, optimistically try
refetching the descriptor, just in case.
svn:r3379
2005-01-19 23:15:59 +00:00
Roger Dingledine
ff48179372
make cannibalizing for rend circs prey on the pleb circs first
...
if possible, rather than the elite ones.
svn:r3378
2005-01-19 23:13:20 +00:00
Nick Mathewson
1eddb28f82
Add unittests for compression detection. Make all rendezvous descriptors "plausible".
...
svn:r3375
2005-01-19 22:47:48 +00:00
Nick Mathewson
69fa5be7b6
Workaround for webservers that lie about Content-Encoding: Tor now tries to autodetect compressed directories and compression itself. (resolves bug 65)
...
svn:r3374
2005-01-19 22:40:33 +00:00
Nick Mathewson
e0bf597665
Give more useful log messages when the tor process closes dns/cpuworker connections. "Error: Success!" makes us seem like crazy people."
...
svn:r3373
2005-01-19 21:34:42 +00:00
Roger Dingledine
75d83827e0
fix another bug where general exit circs were looking at rendezvous
...
streams. consolidate the looking into one function so it doesn't
happen again.
svn:r3372
2005-01-19 17:59:37 +00:00
Roger Dingledine
cfcc93296c
bugfix for cvs: we were needing a rendezvous circ, so we cannibalized
...
a general circ, and called rend_client_rendcirc_has_opened(), which
called connection_ap_attach_pending(), which was needing a rendezvous
circ, so it cannibalized a general circuit, and called ...
svn:r3370
2005-01-19 17:13:11 +00:00
Nick Mathewson
7d4a167c81
Basic windows libevent fixes
...
svn:r3366
2005-01-18 23:44:55 +00:00
Roger Dingledine
4e369bc9e8
allow bandwidthburst to be smaller, but whine if it's small.
...
svn:r3364
2005-01-18 19:34:22 +00:00
Roger Dingledine
ea24dc31bc
remove some extra-verbose logs
...
svn:r3361
2005-01-17 18:49:13 +00:00
Roger Dingledine
d2400a5afd
Introduce a notion of 'internal' circs, which are chosen without regard
...
to the exit policy of the last hop. Intro and rendezvous circs must
be internal circs, to avoid leaking information. Resolve and connect
streams can use internal circs if they want.
New circuit pooling algorithm: make sure to have enough circs around
to satisfy any predicted ports, and also make sure to have 2 internal
circs around if we've required internal circs lately (with high uptime
if we've seen that lately).
Split NewCircuitPeriod config option into NewCircuitPeriod (30 secs),
which describes how often we retry making new circuits if current ones
are dirty, and MaxCircuitDirtiness (10 mins), which describes how long
we're willing to make use of an already-dirty circuit.
Once rendezvous circuits are established, keep using the same circuit as
long as you attach a new stream to it at least every 10 minutes. (So web
browsing doesn't require you to build new rend circs every 30 seconds.)
Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND
circ as necessary, if there are any completed ones lying around when
we try to launch one.
Re-instate the ifdef's to use version-0 style introduce cells, since
there was yet another bug in handling version-1 style. We'll try switching
over again after 0.0.9 is obsolete.
Bugfix: when choosing an exit node for a new non-internal circ, don't take
into account whether it'll be useful for any pending x.onion addresses --
it won't.
Bugfix: we weren't actually publishing the hidden service descriptor when
it became dirty. So we only published it every 20 minutes or so, which
means when you first start your Tor, the hidden service will seem broken.
svn:r3360
2005-01-17 18:13:09 +00:00
Roger Dingledine
c6771e5ce4
reset published uptime when you wake up from hibernation,
...
since if you hibernate daily a published uptime of >1day
will be misleading.
svn:r3356
2005-01-14 17:49:25 +00:00
Roger Dingledine
dcf8b18215
when the hidden service launches a rendezvous circ, make sure it
...
provides good uptime if any virtual_port of the service wants that.
svn:r3355
2005-01-14 04:35:53 +00:00
Nick Mathewson
a38bccdca7
Move call to event_init() immediately after start_daemon(); move start_daemon earlier. This should fix using libevent with RunAsDaemon.
...
svn:r3354
2005-01-13 21:32:08 +00:00
Roger Dingledine
0aff4ff4cb
get rid of 0.0.8 backwards compatibility
...
svn:r3353
2005-01-13 20:22:38 +00:00
Roger Dingledine
22f7934718
start generating version 1 style introduce cells
...
svn:r3352
2005-01-13 20:21:11 +00:00
Roger Dingledine
49fe4cba74
when deciding if a port is handled and the port demands uptime, don't
...
consider it handled if there's a circ that fits but isn't high-uptime.
svn:r3349
2005-01-13 07:23:19 +00:00
Roger Dingledine
abea142665
more cleanup
...
svn:r3347
2005-01-12 12:22:25 +00:00
Roger Dingledine
bafb3e4a5b
fix another integer underflow caused by buckets going negative
...
svn:r3346
2005-01-12 12:19:00 +00:00
Roger Dingledine
24a97d2c55
fix up some comments
...
svn:r3345
2005-01-12 12:18:46 +00:00
Roger Dingledine
3809c0ab91
tolerate bandwidtch buckets going negative (i hope)
...
svn:r3344
2005-01-12 10:00:38 +00:00
Nick Mathewson
324b192f68
Make Tor use Niels Provos's libevent instead of it's current
...
poll-but-sometimes-select mess. This will let us use faster async cores
(like epoll, kpoll, and /dev/poll), and hopefully work better on Windows
too.
There are some fairly nasty changes to main.c here; this will almost
certainly break something. But hey, that's what alphas are for.
svn:r3341
2005-01-12 06:42:32 +00:00
Roger Dingledine
9b578f2fe2
add more chat and interactive protocols to LongLivedPorts
...
svn:r3340
2005-01-12 05:18:14 +00:00
Roger Dingledine
84c81e0783
Annotate circuits w/ whether they aim to contain high uptime nodes and/or
...
high capacity nodes. When building circuits, choose appropriate nodes.
New config option LongLivedPorts to indicate application streams
that will want high uptime circuits.
When attaching a stream to a circuit, pay attention to its requirements.
This means that every single node in an intro rend circuit, not just
the last one, will have a minimum uptime.
Boost the min uptime from an hour to 24 hours.
svn:r3339
2005-01-12 04:58:23 +00:00
Roger Dingledine
70b3208f0a
if somebody starts his tor server in jan 2004 and then fixes his
...
clock, don't make his published uptime be a year.
svn:r3337
2005-01-11 11:54:11 +00:00
Roger Dingledine
45eb8d9660
if you're a server and the auth dirservers are down, go to any other
...
server. only give up hope on network reachability when no other servers
are reachable either.
svn:r3335
2005-01-10 17:39:41 +00:00
Roger Dingledine
4b6d55afdf
separate time_of_process_start from stats_n_seconds_uptime:
...
now we reset uptime when a dir fetch entirely fails. this
hopefully has something to do with stability of being on the
network.
svn:r3333
2005-01-10 05:10:22 +00:00
Roger Dingledine
3370f53010
it helps to use the correct name for the struct
...
svn:r3331
2005-01-10 04:32:59 +00:00
Roger Dingledine
10a81ccf18
when pruning circuit-wait streams when a dir fetch failed,
...
refer in logs to the destination address, not the address of the
application connection.
svn:r3330
2005-01-10 02:47:50 +00:00
Roger Dingledine
f468ff04ea
when we haven't fetched a directory yet, or the last time we
...
tried they were all unreachable, assume we are not connected to
the network.
when an application request comes in during this state, be
optimistic and assume we just reconnected. fetch a new directory
and if it works, begin making circuits.
svn:r3327
2005-01-07 15:57:57 +00:00
Roger Dingledine
608caffc64
fix unit tests: address has to be a non-private IP, and socksport
...
needs to be 0.
svn:r3324
2005-01-07 01:12:30 +00:00
Roger Dingledine
cd1f50d2f0
new config option DirAllowPrivateAddresses for authdirservers.
...
now by default they refuse router descriptors that have non-IP
or private-IP addresses.
svn:r3321
2005-01-06 21:03:27 +00:00
Nick Mathewson
91bafc476e
Fix a fun bug: do not rewrite a cached directory back to the cache; otherwise we will think it is recent and not fetch a newer one.
...
svn:r3319
2005-01-06 20:11:52 +00:00
Roger Dingledine
f8b517fa97
finish marking my comment in main.c
...
svn:r3318
2005-01-06 19:20:54 +00:00
Roger Dingledine
1f51809e65
clean up string printing in relay logs
...
svn:r3317
2005-01-06 19:19:13 +00:00
Roger Dingledine
6d2859c2e5
fix trivial typo in log entry
...
svn:r3316
2005-01-06 19:17:01 +00:00
Nick Mathewson
a6e587305f
typo spotted by chris
...
svn:r3308
2005-01-05 06:48:39 +00:00
Nick Mathewson
dcd228585d
Implement SIGNAL control command.
...
svn:r3307
2005-01-05 06:40:47 +00:00
Nick Mathewson
b4fedc7f14
Stop reversing and re-reversing config lines: keep them in order all the time. Removes needless confusion and fixes bug #50 .
...
svn:r3305
2005-01-05 06:05:37 +00:00
Nick Mathewson
e99f79fa4d
Remove broken and undocumented wart where multiple CSV config lines are appended rather than replaced. Resolves bug #49
...
svn:r3301
2005-01-05 02:51:04 +00:00
Roger Dingledine
814dd946f0
fix duplicate dns_cancel_pending_resolve reported by Giorgos Pallas
...
svn:r3293
2005-01-04 11:26:08 +00:00
Roger Dingledine
ba7c74e742
bandaid: make Giorgos Pallas's dns assert bug not actually crash on him.
...
one day we should try to figure out what's actually going on here.
svn:r3280
2005-01-04 06:21:06 +00:00
Nick Mathewson
6dd91de3bd
Nothing actually _uses_ socks_port, so why publish it? For backward compatibility, publish a socks_port of 0, and never read socks_port.
...
svn:r3279
2005-01-04 05:46:54 +00:00
Roger Dingledine
e6c1ab2daf
post 0.0.9.x, demand that servers declare at least 20000 bytes/s
...
for bandwidthrate
svn:r3277
2005-01-04 03:46:50 +00:00
Nick Mathewson
4d30e2f4b8
Make sequence of log messages when starting on win32 with no config file more reasonable.
...
svn:r3275
2005-01-04 02:25:36 +00:00
Roger Dingledine
82c5381ecb
forward-port the fix for the compiler warning
...
svn:r3273
2005-01-04 01:16:20 +00:00
Roger Dingledine
d7a0f1a629
update print_usage to use new url
...
svn:r3267
2005-01-03 23:21:32 +00:00
Roger Dingledine
a005509c9d
update url for when users try to use socksport as an http proxy
...
svn:r3265
2005-01-03 23:19:15 +00:00
Nick Mathewson
d1fc7ad94b
Log when we retry a directory connection
...
svn:r3258
2005-01-03 21:14:09 +00:00
Nick Mathewson
0c4186d6ee
Use correct logic to decide whether there are more directory servers to retry.
...
svn:r3257
2005-01-03 20:51:24 +00:00
Nick Mathewson
65c4fa2614
Split mark-dir-failed-and-retry logic into separate function; make it retry runningrouters as well as directory fetches; note that the do-we-need-to-give-up test is wrong.
...
svn:r3256
2005-01-03 20:07:07 +00:00
Nick Mathewson
858eda4736
Fix an unused function warning
...
svn:r3255
2005-01-03 20:03:49 +00:00
Nick Mathewson
5f40d6bf72
Make directory fail-and-retry logic happen in connection_about_to_close(); fixes win32 bug.
...
svn:r3253
2005-01-03 19:51:10 +00:00
Nick Mathewson
b50263f740
More work on task #43 : fix race conditions on multithreaded (win32) servers.
...
svn:r3251
2005-01-03 19:07:25 +00:00
Nick Mathewson
ead52e0bdc
Possible fix for task #43 : when running on a multithreaded environment (currently only windows), threads should not close opposite sides of their socketpairs, and workers should not call connection_free_all(). This may fix win32 servers.
...
svn:r3247
2005-01-03 18:06:51 +00:00
Nick Mathewson
fca7ba9777
Resolve task 42: find where 19-char nicknames were getting truncated when read from certs, and fix it. Also audit use of MAX_NICKNAME_LEN; no other badness found, but some docs/code cleaned up a touch.
...
svn:r3244
2005-01-03 17:53:20 +00:00
Roger Dingledine
59504f4831
bugfix: if a server uploads a descriptor that's unapproved, actually
...
tell him so.
svn:r3243
2005-01-03 17:47:32 +00:00
Roger Dingledine
70075933c6
stop checking for clock skew, even for servers.
...
this means we are vulnerable to an attack where somebody recovers
and uses a really old certificate. however, if they do that, they
probably can get our identity key just as easily.
svn:r3241
2005-01-03 17:10:32 +00:00
Roger Dingledine
b4dad0e6a4
fix the assert bug reported by bassclef@163.com
...
svn:r3237
2005-01-02 06:16:46 +00:00
Roger Dingledine
a4ad47df86
Fix a double-mark-for-close bug, where we were finding a conn
...
for a cell even if that conn is already marked for close.
Don't back-port to 0.0.9.x, since this fix could have weird implications.
svn:r3235
2005-01-01 07:54:01 +00:00
Roger Dingledine
35d5a5b712
when a dirserver causes you to give a warn, mention which dirserver it was
...
svn:r3234
2005-01-01 07:40:59 +00:00
Roger Dingledine
e29d7329b3
...but only if you're a server
...
svn:r3233
2004-12-31 21:49:20 +00:00
Roger Dingledine
95f3e6161b
require BandwidthRate to be at least 10kB/s
...
svn:r3232
2004-12-31 21:47:54 +00:00
Roger Dingledine
717fe4993e
actually make it stop keeping track of times. whoops.
...
svn:r3230
2004-12-25 07:19:48 +00:00
Roger Dingledine
e1ac30c2bb
stop calling assert_connection_ok(conn, time(NULL)) on every single
...
conn on every single loop.
svn:r3229
2004-12-25 06:43:40 +00:00
Roger Dingledine
288f2ed59e
stop telling win32 folks they have a bug just because we haven't finished
...
making tor work on win32 yet.
svn:r3227
2004-12-25 06:42:15 +00:00
Roger Dingledine
be72937ab0
initial profiling by phobos says we spend a whole lot of time
...
measuring how long each cell takes to process. make that optional.
svn:r3226
2004-12-25 06:10:34 +00:00
Roger Dingledine
53105cdae5
when you're loading the rendezvous service keys in options_act(),
...
don't call it 'reloading'.
svn:r3225
2004-12-24 20:45:45 +00:00
Roger Dingledine
3a572fcffa
don't connection_edge_end() on eof if we're already marked for close,
...
because if we are then it's because we already got an end.
svn:r3223
2004-12-24 09:43:57 +00:00
Nick Mathewson
ded8e79979
remove sentence-fragment comment refering to a design that never happened.
...
svn:r3220
2004-12-24 02:50:27 +00:00
Nick Mathewson
e8585dfe97
Remove length restriction when generating directories.
...
svn:r3218
2004-12-24 02:17:32 +00:00
Nick Mathewson
7117366810
Fix for running-routers length bug
...
svn:r3216
2004-12-24 01:41:52 +00:00
Roger Dingledine
f50b785c3b
and forward port the cleanup
...
svn:r3211
2004-12-22 10:04:50 +00:00
Roger Dingledine
18320557a1
fix a crash: if you do socks4 with an IP of 0.0.0.x then we get tricked
...
into thinking you're doing socks4a, and we look for the next byte.
thanks to aphex for finding this.
svn:r3207
2004-12-22 09:52:29 +00:00
Roger Dingledine
cf17d0d29c
move network_init from or/main to common/compat
...
call network_init in tor-resolve.c too
move tor_lookup_hostname from common/util to common/compat
svn:r3203
2004-12-22 05:29:06 +00:00
Roger Dingledine
036384fd8e
respond to an 009 XXX
...
svn:r3201
2004-12-22 02:55:26 +00:00
Nick Mathewson
32978afa54
Workaround for brain-damaged __FILE__ handling on MSVC: keep Nick's name out
...
of the warning messages.
svn:r3199
2004-12-22 02:32:26 +00:00
Roger Dingledine
f9fd101869
forward port:
...
fix a fencepost: we were blowing away the \n when reporting confvalue items
svn:r3194
2004-12-21 02:57:25 +00:00
Roger Dingledine
308ffa8a05
When listing circuits that are pending on an opening OR connection,
...
if we're an OR we were listing circuits that *end* at us as
being pending on every listener, dns/cpu worker, etc. Stop that.
svn:r3171
2004-12-17 23:17:00 +00:00
Nick Mathewson
bbc10c2ea1
Make split(..., NULL) split on horizontal space; fix bug with tabs in config file.
...
svn:r3155
2004-12-16 21:10:51 +00:00
Nick Mathewson
e327b2f3a6
Clarify confusing message
...
svn:r3151
2004-12-16 05:23:48 +00:00
Roger Dingledine
e1bc3f097e
bugfix: when we're reporting event circuit status, don't call it a stream.
...
while we're at it, include ":port" in the stream event string.
svn:r3148
2004-12-14 03:36:33 +00:00
Roger Dingledine
b6173b7b68
0.0.9 broke hibernation. darn it.
...
svn:r3147
2004-12-13 19:42:46 +00:00
Nick Mathewson
75cefd8989
Remove bugfixes that did not actually do anything, before we start a cargo cult.
...
svn:r3145
2004-12-13 18:48:12 +00:00
Nick Mathewson
1e71b83890
Fix a bug in parsing HashedControlPassword.
...
svn:r3143
2004-12-13 18:32:29 +00:00
Roger Dingledine
6cc7d32afc
clarify a log entry
...
svn:r3142
2004-12-13 02:23:22 +00:00
Roger Dingledine
a8582ae223
note a future thing we should do
...
svn:r3141
2004-12-13 01:30:41 +00:00
Roger Dingledine
011ad3cba5
clean up logging,
...
make it clearer which warns are bugs,
make the control log event match its specification,
point out a bug in how we deal with failure when renewing the tls context.
svn:r3138
2004-12-13 00:44:39 +00:00
Nick Mathewson
972124aab9
Only launch dns workers when we are actually starting a server.
...
svn:r3137
2004-12-13 00:09:00 +00:00
Roger Dingledine
464338b250
when hibernating, don't advertise any ports
...
this is important for the dirport, because clients will still
ask you for a directory, and they'll be sad when you're down.
and do the other ports too, because hey, they're not listening.
svn:r3133
2004-12-11 23:53:59 +00:00
Roger Dingledine
470cdea7f8
make the 64 bit args print correctly on 64 bit archs
...
svn:r3123
2004-12-08 12:30:20 +00:00
Nick Mathewson
fe6eb34a10
Solaris CC freaks out if isspace and friends get anything other than an int. We learned that, so we casted. But it is also a bad idea to cast a signed char to an int and expect things to work on win32. Now we cast to unsigned char, then to int, then pass to isspace. Ug
...
svn:r3120
2004-12-08 00:42:50 +00:00
Nick Mathewson
fc8a2596e1
Log contents of bw_accounting when we read it; fix memory leak.
...
svn:r3118
2004-12-07 23:20:10 +00:00
Roger Dingledine
ca95ed74ac
resolve tequila's crash bug: you can't free something
...
and then keep using it.
svn:r3117
2004-12-07 21:57:37 +00:00
Roger Dingledine
ad4f440e10
rearrange debug logs to make more sense
...
svn:r3116
2004-12-07 21:57:10 +00:00
Roger Dingledine
33cf6f2f61
clean two more minor memory leaks
...
svn:r3115
2004-12-07 19:42:45 +00:00
Nick Mathewson
06ce31b948
Only set a cookie when we intend to.
...
svn:r3114
2004-12-07 19:36:43 +00:00
Roger Dingledine
e93077c82a
fix a minor leak for people offering hidden services
...
svn:r3113
2004-12-07 17:49:14 +00:00
Roger Dingledine
29a8e80326
log bytes written with kill -USR1 too
...
svn:r3112
2004-12-07 16:50:47 +00:00
Roger Dingledine
012255fe60
fix the other half of the pipe race
...
svn:r3111
2004-12-07 16:37:32 +00:00
Roger Dingledine
538c3b0c26
avoid a sigpipe from a race: if we get the end right after
...
the app has hung up on us, we shouldn't hold-open-until-flush.
svn:r3109
2004-12-07 15:31:54 +00:00
Roger Dingledine
802d374a99
I'm a bad person.
...
Stop treating the uint16_t's as null-terminated strings,
and stop looking at the byte after them to see if it's null,
because sometimes you're not allowed to look there.
svn:r3108
2004-12-07 15:29:54 +00:00
Roger Dingledine
a2d80ec767
were we on crack??
...
svn:r3107
2004-12-07 09:18:25 +00:00
Roger Dingledine
41b809d2aa
salvage another 300 bytes per hup
...
svn:r3106
2004-12-07 09:11:38 +00:00
Roger Dingledine
d9f86e2782
and bust another memory leak
...
svn:r3105
2004-12-07 08:58:26 +00:00
Roger Dingledine
5d961c2c06
plug another memory leak
...
svn:r3104
2004-12-07 08:51:10 +00:00
Nick Mathewson
a6aa5eebd6
Fix some memory leaks and unlikely segfaults
...
svn:r3103
2004-12-07 07:48:16 +00:00
Roger Dingledine
8f01b643c3
ORPort must be defined if ORBindAddress is defined.
...
svn:r3100
2004-12-07 06:51:46 +00:00
Roger Dingledine
2ff38fdf83
when recommending new-format log lines, if the upper bound is LOG_ERR,
...
leave it implicit.
svn:r3097
2004-12-07 06:27:39 +00:00
Nick Mathewson
d19648b314
Renormalize whitespace
...
svn:r3095
2004-12-07 05:33:55 +00:00
Nick Mathewson
ac759adb43
Make unit tests work on win32
...
svn:r3094
2004-12-07 05:31:38 +00:00
Nick Mathewson
08e3090aff
More win32 fixes: 1) tolerate extra "readable" events better. 2) when being multithreaded, leave parent fdarray open.
...
svn:r3092
2004-12-06 23:19:55 +00:00
Roger Dingledine
f00631e6b9
answer resolved ip in network order
...
svn:r3087
2004-12-06 06:14:45 +00:00
Roger Dingledine
f10f24a61c
avoid using uninitialized variable
...
svn:r3086
2004-12-06 06:07:57 +00:00
Roger Dingledine
0859d09352
don't use cache for resolving .foo.exit names, but do reply immediately
...
if we're asked to resolve an IP.foo.exit.
svn:r3085
2004-12-06 06:06:13 +00:00
Roger Dingledine
577665f608
fix indenting
...
svn:r3084
2004-12-06 05:26:19 +00:00
Roger Dingledine
f21564eb29
send an end to the streams we close when we hibernate, rather
...
than just chopping them off
svn:r3083
2004-12-05 13:02:18 +00:00
Roger Dingledine
1c9c813866
check if we have a cached resolve for a tor-resolve address *after*
...
we remove the .foo.exit part of the address.
svn:r3082
2004-12-05 12:47:46 +00:00
Roger Dingledine
5ba3328172
fix a minor leak in my recent commit
...
svn:r3081
2004-12-05 12:35:00 +00:00
Roger Dingledine
469135e7e2
talk about quotas rather than bandwidths, in the logs
...
svn:r3080
2004-12-05 12:26:02 +00:00
Roger Dingledine
ef6c9d18e7
New circuit building strategy: keep a list of ports that we've used in the past 6 hours, and always try to have 2 circuits open or on the way
...
that will handle each such port. (We can extend this to include addresses
if exit policies shift to require that.) Seed us with port 80 so web
browsers won't complain that Tor is "slow to start up".
This was necessary because our old circuit building strategy just involved
counting circuits, and as time went by we would build up a big pile of
circuits that had peculiar exit policies (e.g. only exit to 9001-9100)
which would take up space in the circuit pile but never get used.
Fix router_compare_addr_to_addr_policy: it was not treating a port of *
as always matching, so we were picking reject *:* nodes as exit nodes too.
If you haven't used a clean circuit in an hour, throw it away, just to
be on the safe side.
This means after 6 hours a totally unused Tor client will have no
circuits open.
svn:r3078
2004-12-05 07:10:08 +00:00
Roger Dingledine
02b3229a04
plus add a comment re: the previous bug
...
svn:r3076
2004-12-04 10:18:41 +00:00
Roger Dingledine
52676364b9
bugfix: router_exit_policy_rejects_all() was broken, so we were
...
sometimes picking middleman nodes as our last hop, which wasn't
very useful.
svn:r3075
2004-12-04 08:56:59 +00:00
Roger Dingledine
2532e9405e
Now we allow writing to the buffer even when the stream if marked for
...
close, if we're planning to wait to flush it.
This is important because we were sending a socks reject back if we're
closing and hadn't already sent one, but it wasn't actually getting
written since the conn was already marked-for-close.
svn:r3074
2004-12-04 07:13:37 +00:00
Roger Dingledine
5a6e117caf
React to eof immediately on non-open edge connections.
...
Stop keeping track of num_retries for apconns, since they expire
after 60 seconds anyway.
When warning about retrying or giving up, print the address, so
the user knows which one it's talking about.
svn:r3073
2004-12-04 03:26:35 +00:00
Roger Dingledine
c644886c38
bugfix: When we were checking to see if an ap_conn should time out
...
waiting for its connected cell, we were calculating time from when the
ap_conn was created. So if it waited say 20 seconds before being attached,
then we would immediately decide that the circuit had timed out.
Also, make circuit_dump_by_conn() display actual circuit progress,
including circuits that haven't been attached to the conn yet but
hope to when it finishes connecting.
svn:r3072
2004-12-04 02:51:11 +00:00
Roger Dingledine
675f60aa13
whoops
...
just because it says snprintf doesn't mean it's a noop
svn:r3071
2004-12-04 01:23:04 +00:00
Nick Mathewson
fc87758ff3
Add function to check that addr_policy_t is okay; change struct addr_policy_t to addr_policy_t.
...
svn:r3070
2004-12-04 01:14:36 +00:00
Roger Dingledine
8d69dc472b
make circuit building and router parsing less noisy
...
svn:r3068
2004-12-04 00:25:54 +00:00
Roger Dingledine
f79a7d8d62
while hibernating, hup should not regrow our listeners.
...
svn:r3067
2004-12-03 23:53:35 +00:00
Roger Dingledine
db5e100cde
clean up 3 more underflow possibilities
...
svn:r3063
2004-12-02 04:31:52 +00:00
Roger Dingledine
0799804c60
fix redundant (and dangerous) NUL termination
...
svn:r3062
2004-12-02 04:16:18 +00:00
Nick Mathewson
e3f6f92cf7
check for duplicate circuit ID _after_ updating circ_id_type.
...
svn:r3058
2004-12-01 04:55:03 +00:00
Roger Dingledine
82f3ebf195
move StatusFetchPeriod to 15 minutes so it's within bounds by default
...
svn:r3055
2004-12-01 04:27:11 +00:00
Roger Dingledine
ef04cfcbad
one more typo
...
svn:r3054
2004-12-01 04:13:15 +00:00
Nick Mathewson
b457cfb5eb
Spell-check strings and comments
...
svn:r3052
2004-12-01 03:48:14 +00:00
Nick Mathewson
6e88abf418
If we are using select, make sure we stay within FD_SETSIZE.
...
svn:r3051
2004-12-01 03:15:59 +00:00
Roger Dingledine
bde1d5bfb2
do even less inside our signal handler,
...
just to be extra paranoidly safe
svn:r3050
2004-12-01 02:54:13 +00:00
Nick Mathewson
a889926e1c
Clarify chosen tag progression
...
svn:r3047
2004-11-30 16:07:20 +00:00
Roger Dingledine
3929f58018
clean obsolete circuit_log_path code
...
svn:r3046
2004-11-30 10:47:48 +00:00
Roger Dingledine
eb558d0a84
clean up the other "Tell Roger" log that dfc keeps getting
...
svn:r3042
2004-11-30 09:02:25 +00:00
Roger Dingledine
19ada3f7fa
write down our "how to have two defaults for dirfetchperiod"
...
issue, so we don't forget about it.
svn:r3040
2004-11-30 08:44:19 +00:00
Roger Dingledine
1d4af1930c
Let resolve conns retry/expire also, rather than sticking around forever.
...
Put the check-if-requested-exitrouter-will-reject-us code in the
circuit_attach loop, so it gets checked periodically and not just
once at the beginning. This is useful in case the routerlist changes,
but also in case the address gets resolved into something that we learn
we'll reject.
svn:r3039
2004-11-30 08:39:14 +00:00
Roger Dingledine
d383c23e73
refuse .exit addresses immediately if the requested node would
...
refuse the request (e.g. due to exit policy or wrong version)
svn:r3038
2004-11-30 08:15:09 +00:00
Nick Mathewson
bec7a1c6e8
use shorter minimum key lifetime until 008 is dead
...
svn:r3035
2004-11-30 06:44:07 +00:00
Nick Mathewson
f19e9b8577
doxygen uses backslashes, not forward-slashes
...
svn:r3033
2004-11-30 06:17:35 +00:00
Nick Mathewson
a5d3325c5c
Fix last patch
...
svn:r3031
2004-11-30 06:12:21 +00:00
Nick Mathewson
c8abe1907d
Rename parse_address to parse_extended_hostname (since we have other kinds of addresses); make its output an enum; support HEXDIGEST.exit hostnames.
...
svn:r3029
2004-11-30 03:44:10 +00:00
Nick Mathewson
ebab451eed
Make version parsing tests pass
...
svn:r3028
2004-11-30 03:41:06 +00:00
Nick Mathewson
ee7bef1458
Enforce coding style.
...
svn:r3025
2004-11-30 02:26:41 +00:00
Nick Mathewson
e764d00e15
If anybody set DirFetchPostPeriod, give them StatuFetchPeriod instead. Impose minima and maxima for all *Period options; impose even tighter maxima for fetching if we are a caching dirserver. Clip rather than rejecting. arma: are these good?
...
svn:r3024
2004-11-30 02:23:51 +00:00
Nick Mathewson
ce505f5033
note possible alternative for how to do CVS versions; ask arma which he likes.
...
svn:r3023
2004-11-29 23:06:51 +00:00
Nick Mathewson
6507be4290
Implement new version format for post 0.1.
...
svn:r3022
2004-11-29 23:04:26 +00:00
Nick Mathewson
7fbd297532
Suggestion from weasel: Make tor --version --version dump the cvs Id of every file.
...
svn:r3019
2004-11-29 22:25:31 +00:00
Nick Mathewson
aff5122685
Fetch cached running-routers from servers that serve it (that is, authdirservers, and servers running 0.0.9rc5-cvs or later.)
...
svn:r3018
2004-11-29 21:01:34 +00:00
Roger Dingledine
c1dc17e6e2
put in initial support for ".nickname.exit" addresses, to let alice
...
decide what exit node to use; based on a patch by geoff goodell.
needs more work: e.g. it goes bananas building new circuits when the
chosen exit node's exit policy rejects the connection.
svn:r3015
2004-11-29 08:34:54 +00:00
Nick Mathewson
9ba7311c1c
After implementing a feature, remember to disable the error message you used to get when requesting it.
...
svn:r3013
2004-11-29 07:59:00 +00:00
Roger Dingledine
7fc30fc1e6
accept *:706 (silc) by default
...
svn:r3006
2004-11-28 15:49:12 +00:00
Roger Dingledine
22727b4edc
wrong is ok, and right is fine, but in between is apparently
...
totally unacceptable to me.
svn:r3005
2004-11-28 11:39:53 +00:00
Nick Mathewson
f7c6ad065e
correct multiple internal spaces
...
svn:r3004
2004-11-28 09:14:07 +00:00
Nick Mathewson
6f5dbefa7e
Normalize space: add one between every control keyword and control clause.
...
svn:r3003
2004-11-28 09:05:49 +00:00
Roger Dingledine
dad760ddd1
one of the debugging aids was misleading
...
svn:r3000
2004-11-28 06:33:14 +00:00
Nick Mathewson
f77ff938b7
remember; tor_socket_errno has side effects!
...
svn:r2997
2004-11-28 05:48:02 +00:00
Roger Dingledine
e5e45fe980
inform him more sanely
...
svn:r2993
2004-11-26 04:19:03 +00:00
Roger Dingledine
a7f92d7ffe
inform the user that you noticed when he sent a USR2
...
svn:r2992
2004-11-26 04:17:57 +00:00
Roger Dingledine
f9a0ab62b7
if you want to handle -USR2, you should catch it too.
...
svn:r2990
2004-11-26 04:03:19 +00:00
Roger Dingledine
7c9a707900
remove emacs droppings, since nick says he doesn't need them anymore
...
svn:r2989
2004-11-26 04:00:55 +00:00
Roger Dingledine
02a30a348a
give up trying to track down the reason we're calling package_inbuf
...
with a package window of 0. it's safe to just catch the error cases
there and do the right thing.
svn:r2988
2004-11-26 03:43:54 +00:00
Roger Dingledine
179ad27b34
call set_max_file_descriptors() after we configure logs, so
...
it doesn't always do loglevel info logs on windows.
svn:r2987
2004-11-26 03:05:55 +00:00
Roger Dingledine
e24057b2bf
when warning that a version is too new, don't use the confusing
...
text "is_obsolete_version():".
svn:r2986
2004-11-25 05:49:13 +00:00
Nick Mathewson
f91152ce6a
Clarify a bunch of log messages
...
svn:r2983
2004-11-25 04:20:10 +00:00
Roger Dingledine
914d346095
update conn_state_to_string
...
svn:r2979
2004-11-24 07:58:15 +00:00
Roger Dingledine
83e7043eb8
don't process marked-for-close conns further.
...
(fix assert trigger -- if we're lucky.)
svn:r2975
2004-11-24 06:41:58 +00:00
Roger Dingledine
7d55f3685e
make tor-resolve work, uh, more. this time for sure!
...
svn:r2974
2004-11-24 06:16:36 +00:00
Roger Dingledine
cca469ec58
make tor-resolve work again
...
svn:r2973
2004-11-24 06:01:52 +00:00
Roger Dingledine
0eebfe3558
bugfix: let socks do multiple rounds of negotiation again
...
(which is needed for socks5)
svn:r2970
2004-11-24 04:35:28 +00:00
Roger Dingledine
090c84627c
patch to nick's patch
...
svn:r2969
2004-11-24 03:58:45 +00:00
Nick Mathewson
74f74a06c6
make nt service version match actual version
...
svn:r2968
2004-11-24 00:55:39 +00:00
Nick Mathewson
1bec1b3d37
Better notice for hibernate interval spans; when estimate is 0, start out awake.
...
svn:r2963
2004-11-23 22:34:23 +00:00
Nick Mathewson
5fa55c8317
Bugfix: when no units are given, default to seconds or bytes.
...
svn:r2960
2004-11-23 10:52:27 +00:00
Roger Dingledine
a284b0db8f
another slightly less confusing message
...
nick: we need to figure out if we should say anything different
here when the wake-up time and the expected back-to-sleep time
have both passed.
svn:r2956
2004-11-23 10:05:56 +00:00
Roger Dingledine
b6cb547667
less confusing message upon hibernation
...
svn:r2955
2004-11-23 09:21:03 +00:00
Roger Dingledine
921c40abe7
fail more gracefully next time
...
svn:r2954
2004-11-23 09:01:37 +00:00
Roger Dingledine
57a392d8d8
initialize rephist before we init_from_config, since init_from_config
...
can make us init_keys if we're going to hibernate, which makes us build
a router_desc.
svn:r2953
2004-11-23 09:00:55 +00:00
Roger Dingledine
d7fb38cfe3
update unit tests to reflect changed interface
...
svn:r2952
2004-11-23 08:36:26 +00:00
Roger Dingledine
7ed738b34c
fix some typos; move to 0.0.9rc1
...
svn:r2951
2004-11-23 07:37:25 +00:00
Nick Mathewson
f5319a010d
Dr. Seuss on iterating circular lists: "It's fun to have fun, but you
...
have to know how."
svn:r2948
2004-11-23 06:08:08 +00:00
Nick Mathewson
0a58bbe0dd
Fix critical bug in circuit_list_path: cpath is a circular list! (Also reimplement circuit_log_cpath using circuit_list_cpath).
...
svn:r2946
2004-11-23 00:11:36 +00:00
Nick Mathewson
cd70264377
Clean up some logging and interfaces
...
svn:r2945
2004-11-23 00:08:26 +00:00
Nick Mathewson
22dba27d8d
Normalize a few more kinds of whitespace. We now dislike:
...
- func (args)
- if (x){
This doesn't normalize if(x), for(x); while(x), and friends.
svn:r2943
2004-11-22 23:28:26 +00:00
Nick Mathewson
fe32c2d141
Fix sign-related warnings
...
svn:r2942
2004-11-22 22:50:17 +00:00
Nick Mathewson
d4754b334c
Compile cleanly on windows; prevent some insane bandwidth cases (e.g., "BandwidthBurst 1000 TB" from occuring.
...
svn:r2941
2004-11-22 22:24:10 +00:00
Nick Mathewson
983a335f3b
Normalize space
...
svn:r2939
2004-11-22 22:13:34 +00:00
Nick Mathewson
f17c08beed
Apply NT service patch from Osamu Fujino. This still has some problems (indicated in a comment adapted from the patch submission email), but it is better than before and better than nothing.
...
svn:r2938
2004-11-22 22:10:37 +00:00
Nick Mathewson
956b463dfe
Implement weekly/monthly/daily accounting
...
svn:r2936
2004-11-22 21:56:51 +00:00
Nick Mathewson
805c9e3673
Absolutely never call close_temp_logs while validating log options.
...
svn:r2934
2004-11-22 20:08:07 +00:00
Roger Dingledine
4f2c2c9948
The crowning bugfix.
...
The problem was that with high load, circuit package window was
reaching 0. Whenever we got a circuit-level sendme, we were
reading a lot on each socket, but only writing out a bit. So we
would eventually reach eof. This would be noticed and acted on
even when there are still bytes sitting in the inbuf.
svn:r2932
2004-11-21 11:30:33 +00:00
Roger Dingledine
27b8797245
clean up some more.
...
i think i'm getting closer.
svn:r2931
2004-11-21 11:20:28 +00:00
Roger Dingledine
310a8da0d2
break reached_eof() out of process_inbuf()
...
svn:r2930
2004-11-21 10:14:57 +00:00
Roger Dingledine
671d84dc2f
some more debugging aids
...
svn:r2929
2004-11-21 09:39:01 +00:00
Roger Dingledine
6a516dfdd3
be more greedy about filling up all relay cells.
...
this may have some bugs in it still.
and it may end up not being what we want to do.
svn:r2928
2004-11-21 07:43:12 +00:00
Nick Mathewson
bb18d4238f
Dont keep rephist info for routers that havent had activity for 24 hours.
...
svn:r2926
2004-11-21 05:14:46 +00:00
Nick Mathewson
bdb61f2a04
fix typo
...
svn:r2925
2004-11-21 05:06:22 +00:00
Nick Mathewson
36f4e15e81
Call init_keys() where needed; fix hibernate bug.
...
svn:r2924
2004-11-21 04:19:04 +00:00
Roger Dingledine
a4b1eb5630
allow StrictEntryNode and StrictExitNode to be singular
...
svn:r2922
2004-11-20 23:16:03 +00:00
Roger Dingledine
73da4bad46
stop some more seg faults
...
svn:r2921
2004-11-20 12:55:41 +00:00
Roger Dingledine
63353462f8
if your requested exit node has bandwidth 0, pick it anyway
...
svn:r2920
2004-11-20 12:41:05 +00:00
Roger Dingledine
6322287dc1
printfs want carriage returns
...
svn:r2917
2004-11-20 08:00:57 +00:00
Roger Dingledine
dd19cf6ba3
kill -USR2 now moves all logs to loglevel debug
...
plus fix some typos
svn:r2914
2004-11-20 07:33:55 +00:00
Nick Mathewson
8acaf8e187
Add "MEMUNIT" and "INTERVAL" types to configuration. Also tweak Accounting setup. More docs needed
...
svn:r2911
2004-11-20 00:37:00 +00:00
Roger Dingledine
2e4763655d
bugfix: when our poll is interrupted, we believed the revents values.
...
svn:r2907
2004-11-17 20:26:39 +00:00
Nick Mathewson
647c076c8f
add a TODO item and some comment changes.
...
svn:r2904
2004-11-16 03:32:01 +00:00
Roger Dingledine
abdf073f14
minor fixes
...
svn:r2901
2004-11-16 03:12:53 +00:00
Nick Mathewson
7a8ac5dfef
Tweak on patch to make authoritative directory servers cache
...
directories on disk. Make authdirservers cache *their own*
directories instead of the ones they download. This gives better
liveness, and marginally better resistance to broken authdirservers.
Authdirservers don't cache running-routers at all: r-r isn't stored to
disk, so there's no point right now.
svn:r2893
2004-11-15 16:17:59 +00:00
Roger Dingledine
dbd4dadff7
Authoritative dirservers now also cache the directory, since
...
they weren't writing anything into their datadirectory, so
when they stop and start, they would know nothing until they
fetched a directory from another authdirserver.
svn:r2891
2004-11-15 09:38:17 +00:00
Roger Dingledine
50c15943a2
move second stat to a cleaner place
...
svn:r2890
2004-11-15 09:22:01 +00:00
Roger Dingledine
4b76fe8036
Break DirFetchPostPeriod into:
...
- DirFetchPeriod for fetching full directory,
- StatusFetchPeriod for fetching running-routers,
- DirPostPeriod for posting server descriptor,
- RendPostPeriod for posting hidden service descriptors.
Also make sure the hidden service descriptors are at a random
offset from each other, to hinder linkability.
svn:r2889
2004-11-15 09:05:54 +00:00
Roger Dingledine
67aa3b66c5
clean up socks handling, refuse connections to port 0
...
svn:r2888
2004-11-15 07:50:15 +00:00
Roger Dingledine
72dd656b88
a first cut at a print_usage()
...
svn:r2887
2004-11-15 07:29:27 +00:00
Nick Mathewson
c909a8a64b
Only record bandwidth usage when accounting is enabled
...
svn:r2886
2004-11-15 04:48:53 +00:00
Nick Mathewson
930464c889
Change "warn if unverified routers are very skewed" to "never warn about unverified router skew"
...
svn:r2885
2004-11-15 04:28:24 +00:00
Nick Mathewson
22a0d82749
Cache running-routers; compress running-routers; serve compressed running-routers.z
...
svn:r2883
2004-11-15 04:04:20 +00:00
Nick Mathewson
076f120951
Patch to patch: do not send both error and done for one command.
...
svn:r2882
2004-11-15 04:02:59 +00:00
Roger Dingledine
ee591be3f2
fix a bug in configuring accounting in options_act()
...
svn:r2881
2004-11-15 04:01:31 +00:00
Roger Dingledine
47993ae6fb
some fixes so far
...
svn:r2880
2004-11-15 03:53:03 +00:00
Nick Mathewson
5109159ff9
Fix compilation. Duh.
...
svn:r2876
2004-11-14 22:53:51 +00:00
Nick Mathewson
3e6edf20cc
Resolve some hibernating-related XXXX009s.
...
svn:r2875
2004-11-14 22:21:23 +00:00
Nick Mathewson
402c75fb06
Allow more clock skew from unrecognized hosts than from recognized ones.
...
svn:r2874
2004-11-14 22:08:25 +00:00
Nick Mathewson
57536f138a
Fetch running-routers.
...
Split logic to initiate dirfetch, running-routers fetch, and
descriptor post. arma: There are some XXXs here that raise design
questions which we should solve before the next release.
The biggest problem is this: Right now, the directory is about 50X as
large as running-routers uncompressed, and about 36X as large
compressed. Assuming:
- everybody gets the compressed version of everything,
- everybody gets cached directories from random dirservers and
uncached r-r from authdirservers
- everybody downloads r-r at the same rate they now download dirs,
then using r-r from will *increase* authdirserver directory bandwidth usage
if there are significantly more caches than authdirservers.
I think it's safe to leave this in for now, since there aren't 3x36 caching
dirservers, but we should make everybody with a dirport cache running-routers
soon. But I could be wrong.
svn:r2872
2004-11-14 21:46:40 +00:00
Nick Mathewson
2078b136f6
Make running-routers fetch (apparently) work
...
svn:r2871
2004-11-14 21:35:30 +00:00
Nick Mathewson
bb80d60fe7
Hibernate if we start tor during the "wait for wakeup-time" phase of an accounting interval. Log our hibernation plans better.
...
svn:r2869
2004-11-14 21:11:06 +00:00
Nick Mathewson
a732727a2b
Add simpler option_is_same, as suggested by arma. Finish implementing SAVECONF
...
svn:r2868
2004-11-14 20:51:28 +00:00
Nick Mathewson
26973578bf
Fix windows whitespace
...
svn:r2860
2004-11-14 18:21:17 +00:00
Nick Mathewson
aba71028be
Add an unreachable return 0.
...
svn:r2859
2004-11-14 18:20:12 +00:00
Nick Mathewson
4f835673be
Remove redundant declaration
...
svn:r2855
2004-11-14 17:22:10 +00:00
Roger Dingledine
846f71dcca
make kill -USR1 work again
...
svn:r2853
2004-11-14 13:35:47 +00:00
Roger Dingledine
5dcc6fd8b2
ok ok the stat wasn't redundant
...
but the warn was
svn:r2852
2004-11-14 13:35:39 +00:00
Roger Dingledine
4564367b2a
Remove redundant stat() for reading cached directory, and remove
...
confusing warn when the cached directory isn't there yet.
svn:r2847
2004-11-14 09:40:07 +00:00
Roger Dingledine
3f5c113815
clean a comment
...
svn:r2844
2004-11-14 04:55:02 +00:00
Nick Mathewson
ed4fa18699
normalize whitespace
...
svn:r2839
2004-11-13 23:34:01 +00:00
Nick Mathewson
aab929abe0
Use the data, *then* free it. It works so much better.
...
svn:r2837
2004-11-13 23:27:50 +00:00
Nick Mathewson
dc48e7aeed
Document remaining configuration options; add a ccheck for redundant authentication mechanisms in options_validate; add TODO items for post-009 hibernation features
...
svn:r2833
2004-11-13 17:17:04 +00:00
Nick Mathewson
08627d5d87
Track whether descriptor is dirty/uploaded. When any options are set, mark it dirty. Once a minute, regenerate and upload the server descriptor if it is dirty.
...
svn:r2832
2004-11-13 16:53:48 +00:00
Nick Mathewson
0b42e31fe0
Comment a confusing conditional
...
svn:r2828
2004-11-13 02:54:30 +00:00
Roger Dingledine
5864f4ac01
fix a seg fault when fetching rendezvous descs
...
svn:r2825
2004-11-12 21:59:27 +00:00
Nick Mathewson
a8f9ba91db
Nobody was using the return values from smartlist_(set|del|del_keeporder), so remove them.
...
svn:r2823
2004-11-12 21:14:06 +00:00
Nick Mathewson
eabcf6618e
Write most of the implementation for SAVECONF.
...
svn:r2820
2004-11-12 20:09:54 +00:00
Nick Mathewson
5109de5626
Rename exit_policy to addr_policy, since it gets used for SOCKS and directory connections too. Make all policies get validated in options_validate, and make SOCKS/directory policies get set in options_act.
...
svn:r2819
2004-11-12 19:39:13 +00:00
Nick Mathewson
60880cda84
Resolve a bunch of FIXME items; mark a lot more for attention; ask for clarification on some. Turn all XXXX008 ("showstopper for 0.0.8 release") items into XXXX009 or XXXX, since plainly they were not showstoppers for 0.0.8. Add/clean some docs.
...
svn:r2808
2004-11-12 16:39:03 +00:00
Nick Mathewson
2a5bcb29e6
Resolve FIXME: Possible solution to note_disconnect problem; needs thought and review.
...
svn:r2807
2004-11-12 05:52:19 +00:00
Nick Mathewson
5d92fbe30e
Use autoconf to enable largefile support where necessary. Use ftello where available, since ftell can fail at 2GB.
...
svn:r2806
2004-11-12 05:05:41 +00:00
Nick Mathewson
0faab62cd9
Resolve FIXMES: sometimes an error code is just an error code
...
svn:r2805
2004-11-12 05:03:50 +00:00
Roger Dingledine
90e0ad517e
dfc caught a SIGXFSZ error when his debugfile reached 2GB.
...
so if they exist, catch them and ignore them.
write() will fail normally and we'll look at errno like
normal human beings.
svn:r2804
2004-11-12 04:59:37 +00:00
Roger Dingledine
fde595feb7
when clients do --list-fingerprint, it's misleading to
...
give them one, because it will never be the same again
svn:r2800
2004-11-11 13:24:10 +00:00
Nick Mathewson
6252cba522
apply patch from Andre Eisenbach: include event code with events, as required by control-spec.txt
...
svn:r2799
2004-11-11 00:54:53 +00:00
Nick Mathewson
e69d9647ed
Remove XXXX009 comment telling us to do the last (circID-related) fix
...
svn:r2798
2004-11-10 20:19:45 +00:00
Nick Mathewson
954570486f
Resolve a FIXME: use identity comparison, not nickname comparison, to
...
choose circuit ID types. This is important because our view of "the
nickname of the router on the other side of this connection" is
skewed, and depends on whether we think the other rotuer is
verified--and there's no way to know whether another router thinks you
are verified.
For backward compatibility, we notice when the other router chooses
the same circuit ID type as us (because it's running an old version),
and switch our type to be polite.
svn:r2797
2004-11-10 20:14:37 +00:00
Nick Mathewson
ec49905fb8
When we think we have no bandwidth, guess that we will run for 1 day.
...
svn:r2795
2004-11-10 19:32:44 +00:00
Nick Mathewson
9c22b428bf
Clarify a warning about /.tor
...
svn:r2794
2004-11-10 14:29:18 +00:00
Nick Mathewson
a43db78e8d
Resolve FIXME items: make the kill-unattached-AP timeout symbolic
...
svn:r2793
2004-11-10 14:28:47 +00:00
Nick Mathewson
c9af37d1ba
Resolve FIXME items: make circuit_free_cpath_node static
...
svn:r2792
2004-11-10 14:28:04 +00:00
Nick Mathewson
fde4129ac3
Resolve FIXME items: clarify two XXXX comments for 009
...
svn:r2791
2004-11-10 14:27:26 +00:00
Nick Mathewson
aa1c0c4d67
Resolve FIXME items: fix assert failure on malformed socks4a qreuests. (bug reported by Anna Shubina wrt old Netscapes)
...
svn:r2790
2004-11-10 14:26:34 +00:00
Nick Mathewson
c1bf171ed8
Fix a few bugs in accounting: parse bw_accounting correctly; set end time of continued interval; record used bandwidth on state change.
...
svn:r2785
2004-11-10 04:19:53 +00:00
Roger Dingledine
646903542a
make nick's config patch build
...
svn:r2783
2004-11-10 03:48:38 +00:00
Nick Mathewson
1013abd27f
Validate log options during options_validate(). Reject unrecognized log types like "Log notice magic-twanger". Also, make sure User and Group stay the same, and do not crash when somebody tries to change PidFile to NULL.
...
svn:r2778
2004-11-10 03:40:30 +00:00
Roger Dingledine
af9683501c
make abbreviations case-insensitive (thanks weasel)
...
svn:r2773
2004-11-10 03:22:49 +00:00
Roger Dingledine
d9a74cd0af
make it more obvious that we have just told them their new torrc log line.
...
svn:r2772
2004-11-10 03:08:03 +00:00
Roger Dingledine
c03a3eaed0
weaken our anonymity warning a little bit more
...
svn:r2771
2004-11-10 02:58:27 +00:00
Nick Mathewson
4cdddcc13d
Remvove an XXX
...
svn:r2769
2004-11-10 02:02:06 +00:00
Roger Dingledine
ab951fc828
remove extraneous variable
...
svn:r2765
2004-11-10 00:19:18 +00:00
Roger Dingledine
7528e8b86a
don't check permissions on our datadirectory until we switch uid/gid
...
svn:r2759
2004-11-10 00:11:37 +00:00
Nick Mathewson
5a5be93f80
Normalize whitespace; add a "tell me about all the unnormalized whitespace" target; fix a braino in dirserv.c
...
svn:r2758
2004-11-09 20:04:00 +00:00
Nick Mathewson
7daab4034d
Fix windows build for VC6; centralize newline-fiasco-damage-control logic
...
svn:r2756
2004-11-09 19:13:08 +00:00
Nick Mathewson
cd753df7bf
Resolve many XXXs and all DOCDOCs
...
svn:r2755
2004-11-09 18:22:17 +00:00
Nick Mathewson
b960574556
Change interface to config_trial_assign even more; have it use get_options() instead
...
svn:r2754
2004-11-09 17:15:17 +00:00
Nick Mathewson
a2079c074f
Add some documentation to routerlist
...
svn:r2753
2004-11-09 17:14:15 +00:00
Nick Mathewson
548d4174ef
When listing router status, include ourself if we are awake
...
svn:r2752
2004-11-09 17:12:56 +00:00
Roger Dingledine
3ce3d6eead
resolve a 64-bit warning
...
svn:r2750
2004-11-09 11:36:38 +00:00
Roger Dingledine
ca070e7de6
bugfix: ^c ought to work even while hibernating
...
svn:r2748
2004-11-09 11:14:34 +00:00
Roger Dingledine
b773045a58
only non-authdirservers cache the dir they just fetched
...
svn:r2747
2004-11-09 10:38:42 +00:00
Roger Dingledine
3235c72f6c
control event logs include loglevel notice
...
svn:r2746
2004-11-09 10:32:02 +00:00
Roger Dingledine
a972589bdb
allow BandwidthRate and Burst to be abbrevs in the torrc too
...
svn:r2744
2004-11-09 10:30:06 +00:00
Roger Dingledine
8d8d6b5661
raise your hand if you can spell
...
svn:r2743
2004-11-09 10:21:19 +00:00
Roger Dingledine
233f516d61
if you're going to ask it to use a body of length 0,
...
don't give it a body.
svn:r2742
2004-11-09 10:18:41 +00:00
Roger Dingledine
dd3a12c929
fix a memory-squashing bug that was causing an infinite loop
...
svn:r2741
2004-11-09 10:08:42 +00:00
Roger Dingledine
6a504efdd3
mark_logs_temp() before init'ing new ones.
...
we were seeing double, triple, etc each time we setconf'ed.
svn:r2738
2004-11-09 08:01:39 +00:00
Roger Dingledine
3901473bf3
change the interface to config_trial_assign()
...
svn:r2737
2004-11-09 07:55:48 +00:00
Roger Dingledine
2d18d9eefb
when you try a new set of options, and you like them, make sure they stick
...
svn:r2736
2004-11-09 07:45:24 +00:00
Roger Dingledine
9f3e3d2b71
stop wanting to split init_keys()
...
svn:r2735
2004-11-09 07:29:05 +00:00
Roger Dingledine
cad26b343d
once normalized, DataDirectory is always defined
...
svn:r2734
2004-11-09 07:20:21 +00:00
Nick Mathewson
180e0a9326
Make check_private_dir trimodal (check/create/ignore), not bimodal (create/ignore).
...
svn:r2733
2004-11-09 07:12:31 +00:00
Roger Dingledine
6521c2ce51
Stop using the wrong DataDirectory when we're validating.
...
Also validate/normalize the DataDirectory better.
svn:r2732
2004-11-09 07:05:53 +00:00
Nick Mathewson
48a0b6c476
Separate is-recognized-option from get-option-value, since NULL is ambiguous and returning "" misrepresents.
...
svn:r2731
2004-11-09 06:40:32 +00:00
Roger Dingledine
005b02fd57
when rejecting an old-style router descriptor, tell us its nickname
...
svn:r2730
2004-11-09 06:37:58 +00:00
Roger Dingledine
677124fd0c
During options_dup, don't copy LINELIST_S or OBSOLETE options.
...
And recognize obsolete options now in config_get_assigned_option().
svn:r2729
2004-11-09 06:18:17 +00:00
Roger Dingledine
94b9525f6e
EntryNodess is not the plural of EntryNodes
...
svn:r2728
2004-11-09 06:09:06 +00:00
Roger Dingledine
3c6b6a53a9
and another
...
svn:r2727
2004-11-09 06:03:20 +00:00
Roger Dingledine
5c2278aea8
fix some dereferences
...
svn:r2726
2004-11-09 05:59:22 +00:00
Roger Dingledine
ef6bdd6c1e
make datadirectory work again
...
svn:r2724
2004-11-09 05:35:49 +00:00
Nick Mathewson
2677395aaf
Normalize DataDirectory in options_validate, making SIGHUP survivable.
...
svn:r2722
2004-11-09 05:26:49 +00:00
Nick Mathewson
a5903b737a
Document accounting
...
svn:r2721
2004-11-09 05:18:15 +00:00
Nick Mathewson
929b172955
Stop DataDirectory from changing; also stop using new as an identifier?
...
svn:r2717
2004-11-09 04:46:24 +00:00
Roger Dingledine
90b47172bd
Make an options_act() where we do all the things a new options set
...
needs.
Still needs more work.
svn:r2716
2004-11-09 04:28:18 +00:00
Roger Dingledine
3805221262
stop breaking the get_options() abstraction in config.c
...
svn:r2715
2004-11-09 02:12:55 +00:00
Roger Dingledine
e3a067c73a
fix comments in hibernate.c
...
svn:r2714
2004-11-09 02:12:41 +00:00
Roger Dingledine
8c7b2ff7ed
various fixes
...
svn:r2712
2004-11-09 01:24:10 +00:00
Nick Mathewson
cb5de85585
Separate validate from activate. Document undocumented stuff in config.c.
...
svn:r2711
2004-11-08 23:12:40 +00:00
Roger Dingledine
8b9d7da59f
while we hibernate, our declared bandwidth capacity is 0
...
svn:r2710
2004-11-07 23:19:12 +00:00
Nick Mathewson
2640be28fa
Document hibernate.c. Also fix handling of corner case where we hit the end of the interval while we are in HIBERNATE_STATE_LOWBANDWIDTH
...
svn:r2709
2004-11-07 23:14:47 +00:00
Nick Mathewson
fc9c6e7c95
Fix compile errors
...
svn:r2708
2004-11-07 23:11:29 +00:00
Nick Mathewson
f9c85c4d1c
Make set-option functions distinguish between bad keys and bad values, in case the caller cares
...
svn:r2707
2004-11-07 22:59:30 +00:00
Nick Mathewson
c514a06663
Fix up error codes
...
svn:r2706
2004-11-07 22:58:35 +00:00
Nick Mathewson
0059ee5fea
More tests for split
...
svn:r2705
2004-11-07 22:58:16 +00:00
Roger Dingledine
dac5d6715e
add saveconf control command.
...
allow authentication by localhost, but if tor demands more, require more.
svn:r2704
2004-11-07 22:37:59 +00:00
Nick Mathewson
66779137bf
Add missing dereference; stop throwing zeroes around.
...
svn:r2702
2004-11-07 22:18:00 +00:00
Nick Mathewson
2cacb4e0f9
Document control.c
...
svn:r2700
2004-11-07 21:37:50 +00:00
Roger Dingledine
3236ee3127
allow unauth control connections for now
...
let control connections recognize eof
svn:r2699
2004-11-07 11:33:04 +00:00
Roger Dingledine
394554cfbf
Clean up copyrights.
...
Break connection_consider_empty_buckets() out of
connection_read_bucket_decrement().
svn:r2698
2004-11-07 01:33:06 +00:00
Roger Dingledine
efad93feb4
tor --list-fingerprint as a client shouldn't try to print null
...
svn:r2697
2004-11-06 09:22:08 +00:00
Roger Dingledine
53a2b22742
fix the next subtle memory-crunching bug
...
now hup works
svn:r2696
2004-11-06 08:55:22 +00:00
Roger Dingledine
e2e6d19e76
fix subtle bug that was causing logs to not show anything
...
svn:r2695
2004-11-06 07:40:20 +00:00
Roger Dingledine
28a297ebe7
only play the accounting game if it's possible you'll choose to hibernate
...
svn:r2694
2004-11-06 06:56:28 +00:00
Roger Dingledine
6c61ed4fb5
Make options no longer a global variable.
...
Now we can try setting an option but back out if it fails to parse, or
if it's disallowed (e.g. changing RunAsDaemon from 1 to 0).
Use parse_line_from_str rather than parse_line_from_file.
svn:r2692
2004-11-06 05:18:11 +00:00
Nick Mathewson
f490e5cdb6
Update log documentation
...
svn:r2691
2004-11-05 21:22:38 +00:00
Nick Mathewson
7c0792d89a
Write hibernation code. Needs docs and tests.
...
svn:r2689
2004-11-05 17:55:34 +00:00
Nick Mathewson
2e8353e2f4
Use new log format; convert old format to new format.
...
svn:r2684
2004-11-05 05:50:35 +00:00
Roger Dingledine
2ba3a9de16
make the default default options.FirewallPorts be the default
...
svn:r2683
2004-11-04 23:39:57 +00:00
Nick Mathewson
19868fe968
Move accounting code into hibernate; start adding logic to track bandwidth-per-seconds-active
...
svn:r2680
2004-11-04 22:33:06 +00:00
Nick Mathewson
1b49198081
Support code for resettable options, and option sets. Still needs validate-and-then-replace logic
...
svn:r2679
2004-11-04 22:31:50 +00:00
Nick Mathewson
d9e0f3f9bc
Make sure control command bodies are always followed by a NUL
...
svn:r2678
2004-11-04 22:30:49 +00:00
Nick Mathewson
9d604ec615
Add code to read configuration lines from a string as well as a file
...
svn:r2676
2004-11-04 22:29:45 +00:00
Roger Dingledine
f7a30fa73e
break out validate_options
...
leave options.FirewallPorts NULL if it's NULL
svn:r2673
2004-11-04 10:23:30 +00:00
Roger Dingledine
cadbae6aa5
make free_options() and init_options() use the big array.
...
also remove obsolete config_assign_defaults().
svn:r2672
2004-11-04 08:26:34 +00:00
Roger Dingledine
59453ac6ef
add a ControlPort and control listener conn.
...
note that print_usage is obsolete.
svn:r2671
2004-11-04 06:41:49 +00:00
Nick Mathewson
b74b72a5ce
Fix windows build
...
svn:r2670
2004-11-04 04:01:19 +00:00
Roger Dingledine
d0c158c8d6
clarify the bandwidthburst and bandwidthrate are in bytes
...
(niels had thought they were in bits, or kb, or something)
svn:r2669
2004-11-04 03:25:43 +00:00
Roger Dingledine
a4753283dd
better interface for connection_ap_handshake_socks_reply()
...
make --list-fingerprint print the fingerprint again
svn:r2668
2004-11-03 23:13:28 +00:00
Nick Mathewson
5b312541d7
fix windows warnings
...
svn:r2667
2004-11-03 21:53:54 +00:00
Nick Mathewson
cea9125d71
Implement two flavors of authentication for control connections: one for trusted FS, one for untrusted FS.
...
svn:r2664
2004-11-03 19:49:03 +00:00
Nick Mathewson
451f8b5045
- Implement all of control interface except authentication, setconfig,
...
and actually making the sockets.
- Make sure that identity-based nicknames start with $.
- Use new string_join interface.
svn:r2661
2004-11-03 18:33:07 +00:00
Nick Mathewson
86ba00290b
Add function to generate/copy the config_lines, given the name of an option
...
svn:r2660
2004-11-03 18:29:29 +00:00
Nick Mathewson
4fdaa5de51
Streamline the two redundant "Has the second rolled over?" checks in prepare_for_poll and connection_bucket_refill; also, generate BANDWIDTH control events
...
svn:r2657
2004-11-03 16:38:04 +00:00
Roger Dingledine
12e92eb82f
connection_read_bucket_decrement() has a side-effect that
...
we need to get even if we just read 0 bytes
svn:r2656
2004-11-03 10:18:31 +00:00
Roger Dingledine
e541319dcb
lay the groundwork for a default value for each config option.
...
tolerate null exitnodes, entrynodes, etc config options.
svn:r2655
2004-11-03 10:08:44 +00:00
Nick Mathewson
347d3f9d62
Start implementing control interface.
...
svn:r2652
2004-11-03 01:32:26 +00:00
Nick Mathewson
d63d420930
Fix another typo
...
svn:r2651
2004-11-03 01:31:42 +00:00
Nick Mathewson
8db0abb687
First attempt at hibernation code. It needs more work around the XXXXs, but first I want arma to review the basic approach while I meditate on how to fix them.
...
svn:r2649
2004-11-02 23:47:32 +00:00
Nick Mathewson
ad4dc74482
Use a stricter set of warnings; make them all pass.
...
svn:r2645
2004-11-02 03:02:17 +00:00
Roger Dingledine
85c79ffbc7
canonicalize "src" and "dest" arg order in crypto.c (and others)
...
svn:r2644
2004-11-02 02:28:51 +00:00
Roger Dingledine
b390786582
Hidden service operators had a bug in version 1 style INTRODUCE cells
...
that made them fail. Fix the bug, and revert clients to use version 0
until 0.0.9pre4 is obsolete.
svn:r2641
2004-11-01 21:46:27 +00:00
Nick Mathewson
ce79bab7f1
Split util into util (general utilities), container (smartlist and strmap), and compat (cross-platform compatability).
...
svn:r2640
2004-11-01 20:41:47 +00:00
Roger Dingledine
4689243242
make sure options.MaxConn can be reached
...
svn:r2638
2004-11-01 08:24:34 +00:00
Roger Dingledine
282816b498
change min required number of fd's to 1024
...
svn:r2636
2004-11-01 08:09:59 +00:00
Roger Dingledine
790349c645
oh, and add the actual file too
...
svn:r2631
2004-10-31 20:29:25 +00:00
Roger Dingledine
984ffec105
implement first piece of hibernation
...
still need to track bandwidth, and make decisions based on bandwidth
svn:r2630
2004-10-31 20:28:41 +00:00
Nick Mathewson
ae7495dd55
Only tor and test binaries need to link against openssl and zlib; tor-resolve can be smaller.
...
svn:r2629
2004-10-30 19:27:06 +00:00
Nick Mathewson
9510d9a792
tor --list-fingerprint to print fingerprint and exit
...
svn:r2627
2004-10-30 19:18:37 +00:00
Roger Dingledine
51e16233cb
Fix paul gardner's assert bug. Turns out when circuit_launch_by_nickname()
...
failed at the first hop, it would try to relaunch another circ right
then, even though the first circuit hadn't been populated yet with its
pending_final_cpath.
svn:r2624
2004-10-30 05:04:52 +00:00
Nick Mathewson
11d330be5e
Tweaks to prevent obsolete restarting tors from hammering the dirservers. (1) Cache a received directory as soon as the signature checks out. (2) Treat a cached directory as "recent" based on its mtime. (3) If we have a recent directory, we dont need to fetch a newer one for DirFetchPostPeriod. This needs review!
...
svn:r2618
2004-10-28 18:37:52 +00:00
Nick Mathewson
36bbab2f2b
Fix in warning fix
...
svn:r2617
2004-10-27 21:54:44 +00:00
Nick Mathewson
f8771625c6
Check return of tor_snprintf
...
svn:r2616
2004-10-27 21:30:47 +00:00
Nick Mathewson
2fbf31533b
Tricksy compiler warnings! We hates them, hates them forever, my precious!
...
svn:r2615
2004-10-27 21:14:11 +00:00
Nick Mathewson
ce5709184b
Pass with -Wstrict-prototypes
...
svn:r2614
2004-10-27 18:16:37 +00:00
Nick Mathewson
6874c39904
Fix windows build
...
svn:r2613
2004-10-27 18:14:38 +00:00
Nick Mathewson
c5eb95b644
Add ability for some-but-not-all abbrevs to work in config file. Add a bunch of singular/plural abbrevs suggested by arma
...
svn:r2612
2004-10-27 17:37:01 +00:00
Roger Dingledine
75ad4615d1
stop freeing arbitrary memory
...
fix a couple of memory leaks
svn:r2611
2004-10-27 12:34:02 +00:00
Nick Mathewson
6980929e64
Use strlcpy, not strcpy.
...
svn:r2610
2004-10-27 06:48:16 +00:00
Nick Mathewson
44d4516155
Use tor_snprintf, not snprintf
...
svn:r2609
2004-10-27 06:37:34 +00:00
Nick Mathewson
06fa8fc05f
Avoid strcat; use snprintf or strlcat instead
...
svn:r2605
2004-10-27 06:25:29 +00:00
Nick Mathewson
f67f83b1fa
Use strlcpy, not strncpy
...
svn:r2603
2004-10-27 06:03:28 +00:00
Nick Mathewson
bc62f8e983
Replace sprintf with snprintf
...
svn:r2602
2004-10-27 05:53:07 +00:00
Nick Mathewson
5369ee921e
Make it compile on Linux
...
svn:r2600
2004-10-27 03:42:09 +00:00
Nick Mathewson
482c309db9
Document new config code
...
svn:r2596
2004-10-27 03:08:04 +00:00
Nick Mathewson
a24eb4db91
Re-write configuration option lookup code: use a table, not a big if( || || || ||). Deprecate unoffical abbrevs and abbrevs not on the command line.
...
svn:r2594
2004-10-27 02:30:28 +00:00
Nick Mathewson
b90b2bb848
Add and document router-status line using new unified liveness/verifiedness format; continue to generate running-routers; continue to parse running-routers when no router-status line is found
...
svn:r2592
2004-10-27 00:48:51 +00:00
Nick Mathewson
26f3cb8652
Add SysLog option to direct log messages to the system log instead of a FILE*.
...
svn:r2591
2004-10-26 21:48:41 +00:00
Roger Dingledine
0113a643a2
quick-and-dirty dir policy since the dirservers are getting hammered
...
nick, could you abstract this sometime so we don't repeat the
sockspolicy code twice?
svn:r2589
2004-10-25 06:16:26 +00:00
Roger Dingledine
20cdc0a517
fix a memory leak
...
svn:r2587
2004-10-24 23:09:48 +00:00
Roger Dingledine
defe1e5f3c
start generating new version of introduce1 cells
...
svn:r2586
2004-10-24 19:08:07 +00:00
Roger Dingledine
0b36c29c4d
fix wrong comment
...
svn:r2585
2004-10-24 17:11:44 +00:00
Nick Mathewson
ef4ac65f5e
Document the swiss-army-knife that retry_listeners has become
...
svn:r2584
2004-10-24 01:50:33 +00:00
Nick Mathewson
0df2d383d1
Many non-native speakers use Tor. It is our duty to ensure that our log messages set an example of good English spelling.
...
svn:r2583
2004-10-24 01:29:01 +00:00
Nick Mathewson
57f09573f5
Every 60 seconds, check whether the listeners are still alive, and relaunch the dead ones.
...
svn:r2581
2004-10-24 01:22:40 +00:00
Nick Mathewson
04ca660b2a
Fix typo in last windows patch
...
svn:r2580
2004-10-24 00:58:29 +00:00
Nick Mathewson
5d53828c57
Handle more errnos from accept() without closing the connection. This may fix a bug that could close OR listeners when (a) TCP connections were hung up before accept() could be called, or (b) during FD exhaustion.
...
svn:r2579
2004-10-24 00:55:18 +00:00
Nick Mathewson
78a2c3aa39
Make windows fall back to CWD if SHGetSpecialFolderLocation is borked
...
svn:r2578
2004-10-24 00:52:10 +00:00
Roger Dingledine
54c432bd93
pay attention to the return value of do_hup, and exit
...
when it fails
svn:r2577
2004-10-23 17:06:25 +00:00
Nick Mathewson
6899b8001a
Check for low _MSC_VER, not high. On windows, always use winsock.
...
svn:r2575
2004-10-20 23:30:38 +00:00
Nick Mathewson
88cffc3c5f
Use bitwise masking to turn off bits, not compare-and-subtract
...
svn:r2572
2004-10-20 23:15:49 +00:00
Nick Mathewson
e5049d5aa3
Remove routerinfo_t->is_trusted_dir, and all the twisted machinery used to
...
maintain it.
Have clients default to the nickname "client" in their certificates.
Give a less frightening warning on obsolete (pre-0.0.8) routerinfo_t's.
svn:r2568
2004-10-19 18:19:59 +00:00
Nick Mathewson
c7151d8bed
Add "pass" target for RedirectExit, to make it easier to break out of a sequence of rules
...
svn:r2566
2004-10-19 17:46:06 +00:00
Roger Dingledine
97a0a43511
start the process of making 0.0.7* obsolete
...
svn:r2565
2004-10-17 21:51:20 +00:00
Roger Dingledine
640544ae3e
use connection_edge_is_rendezvous_stream() more
...
svn:r2564
2004-10-17 21:10:41 +00:00
Roger Dingledine
695cdb10fe
whoops, resolve cells were probably broken
...
svn:r2562
2004-10-17 20:31:19 +00:00
Nick Mathewson
b130aa3c8f
Fix segfault in unit tests. (Main program is unaffected)
...
svn:r2559
2004-10-17 15:45:54 +00:00
Roger Dingledine
e66d5f897a
fix a seg fault with exitredirect
...
svn:r2555
2004-10-17 04:44:02 +00:00
Roger Dingledine
560a4a1407
switch conn->addr and conn->dir_port to reflect the final destination,
...
not the http proxy
svn:r2553
2004-10-17 04:06:48 +00:00
Nick Mathewson
6d1e1b7f46
Unify windows special-dir handling
...
svn:r2552
2004-10-17 03:38:02 +00:00
Nick Mathewson
8d27385c23
Implement RedirectExit.
...
svn:r2550
2004-10-17 01:57:34 +00:00
Roger Dingledine
7c3ab346f6
various tweaks and fixes
...
svn:r2548
2004-10-16 22:56:46 +00:00
Nick Mathewson
a1bf39f698
Code to parse (but not yet actually use) RedirectExit lines
...
svn:r2546
2004-10-16 22:37:08 +00:00
Roger Dingledine
de65052312
don't assert multiple things in the same tor_assert()
...
svn:r2544
2004-10-16 22:14:52 +00:00
Nick Mathewson
25a046df74
Fix unit tests, make it compile
...
svn:r2543
2004-10-16 21:57:24 +00:00
Nick Mathewson
47dc024f7e
Change interface of parse_addr_port() to return address in host order, since most users seem to want that.
...
svn:r2542
2004-10-16 21:53:30 +00:00
Nick Mathewson
8300c4ae6a
Make unit tests pass; refactor most of exit policy parfsing out into new function
...
svn:r2541
2004-10-16 21:42:09 +00:00
Nick Mathewson
a42adce362
fix memory leak in router.c; start relying on NULL==(zero bytes)
...
svn:r2538
2004-10-16 20:38:57 +00:00
Nick Mathewson
56a592dbe3
Fix memory leak
...
svn:r2535
2004-10-16 08:39:56 +00:00
Nick Mathewson
9d5831341e
Implement user-declared node families.
...
svn:r2534
2004-10-15 20:52:09 +00:00
Nick Mathewson
f882bd92ed
Remove unused locals
...
svn:r2533
2004-10-15 20:50:43 +00:00
Nick Mathewson
99f7955372
Use the real default exit policy, not reject *:*
...
svn:r2531
2004-10-15 19:18:08 +00:00
Nick Mathewson
fa9c121343
Add a comment
...
svn:r2530
2004-10-15 19:17:36 +00:00
Nick Mathewson
28dd458eaf
Upload to trusted dir servers based on DirServer config options, not on routerinfos.
...
svn:r2529
2004-10-15 19:04:38 +00:00
Nick Mathewson
01eacbca9e
Make RecommendedVersions a CONFIG_TYPE_LINELIST option, and have it tolerate whitespace a little better.
...
svn:r2528
2004-10-15 05:09:48 +00:00
Nick Mathewson
88e0c080cf
Ignore fascistfirewall when dealing with service descriptors; obey fascistfirewall when posting server descriptors; ignore fascistfirewall on directory connections when httpproxy is set.
...
svn:r2527
2004-10-15 04:57:36 +00:00
Nick Mathewson
ff38cc06e1
Fix search-and-replace in comments: Friends->family does not imply friendship->familyhip.
...
svn:r2525
2004-10-15 03:55:53 +00:00
Nick Mathewson
7fa5d224d4
Implement "families" of coadministered nodes; prevent them all from appearing on the same circuit.
...
svn:r2523
2004-10-15 01:58:11 +00:00
Nick Mathewson
c5964d6738
Basic string-join functionality
...
svn:r2521
2004-10-14 19:51:47 +00:00
Nick Mathewson
0f144d6a04
fix warning on win32
...
svn:r2518
2004-10-14 15:41:41 +00:00
Roger Dingledine
56e151eb41
advertise moria2's dirport as 18.244.0.114:80
...
svn:r2511
2004-10-14 10:05:22 +00:00
Roger Dingledine
cf9664151d
bugfix on a really old bug:
...
if read() fails on a stream, send back an end cell before you
close it down.
svn:r2509
2004-10-14 09:28:31 +00:00
Roger Dingledine
572714a458
bugfix: parse_addr_port() bites us again -- it returns addr in network order.
...
svn:r2508
2004-10-14 08:45:07 +00:00
Roger Dingledine
95644480c5
better warn message for the Content-Length attack
...
svn:r2495
2004-10-14 04:50:33 +00:00
Nick Mathewson
55b811a259
Improve warnings for old-style directories.
...
svn:r2494
2004-10-14 04:31:40 +00:00
Nick Mathewson
08c33f0b46
Compile without warnings on windows
...
svn:r2491
2004-10-14 04:06:24 +00:00
Nick Mathewson
bd10bf4b5b
Try to always dtrt if routerlist==NULL
...
svn:r2489
2004-10-14 03:44:45 +00:00
Roger Dingledine
89280e6c20
rename addr to address to we avoid this bug later
...
svn:r2488
2004-10-14 03:31:40 +00:00
Nick Mathewson
1c9426d6e0
Build without warnings on mac gcc 3.3
...
svn:r2487
2004-10-14 03:18:14 +00:00
Roger Dingledine
3737566465
make it build on amd64
...
svn:r2486
2004-10-14 03:13:08 +00:00
Roger Dingledine
69830afc16
and another one
...
svn:r2484
2004-10-14 02:49:48 +00:00
Roger Dingledine
aebc3a03ba
more int to size_t conversions, fixing one or more amd64 bugs
...
plus a whitespace patch on config.c from vicman
svn:r2482
2004-10-14 02:47:09 +00:00
Nick Mathewson
92bb360ad7
Add missing line; add similar check
...
svn:r2481
2004-10-14 02:29:03 +00:00
Nick Mathewson
8b325c142e
Patch from "J Doe": Use SHGetSpecialFolderLocation instead of
...
SHGetSpecialFolderPath in order to find application data folder.
Apparently, until IE 4 (!?) came out, nobody realized that programmers
might like to get paths as strings. Clearly, a fancy pseudo-OO list
of "identifiers" is a far more convenient way to deal with these
things. And while we're being OO, why return object that you can free
with free()? Instead, let's make the user get a handle to an abstract
allocation object, and ask it to free the fancy list, and then ask it
to release itself. Won't that be fun and convenient?
Navigating ancient Win32 APIs is like bikini-waxing creatures from HP
Lovecraft: to do a good job you must understand what's going on... but
the understanding itself can blast your sanity.
svn:r2480
2004-10-14 02:04:43 +00:00
Nick Mathewson
0d5a847f12
Remove need for dirservers file: now, we note trusted dirservers in configuration options, and only need to remember addr:port and key digest for each one.
...
svn:r2479
2004-10-14 01:44:32 +00:00
Nick Mathewson
55634e4eec
Fix comment in dirserv.c
...
svn:r2470
2004-10-13 20:28:46 +00:00
Roger Dingledine
2b7b86f5e6
stop trying to print a NULL
...
plus make router_nickname_is_approved() more obviously unused
svn:r2469
2004-10-13 20:17:45 +00:00
Nick Mathewson
e0cce8fba8
Unify tests for "did I originate this nonopen OR connection?"
...
svn:r2468
2004-10-13 20:05:57 +00:00
Nick Mathewson
30dd1c87a5
Add default trusted-dir-server entries only when no dirserver lines are given in the config file
...
svn:r2467
2004-10-13 19:56:42 +00:00
Nick Mathewson
508970f85d
fix typo
...
svn:r2466
2004-10-13 19:55:40 +00:00
Nick Mathewson
f14117bffd
fix warning about always-false comparison; detect too-large realport better
...
svn:r2465
2004-10-13 19:53:34 +00:00
Nick Mathewson
149f57bdef
answer question about rep_hist_note_connect_failed
...
svn:r2464
2004-10-13 19:42:36 +00:00
Nick Mathewson
afd8b650ee
hex-to-hex compare makes more sense than hex-to-bin.
...
svn:r2463
2004-10-13 19:17:27 +00:00
Nick Mathewson
df3098367c
Make directories get generated properly again; debug key lookup. Also, it is hard to find entries in a table when you never put them there.
...
svn:r2462
2004-10-13 18:28:39 +00:00
Roger Dingledine
a1041154eb
fix const char * vs char * issue
...
plus unshadow some variables
svn:r2460
2004-10-13 04:44:37 +00:00
Nick Mathewson
9dc72de41f
Omit any exit rules that follow a catch-all rule when writing a router descriptor.
...
svn:r2459
2004-10-13 01:25:42 +00:00
Nick Mathewson
9c49947163
Check fingerprint list before generating running-routers lists; also add as-yet-uncalled function to update an OR connection nickname on the fly
...
svn:r2458
2004-10-13 01:13:37 +00:00
Roger Dingledine
0b4d3c4df7
parse HttpProxy address in config
...
fix a potential confusion in fetch_from_buf_http()
make all our int config options non-negative
better bounds checking on options that are ports
svn:r2456
2004-10-12 20:22:09 +00:00
Nick Mathewson
7cc126e8a9
Appease overzealous gcc
...
svn:r2454
2004-10-12 20:17:45 +00:00
Nick Mathewson
f7404f6bb9
Use tor_parse_long in more places
...
svn:r2453
2004-10-12 19:33:03 +00:00
Nick Mathewson
e7241044e8
Better bounds checking on parsed ints
...
svn:r2450
2004-10-12 19:01:53 +00:00
Nick Mathewson
e8748b3fa0
Add default directory servers
...
svn:r2449
2004-10-12 19:01:28 +00:00
Nick Mathewson
f6fc2b9dd2
Add fix for remote-crash bug.
...
svn:r2447
2004-10-12 18:38:36 +00:00
Roger Dingledine
578a3e25e5
fix a signed/unsigned comparison
...
svn:r2446
2004-10-12 18:32:34 +00:00
Nick Mathewson
79636823b8
Oops, missed one
...
svn:r2445
2004-10-12 16:04:25 +00:00
Nick Mathewson
a91fc48b39
Note byte-order on result for parse_addr_port()
...
svn:r2444
2004-10-12 16:02:15 +00:00
Nick Mathewson
0068415b80
Add an implementation of trusted_dir_server logic to switch towards simply remembering an addr/port/keyid for each trusted dir server
...
svn:r2443
2004-10-12 15:55:20 +00:00
Nick Mathewson
43ef5a3e37
Add long-term format for dir-signing-key fields (commented out)
...
svn:r2442
2004-10-12 15:52:57 +00:00
Nick Mathewson
0383afac9a
Use parse_addr_port() function instead of ad-hoc variants
...
svn:r2441
2004-10-12 15:52:09 +00:00
Nick Mathewson
8b037509f3
Add functions to parse addr[:port] consistently
...
svn:r2440
2004-10-12 15:48:30 +00:00
Roger Dingledine
1efad74164
bugfix on my friday commit: make hidden services work again in cvs
...
svn:r2439
2004-10-12 06:03:10 +00:00
Roger Dingledine
24f9946db1
fix paul gardner's assert bug.
...
sometimes circuit_get_open_circ_or_launch() can return 0 but not
return a circuit, e.g. because too many circuits have failed recently
so the new one didn't launch. we need to tolerate that.
svn:r2438
2004-10-11 22:19:12 +00:00
Roger Dingledine
5c53c63aa0
Fix a potential buffer overflow found by Ilja van Sprundel.
...
We don't think this is exploitable, but best to fix it anyway.
svn:r2437
2004-10-11 21:55:19 +00:00
Roger Dingledine
7798e3d770
fix the stale pointer assert bug reported by joe magic
...
svn:r2436
2004-10-11 01:17:42 +00:00
Roger Dingledine
6468e049be
when a begin cell has an invalid port, give us a better hint of
...
what went wrong
svn:r2435
2004-10-10 01:47:24 +00:00
Roger Dingledine
1a4cb248f3
interim commit for http proxy support
...
svn:r2431
2004-10-08 05:53:59 +00:00
Nick Mathewson
6c970aec94
Turn tor_strpartion into a swiss-army-knife function, so it can terminate or not-terminate appropriately.
...
svn:r2429
2004-10-07 21:37:06 +00:00
Nick Mathewson
c7e8c2098a
Include a dir-signing-key token in directories to tell the parsing entity which key is being used to sign. This is the first step in obsoleting the dirservers file.
...
svn:r2428
2004-10-07 21:10:40 +00:00
Nick Mathewson
dad7c71686
Workaround for bug on windows where cached-directories get crlf corruption.
...
svn:r2426
2004-10-07 20:22:58 +00:00
Nick Mathewson
b7bddcac75
Windows requires a different cast uint64_t format
...
svn:r2424
2004-10-07 20:15:56 +00:00
Nick Mathewson
ce3162d035
Make base-64-encoded DER work, including workaround for ugly openssl misfeature that makes base64 decoding fail when you strip out the newlines.
...
svn:r2423
2004-10-07 03:11:42 +00:00
Nick Mathewson
2bba65148b
Refactor fingerprint handling: remember hex digests (no spaces) instead of beautified fingerprints
...
svn:r2422
2004-10-06 13:31:48 +00:00
Nick Mathewson
b08ff7b1f7
Fix a couple of typos, one of which conceals a bug in parsing opt keywords with objects
...
svn:r2421
2004-10-06 13:28:34 +00:00
Roger Dingledine
8b02610bd5
when an OR starts up, it loads its directory from cache.
...
then it serves *that directory* to others who ask for a copy of the
directory. it's better to serve no directory at all until you have a
fresh copy.
svn:r2418
2004-10-06 05:05:43 +00:00
Roger Dingledine
980b6169eb
use only 0.0.9pre1 and later servers for resolve cells
...
svn:r2416
2004-10-03 19:39:29 +00:00
Nick Mathewson
9e8ae9766e
Only check versions against downloaded directories, not cached directories.
...
svn:r2413
2004-10-03 02:37:52 +00:00
Roger Dingledine
5e74ce8d57
better warn message for failed hidserv desc fetch
...
svn:r2412
2004-10-03 00:06:47 +00:00
Roger Dingledine
3f4b544b77
use size_t rather than int for directory lengths in memory
...
this might fix a bug with amd64
svn:r2410
2004-10-01 21:02:12 +00:00
Nick Mathewson
91044765f2
Decode Content-Encoding header correctly.
...
svn:r2403
2004-10-01 04:45:14 +00:00
Roger Dingledine
eff780c815
Fix a rare assert trigger, where routerinfos for entries in our cpath
...
would expire while we're building the path.
Thanks to Eugene Armstead for pointing it out.
svn:r2402
2004-09-30 15:40:05 +00:00
Roger Dingledine
136d4e5739
prefer tor_free to free
...
plus complain more loudly when we fail to parse a dir we just fetched
svn:r2401
2004-09-29 06:52:36 +00:00
Roger Dingledine
6ed095b177
print the IP if a conn fails badly, to see if there are any trends
...
svn:r2400
2004-09-29 05:59:55 +00:00
Roger Dingledine
1c47de319e
ha ha, thought the bugs were done
...
don't stop writing the compressed directory just because you found a nul
svn:r2399
2004-09-29 05:48:25 +00:00
Roger Dingledine
a31ba30ae6
if our local cached directory is new enough, go ahead and
...
start building circuits while we're fetching a new one
svn:r2394
2004-09-28 23:27:41 +00:00
Nick Mathewson
11384b6d92
Make sure that routerlists contain only routers; give a better error message if they start with a nonrouter.
...
svn:r2393
2004-09-28 22:49:34 +00:00
Nick Mathewson
0c653e5cc7
cached-directory has a directory, not a router list
...
svn:r2392
2004-09-28 22:43:11 +00:00
Roger Dingledine
4b3001a08c
fix some local buffer overflows
...
fix a memory leak
svn:r2391
2004-09-28 22:38:21 +00:00
Nick Mathewson
7eff786e4b
Fix messages for _UNRECOGNIZED tokens
...
svn:r2390
2004-09-28 22:35:02 +00:00
Nick Mathewson
d20d10f360
If we are an authoritative dirserver, check out the fingerprint list when setting connection nicknames
...
svn:r2389
2004-09-28 22:24:56 +00:00
Roger Dingledine
d381aa4696
Fix an evil bug: when we failed to write to our log, fputs()
...
gave us a sigpipe, and we logged that we were ignoring it,
causing us to fail to log that, and delete the log entry. Then
when the signal handler exited, we proceeded to delete the log
entry that had already been deleted.
Now we make sure to only log inside our signal handler if we'll
be exit()ing right after.
svn:r2388
2004-09-28 21:14:40 +00:00
Roger Dingledine
0d2f9b9b4b
the tor clients in cvs can't speak to the current tor authdirservers for
...
rendezvous publishes and fetches, since they're still running 0.0.8. so
make them speak the old way until we've upgraded the authdirservers.
svn:r2384
2004-09-28 03:30:28 +00:00
Roger Dingledine
9f9f0e5edd
fix another bug with cached compressed directories
...
still not working
svn:r2383
2004-09-27 07:28:48 +00:00
Roger Dingledine
d0edf8e8b5
fix two bugs with cached directories:
...
- don't complain that you won't cache it, then cache it anyway.
- change confusing terminology from 'deflate' to 'compress', so
we'll stop getting our logic backwards. i assume the rfc author
has shot himself by now.
svn:r2382
2004-09-27 06:57:16 +00:00
Roger Dingledine
6e7e880438
put my fenceposts back in valid memory space
...
svn:r2381
2004-09-27 06:45:32 +00:00
Roger Dingledine
a2517b4f07
checking only 0.0.7 and 0.0.8 didn't work, because some dirservers
...
files have really old descriptors for the authdirservers, so we're
asking them in the new format because they're too old.
now we actually compare the version to a cutoff version, and act
appropriately.
also take this chance to use only >=0.0.8 servers for dns resolves,
because of the recent bugs. we'll bump to >=0.0.9pre1 once there are
some servers running that.
svn:r2380
2004-09-27 06:00:43 +00:00
Roger Dingledine
a64d093339
post descriptors to 0.0.8 authdirservers the old way, to make the
...
transition easier
svn:r2379
2004-09-27 03:50:58 +00:00
Roger Dingledine
10df7d9afc
clients ask 0.0.9-and-later dirservers for a compressed dir
...
dirservers rewrite url /foo/ to /tor/foo/, which will help us run things
behind apache once 0.0.8 is obsolete
svn:r2378
2004-09-27 03:39:30 +00:00
Roger Dingledine
57d7857def
don't mind empty exit policy entries
...
svn:r2373
2004-09-23 22:57:32 +00:00
Roger Dingledine
fa0a1ec49f
cleanup: use strcmpstart() in more places
...
svn:r2372
2004-09-23 22:18:50 +00:00
Roger Dingledine
185b9fddf2
protect dirservers from overzealous descriptor uploading
...
wait 10 seconds after directory gets dirty, before regenerating
svn:r2370
2004-09-23 19:58:44 +00:00
Roger Dingledine
02e3e3327c
discourage people from setting their dirfetchpostperiod more often
...
than once per minute
svn:r2369
2004-09-23 19:23:32 +00:00
Roger Dingledine
8727a28119
bugfix: we were starting to daemonize before we opened our logs,
...
so if there were any problems opening logs, we would complain to
stderr (which wouldn't work) and then mysteriously exit.
svn:r2366
2004-09-23 04:32:43 +00:00
Roger Dingledine
c0db9fa803
fix confusing cut-n-paste mistake
...
svn:r2364
2004-09-22 04:08:05 +00:00
Roger Dingledine
013104a1e2
people are starting to bump into the limit of 50 dns workers.
...
raise it to 100 for now. we need a better solution long-term.
but alas, there are no better solutions that are also portable.
hm.
svn:r2363
2004-09-22 03:56:41 +00:00
Nick Mathewson
9defe8a307
Attach dummy resolve connections to a circuit *before* calling dns_resolve(). This fixes a bug where cached answers would never be sent in RESOLVED cells.
...
svn:r2360
2004-09-21 18:12:12 +00:00
Nick Mathewson
c20b24c952
clean up/bugfix deflate logic and log messages
...
svn:r2359
2004-09-21 18:09:38 +00:00
Roger Dingledine
d977677aa8
bugfix: when a resolve fails for a begin request, actually send
...
the end cell back. also, give a better reason for failure.
svn:r2358
2004-09-21 17:33:05 +00:00
Roger Dingledine
ff622786f1
slightly better warn message
...
svn:r2357
2004-09-21 17:14:47 +00:00
Nick Mathewson
431b33a2ca
Warn the user when we mark ourself as down.
...
svn:r2356
2004-09-21 16:44:20 +00:00
Nick Mathewson
0dcc8c7048
Bugfix: When a dns request failed, we would detach any "resolving" streams from the circuit before we would send a the resolve_failed cells.
...
svn:r2355
2004-09-21 16:42:07 +00:00
Roger Dingledine
802b203ff1
fix a rare seg fault for people running hidden services on
...
intermittent connections
svn:r2353
2004-09-20 03:07:11 +00:00
Roger Dingledine
959199340a
don't pick administrative-friends when picking your path
...
(just a skeleton for now)
svn:r2349
2004-09-10 21:40:29 +00:00
Roger Dingledine
a475ccf5b8
we should exit(1) if $HOME doesn't exist and we needed it
...
svn:r2344
2004-09-10 19:16:01 +00:00
Nick Mathewson
0ef85f6dba
Some platforms have weird translations when you open files in "test" mode; make read/write_str_to_file aware.
...
svn:r2336
2004-09-08 07:16:34 +00:00
Nick Mathewson
c66e4c4870
Flush more changes from sandbox
...
- make clients cache directories and use them to seed their router lists
at startup. This means clients have a datadir again.
- Introduce a global_write_bucket. We need to respond better to exhausting
it.
- Remove the last vestiges of LinkPadding and TrafficShaping.
- Configuration infrastructure support for warning on obsolete options.
- Refactor directory header parsing to use smartlist_split_string.
- Respond to content-encoding headers by trying to uncompress as appropriate.
- Reply with a deflated directory when a client asks for "dir.z".
(We could use allow-encodings instead, but allow-encodings isn't
specified in HTTP 1.0.)
svn:r2335
2004-09-08 06:52:33 +00:00
Nick Mathewson
9836ccda8c
Move a paren 4 characters to the left; fix a bug in OutboundBindAddress
...
svn:r2330
2004-09-02 23:25:23 +00:00
Nick Mathewson
ecf414f05e
Stop using separate defaults for no-config-file and empty-config-file
...
svn:r2329
2004-09-02 22:08:36 +00:00
Nick Mathewson
d6e47bec46
Keep a deflated version of each directory so we can deliver it when requested
...
svn:r2328
2004-09-02 18:57:09 +00:00
Nick Mathewson
bda41ba3fd
Use new split function and strcmpstart correctly
...
svn:r2327
2004-09-02 18:39:59 +00:00
Nick Mathewson
4c799ae731
Check for zlib; link with it.
...
svn:r2326
2004-09-02 18:27:09 +00:00
Nick Mathewson
3590eb535a
Add basic wrappers for zlib/gzip
...
svn:r2324
2004-09-02 18:22:51 +00:00
Roger Dingledine
444a01610c
make the compile work (and not complain) on sunos 5.9
...
svn:r2312
2004-08-25 17:31:47 +00:00
Roger Dingledine
be7909f670
Fix a symptom for a bug that straycat found.
...
Apparently in rare cases poll() is returning POLLIN for an idle
dns worker. It reads no bytes, presumably because the idle dns
worker didn't write anything in the first place. Gosh, who knows.
Now we only trigger the assert if the idle dns worker actually
tries to send an answer to us.
svn:r2311
2004-08-25 05:26:09 +00:00
Roger Dingledine
d91cacb839
agree with nick: this legal-chars-in-filename stuff gets us nothing
...
svn:r2310
2004-08-24 21:57:12 +00:00
Nick Mathewson
015232bd39
As far as I can tell, CONFIG_LEGAL_FILENAME_CHARACTERS is both pointless and broken. #if it out, pending agreement from arma. This fixes a bug on win32 that rejected paths with a : in them.
...
svn:r2309
2004-08-24 20:48:22 +00:00
Nick Mathewson
4b4bfd500a
Improve log message to make it obvious _why_ reading the configuration has failed.
...
svn:r2308
2004-08-24 20:46:42 +00:00
Roger Dingledine
79df0aa18a
when picking unverified routers, skip those with bad uptime or
...
bad bandwidth, depending on what properties you care about
svn:r2302
2004-08-20 21:34:36 +00:00
Nick Mathewson
ae46b6b077
Fix some DOCDOCs
...
svn:r2295
2004-08-18 21:56:45 +00:00
Roger Dingledine
cf6159abb9
fix a seg fault on hup when FascistFirewall is defined
...
svn:r2294
2004-08-18 21:46:53 +00:00
Roger Dingledine
8ddc029d07
if options.FascistFirewall but none are running on port 80, try
...
the others before giving up.
svn:r2293
2004-08-18 21:13:58 +00:00
Roger Dingledine
2396c6bf71
remove last vestiges of this 'twin' concept
...
svn:r2291
2004-08-18 20:35:11 +00:00
Roger Dingledine
9504db8ce8
be more aggressive about building circuits when we have no
...
open circuits
svn:r2290
2004-08-18 20:34:43 +00:00
Roger Dingledine
b500104cbe
tolerate old 0.0.7 clients that demand a certain ip:port for a router
...
even though it's moved on to another one.
also reduce some log verbosity.
svn:r2288
2004-08-18 11:20:15 +00:00
Roger Dingledine
3937ecfaae
when we try to exclude our routerinfo from being picked in the
...
path, it fails because we're using a pointer to the routerinfo we
generate, not a pointer to the routerinfo in the routerlist. so look
up the right one and use that.
svn:r2286
2004-08-18 10:32:50 +00:00
Roger Dingledine
20b8819023
even better, only print extend attempts if there are any.
...
svn:r2285
2004-08-18 09:57:50 +00:00
Roger Dingledine
a447570036
stop taking strlen of an uninitialized buffer
...
we were (are?) printing garbage in the rephist stats
svn:r2284
2004-08-18 09:49:17 +00:00
Roger Dingledine
b885db033e
remove crazy notion that clique_mode() means we are
...
already connected to everybody we could be connected to.
svn:r2283
2004-08-18 09:07:11 +00:00
Roger Dingledine
765530421e
be more aggressive about trying to make circuits:
...
try once a second for 30 seconds, and only when the entire previous
period has failed do we pause after MAX_CIRCUIT_FAILURES failures.
svn:r2281
2004-08-18 08:51:04 +00:00
Roger Dingledine
6d661d1bc0
bugfix: make intro circuits work again
...
svn:r2280
2004-08-18 07:53:43 +00:00
Nick Mathewson
555f8f30f4
Avoid segfault when freeing options_t without firewall_ports
...
svn:r2279
2004-08-18 07:06:53 +00:00
Roger Dingledine
99e367f045
authdirservers don't need to be treated specially on hup for
...
making intro points
svn:r2277
2004-08-18 06:48:45 +00:00
Roger Dingledine
807a484b88
only establish intro points after we've gotten a directory
...
svn:r2276
2004-08-18 06:47:01 +00:00
Roger Dingledine
6e9e467b1d
dirservers now don't build circuits until they have fetched a
...
directory from somebody else. this means they have time to
build their connections first.
svn:r2275
2004-08-18 06:29:58 +00:00
Roger Dingledine
b294a037a4
choose exit nodes by bandwidth too
...
svn:r2274
2004-08-18 06:10:12 +00:00
Nick Mathewson
6de61bd694
Revert dumb think-o. Just because _some_ INTRODUCE2 cells are now longer,
...
doesn't mean we should raise the _minimum_ size.
svn:r2273
2004-08-18 05:05:58 +00:00
Nick Mathewson
196e6c1cc2
Support new INTRODUCE2 cell format
...
svn:r2270
2004-08-18 04:48:59 +00:00
Nick Mathewson
86980cf6e2
Functions to test nickname validity
...
svn:r2269
2004-08-18 04:44:24 +00:00
Nick Mathewson
fffb4dbb8b
fix unix build: CONFDIR, not CONF_DIR
...
svn:r2267
2004-08-18 04:04:08 +00:00
Nick Mathewson
8626c7724e
Clean windows whitespace
...
svn:r2266
2004-08-18 03:47:55 +00:00
Nick Mathewson
17ce7d499f
On windows, default datadir is APPDATA/tor, and default config file is APPDATA/tor/torrc. (APPDATA is usually somedrive:/Documents and Settings/.../Application Data/)
...
svn:r2265
2004-08-18 03:42:55 +00:00
Nick Mathewson
7cb93e5bb6
Move string-splitting into a separate function
...
svn:r2263
2004-08-17 21:06:36 +00:00
Roger Dingledine
2c002b1533
deal better if we don't have enough available nodes to choose a path
...
svn:r2262
2004-08-17 12:09:37 +00:00
Roger Dingledine
4c47e07a11
make csv parsing notice the last letter of each entry too
...
svn:r2261
2004-08-17 11:55:47 +00:00
Roger Dingledine
0131d94a6c
bugfix: make receiving csv lines not seg fault
...
svn:r2260
2004-08-17 11:52:20 +00:00
Roger Dingledine
6cf09a5dc0
people with no torrc allow unverified middle/rendezvous nodes by default
...
svn:r2259
2004-08-17 11:42:22 +00:00
Roger Dingledine
aa1e518446
when a verified routerinfo arrives with a new key than the previous
...
verified routerinfo with that name, close connections to the obsolete
key to make way for connections to the new key.
svn:r2257
2004-08-17 08:00:23 +00:00
Nick Mathewson
4e026f5b1d
Fix crash when looking for ~/.torrc with no $HOME set
...
svn:r2256
2004-08-17 07:33:06 +00:00
Nick Mathewson
9bcd4a9c6a
make last patch compile
...
svn:r2255
2004-08-17 07:14:45 +00:00
Nick Mathewson
525a4fc365
Stop logging events that happen to uninitialized digests
...
svn:r2254
2004-08-17 07:12:05 +00:00
Roger Dingledine
2d8a1f208a
if they ask for exactly one entrynode, don't pick it as an exitnode.
...
also, fix part of the zero-identity-router-in-stats bug
svn:r2252
2004-08-17 07:09:02 +00:00
Roger Dingledine
9e5fc55564
now that we parse router->uptime, make use of it
...
svn:r2251
2004-08-17 06:42:30 +00:00
Roger Dingledine
ee23b7a470
use unverified routers in the desired positions
...
svn:r2249
2004-08-17 06:27:32 +00:00
Nick Mathewson
590cd621f8
Clean up last patch; implement (mostly) proper handling for verified/unverified name collisions.
...
svn:r2248
2004-08-17 06:06:05 +00:00
Nick Mathewson
85a910e085
Parse uptime into routerinfo
...
svn:r2247
2004-08-17 05:29:41 +00:00
Nick Mathewson
74621132a9
Implement AllowUnverifiedNodes
...
svn:r2246
2004-08-17 05:13:58 +00:00
Roger Dingledine
76eadc6f0a
if a router claim huge bandwidth, don't believe it
...
svn:r2245
2004-08-17 02:00:36 +00:00
Nick Mathewson
0b91fd1cbe
Add a generic Comma-separated-value config type, and a FirewallPorts option to tell FascistFirewall which ports are open. (Defaults to 80,443)
...
svn:r2244
2004-08-16 20:47:00 +00:00
Roger Dingledine
0a6e27208b
o Handle servers with dynamic IP addresses: don't replace
...
options->Address with the resolved one at startup.
o detect our address right before we make a routerinfo each time.
o external IP vs bind-IP. Already done, just use options->Address.
o OutboundBindAddress config option, to bind to a specific
IP address for outgoing connect()s.
svn:r2241
2004-08-16 11:43:18 +00:00
Nick Mathewson
6514eb5d44
Update to new choose_random_node interface.
...
svn:r2239
2004-08-15 20:31:11 +00:00
Nick Mathewson
bcf8ca5ba6
Check for time skew on http headers; report date in response to "GET /".
...
svn:r2238
2004-08-15 20:30:15 +00:00
Nick Mathewson
e19af3fa0f
We are an OR if ORPort *or* ORBindAddress is set; similarly for being an OP
...
svn:r2237
2004-08-15 20:16:26 +00:00
Nick Mathewson
416653271a
Implement strict{entry|exit}nodes config options
...
svn:r2236
2004-08-15 20:14:44 +00:00
Roger Dingledine
488aa52f25
fix assert triggers in 0.0.7.x: if the other side returns
...
an address 0.0.0.0, don't put it into the client dns cache.
svn:r2233
2004-08-15 20:05:35 +00:00
Roger Dingledine
cd3da3fc12
o clients choose nodes proportional to advertised bandwidth
...
o and/or while avoiding unreliable nodes, depending on goals
o 'fascistfirewall' option to pick dirservers on port 80 and ORs on
port 443.
o if a begin failed due to exit policy, but we believe the IP should have been allowed, switch that router to exitpolicy reject *:* until we get our next directory.
svn:r2231
2004-08-15 08:15:12 +00:00
Roger Dingledine
699a9d8b46
commit some minor fixes from this sandbox so i can commit the next one
...
svn:r2229
2004-08-15 05:28:09 +00:00
Nick Mathewson
ba7cc463d4
Clean up tempdir after finishing unittests; use tor_temp_$PID instead of tor_temp; quit if tor_temp_$PID exists.
...
svn:r2226
2004-08-11 19:20:24 +00:00
Roger Dingledine
dda2e44222
compile again on win32 (i think)
...
svn:r2222
2004-08-09 23:45:11 +00:00
Roger Dingledine
1e415817a3
minor fix
...
svn:r2215
2004-08-09 07:41:32 +00:00
Roger Dingledine
7068dd8e87
make "%llu" less likely to warn on weird platforms
...
svn:r2209
2004-08-09 05:25:19 +00:00
Nick Mathewson
98b8a89aa8
Fix comment
...
svn:r2207
2004-08-09 04:27:42 +00:00
Nick Mathewson
6141097f6e
Fix bug in saving onion keys to disk when rotating; also survive short-term shutdowns better
...
svn:r2206
2004-08-09 04:27:13 +00:00
Nick Mathewson
e6c34ad071
Make unittests pass
...
svn:r2205
2004-08-09 04:26:25 +00:00
Nick Mathewson
0652a0e90a
Fix a fencepost error in the last bandwidth reporting fix
...
svn:r2202
2004-08-08 19:14:44 +00:00
Roger Dingledine
7506cce649
stop wasting cpu time on authdirservers
...
we were making a new directory only when the old one was dirty, but
every time we made one, we'd dirty it by testing it right then.
svn:r2199
2004-08-08 11:15:38 +00:00
Roger Dingledine
b2c7b5adfb
fix a race condition in 008pre2: don't try to extend onto a connection
...
that's still handshaking.
for servers in clique mode, require the conn to be open before you'll
choose it for your path.
svn:r2198
2004-08-08 10:32:36 +00:00
Roger Dingledine
05790d1722
let children survive sigint, sigterm, etc.
...
this was biting us because ^c would get delivered to all of them,
maybe because they were all still listening to stdin?
svn:r2197
2004-08-08 07:25:45 +00:00
Roger Dingledine
292e9c5567
reject the default edonkey, kazaa, gnutella ports
...
to slow the coming flood
svn:r2195
2004-08-08 05:26:13 +00:00
Roger Dingledine
fb4b804c2c
Don't warn about being unverified if you're not in the running-routers
...
list at all.
svn:r2193
2004-08-07 09:01:56 +00:00
Roger Dingledine
44ff309c26
touch-ups
...
svn:r2192
2004-08-07 09:01:04 +00:00
Nick Mathewson
28a6d0901f
Handle loop initialization for bandwidth tracking properly
...
svn:r2190
2004-08-07 05:13:55 +00:00
Nick Mathewson
3de630ec67
Only warn about version newness once
...
svn:r2189
2004-08-07 05:12:08 +00:00
Roger Dingledine
dbf150bd4e
list the port and socks version when complaining about unsafe socks
...
svn:r2188
2004-08-07 04:03:01 +00:00
Nick Mathewson
bc24c3f47d
Allow multiple ORs with same nickname in routerlist
...
svn:r2187
2004-08-07 03:38:07 +00:00
Nick Mathewson
05e9a2269c
Remove obsolete link-key keyword
...
svn:r2186
2004-08-07 03:37:36 +00:00
Nick Mathewson
1ada52fe87
router_get_hash_impl would fail when end_str started with \n. Now it works.
...
svn:r2185
2004-08-07 03:25:42 +00:00
Roger Dingledine
052537dad9
rotate onion keys every 12 hours, not every 2 hours
...
svn:r2184
2004-08-07 03:03:23 +00:00
Nick Mathewson
b0c9ba99f8
Fix a leak
...
svn:r2183
2004-08-07 02:59:46 +00:00
Nick Mathewson
f6cc218742
Refactor ISO-style (yyyy-mm-dd hh:mm:ss) time parsing into util.c; rename format/parse_rfc1123_time; make rephist remember used bandwidth; published used bandwidth in descriptors in 15-minute chunks. Breaks unittests.
...
svn:r2182
2004-08-07 02:46:16 +00:00
Roger Dingledine
f47fe829dd
avoid racing the mark-for-close when the client hangs up on us
...
at the same time we get an end relay cell.
(thanks to wmf for reminding me)
svn:r2181
2004-08-07 02:19:49 +00:00
Roger Dingledine
658e02a621
untwisting the logic, it would seem the pkey is always defined?
...
svn:r2180
2004-08-07 01:48:50 +00:00
Nick Mathewson
6ceb351e31
Comment about n_args<1 is correct, since all directory servers are running post-007x versions
...
svn:r2179
2004-08-07 01:30:23 +00:00
Roger Dingledine
8491d97b9c
print the name of the dirserver that told us we were unverified
...
nick, please review this.
svn:r2177
2004-08-07 01:17:38 +00:00
Nick Mathewson
f5f4314e2d
Always initialize hexid in rend_mid_rendezvous, no matter what
...
svn:r2176
2004-08-07 01:12:04 +00:00
Nick Mathewson
380f32f07d
hex_encode is obsoleted by base16_encode, and never actually worked in the first place. (Thanks to Timo Lindfors for noticing the never-actually-worked part.)
...
svn:r2175
2004-08-07 01:03:33 +00:00
Roger Dingledine
9952b37456
reject tor-resolve requests for .onion addresses early
...
svn:r2174
2004-08-07 00:19:14 +00:00
Roger Dingledine
810ebc80d0
be willing to expire routers that have a dirport open
...
it's just the authoritative dirservers we want to not forget
svn:r2173
2004-08-06 22:47:41 +00:00
Roger Dingledine
e95ae1c9ad
let purging routerinfos and descriptors take an age argument
...
svn:r2171
2004-08-06 22:15:25 +00:00
Nick Mathewson
bed5696185
Keep track of a whole day of bandwidth, not just 12 hrs
...
svn:r2168
2004-08-06 20:46:50 +00:00
Nick Mathewson
3ca2728eb2
(size_t)-1 is never < 0; fix an XXXX008 by changing the interface for dirserv_get_runningrouters
...
svn:r2165
2004-08-06 20:00:16 +00:00
Nick Mathewson
2ff6d6d8b9
There is no space after network-status; make router_get_hash_impl more bulletproof.
...
svn:r2162
2004-08-06 19:54:20 +00:00
Roger Dingledine
6e9bdc862c
when they use tor as an http proxy, point them at a better url
...
svn:r2161
2004-08-06 19:44:17 +00:00
Roger Dingledine
05e9fb5c44
and add a comment to that effect
...
svn:r2159
2004-08-06 10:13:25 +00:00
Roger Dingledine
f8c14e5dce
make explicit that 'no socks policy' means 'accept'
...
svn:r2158
2004-08-06 10:12:55 +00:00
Roger Dingledine
276d953b22
fix an assert: check the sockspolicy before we make/add the connection,
...
else we close a connection without assigning it a state, which is bad
because it fails assert_conn_ok()
svn:r2156
2004-08-06 09:56:36 +00:00
Roger Dingledine
967a762fe1
they're uint64 and uint32, not int and int
...
svn:r2152
2004-08-06 08:40:55 +00:00
Roger Dingledine
f32e34044f
list total traffic and total uptime in -usr1 stats
...
svn:r2151
2004-08-06 08:37:13 +00:00
Roger Dingledine
1d41c0ee35
note a bug that adam found
...
svn:r2150
2004-08-06 02:27:06 +00:00
Roger Dingledine
3b00c950c2
note a bug in our dns error handling. we should fix this sometime.
...
svn:r2149
2004-08-05 19:33:54 +00:00
Roger Dingledine
de0f72ce2a
bugfix: when you finish answering a 'resolve' request, hold the
...
connection open so you can flush the answer
svn:r2148
2004-08-05 00:39:23 +00:00
Roger Dingledine
54dd90d391
bugfix: when tor-resolve asks to resolve an IP to an IP and we answer
...
immediately, there's no need to send an 'end' relay cell when we close
the conn.
svn:r2147
2004-08-04 21:38:00 +00:00
Roger Dingledine
0c8542d889
fix rare race condition that causes infinite loop
...
if we get a sigchld but all our children are gone by the time we get
around to reaping them (i don't think this should ever happen, but it
just did), then we'd loop forever trying to reap them.
svn:r2141
2004-08-04 06:49:17 +00:00
Roger Dingledine
b51a444dd2
commit some odds and ends, so my tree is clean
...
svn:r2137
2004-08-04 05:10:49 +00:00
Nick Mathewson
75684a48d5
<arma> did you get it working on win32? or just compiling
...
svn:r2136
2004-08-04 04:58:30 +00:00
Nick Mathewson
78f12ffcca
Bugfix: "Okay, I just shut down like you told me. Now let me verify your signature." Also fix error message when running over-new version.
...
svn:r2135
2004-08-04 02:35:06 +00:00
Roger Dingledine
d0cfbcf875
only pick a default nickname if you're a server
...
svn:r2134
2004-08-04 02:15:22 +00:00
Roger Dingledine
a939796919
put a comment by routerlist_update_from_runningrouters() to
...
remind me that it's not used yet
svn:r2132
2004-08-04 01:25:21 +00:00
Roger Dingledine
da26a7a197
log a warning if you're running an unverified server, to let
...
you know you might want to get it verified
also, moved that whole block below the check-signature logic, so
we don't execute it if the directory is a fake.
(the recommended-versions logic is still executed before the signature
is checked; we should fix that.)
svn:r2131
2004-08-04 01:17:21 +00:00
Nick Mathewson
630e1e4b44
Hack: Include date with successful directory GETs.
...
svn:r2130
2004-08-04 01:15:57 +00:00
Nick Mathewson
14d5478f29
Add functions to format and parse RFC1123-style times, for HTTP protocol.
...
svn:r2129
2004-08-04 01:11:15 +00:00
Roger Dingledine
8b55f73bbe
put the have_warned_about_unsafe_socks static var inside the function
...
svn:r2128
2004-08-04 01:08:10 +00:00
Nick Mathewson
5b61dd0457
Fix all warnings on win32 build
...
svn:r2127
2004-08-03 23:57:05 +00:00
Roger Dingledine
8cb4124121
warn if we use an unsafe socks variant
...
for now, warn every time. we should decide how often we want to warn;
one problem here is that there are several scenarios where we use an
unsafe socks variant safely, so the warning may be inaccurate. hm.
svn:r2126
2004-08-03 23:42:33 +00:00
Roger Dingledine
5b54780df3
don't send an end back for a malformed resolved cell,
...
since they don't establish streams
svn:r2119
2004-07-23 06:28:12 +00:00
Roger Dingledine
cc54d9efe9
tor-resolve triggered a has_sent_end warning
...
svn:r2116
2004-07-23 00:04:40 +00:00
Roger Dingledine
a328aab316
clean whitespace and tabs
...
svn:r2115
2004-07-22 23:21:12 +00:00
Roger Dingledine
aebec8ab9e
stop using atexit() to remove our pid, since it's called
...
immediately when we daemonize.
also drop our retry period for hidserv desc uploads from 10m to 5m
svn:r2111
2004-07-22 22:15:36 +00:00
Nick Mathewson
1391eafe67
Chek for overlong nicknames in add_nickname_list_to_smartlist
...
svn:r2109
2004-07-22 21:36:03 +00:00
Nick Mathewson
7b4865ec33
Add notion of "longest nickname-or-hex-digest-with-$"
...
svn:r2108
2004-07-22 21:31:04 +00:00
Nick Mathewson
0c990259de
Add noisy debug log to hunt for bug in router_update_status_from_smartlist
...
svn:r2107
2004-07-22 21:20:23 +00:00
Nick Mathewson
d07d0a4e6b
Add fingerprint to router format in tests
...
svn:r2106
2004-07-22 20:34:55 +00:00
Nick Mathewson
33fe5e362f
Never use time(NULL) as assumed publication time for a directory.
...
svn:r2105
2004-07-22 20:30:02 +00:00
Roger Dingledine
7459d067a5
now base16_encode() and base32_encode() can't ever fail
...
svn:r2103
2004-07-22 08:30:06 +00:00
Roger Dingledine
ea43172c11
make router_is_me() compare identity, not nickname
...
svn:r2102
2004-07-22 08:08:25 +00:00
Roger Dingledine
f355a9c9f1
put our fingerprint into the descriptor, so we can match a
...
desc to a running-routers entry
svn:r2100
2004-07-22 06:22:04 +00:00
Roger Dingledine
c1450319f4
allow OPs to set a DirPort and cache/serve directories
...
(hey, why not, it works)
svn:r2099
2004-07-22 06:04:54 +00:00
Roger Dingledine
a403c1035e
getting an unknown descriptor is an info, not a warn, now
...
svn:r2098
2004-07-22 06:04:13 +00:00
Roger Dingledine
b48cdc9d40
populate router_get_my_routerinfo()->is_verified
...
svn:r2097
2004-07-22 06:03:53 +00:00
Roger Dingledine
06b72cc8f2
publish advertised_bandwidth in descriptor
...
svn:r2095
2004-07-22 04:20:27 +00:00
Roger Dingledine
eb0a19c475
change 0.0.8 extend cell format so it's compatible with 0.0.7
...
svn:r2094
2004-07-22 03:47:20 +00:00
Roger Dingledine
6c56f34aaf
clients shouldn't create datadir until we have something to put there
...
svn:r2092
2004-07-22 00:13:42 +00:00
Roger Dingledine
3c2c8ed42b
0.0.8 ORs should autoconnect to authdirservers and 0.0.7 servers
...
svn:r2091
2004-07-21 23:43:47 +00:00
Roger Dingledine
f82a36508d
make router_nickname_is_approved() do the right thing
...
svn:r2090
2004-07-21 22:54:27 +00:00
Roger Dingledine
3783d2e682
if johnny has three fenceposts, and jill takes four away...
...
svn:r2089
2004-07-21 22:37:03 +00:00
Roger Dingledine
ce7fcd110c
solve the authdirserver initialization precedence problem
...
svn:r2085
2004-07-21 18:53:56 +00:00
Roger Dingledine
1e62d24ddc
bugfix: only require the correct key if the nickname is for
...
a verified router
svn:r2084
2004-07-21 18:20:09 +00:00
Roger Dingledine
fd0fcc89e9
disallow picking unverified routers in circuits
...
(for now)
svn:r2082
2004-07-21 09:35:24 +00:00
Roger Dingledine
ecc9009256
authdirservers accept the uploading of unverified descriptors.
...
fix a bunch of bugs in router_update_status_from_smartlist()
(Nick, did I get them all, or was there a trickier one still hiding?)
svn:r2081
2004-07-21 09:13:12 +00:00
Roger Dingledine
906d1aa99f
caching dirservers don't handle posts, running-routers, or rend descs
...
svn:r2080
2004-07-21 08:40:57 +00:00
Roger Dingledine
3e97c12f24
rearrange to prepare to solve the authdirserver initialization
...
precedence problem. doesn't actually solve it yet.
svn:r2079
2004-07-21 07:50:06 +00:00
Roger Dingledine
ddb6eb35af
we were counting incorrectly when trying to figure out whether
...
a given AP stream was being handled or not.
(how did this work?)
svn:r2077
2004-07-21 03:16:24 +00:00
Roger Dingledine
30d6b1479b
clients exit immediately on interrupt; they don't wait
...
svn:r2076
2004-07-21 03:15:32 +00:00
Roger Dingledine
84b8f8e04a
fix some bool logic
...
svn:r2075
2004-07-21 02:42:49 +00:00
Roger Dingledine
e547ab293b
make connection_tls_finish_handshake() more plausible.
...
now we accept connections from unknown routers.
svn:r2074
2004-07-21 02:25:14 +00:00
Nick Mathewson
334de84cbe
Misc small code cleanups; remove exit_server_mode(); change tor_tls_verify behavior
...
svn:r2073
2004-07-21 00:44:04 +00:00
Roger Dingledine
99926813b1
get the function prototype right
...
svn:r2072
2004-07-21 00:21:26 +00:00
Roger Dingledine
73ffcc5cef
add a new advertised_server_mode() to distinguish ORs that
...
are willing to become servers from ones that really are servers.
svn:r2071
2004-07-21 00:12:42 +00:00
Roger Dingledine
0da256ef97
when we get a sigint, don't accept new connections/circuits,
...
but delay 30 seconds until exiting.
if we get a second sigint, exit immediately.
svn:r2070
2004-07-20 23:31:00 +00:00
Nick Mathewson
18d752e518
Correct "advance-time" logic
...
svn:r2069
2004-07-20 23:25:00 +00:00
Nick Mathewson
2a339b7627
Split uptime into separate field
...
svn:r2067
2004-07-20 21:13:11 +00:00
Nick Mathewson
e57698cc6e
Track bandwidth usage to estimate capacity
...
svn:r2065
2004-07-20 20:57:46 +00:00
Nick Mathewson
d858a9e990
Remember list of digests for trusted dirservers; use this list to tell whether you are a trusted dirserver
...
svn:r2064
2004-07-20 20:09:59 +00:00
Roger Dingledine
d5999a24af
also don't hang up on him if we're an OR and he's an authdirserver
...
otherwise we keep getting taken out of the running-routers list
svn:r2063
2004-07-20 19:45:29 +00:00
Roger Dingledine
66fc6cf04a
if you're an OR and he's an OR and he's running 0.0.7,
...
don't expire your connections to him.
svn:r2062
2004-07-20 19:28:02 +00:00
Roger Dingledine
dc7951a5a7
a whole swath of fixes
...
introduce an authdir_mode() macro to match the others.
don't initialize uptime to the number of seconds since 1970.
non-authoritative dirservers don't cache their directory on disk.
make only authdirservers use clique_mode.
only read approved-routers file if you're an authdirserver.
even authdirservers fetch a new directory in do_hup.
retry_all_connections() is now called retry_all_listeners().
router_parse_list_from_string() correctly reports the router number
it's working on.
only call dirserv_add_own_fingerprint() and
dirserv_add_descriptor() on startup if we're an authdirserver.
if AuthDir and !ORPort then fail.
if AuthDir and ClientOnly then fail.
svn:r2061
2004-07-20 10:17:43 +00:00
Roger Dingledine
f54224ab35
clients can now pick non-authdirservers for fetching directories.
...
servers still pick authdirservers, but they never pick themselves.
but picking themselves for fetching rend descs is ok.
svn:r2059
2004-07-20 06:44:16 +00:00
Roger Dingledine
b4d4a961b1
break connection_dir_client_finished_reading() into its own function
...
svn:r2058
2004-07-20 02:44:26 +00:00
Roger Dingledine
a5ff0527e6
it turns out we weren't looking at the result from getsockopt().
...
now we do.
but i'm not sure it matters, since we also poll for reads, and if
there's an error with the connecting socket, poll is supposed to
return readable, so we should notice it then.
who knows.
svn:r2057
2004-07-19 23:26:21 +00:00
Nick Mathewson
54c129d8dc
abstract ORPort/SocksPort checks into server_mode(), proxy_mode(), clique_mode(), etc. Dont change underlying comments.
...
svn:r2054
2004-07-18 21:47:04 +00:00
Roger Dingledine
87d0948903
bugfix: hidden services were broken in cvs
...
svn:r2053
2004-07-17 19:50:29 +00:00
Nick Mathewson
df3544422c
Change rule from "reject non-recommended versions" to "reject obsolete versions". A version is "obsolete" if it is non-recommended, and at least one recommended version is newer than it.
...
svn:r2052
2004-07-16 23:33:42 +00:00
Nick Mathewson
1040762531
Remove 1024-router limit in routerparse.c; unify handling of running-routers lines in running-routers requests and in directories; set is_verified field of routerinfo_ts correctly; use most-recent-info rule to decide whether to change router-is-running status.
...
svn:r2051
2004-07-16 23:05:40 +00:00
Nick Mathewson
bc36db351f
Resolve all DOCDOCs.
...
svn:r2050
2004-07-16 22:23:18 +00:00
Nick Mathewson
656a664334
Revert cpuworker to use addr/port
...
svn:r2049
2004-07-16 21:47:18 +00:00
Nick Mathewson
0b3357d573
Look in .torrc if no CONFDIR "torrc" is found.
...
svn:r2048
2004-07-16 19:43:58 +00:00
Nick Mathewson
c458f33ef1
Fix warning
...
svn:r2046
2004-07-15 01:59:18 +00:00
Nick Mathewson
5f7738d4cc
Code to parse tor version numbers so we can do an is-newer-than check.
...
svn:r2044
2004-07-13 19:16:49 +00:00
Nick Mathewson
c2103eb63a
Finish most pre2 items: make running-routers list work right; rename secret key files; make even more lookup-by-nickname use lookup-by-id; default nicknames to hostname.
...
svn:r2043
2004-07-13 18:23:40 +00:00
Nick Mathewson
e9365f9ed5
Bugfix: some things (like ctrl-z) can make a second take more than one second
...
svn:r2042
2004-07-13 18:07:57 +00:00
Roger Dingledine
d37850bb98
only count bytes transmitted to/from non-local IPs
...
svn:r2041
2004-07-13 16:58:01 +00:00
Roger Dingledine
86e0ede07e
checkpoint: start working on bandwidth tracking and
...
letting clients evaluate whether they're suitable servers
svn:r2037
2004-07-13 07:42:20 +00:00
Roger Dingledine
017d7d1fb3
refuse to build a circuit before the directory has arrived
...
this will prevent a few of the 'couldn't decrypt onionskin' errors, maybe
svn:r2036
2004-07-13 01:25:39 +00:00
Roger Dingledine
3294b514d3
when you expire a wedged dir conn, conn_close_if_marked will take
...
care of trying to flush before it closes
svn:r2035
2004-07-13 00:38:08 +00:00
Roger Dingledine
149115cc4e
bugfix: tell circuits what id_digest to look for, so
...
n_conn_open() can find waiting circuits.
svn:r2034
2004-07-12 23:53:16 +00:00
Roger Dingledine
a3aaff34b7
why does gcc not warn me about this at all? that's evil.
...
svn:r2032
2004-07-12 20:41:20 +00:00
Roger Dingledine
2325050b1b
tor now tolerates down dirservers better
...
svn:r2031
2004-07-12 20:39:40 +00:00
Roger Dingledine
63256c9e7a
make unit tests pass again
...
but note a bug that i don't know how to address. nick?
svn:r2030
2004-07-12 20:18:05 +00:00
Roger Dingledine
538655cd80
if connecting to an OR fails immediately, mark it as down
...
svn:r2029
2004-07-12 18:19:55 +00:00
Roger Dingledine
e167eeb18e
add 'advertisedbandwidth' to router descriptor
...
svn:r2028
2004-07-12 18:02:54 +00:00
Roger Dingledine
379768290e
fix a bug related to reading usernames for socks4
...
this hasn't bitten us yet, but hey.
svn:r2026
2004-07-12 16:51:05 +00:00
Nick Mathewson
38c889c454
Remove spurious assert
...
svn:r2018
2004-07-07 19:51:20 +00:00
Nick Mathewson
e9d81d873b
Fix the router_compare_to_my_exit_policy assertion failure once-and-for-all, by declaring 0.0.0.0 always denied.
...
svn:r2017
2004-07-07 19:49:48 +00:00
Nick Mathewson
d5e275ddf4
Fix bug reported by peter palfrader: an empty address is unresolvable, but not an occasion for an assertion failure in a dnsworker.
...
svn:r2015
2004-07-06 23:25:21 +00:00
Roger Dingledine
cbf73b2bc5
touchups all over
...
put uptime in descriptor
svn:r2011
2004-07-04 22:48:11 +00:00
Nick Mathewson
0f3fcfd1db
When tor_lookup_hostname says 0.0.0.0, treat it as an error.
...
svn:r2003
2004-07-04 04:52:43 +00:00
Roger Dingledine
198e5f4c16
fix a seg fault when you try to launch a circ
...
svn:r2002
2004-07-03 01:45:13 +00:00
Roger Dingledine
dc0a36d27b
populate circ->n_conn_id_digest when we set circ->n_conn
...
svn:r2001
2004-07-03 01:37:59 +00:00
Nick Mathewson
7d8de8cd10
More digest/nickname fixes
...
svn:r2000
2004-07-02 23:40:03 +00:00
Roger Dingledine
d58d4c0db6
another checkpoint toward letting ORs connect on demand
...
svn:r1999
2004-07-02 23:08:59 +00:00
Roger Dingledine
62dcf9e20f
some of the infrastructure to let ORs connect on demand
...
svn:r1998
2004-07-02 09:29:01 +00:00
Nick Mathewson
cbab134bd9
Switch most uses of *_by_addr_port to *_by_identity_digest
...
svn:r1997
2004-07-01 23:13:04 +00:00
Roger Dingledine
e1ba0c4663
running-routers now lists down routers too (with a ! before their name)
...
svn:r1996
2004-07-01 11:32:26 +00:00
Nick Mathewson
541add90a1
Track routers by hash of identity key; use hex hash of identity key in place of nickname; accept (and use) hash of identity key in EXTEND cells.
...
svn:r1994
2004-07-01 01:16:59 +00:00
Roger Dingledine
f42f04c859
cleanups on 008pre1 items
...
svn:r1993
2004-06-30 21:48:02 +00:00
Nick Mathewson
29818d5b6b
Use arguments to routerlist_update_from_runningrouters correctly
...
svn:r1992
2004-06-30 16:48:36 +00:00
Nick Mathewson
b1e9adf056
Always use get_data_directory() instead of options.DataDirectory; fix a memory leak in router.c
...
svn:r1991
2004-06-30 16:37:08 +00:00
Roger Dingledine
899bd4f471
stop leaking options->ContactInfo on hup
...
svn:r1989
2004-06-29 19:46:06 +00:00
Nick Mathewson
76f769deb9
Remaining 008pre1 items done; deferred where more design is needed.
...
More docs and (way more!) testing needed.
Done:
- Authdirservers down directories from others.
- Generate and use running-routers lists
- Cache directories; store across reboots.
- Refactor directory parsing a bit; note potential trouble spots.
svn:r1985
2004-06-25 00:29:31 +00:00
Nick Mathewson
f7976c1e9b
Terminate comment
...
svn:r1982
2004-06-21 04:40:24 +00:00
Nick Mathewson
8aec3a7301
Implement several 008pre1 items: needs more testing
...
svn:r1981
2004-06-21 04:37:27 +00:00
Roger Dingledine
207fcb35d1
tweaks and bugfix on resolve/resolved code
...
svn:r1980
2004-06-17 21:11:09 +00:00
Nick Mathewson
3708886939
Implement RESOLVE/RESOLVED cells and socks resolve code
...
svn:r1978
2004-06-17 18:13:09 +00:00
Roger Dingledine
ba5d48e852
router->is_trusted_dir implies router->dir_port>0
...
and add some infrastructure for fetching running-routers list
svn:r1973
2004-06-16 21:08:29 +00:00
Roger Dingledine
80cee93f84
include <inttypes.h> if we have it
...
openbsd on a sparc64 needs this (apparently)
svn:r1971
2004-06-16 00:49:27 +00:00
Nick Mathewson
a788981399
Implement code to run tor as an NT service. More testing is needed, as is code to install the service.
...
svn:r1966
2004-06-12 21:43:02 +00:00
Nick Mathewson
125b351970
Break tor_main into startup/loop/shutdown portions, to make NT service refactoring possible.
...
svn:r1965
2004-06-12 19:45:46 +00:00
Nick Mathewson
dbf9fe57ea
Use intptr_t correctly in test.c; try to resolve ia64 warnings
...
svn:r1963
2004-06-08 19:08:45 +00:00
Roger Dingledine
d90cb3504e
provide a prototype for dnsworkers_rotate
...
svn:r1961
2004-06-07 20:00:30 +00:00
Nick Mathewson
184f4e6044
Rotate dnsworkers and cpuworkers on SIGHUP, so they get new config settings too
...
svn:r1950
2004-06-06 03:38:31 +00:00
Nick Mathewson
0d1b4b5024
Unbork windows whitespace
...
svn:r1949
2004-06-05 01:56:54 +00:00
Nick Mathewson
17b5b3685f
Make tor build on win32 again; handle locking for server
...
svn:r1948
2004-06-05 01:50:35 +00:00
Roger Dingledine
42569ffd0f
bump an info message down to a debug
...
svn:r1947
2004-06-03 05:57:27 +00:00
Nick Mathewson
66881d5709
If we are a directory, we should trust ourself.
...
svn:r1943
2004-06-02 20:15:35 +00:00
Nick Mathewson
65e26bae3d
Check directory signatures based on name of signer, not on whom we got the directory from.
...
svn:r1940
2004-06-02 20:00:57 +00:00
Roger Dingledine
011ccbbf8d
crank up some of our constants, for better scalability
...
svn:r1938
2004-06-02 19:44:41 +00:00
Nick Mathewson
605e10a650
Stop multiplying logs on sighup.
...
svn:r1936
2004-06-02 19:18:37 +00:00
Roger Dingledine
69931106f8
be sure to detach streams from the circuit linked list before freeing them
...
also, don't bother marking a conn for close if you're about to free it
svn:r1935
2004-06-02 18:32:24 +00:00
Nick Mathewson
0932505829
Only connection_dns_remove resolving exit connections
...
svn:r1934
2004-06-02 18:12:49 +00:00
Roger Dingledine
fbbb4d01c3
bugfix: while closing a circuit, we were freeing the conns that were
...
pending resolve, but not removing them from the pending resolve list
svn:r1933
2004-06-02 18:11:28 +00:00
Nick Mathewson
0d20fee2fb
Add more asserts to dns-pending connections; fix a couple seeming bugs.
...
svn:r1931
2004-06-01 22:09:58 +00:00
Nick Mathewson
94782444f8
Check recommended-software string *early*, before actually parsing the directory.
...
svn:r1930
2004-06-01 18:19:01 +00:00
Roger Dingledine
4181d18b3d
declare the epipe bug a non-bug.
...
now we catch and ignore epipe signals, and when write returns epipe,
we simply return -1 and close the socket/connection.
svn:r1928
2004-06-01 17:31:13 +00:00
Roger Dingledine
1ef411fefd
use sys/param.h if it's there
...
svn:r1927
2004-06-01 17:03:01 +00:00
Roger Dingledine
834ffa358f
bugfix: if the wedged dir conn has no bytes to flush, then we never
...
close it.
svn:r1924
2004-05-28 17:56:17 +00:00
Roger Dingledine
8064807896
dirservers try to reconnect periodically too, in case connections have failed
...
svn:r1922
2004-05-28 15:01:47 +00:00
Roger Dingledine
1841aa456b
rik's patch to not complain about freebsd's bug
...
svn:r1921
2004-05-26 20:27:54 +00:00
Nick Mathewson
9b4e8486ce
Keep temporary log in place while configuring logs
...
svn:r1919
2004-05-24 02:28:15 +00:00
Roger Dingledine
994c9cbd7e
commit two fixes from Thomas Themel
...
svn:r1918
2004-05-22 18:05:20 +00:00
Roger Dingledine
f51061439b
when the dns resolve is cancelled, or fails, be sure to remove
...
conn from circ->resolving_streams
otherwise it gets freed and stays there, causing seg faults.
svn:r1915
2004-05-21 12:25:15 +00:00
Roger Dingledine
a8417dfac8
fix a double mark-for-close
...
svn:r1913
2004-05-20 22:39:01 +00:00
Nick Mathewson
ccb825128e
Tinker with log behavior: never send error messages about logs into the bitbucket
...
svn:r1912
2004-05-20 19:47:28 +00:00
Roger Dingledine
1c21a02b90
router_choose_random_node() was ignoring its routerlist argument.
...
so now we don't pass it one.
svn:r1911
2004-05-20 19:12:28 +00:00
Roger Dingledine
66dd21b7a4
some more patching
...
svn:r1910
2004-05-20 08:41:54 +00:00
Roger Dingledine
034110e761
bugfix: if no loglevel or logfile is specified, then we need to open
...
a default log to stdout.
svn:r1909
2004-05-20 08:15:28 +00:00
Roger Dingledine
faf2fdb1e0
don't ever expire dirserver routerinfos!
...
svn:r1908
2004-05-20 06:42:38 +00:00
Roger Dingledine
30a07b2ecd
non-dirservers expire routerinfo's that are more than a day old
...
svn:r1907
2004-05-20 05:10:30 +00:00
Roger Dingledine
b6faca2268
enable checking the socks policy
...
svn:r1906
2004-05-20 04:16:43 +00:00
Nick Mathewson
80365b9897
Allow multiple exit policy lines; mostly add support for AP policies
...
svn:r1905
2004-05-20 02:42:50 +00:00
Nick Mathewson
80be19d9da
Tighten assert_cpath_layer_ok assumptions
...
svn:r1904
2004-05-19 23:51:39 +00:00
Roger Dingledine
b37450ce55
do all the heavy lifting in connection_about_to_close_connection,
...
not in _connection_mark_for_close
this will hopefully clean up the huge cyclical function mess
svn:r1903
2004-05-19 23:32:20 +00:00
Nick Mathewson
b8f535a2d8
tor_assert, not assert. stdout, not stderr
...
svn:r1902
2004-05-19 21:40:44 +00:00
Nick Mathewson
d95f347b14
Add Port to *bindAddress.
...
svn:r1901
2004-05-19 20:25:44 +00:00
Nick Mathewson
9d2cd7fc6e
Allow multiple logfiles at different severity ranges
...
svn:r1899
2004-05-19 20:07:08 +00:00
Roger Dingledine
41c9b8230d
fix compile error in dirserv
...
(declare variables before the rest of the function)
svn:r1896
2004-05-19 19:42:50 +00:00
Nick Mathewson
ba14428d66
Fix segfault
...
svn:r1895
2004-05-19 19:28:24 +00:00
Nick Mathewson
1cfac90984
remove upper limit on number of descriptors/directories in dirserver; use smartlists instead of arrays
...
svn:r1894
2004-05-18 17:41:40 +00:00
Roger Dingledine
d2de7120fa
fix a seg fault, add another XXX for nick ;)
...
svn:r1892
2004-05-18 16:54:04 +00:00
Nick Mathewson
7511fbf993
Resolve some XXXs
...
svn:r1889
2004-05-18 15:35:21 +00:00
Nick Mathewson
a782b83c28
Only try to launch a fixed number of intro circuits for a service per 15-minute period or before all of the intro circuits succeed, whichever comes first
...
svn:r1883
2004-05-18 01:53:53 +00:00
Nick Mathewson
683d06bf44
Fix segfault and logic error in last patch.
...
svn:r1881
2004-05-17 20:41:40 +00:00
Nick Mathewson
50b7ebcf9e
Make directory functions update routerlist, not replace it. Add notion of OR-is-trusted-to-be-a-dirserver. Arma, please review: does this handle being a dirserver right?
...
svn:r1880
2004-05-17 20:31:01 +00:00
Roger Dingledine
04bb8c8046
bugfix: if a circuit if borderline too old, then count it as too old.
...
bugfix: we were retrying the same circuit after getting a resolve
failure. so of course the next two tries would fail too. now we try
a new circuit each time (at most three times).
svn:r1867
2004-05-15 07:21:25 +00:00
Roger Dingledine
d7815e85a7
assert_cpath_ok has always been broken
...
re-disable it.
svn:r1864
2004-05-13 07:44:21 +00:00
Roger Dingledine
ef561c0e42
Break files apart into more modules
...
* \file circuitbuild.c
* \brief The actual details of building circuits.
* \file circuitlist.c
* \brief Manage the global circuit list.
* \file circuituse.c
* \brief Launch the right sort of circuits, attach streams to them.
* \file connection_edge.c
* \brief Handle edge streams.
* \file onion.c
* \brief Functions to queue create cells, and handle onionskin
* parsing and creation.
* \file relay.c
* \brief Handle relay cell encryption/decryption, plus packaging and
* receiving from circuits.
svn:r1863
2004-05-13 07:24:49 +00:00
Roger Dingledine
5ba9235873
clean up directory.c API
...
svn:r1860
2004-05-12 23:48:57 +00:00
Roger Dingledine
630e930799
don't flush the buf from inside connection_write_to_buf
...
svn:r1859
2004-05-12 22:56:26 +00:00
Roger Dingledine
1cf1836990
break connection_edge_end out of connection_mark_for_close
...
svn:r1858
2004-05-12 21:12:33 +00:00
Nick Mathewson
537fb82cbb
Make some functions static
...
svn:r1857
2004-05-12 20:58:27 +00:00
Roger Dingledine
32c42a0ee2
break rend_client_desc_fetched out of connection_mark_for_close
...
svn:r1856
2004-05-12 20:36:44 +00:00
Roger Dingledine
7ee6194f3a
break part of circuit.c into relay.c
...
svn:r1854
2004-05-12 19:49:48 +00:00
Nick Mathewson
9c3fba5c3b
Not every RSA decrypt should warn on failure.
...
svn:r1853
2004-05-12 19:30:28 +00:00
Nick Mathewson
f1bc7af9f5
Make "connected" a different case from "finished_flushing"; always close_immediate whhen connect() fails.
...
svn:r1852
2004-05-12 19:17:09 +00:00
Roger Dingledine
4c9138d640
calling flush_buf and not checking for return value is bad
...
svn:r1851
2004-05-12 18:41:32 +00:00
Roger Dingledine
df4be6a1f7
list in-points to command.c
...
svn:r1849
2004-05-11 03:21:18 +00:00
Nick Mathewson
3e2f889a29
Add an extra flush attempt when closing wedged dir conns, in an attempt to isolate the EPIPE bug
...
svn:r1848
2004-05-11 01:55:32 +00:00
Nick Mathewson
b45fafa3d0
Split directory/router parsing functionality into separate file from routerlist.c
...
svn:r1846
2004-05-10 17:30:51 +00:00
Roger Dingledine
83f06dcc97
always a bit more
...
svn:r1844
2004-05-10 10:31:48 +00:00
Roger Dingledine
3cdf2d67da
it's amazing what a bit of punctuation can do for appearances
...
svn:r1843
2004-05-10 10:27:54 +00:00
Roger Dingledine
6168b3222e
a few more pieces of markup
...
svn:r1841
2004-05-10 08:56:42 +00:00
Roger Dingledine
341d6f2cab
more cleanup, including fleshing out or.h more
...
svn:r1839
2004-05-10 07:37:10 +00:00
Nick Mathewson
720281b32e
Close rogue <b>s
...
svn:r1838
2004-05-10 07:27:29 +00:00
Roger Dingledine
d9fa234fd9
comments and doxygen markup on circuit.c
...
svn:r1837
2004-05-10 07:02:58 +00:00
Nick Mathewson
3bf2c572ad
Doxygen most of or.h
...
svn:r1836
2004-05-10 06:52:01 +00:00
Nick Mathewson
ae2a2072b9
Doxygenate config.c
...
svn:r1834
2004-05-10 04:48:13 +00:00
Roger Dingledine
4845fe7197
comment and doxygenate connection_edge.c
...
svn:r1833
2004-05-10 04:42:22 +00:00
Nick Mathewson
81922a125c
More doxygenation.
...
svn:r1832
2004-05-10 04:34:48 +00:00
Roger Dingledine
397466a23d
give connection.c a skeletal file/brief header
...
svn:r1831
2004-05-10 03:56:58 +00:00
Roger Dingledine
658873eb01
tweak comment in connection_or
...
svn:r1830
2004-05-10 03:54:33 +00:00
Roger Dingledine
9968f1da98
doxygen for tor_main.c
...
svn:r1828
2004-05-10 02:43:41 +00:00
Roger Dingledine
a26265c3cc
remove an orphan function declaration
...
svn:r1827
2004-05-10 02:39:48 +00:00
Roger Dingledine
21e094a5d3
function header comments for onion.c, including doxygen markup
...
svn:r1826
2004-05-10 02:36:04 +00:00
Roger Dingledine
8f6aa6688f
function header comments for connection.c, including doxygen markup
...
svn:r1825
2004-05-10 01:32:57 +00:00
Roger Dingledine
c6d4a00c5f
more doxygen markup
...
plenty more remains
svn:r1824
2004-05-09 16:47:25 +00:00
Roger Dingledine
b384c5a18d
bugfix: do directory_send_command only after we've established a socket
...
also many comments, cleaning, etc
svn:r1823
2004-05-09 16:33:04 +00:00
Nick Mathewson
93576d5289
Add doxygen markup for util and buffers
...
svn:r1820
2004-05-07 17:04:12 +00:00
Roger Dingledine
fa3db976df
comment the functions in connection_or.c
...
svn:r1818
2004-05-07 08:53:40 +00:00
Roger Dingledine
f1fc4ce22b
comment the functions in command.c
...
this is one of the files nick regarded as scary, so hopefully
these will help.
svn:r1817
2004-05-07 08:07:41 +00:00
Roger Dingledine
d4efa475a1
forward-port header-length-increase patch
...
svn:r1814
2004-05-06 22:47:48 +00:00
Roger Dingledine
e45fd6cec1
forward-port built-in dirservers string
...
svn:r1813
2004-05-06 22:47:15 +00:00
Roger Dingledine
9bf9ca4d09
bugfix: add a circ->resolving_streams field, and make dns resolving streams not actually in the connection_array until they're done resolving.
...
bugfix: actually complain if we duplicate mark-for-close a circuit
add more logging for relay ends that claim dns resolve failed, so we can
find out why they're not being retried.
svn:r1798
2004-05-06 11:08:04 +00:00
Nick Mathewson
e6477a8e16
Document the rest of main.c
...
svn:r1797
2004-05-05 21:35:12 +00:00
Nick Mathewson
682a805092
Comments for nearly all non-tricky files
...
svn:r1796
2004-05-05 21:32:43 +00:00
Nick Mathewson
6cfdc90d92
Use intptr_t when playing with void*s
...
svn:r1795
2004-05-05 20:27:20 +00:00
Nick Mathewson
e6ac85a8cc
Fix compilation warnings on 64-bit platforms
...
svn:r1793
2004-05-05 20:09:06 +00:00
Nick Mathewson
44defa4b1a
Never list unapproved servers as recommended
...
svn:r1790
2004-05-05 04:55:00 +00:00
Nick Mathewson
924f60288a
More documentation; fix for compilation warning
...
svn:r1789
2004-05-05 02:50:38 +00:00
Nick Mathewson
2ba0776b02
Only connection_add connections once they have conn->s sett; refactor code around this. Should make stuff more bulletproof.
...
svn:r1788
2004-05-05 01:26:57 +00:00
Roger Dingledine
608c156820
must close marked connections at the end of run_scheduled_events.
...
otherwise they might have a socket -1, and if we leave them around
they'll muck up poll/select.
i think this was the cause of our win32 and os x fakepoll crashes,
and probably would cause other errors down the road.
svn:r1786
2004-05-05 00:59:42 +00:00
Nick Mathewson
efdb356a81
More documentation
...
svn:r1785
2004-05-05 00:30:43 +00:00
Roger Dingledine
fa6e9efcd0
accept port 81 by default also, since people have been asking for it
...
svn:r1784
2004-05-04 22:46:19 +00:00
Nick Mathewson
89275e7806
Comment router*.c
...
svn:r1783
2004-05-04 18:17:45 +00:00
Nick Mathewson
af08c4f878
Working strerror for windows socket errors, plus some snide comments.
...
svn:r1775
2004-05-02 20:18:21 +00:00
Roger Dingledine
bbbc063ed9
stop the circuit_receive_relay_cell warning
...
mark the circ for close if circuit_extend fails because the next
hop is not up yet; don't just return -1
svn:r1765
2004-05-02 03:32:00 +00:00
Roger Dingledine
25909c2c29
patches on patches
...
svn:r1763
2004-05-02 03:15:55 +00:00
Nick Mathewson
f6fe336ad4
Documenmt buffers.c; remove function that nobody ever calls.
...
svn:r1760
2004-05-01 22:08:43 +00:00
Nick Mathewson
6fa2ded74c
Fix windows compile
...
svn:r1757
2004-05-01 20:55:31 +00:00
Nick Mathewson
908ccb9dcd
Handle windows socket errors correctly; comment most of common.
...
svn:r1756
2004-05-01 20:46:28 +00:00
Roger Dingledine
ac4cb9bdd1
fix a seg fault (whoops)
...
svn:r1755
2004-04-30 16:35:48 +00:00
Roger Dingledine
2b5e6aef15
note another bug to be fixed sometime
...
svn:r1754
2004-04-30 05:42:52 +00:00
Roger Dingledine
18f250c364
update the built-in dirservers default
...
svn:r1750
2004-04-29 08:10:13 +00:00
Nick Mathewson
9322641710
Use socketclose on windows as appropriate; end pid files with newline
...
svn:r1745
2004-04-28 21:14:56 +00:00
Roger Dingledine
dd335d9bb2
use tor_lookup_hostname for binding local addresses too
...
svn:r1744
2004-04-28 20:57:03 +00:00
Nick Mathewson
ddb15b8f67
Remove IVs from cipher code, since AES-ctr has none.
...
svn:r1742
2004-04-28 20:31:32 +00:00
Nick Mathewson
7055f837ab
Make Tor build on win32 with VC6 without warnings.
...
svn:r1739
2004-04-28 20:13:21 +00:00
Roger Dingledine
ca8d50abeb
bug resolved (hopefully), so remove comment
...
svn:r1738
2004-04-28 20:12:44 +00:00
Roger Dingledine
22c0cd8a14
clean dns.c better
...
svn:r1737
2004-04-28 20:11:37 +00:00
Roger Dingledine
25d5425fdb
fix a bug in dns.c, note but don't fix another one
...
svn:r1735
2004-04-28 19:55:20 +00:00
Nick Mathewson
ac622d94dc
Workarounds for a couple of pieces of windows strangeness.
...
svn:r1734
2004-04-28 19:35:12 +00:00
Roger Dingledine
8cc9001391
clean some dead code (right?)
...
svn:r1733
2004-04-28 00:05:56 +00:00
Roger Dingledine
158e2cf536
set Content-Type on the directory and hidserv descriptor
...
svn:r1731
2004-04-27 21:48:37 +00:00
Roger Dingledine
9965bd8387
make my assumption explicit
...
svn:r1730
2004-04-27 11:28:45 +00:00
Roger Dingledine
505bb2f4a0
it was the second bug that was nailing us.
...
periodically we expire some circuits if we already have
enough, and we were counting rend circs in that number.
(the first one wasn't a bug after all)
svn:r1729
2004-04-27 11:23:56 +00:00
Roger Dingledine
8e8af6aaee
don't expire joined-rend circs that have an exit connection attached
...
and don't expire non-general excess circuits
svn:r1728
2004-04-27 10:16:31 +00:00
Nick Mathewson
06624df622
Log number of bytes pending after read.
...
svn:r1726
2004-04-26 23:05:58 +00:00
Roger Dingledine
d7f4b82373
rendmid says it drops but actually sends nack
...
fix log messages
svn:r1725
2004-04-26 23:02:20 +00:00
Nick Mathewson
ad07c62938
Add a macro to catch unhandled openssl errors.
...
svn:r1723
2004-04-26 23:00:07 +00:00
Roger Dingledine
e34c201bb3
and other debugs
...
svn:r1722
2004-04-26 22:22:18 +00:00
Roger Dingledine
80d0b634a4
add a debugging entry, to find the wants-to-read-but-can't bug
...
svn:r1719
2004-04-26 21:15:06 +00:00
Nick Mathewson
f6dbe5a0d4
Refactor crypto error handling to be more like TLS error handling:
...
crypto_perror is a no-no, since an operation can set more than one
error.
Also, fix a bug in the unix crypto_seed_rng: mixing stdio with
/dev/urandom is a bad idea, since fopen can make all kinds of weird
extraneous syscalls (mmap, fcntl, stat64, etc.) and since fread tends
to buffer data in big chunks, thus depleting the entropy pool.
svn:r1717
2004-04-26 18:09:50 +00:00
Roger Dingledine
fff89216a9
tell us when we're rotating things
...
svn:r1712
2004-04-26 09:32:51 +00:00
Roger Dingledine
fb2279b90b
since we don't support truncateds much, don't bother sending them;
...
just close the circ.
(this wasn't relevant before, because we were mis-handling destroys.)
svn:r1711
2004-04-26 04:32:01 +00:00
Roger Dingledine
bd38df8472
fix a bug that's been lurking since 27 may 03 (!)
...
when passing back a destroy cell, we would use the wrong circ id.
how the heck did this work?
svn:r1710
2004-04-26 03:42:41 +00:00
Nick Mathewson
75dc76eb3e
Better error msg on unknown circuit id.
...
svn:r1708
2004-04-26 03:00:33 +00:00
Roger Dingledine
10f3b74cb9
tell us the nickname of the OR that hung up on us
...
svn:r1706
2004-04-26 01:50:08 +00:00
Nick Mathewson
568a4d187a
Check for machine/limits.h in addition to sys/limits.h
...
svn:r1705
2004-04-25 23:47:26 +00:00
Roger Dingledine
9e5d2ad91c
don't crash, if a conn that sent a begin has suddenly lost its circuit
...
svn:r1704
2004-04-25 22:48:47 +00:00
Roger Dingledine
482d7e7cd3
resolve a double-mark-for-close when things die inside connection_handle_write
...
svn:r1702
2004-04-25 22:23:54 +00:00
Roger Dingledine
28f034e10a
now assume all routers support rendezvous cells
...
svn:r1699
2004-04-25 21:32:04 +00:00
Roger Dingledine
25d54257fb
use tor_assert
...
remove obsolete BUF_OK macro
svn:r1697
2004-04-25 20:37:37 +00:00
Nick Mathewson
0fca143ea1
Remove onion_pkey from connection, since onion keys can change more often than connections. Also add more log messages
...
svn:r1693
2004-04-25 19:04:11 +00:00
Nick Mathewson
cb3897e5ab
remove spurious router_rebuild_descriptor
...
svn:r1692
2004-04-25 19:01:49 +00:00
Roger Dingledine
7fbc35c136
don't build and upload a new desc twice in a row
...
svn:r1691
2004-04-25 05:19:03 +00:00
Roger Dingledine
e355ed0e15
log correctly if decoding onion failed
...
svn:r1690
2004-04-25 04:49:11 +00:00
Roger Dingledine
7e2a2a7f81
bugfix: when rotating onion key, do it (more) correctly
...
svn:r1688
2004-04-25 03:38:19 +00:00
Roger Dingledine
0b31d0d4e8
more touch-ups
...
svn:r1687
2004-04-24 23:32:24 +00:00
Nick Mathewson
3ace033c0c
Spurious link-key should not be an error
...
svn:r1686
2004-04-24 22:50:09 +00:00
Nick Mathewson
220e859912
Note router addr:port in log messages
...
svn:r1685
2004-04-24 22:40:32 +00:00
Nick Mathewson
2e47a0f009
Compare nicknames casei.
...
svn:r1684
2004-04-24 22:34:31 +00:00
Nick Mathewson
c44016e86e
Merge flagday into main branch.
...
svn:r1683
2004-04-24 22:17:50 +00:00
Roger Dingledine
3c250a2fed
only expire wedged dir conns that haven't already been expired
...
svn:r1676
2004-04-20 17:27:54 +00:00
Roger Dingledine
a3200f79cd
the socketpair bug is no longer a bug
...
now it is a documented behavior
svn:r1674
2004-04-19 21:25:48 +00:00
Roger Dingledine
5cfec379ae
expire wedged dir conns after 5min without write, not simply after 5min
...
svn:r1673
2004-04-19 20:08:42 +00:00
Roger Dingledine
d40e9f453f
give wedged dir conns a last chance to flush
...
svn:r1671
2004-04-19 01:59:20 +00:00
Roger Dingledine
c4b72a254f
tmp patch to also expire old clean rend_ready circs for now
...
will have to be fixed once we build-and-open rend circs preemptively
svn:r1668
2004-04-18 09:27:05 +00:00
Roger Dingledine
e9ebefc8bf
bugfix: you mean we're supposed to reuse fresh descriptors and
...
refetch stale ones, not reuse stale ones and refetch fresh ones?
svn:r1667
2004-04-18 09:04:37 +00:00
Roger Dingledine
bce1fc43a2
when you get an intro ack, don't also count it as an intro nack
...
svn:r1666
2004-04-18 08:38:40 +00:00
Roger Dingledine
3fa2925a6a
if an intro circ waiting for an ack dies before getting one, then
...
count it as a nack
svn:r1665
2004-04-18 07:37:16 +00:00
Roger Dingledine
8d86f8abf5
reverse the logic, captain
...
svn:r1664
2004-04-18 06:42:13 +00:00
Roger Dingledine
7a7baf0552
expire dir connections that live for more than 5 minutes
...
svn:r1663
2004-04-18 06:35:31 +00:00
Roger Dingledine
14c30fe9fa
bugfix: give dir_conn a state before building the bridge, so it has
...
a state if things fail
svn:r1660
2004-04-17 20:19:43 +00:00
Roger Dingledine
65d507b980
log n_circ_ids when attaching rend streams
...
svn:r1657
2004-04-17 10:25:38 +00:00
Roger Dingledine
26dd5c68b0
a ! goes a long way toward more helpful debug messages
...
svn:r1656
2004-04-17 10:04:00 +00:00
Roger Dingledine
bd4a776576
include sys/limits.h if it's found
...
svn:r1654
2004-04-17 06:35:18 +00:00
Roger Dingledine
01e594e512
clean up some warnings
...
svn:r1651
2004-04-17 06:34:20 +00:00
Roger Dingledine
0e94b9ff77
more useful logs to track weasel's bug
...
svn:r1649
2004-04-17 05:17:40 +00:00
Roger Dingledine
f5427463f5
more debugging to hunt for a bug
...
svn:r1647
2004-04-17 01:33:04 +00:00
Roger Dingledine
8d62a36256
bugfix: when you sleep your hidden-service laptop, as soon
...
as it wakes up it tries to upload a service descriptor, but
socketpair fails for some reason (localhost not up yet?)
now we simply give up on that upload, and we'll try again later.
svn:r1646
2004-04-17 00:46:05 +00:00
Roger Dingledine
f36d7b8fea
fix another rare bug: when we had tried all the intro
...
points for a hidden service, we fetched the descriptor
again, but we left our introcirc thinking it had already
sent an intro, so it kept waiting for a response...
svn:r1644
2004-04-16 14:35:28 +00:00
Roger Dingledine
ed24a4f807
fix a pair of duplicate mark-for-closes
...
svn:r1643
2004-04-16 14:26:23 +00:00
Roger Dingledine
f84fa39d87
when alice uses a port that the hidden service doesn't accept,
...
it now sends back an end cell (denied by exit policy). otherwise
alice would just have to wait to time out.
svn:r1642
2004-04-16 13:49:14 +00:00
Roger Dingledine
a0a6ed85d1
more useful logging for rend services and clients
...
svn:r1641
2004-04-16 11:48:03 +00:00
Roger Dingledine
359c1fb9aa
wait a minute, weasel said there was a memory-stomping bug here
...
let's see if we find it
svn:r1639
2004-04-16 08:49:14 +00:00
Roger Dingledine
9c1470840f
i was wrong about one of my invariants
...
now it's commented
this should fix asserts when you try an intro point, get a nack,
and try a second one and it works.
svn:r1637
2004-04-16 08:21:35 +00:00
Roger Dingledine
598d8b8f79
put in an extra assert, might find a bug these way
...
svn:r1636
2004-04-16 04:41:07 +00:00
Roger Dingledine
4c2de3a2b6
compress end-of-second summary into one line
...
svn:r1635
2004-04-15 22:09:14 +00:00
Nick Mathewson
880ffd8f64
Must detach before attaching, or else we infinite-loop
...
svn:r1632
2004-04-15 03:48:26 +00:00
Nick Mathewson
f6dd710aff
Strings need room for a NUL.
...
svn:r1630
2004-04-15 02:02:46 +00:00
Nick Mathewson
3f352719f3
Add a missing return -1
...
svn:r1629
2004-04-15 01:23:43 +00:00
Roger Dingledine
26c1c8f173
make unattached rend streams expire after a while (60s)
...
(they were darned persistent)
also make intro circs that are waiting for acks expire after a while (20s)
svn:r1628
2004-04-15 01:08:59 +00:00
Roger Dingledine
ac38746b3b
narrow in closer
...
svn:r1627
2004-04-15 00:03:48 +00:00
Roger Dingledine
b51561f7fb
prune abandoned circs better
...
add debugging info for the bug weasel found
svn:r1626
2004-04-14 23:52:29 +00:00
Nick Mathewson
37255d24bc
Retry non-final-hop rendezvous failures
...
svn:r1625
2004-04-14 21:40:50 +00:00
Nick Mathewson
94f126bca3
Never ever leave ri.platform unset.
...
svn:r1624
2004-04-14 19:51:57 +00:00
Roger Dingledine
cda782bac0
make rendezvous points work again
...
(yay. now time to mess them up again.)
svn:r1619
2004-04-14 05:18:21 +00:00
Roger Dingledine
49f5e5b4ae
handle more purposes in new_route_len
...
svn:r1618
2004-04-14 05:06:08 +00:00
Roger Dingledine
465f0e528a
call circuit_build_failed() even when the failure is immediate
...
svn:r1617
2004-04-14 04:32:49 +00:00
Nick Mathewson
ddd45a7c0a
Do not segfault on missing intro points.
...
svn:r1616
2004-04-14 04:19:12 +00:00
Roger Dingledine
f07d880f38
remove unused variable
...
svn:r1615
2004-04-13 23:01:10 +00:00
Roger Dingledine
1d7979b460
let introcircs receive acks. rend streams now deal correctly again.
...
(i think)
svn:r1614
2004-04-13 22:56:24 +00:00
Nick Mathewson
5514ad715b
Scan list of servers in directory after reloading fingerprint list; remove any servers that are no longer recognized.
...
svn:r1613
2004-04-13 20:06:08 +00:00
Nick Mathewson
baaf58fe1d
only consider uploading descriptors every 5 sec
...
svn:r1612
2004-04-13 19:53:25 +00:00
Nick Mathewson
867832cd07
or, not and
...
svn:r1610
2004-04-13 18:44:42 +00:00
Nick Mathewson
d19abb2402
Handle END_STREAM_REASON_{EXITPOLICY|RESOLVEFAILED}
...
svn:r1609
2004-04-13 17:49:41 +00:00
Nick Mathewson
11ca973d26
Mark service descriptors as dirty when we have lost an intro point
...
svn:r1608
2004-04-13 17:20:41 +00:00
Nick Mathewson
a2ece0fc08
Separate "start-establishing-introduction" from "upload descriptors"; only upload descriptors containing fully established intro points.
...
svn:r1607
2004-04-13 17:16:47 +00:00
Roger Dingledine
e0ce205a76
clean up circuit rebuilding some; fix some bugs we hadn't hit yet
...
svn:r1606
2004-04-13 05:20:52 +00:00
Nick Mathewson
c9b5ca39de
Handle the rendezvous-circ elements of retrying introductions.
...
svn:r1604
2004-04-13 03:19:58 +00:00
Nick Mathewson
a4d25bdbd9
<arma> you should make r and i and use r for r and i for i
...
svn:r1603
2004-04-13 02:36:37 +00:00
Nick Mathewson
e53ba59250
Handle introduce naks. Arma: Is this right?
...
svn:r1602
2004-04-13 02:31:52 +00:00
Nick Mathewson
8483bace65
Get the rest of intro-ack/nak handling in ... except for the tricky "pick a new intro and re-extend and re-try" part.
...
svn:r1601
2004-04-13 01:41:39 +00:00
Nick Mathewson
9cd163f6ff
Have find_intro_circuit return non-open circs
...
svn:r1600
2004-04-13 01:15:06 +00:00
Nick Mathewson
5af7e27c62
Re-number the new relay command so as to maintain backward compatibility. Doh!
...
svn:r1598
2004-04-13 00:38:16 +00:00
Nick Mathewson
a5bfe84509
ACK/NAK INTRODUCE1 requests. (We do no useful processing on them yet)
...
svn:r1597
2004-04-12 23:33:47 +00:00
Roger Dingledine
f4ff5a75c1
break circuit_build_needed_circs into its own func
...
svn:r1596
2004-04-12 22:47:12 +00:00
Roger Dingledine
c5052bec95
normal circs are 3 hops, but rend/intro circs are 4, because
...
the initiator doesn't get to choose the last hop
svn:r1595
2004-04-12 18:40:14 +00:00
Nick Mathewson
fc5a766298
Use service IDs in rendmid. (rendclient and common require no changes, it seems)
...
svn:r1594
2004-04-12 18:10:28 +00:00
Roger Dingledine
2321d21b3b
bump allowed rend desc skew from 60 mins to 90 mins
...
svn:r1593
2004-04-12 09:44:38 +00:00
Nick Mathewson
1dbf61e7e6
Use service id instead of hex id in rendservice.c log messages. Rendcommon and rendclient will follow tomorrow.
...
svn:r1591
2004-04-12 05:12:50 +00:00
Nick Mathewson
c024745bd4
Cosmetic patch for arma's fix for The Bug: Don't set the state to
...
RESOLVEFAILED if the resolve didn't fail; set it to CONNECTING
instead.
svn:r1590
2004-04-11 17:07:45 +00:00
Roger Dingledine
d8c954e156
continue beating at pieces of The Bug
...
svn:r1588
2004-04-09 21:31:09 +00:00
Roger Dingledine
23c193c065
if dns resolve is valid, but our exit policy rejects it or
...
the connect attempt fails immediately, we were trying to
double-remove it from the dns pending list.
i think this might have been The Bug.
(thanks weasel!)
svn:r1587
2004-04-09 21:06:14 +00:00
Roger Dingledine
8f8d185f4b
give better instructions than just 'mail arma'
...
svn:r1586
2004-04-09 20:23:25 +00:00
Roger Dingledine
48e0228f1e
expire old CIRCUIT_PURPOSE_C_REND_READY circs too
...
svn:r1585
2004-04-09 20:08:13 +00:00
Nick Mathewson
4e1b65f53d
Dump introduction point status on kill -USR1
...
svn:r1584
2004-04-09 20:02:16 +00:00
Nick Mathewson
f9ade70cf9
Resolve init-services-in-do-hup issue
...
svn:r1583
2004-04-09 19:37:50 +00:00
Roger Dingledine
c80b42e17c
don't call rend_services_init right before we fetch the
...
dir, because we call it right after now.
svn:r1582
2004-04-09 19:34:55 +00:00
Roger Dingledine
c5bef32d95
call directory_has_arrived has arrived every time we get
...
a new directory, not just the first time
svn:r1581
2004-04-09 19:30:38 +00:00
Nick Mathewson
c256f2c3a1
Make comment more sensible. Still uncertain about when to call rend_services_init, though.
...
svn:r1580
2004-04-09 17:54:20 +00:00
Nick Mathewson
e6964ed7e6
set rend exit connection state _before_ calling rend_service_set_connection_addr_port and maybe eventually assert_connection_ok. This solves the other half of the bug weasel found.
...
svn:r1579
2004-04-09 17:51:57 +00:00
Nick Mathewson
facb5d4221
Reload rendezvous service keys on sighup; otherwise, we wind up with a
...
bunch of half-initialized services. This should solve half of
weasel's current bug. The crash is the other half.
(arma: should we also call rend_services_init on hup?)
svn:r1578
2004-04-09 17:48:09 +00:00
Roger Dingledine
4011906b6b
get more serious about hunting The Bug
...
(it has been haunting us since the days of 0.0.2preX)
svn:r1576
2004-04-09 09:39:42 +00:00
Nick Mathewson
9b436c7f7a
remove a stray printf
...
svn:r1575
2004-04-08 20:59:48 +00:00
Nick Mathewson
aa7cfd93e5
Fix base32 implementation; make base32 implementation follow standard; add more tests for base32
...
svn:r1574
2004-04-08 20:56:33 +00:00
Nick Mathewson
d237692396
Fix unit tests (now that platform code works differently)
...
svn:r1573
2004-04-08 20:22:01 +00:00
Roger Dingledine
3b97a54226
when rend_cache_store warns, give more detail
...
svn:r1572
2004-04-08 20:13:28 +00:00
Nick Mathewson
aa2189b406
note which preexisting or connection we found.
...
svn:r1571
2004-04-08 19:49:55 +00:00
Roger Dingledine
eb9f5a561e
circuit-level sendmes weren't working, because the exit
...
thought it was an exit.
i overhauled the edge_type mechanism. hopefully this will help.
svn:r1570
2004-04-08 09:41:28 +00:00
Roger Dingledine
8e686d0c72
we added more AP conns, oops
...
svn:r1569
2004-04-08 07:25:54 +00:00
Roger Dingledine
4122e2de11
stop being so eager to have rend_cache_store reject the
...
service descriptor
svn:r1566
2004-04-08 05:08:27 +00:00
Nick Mathewson
bb46d782ab
Be endianly-correct for rendezvous functionality
...
svn:r1565
2004-04-08 04:47:39 +00:00
Roger Dingledine
15de201041
log which intro points we picked
...
svn:r1564
2004-04-08 04:36:13 +00:00
Nick Mathewson
2a01e3ad10
Launch intro services after launching connections; allow ORs to build circuits through as-yet-unconnectd ORs
...
svn:r1562
2004-04-08 03:53:39 +00:00
Roger Dingledine
299df7117c
don't try to circuit_log_path if you're at the exit edge of a circ
...
svn:r1561
2004-04-08 03:30:47 +00:00
Nick Mathewson
ede1d3e42d
Invert strcasecmp check for supports-rendezvous
...
svn:r1560
2004-04-08 03:21:15 +00:00
Roger Dingledine
3e7c8a40bc
bugfix: alice would crash if bob advertised 0 intro points
...
svn:r1559
2004-04-08 03:18:03 +00:00
Nick Mathewson
40f7324eea
Allow service descriptors with no intro points
...
svn:r1557
2004-04-08 03:02:50 +00:00
Nick Mathewson
8351847afd
Nothing is good enough for you, is it?
...
svn:r1556
2004-04-08 02:50:34 +00:00
Nick Mathewson
14e31fbd71
Use CIRCUIT_IS_ORIGIN in favor of boolean circ->cpath
...
svn:r1555
2004-04-08 02:24:06 +00:00
Roger Dingledine
ad2192c90f
only call circuit_build_failed when we're circ's origin
...
svn:r1554
2004-04-08 02:22:26 +00:00
Roger Dingledine
36d7cc8529
make the max buf size 10 megabytes, not 1 megabyte
...
need to implement flexible buffer sizes soon
svn:r1553
2004-04-08 02:19:35 +00:00
Roger Dingledine
4d194ef13f
clean up rend_client_get_random_intro
...
svn:r1552
2004-04-08 02:11:49 +00:00
Nick Mathewson
46c82e7dbe
Set rend_query on exiting streams
...
svn:r1551
2004-04-08 02:10:43 +00:00
Roger Dingledine
584350feb8
don't log info when we asked for log warn
...
svn:r1548
2004-04-08 01:59:31 +00:00
Nick Mathewson
60772ec90c
Split out major functionality of circuit_get_best; rephrase a few booleans
...
svn:r1547
2004-04-08 01:55:21 +00:00
Nick Mathewson
eaf7c61ebc
Do not crash when no desc is found
...
svn:r1546
2004-04-08 01:54:02 +00:00
Roger Dingledine
9d38311ae3
allow for directories >8192 bytes
...
svn:r1545
2004-04-08 01:47:33 +00:00
Roger Dingledine
6cf584b765
clean up choose_good_exit_server()
...
svn:r1542
2004-04-07 23:31:29 +00:00
Roger Dingledine
63cde97253
don't try to build intro circs until you've fetched the directory
...
svn:r1541
2004-04-07 22:48:06 +00:00
Roger Dingledine
e79a578fec
if the rend desc cache entry was fetched more than 15 mins ago,
...
then try to fetch a new one. but if the new fetch fails, use the
old one.
svn:r1540
2004-04-07 22:41:00 +00:00
Nick Mathewson
09e66bbd14
Freeing the same variable twice in rapid succession can sometimes cause a double-free
...
svn:r1539
2004-04-07 22:25:37 +00:00
Nick Mathewson
6649645f09
Insert a *copy* of our routerinfo into the routerlist.
...
svn:r1538
2004-04-07 22:18:57 +00:00
Nick Mathewson
b1537e7943
Rebuild and re-upload service descriptors every 15 minutes
...
svn:r1537
2004-04-07 22:06:54 +00:00
Nick Mathewson
b07b2cef29
Remember when we received which service desc.
...
svn:r1536
2004-04-07 22:00:54 +00:00
Nick Mathewson
4d14b786da
Make sure we have our own keys before we initialize our routerlist
...
svn:r1535
2004-04-07 21:44:46 +00:00
Nick Mathewson
10b48fee28
Generating data does no good if you make no use of it
...
svn:r1534
2004-04-07 21:44:24 +00:00
Nick Mathewson
8169da5c30
Don't use Tor version 0.0.5 for intro/rendezvous points. (We don't need
...
to worry about 0.0.4 or earlier, because nobody is running them any more.)
svn:r1533
2004-04-07 21:36:03 +00:00
Roger Dingledine
93801ac40d
don't pick myself or my twins as hops when building circuits
...
svn:r1531
2004-04-07 21:12:54 +00:00
Nick Mathewson
2633d353d7
Carefully increment failure counts when appropriate
...
svn:r1530
2004-04-07 20:59:38 +00:00
Roger Dingledine
4df06ab5bb
let bob replenish his intro points and republish service desc
...
as necessary
svn:r1528
2004-04-07 20:47:50 +00:00
Roger Dingledine
505797e998
expire open-but-not-yet-acked circs if they're too old
...
svn:r1526
2004-04-07 20:38:23 +00:00
Roger Dingledine
650d483bea
convince ourselves that circuit_failed doesn't have to be any smarter
...
svn:r1525
2004-04-07 20:23:59 +00:00
Nick Mathewson
789df20e7d
There is no need to cast void* to other pointer types.
...
svn:r1524
2004-04-07 20:11:28 +00:00
Nick Mathewson
3d60cd1d61
Delete trailing whitespace and expand tabs; remove unused aes decrypt code
...
svn:r1522
2004-04-07 19:57:40 +00:00
Nick Mathewson
75c19716a8
Put ourself in router list; act accordingly.
...
svn:r1521
2004-04-07 19:46:27 +00:00
Roger Dingledine
4a9587a486
we were uploading our server descriptor to each the dirservers
...
when we boot, and then also on the first iteration of the main loop
svn:r1520
2004-04-07 19:30:22 +00:00
Roger Dingledine
3c683a9e7c
let alice reuse recent rendjoin circs
...
svn:r1519
2004-04-07 19:22:55 +00:00
Roger Dingledine
1f0769c470
mark a rend circ dirty when you attach to it
...
svn:r1518
2004-04-07 19:14:45 +00:00
Roger Dingledine
cf67520e95
when counting how many being-built circs will handle a stream,
...
don't count ones that are too old
svn:r1517
2004-04-07 19:14:33 +00:00
Roger Dingledine
90caa94662
routerinfo->addr is host order
...
svn:r1515
2004-04-07 06:17:27 +00:00
Nick Mathewson
fdb58e8ea3
Set routerinfo->addr properly for own routerinfo; do casei routerinfo compare
...
svn:r1514
2004-04-06 22:23:12 +00:00
Nick Mathewson
f24519e4b9
Set correct address and port mappings on outgoing rendezvous connections
...
svn:r1513
2004-04-06 22:05:49 +00:00
Roger Dingledine
95f0e36f08
alice just fetched bob's hidden webpage.
...
yay.
svn:r1512
2004-04-06 21:52:01 +00:00
Roger Dingledine
d473cf7ee9
set the circ windows on the middle hop of the rend circs
...
svn:r1511
2004-04-06 21:25:11 +00:00
Nick Mathewson
8b371c2aa5
router_choose_random_node wants a smartlist of routers, not of nicknames.
...
svn:r1510
2004-04-06 21:19:59 +00:00
Nick Mathewson
2fc106d210
Force hybrid encryption on for key negotiation
...
svn:r1509
2004-04-06 20:55:46 +00:00
Nick Mathewson
40a5d6055e
Stupid sizeof operator!
...
svn:r1508
2004-04-06 20:45:44 +00:00
Nick Mathewson
2446996f97
Remove vestigial variable
...
svn:r1507
2004-04-06 20:42:25 +00:00
Roger Dingledine
5eca39cdb4
checkpoint commit: rend closer to working, still not there yet
...
svn:r1506
2004-04-06 20:25:18 +00:00
Nick Mathewson
ef438b894c
Set handshake_state to NULL before appending cpath hops
...
svn:r1505
2004-04-06 20:23:58 +00:00
Nick Mathewson
6290d027c9
Continue attack on magic numbers; use new crypto wrappers where possible
...
svn:r1504
2004-04-06 20:16:12 +00:00
Nick Mathewson
257d509b91
Document stuff, reduce magic numbers, add emacs magic
...
svn:r1502
2004-04-06 03:44:36 +00:00
Roger Dingledine
6e6cbaad95
fix the bob-can't-decode-relays bug
...
now alice can send the begin and bob can receive it.
svn:r1499
2004-04-05 23:40:59 +00:00
Roger Dingledine
077f133257
don't detach-and-retry rendezvous streams
...
svn:r1498
2004-04-05 22:43:01 +00:00
Nick Mathewson
0f74b68edd
make router_get_by_nickname consider this router.
...
svn:r1497
2004-04-05 22:22:42 +00:00
Roger Dingledine
2bb18e62cb
make rend apconn send to the right cpath layer
...
and fix circuit_log_path to know about rend circs
svn:r1496
2004-04-05 22:01:35 +00:00
Nick Mathewson
62b7ae6c9d
More symbolic constants for checking rendezvous1 cell lengths
...
svn:r1495
2004-04-05 21:40:22 +00:00
Nick Mathewson
283593ca1b
Use correct payload lengths when sending RENDEZVOUS1 cells
...
svn:r1494
2004-04-05 21:39:47 +00:00
Nick Mathewson
d371dda8f9
Spec conformance: KH|"INTRODUCE" is only for establishing intro pt
...
svn:r1493
2004-04-05 21:39:18 +00:00
Nick Mathewson
536a9b6c28
Add a missing offset
...
svn:r1492
2004-04-05 21:31:53 +00:00
Nick Mathewson
5033c366e1
Use symbolic constants; make padding types match.
...
svn:r1491
2004-04-05 21:15:14 +00:00
Nick Mathewson
04e8dc9026
Implement response to RENDEZVOUS2 cell.
...
svn:r1490
2004-04-05 20:53:50 +00:00
Nick Mathewson
b1a8b208ca
Make init_cpath_crypto able to handle both sides of handshake, by adding a "reverse" flag
...
svn:r1489
2004-04-05 20:53:04 +00:00
Nick Mathewson
2d3aea40a4
It's amazing how wrong things look when you invert the booleans on your
...
sanity checks.
svn:r1487
2004-04-05 20:34:58 +00:00
Nick Mathewson
7b1939db2d
Slightly more helpful msg on mismatched service pk digest in INTRODUCE2 cell
...
svn:r1486
2004-04-05 20:33:29 +00:00
Nick Mathewson
eafb8186e5
Do first half of Alice-side of DH handshake.
...
svn:r1485
2004-04-05 20:30:53 +00:00
Roger Dingledine
27126e5007
oaep uses 42 more bytes -- stop clobbering buffers
...
also maybe fix some constants here and there -- nick?
svn:r1484
2004-04-05 18:22:00 +00:00
Roger Dingledine
92bb5b2860
strdup the intro point when you pick it, so you
...
don't free it and then return it
svn:r1483
2004-04-05 17:56:34 +00:00
Roger Dingledine
ac84512489
complain early if we get an unrecognized nickname from
...
bob's rend service descriptor
svn:r1482
2004-04-05 17:51:00 +00:00
Nick Mathewson
12ede0a2c4
use the right variable when comparing hashes; maybe fix "Hash of session" bug
...
svn:r1481
2004-04-05 17:36:30 +00:00
Nick Mathewson
41387bea08
Expect a 20-byte nul-padded-and-terminated nickname
...
svn:r1480
2004-04-05 17:28:48 +00:00
Nick Mathewson
1e2b008700
Add some temporary log calls to try to debug the "Hash of session info was not as expected" problem
...
svn:r1479
2004-04-05 17:20:57 +00:00
Roger Dingledine
cebf16eaf0
if a rend stream has already been attached to a rend circ,
...
then don't attach it again (and again, and again, and...)
svn:r1477
2004-04-05 15:24:03 +00:00
Roger Dingledine
8a209bc4d3
send a destroy after we send an introduce
...
svn:r1476
2004-04-05 15:17:34 +00:00
Roger Dingledine
5b6099e8a2
more alice-side infrastructure
...
handle rendezvous acks,
do rend begin cells right,
send an introduction cell (sort of)
receive a rendezvous2 cell (sort of)
svn:r1475
2004-04-05 07:41:31 +00:00
Roger Dingledine
7793078dff
alice can now look up bob's service descriptor,
...
choose an intro point, connect to it,
choose a rend point, connect to it and establish a cookie,
get an ack from the rendezvous point,
and know when both circs are ready for her.
APConns don't use conn->purpose anymore
don't initiate a renddesc lookup if one is already in progress
also fix a buffer overflow in nickname parsing (only exploitable
by the operator though)
svn:r1471
2004-04-05 00:47:48 +00:00
Nick Mathewson
a9813f0210
Implement acks
...
svn:r1470
2004-04-03 04:55:22 +00:00
Nick Mathewson
3af1191023
Add func to generate,set,and send rend cookie
...
svn:r1469
2004-04-03 04:22:22 +00:00
Roger Dingledine
86f2ddc88d
nick, can you make and send the rendezvous cookie?
...
svn:r1467
2004-04-03 04:05:30 +00:00
Nick Mathewson
b3c2b62a14
Make "common" no longer depend on or.h
...
svn:r1466
2004-04-03 04:05:12 +00:00
Nick Mathewson
cb07e2ad27
Strdup hates finding 0 bytes.
...
svn:r1465
2004-04-03 03:39:31 +00:00
Nick Mathewson
d93ff0b82f
Handle rendezvous relay cells
...
svn:r1464
2004-04-03 03:37:11 +00:00
Roger Dingledine
7eaa655b6d
publish and fetch the right rendezvous urls
...
svn:r1463
2004-04-03 03:33:57 +00:00
Nick Mathewson
ba196a9d17
Use (set|get)_uint(16|32) in lieu of memcpy where reasonable.
...
svn:r1462
2004-04-03 03:07:25 +00:00
Roger Dingledine
8a1ad2b84e
more progress on alice's side
...
svn:r1461
2004-04-03 03:06:06 +00:00
Nick Mathewson
137b577bbd
Refactor the heck out of crypto interface: admit that we will stick with one ciphersuite at a time, make const things const, and stop putting openssl in the headers.
...
svn:r1458
2004-04-03 02:40:30 +00:00
Roger Dingledine
4e996a4ce8
tabs
...
svn:r1456
2004-04-03 02:14:20 +00:00
Roger Dingledine
8c19d6e3d7
alice can intercept y.onion requests, do a lookup on them via tor,
...
and receive a 404
svn:r1455
2004-04-03 01:59:53 +00:00
Nick Mathewson
88e2a09c22
Startup without crashing.
...
svn:r1452
2004-04-03 01:11:04 +00:00
Nick Mathewson
fc4d15baf6
Hide smartlist internals
...
svn:r1451
2004-04-03 00:58:54 +00:00
Roger Dingledine
bbc9484957
fix some bugs; more remain
...
svn:r1450
2004-04-03 00:55:53 +00:00
Roger Dingledine
06c812c2de
remember to lower-case the y in y.onion
...
svn:r1449
2004-04-03 00:27:33 +00:00
Roger Dingledine
2202c2c7ec
AP conns use conn->rend_query now too
...
expose connection_ap_handshake_attach_circuit()
svn:r1448
2004-04-02 23:54:48 +00:00
Nick Mathewson
2bc2f1ed03
Finish renaming rend_service field
...
svn:r1447
2004-04-02 23:44:46 +00:00
Roger Dingledine
a8d805e292
break out circ->rend_service
...
(this breaks the compile; must fix things)
let alice react when she learns a new rendezvous descriptor
let alice launch intro and rend circuits and mark them with her query
svn:r1446
2004-04-02 23:38:26 +00:00
Nick Mathewson
e8345bfced
refactor; start adding debugging logs to midpoint rend stuff
...
svn:r1445
2004-04-02 23:30:54 +00:00
Nick Mathewson
25a9bc594f
Finish missing comment :p
...
svn:r1444
2004-04-02 23:04:10 +00:00
Nick Mathewson
08d748b6b3
Implement rennd_services_init
...
svn:r1443
2004-04-02 23:01:00 +00:00
Roger Dingledine
fc3d7383e7
router_choose_random_node can take a smartlist of nodes to exclude
...
svn:r1442
2004-04-02 22:30:39 +00:00
Roger Dingledine
f34e6da3e7
now circuit_get_newest returns an appropriate circ for your purpose
...
connection_ap_handshake_attach_circuit attaches to a circ of the
right purpose
add a skeletal rendclient.c
svn:r1441
2004-04-02 22:23:15 +00:00
Nick Mathewson
4cb21bab48
Make preferred/excluded intro points configurable
...
svn:r1440
2004-04-02 22:06:46 +00:00
Nick Mathewson
a981c4099a
Implement midpoint functionality for rendezvous points.
...
svn:r1439
2004-04-02 21:56:52 +00:00
Nick Mathewson
79fc52170e
For hidden services: handle INTRODUCE2, send ESTABLISH_INTRO, RENDEZVOUS1.
...
Also:
- Add a pending final cpath element to build_state
- Rename S_RENDEZVOUSING to S_CONNECT_REND
- Add [CS]_REND_JOINED
- Split out logic to initialize cpath crypto objects.
- Have circuits/cpaths remember the KH element from their handshake, so they
can use it for other authentication later. (As in ESTABLISH_INTRO)
svn:r1438
2004-04-01 22:21:01 +00:00
Nick Mathewson
6b958494f3
refactor to use new digest/checksig wrapper, add emacs magic, untabify
...
svn:r1437
2004-04-01 22:12:00 +00:00
Nick Mathewson
cbbd13f789
Add new functions to wrap digest and sign/checksig.
...
svn:r1436
2004-04-01 22:10:33 +00:00
Roger Dingledine
64cb3a027f
teach directory servers to handle renddesc responses
...
svn:r1434
2004-04-01 21:32:01 +00:00
Roger Dingledine
05b99bcf7d
alice chooses her rendezvous node from all running routers
...
and she can set preferences in her options
svn:r1433
2004-04-01 20:33:29 +00:00
Nick Mathewson
103b8ead40
Finish implementing what-bob-does-on-INTRODUCE2
...
svn:r1432
2004-04-01 20:05:57 +00:00
Roger Dingledine
f05937355e
teach alice to recognize y.onion addresses
...
svn:r1430
2004-04-01 19:39:11 +00:00
Nick Mathewson
7993382ba1
Add some hooks to handle rendezvous-related cells at ORs
...
svn:r1429
2004-04-01 04:07:09 +00:00
Roger Dingledine
cc3c4245cb
let the circuit-launcher choose the exit node (if he wants)
...
svn:r1428
2004-04-01 03:44:49 +00:00
Nick Mathewson
9feb44d3c4
Make it compile.
...
svn:r1427
2004-04-01 03:43:54 +00:00
Nick Mathewson
c671b10695
Add a (also fragmentary) function to handle introduction requests
...
svn:r1426
2004-04-01 03:34:05 +00:00
Roger Dingledine
d01497cf3c
outline what bob does to initialize his hidden services
...
let circuit_launch_new return the circ it just made
svn:r1424
2004-04-01 03:23:28 +00:00
Nick Mathewson
35f531b94f
Add helpful hybrid encryption functions
...
svn:r1423
2004-04-01 03:08:35 +00:00
Roger Dingledine
36ff23209b
let alice recognize a y.onion address and, uhm, do something
...
svn:r1422
2004-04-01 02:41:41 +00:00
Roger Dingledine
d13857a3f0
put in hooks for alice and bob logic when circuits finish/fail
...
let you specify the purpose of circuits you launch
bugfix: we used to be declaring the first successful circuit too early -- when the first hop finished. now we're more accurate.
svn:r1421
2004-04-01 01:57:22 +00:00
Nick Mathewson
6d8be5e6f6
Add relay command types for rendezvous
...
svn:r1419
2004-04-01 01:11:28 +00:00
Roger Dingledine
ee45ae575d
allow conns to demand to be attached to a clean circuit
...
(nobody uses this yet)
svn:r1417
2004-03-31 23:06:16 +00:00
Roger Dingledine
a0b0d16981
Add an ap_bridge function to do a socketpair and skip socks.
...
This allows us to do a directory connection *through* tor just
as if we're doing it as an application.
Make ap_conns tolerate it when the application sends stuff before
The socks handshake is done (it just buffers it).
Tell directory_initiate_command the length of the payload (because
it might include nuls).
Add a directory_has_arrived function to, for example, start building
the rendezvous service descriptor.
svn:r1412
2004-03-31 22:02:13 +00:00
Nick Mathewson
28adda81e6
Add missing file
...
svn:r1411
2004-03-31 21:54:56 +00:00
Nick Mathewson
bf83b1e345
Add code to configure hidden services, parse configuration, generate keys and service IDs, and store/load them from disk
...
svn:r1410
2004-03-31 21:35:23 +00:00
Nick Mathewson
157cd7fe15
Fix warning
...
svn:r1409
2004-03-31 20:58:35 +00:00
Roger Dingledine
b4a61d1ab1
better way: always nul-terminate. then sometimes use it, sometimes not.
...
svn:r1408
2004-03-31 05:10:34 +00:00
Roger Dingledine
87dbd36a3c
let fetch_from_buf_http tolerate nuls in the http body
...
teach directory.c about which places it needs to nul-terminate
body before it uses it, and which places it must not
svn:r1407
2004-03-31 05:01:30 +00:00
Nick Mathewson
8fedefe6cb
rename hidserv_xx
...
svn:r1406
2004-03-31 04:10:10 +00:00
Nick Mathewson
b32440a028
Implement hidserv_XX functions; there is still an XXX in directory_handle_command
...
svn:r1404
2004-03-31 03:42:56 +00:00
Nick Mathewson
6ea61d5e0d
Parse and generate service descriptors
...
svn:r1403
2004-03-31 02:07:38 +00:00
Roger Dingledine
670aeb6c8d
add and use stubs for hidserv lookup and store
...
svn:r1402
2004-03-30 23:41:24 +00:00
Nick Mathewson
93ab51e9ac
Make smartlist Do What Arma Expects.
...
svn:r1401
2004-03-30 22:59:00 +00:00
Roger Dingledine
2d3ac08633
Refactor directory servers
...
* read all the time (before we would ignore eof sometimes, oops)
* we can handle different urls now
* send back 404 for an un-handled url
* commands initiated by the client can handle payloads now
* introduce conn->purpose to avoid exponential state-space explosion
svn:r1400
2004-03-30 22:57:49 +00:00
Nick Mathewson
96a86ef14d
Remove maximum-size field from smartlists
...
svn:r1397
2004-03-30 20:05:52 +00:00
Nick Mathewson
0ba9ab5fb0
Add rendezvous-related metadata and code to circuits. Initially, we
...
thought that a complicated adjunct structure would be necessary, but
it doesn't look that way anymore.
Of course, I might have forgotten something.
svn:r1396
2004-03-30 19:52:42 +00:00
Nick Mathewson
6ea95488d2
Add more key manipulation functions, and base32 functions, to crypto
...
svn:r1395
2004-03-30 19:47:32 +00:00
Roger Dingledine
524312494b
use 'notice' loglevel for things the operator should hear
...
but that aren't warnings
svn:r1384
2004-03-30 03:15:53 +00:00
Roger Dingledine
f796957182
don't freak people out as much with the warning message
...
svn:r1378
2004-03-30 00:06:59 +00:00
Roger Dingledine
c09b185f03
re-enable recommendedversion checking (oops, thanks weasel)
...
svn:r1376
2004-03-30 00:02:52 +00:00
Roger Dingledine
83c88c55fd
old or skewed descriptor doesn't mean we failed to parse it
...
svn:r1373
2004-03-29 23:23:01 +00:00
Roger Dingledine
ce08baba1b
refactor directories a smidgen
...
svn:r1371
2004-03-29 22:18:05 +00:00
Roger Dingledine
9723061dd9
first guess at a set of circuit purposes
...
svn:r1370
2004-03-29 22:14:19 +00:00
Roger Dingledine
bcda3ebaef
bugfix: we were closing socks-request connections immediately, rather
...
than flushing them, if they were timing out before we marked them
svn:r1366
2004-03-29 20:04:09 +00:00
Roger Dingledine
7118c6177d
clean up a few more bugs
...
svn:r1365
2004-03-29 19:57:50 +00:00
Roger Dingledine
155c777a84
fix typo
...
svn:r1364
2004-03-29 19:53:53 +00:00
Roger Dingledine
0edf0ea7cc
make normal exit nodes less likely to crash from the conn-munging bug
...
but leave dirservers just as likely to crash
svn:r1363
2004-03-29 19:51:39 +00:00
Nick Mathewson
6a79b1cb57
Re-enable unit tests for directory generation.
...
svn:r1362
2004-03-29 19:50:59 +00:00
Nick Mathewson
0e6084d751
Remove descriptors that are older than 24 hours from the directory. Use strlcat instead of strncat to generate directories.
...
svn:r1361
2004-03-29 19:28:16 +00:00
Nick Mathewson
47b9d4439a
Possible fix for c99 aliasing warnings
...
svn:r1360
2004-03-29 06:18:04 +00:00
Roger Dingledine
8c3999c964
make it less noisy for normal ORs when a server uses a false nickname
...
svn:r1359
2004-03-28 21:35:02 +00:00
Roger Dingledine
4a5586b8e3
make dns resolves a lot faster
...
(but only enable this once we've found the bug)
svn:r1358
2004-03-28 21:16:52 +00:00
Roger Dingledine
2ba9901cb4
oh, i forgot to enable the find-munged-conn function
...
svn:r1357
2004-03-28 21:14:05 +00:00
Roger Dingledine
e6a2e03524
hold socks reply open until flushed (if possible)
...
svn:r1356
2004-03-28 09:48:21 +00:00
Roger Dingledine
f241fdfc73
there is yet another dns-pending-conn-clobbering bug
...
somewhere
svn:r1354
2004-03-28 04:54:36 +00:00
Roger Dingledine
56dfc3151f
work around a tsocks bug
...
when an AP connection dies early, be sure to do a socks reject
for it. if you just hang up, tsocks goes into an infinite loop.
svn:r1352
2004-03-27 05:45:52 +00:00
Roger Dingledine
9ab5f3c067
fix an assert trigger where an OP would fail to handshake, and we'd
...
expect it to have a nickname.
svn:r1351
2004-03-27 01:28:14 +00:00
Roger Dingledine
47b40de0aa
only build circuits after we've fetched the directory
...
this resolves a subtle bug where tor clients were preferentially using
the directory servers, since when they start building circuits they
know only about the directory servers
on the other hand, it now takes longer after startup before there's
a working circuit. so it goes.
svn:r1350
2004-03-27 00:15:09 +00:00
Roger Dingledine
f2a692081f
make it less noisy to consider exit policies
...
svn:r1349
2004-03-27 00:13:27 +00:00
Roger Dingledine
32e268c61b
oops, 0.0.4 is more broken than 0.0.3
...
maybe this will fix it
svn:r1347
2004-03-26 23:37:13 +00:00
Roger Dingledine
45699bb5ee
clean up some 'warn' messages while i'm at it
...
svn:r1342
2004-03-26 22:28:16 +00:00
Roger Dingledine
9c69f14a49
fix two assert triggers (darn it, I hate releasing software)
...
when connecting to a dirserver or OR and the network is down,
we would crash.
svn:r1340
2004-03-26 22:07:45 +00:00
Roger Dingledine
4d747cd954
a missing comma could wreak all sorts of havoc.
...
svn:r1335
2004-03-26 18:29:05 +00:00
Nick Mathewson
d44e3ad809
Remove unused open circuits when there are too many, not when they are too old.
...
svn:r1332
2004-03-21 06:33:57 +00:00
Nick Mathewson
b3f6b55ea1
Dont expire circuits we didnt originate. This may be redundant somehow, but better safe than sorry.
...
svn:r1331
2004-03-21 05:01:06 +00:00
Nick Mathewson
f608b85ddf
Replace all connection_removes outsice of main.c with connection_mark_for_close
...
svn:r1328
2004-03-21 03:18:45 +00:00
Nick Mathewson
b7c2b18bd6
Add a RunTesting option to try to learn link state by creating test circuits, even when SocksPort is off.
...
svn:r1327
2004-03-21 03:03:10 +00:00
Roger Dingledine
3d2c6c7cfa
catch signals in a more portable way, so solaris can catch them too
...
svn:r1324
2004-03-20 23:27:22 +00:00
Roger Dingledine
ed0ef86c0e
make OR not crash when non-OR connection dies
...
svn:r1319
2004-03-20 20:37:49 +00:00
Roger Dingledine
568a4e0a04
warn and fail if server chose a nickname with illegal characters
...
svn:r1318
2004-03-20 20:28:53 +00:00
Roger Dingledine
4f0bad280d
make servers not crash when they rep-hist-note circuits that don't start at them
...
svn:r1317
2004-03-20 20:21:20 +00:00
Roger Dingledine
66f878513f
deal with hardware word alignment
...
this was causing the seg faults on sparc processors
i wonder if i got them all.
svn:r1314
2004-03-20 09:30:30 +00:00
Nick Mathewson
2ba2f02181
Integrate the new "rephist" [rep(utation) hist(ory)] module to trace
...
successful/failed connections, successful/failed extends, and
connection uptimes.
It's still not done: more tests are needed, and not everything calls
connection/circuit_mark_for_close properly. This skews the results.
Also, there needs to be a 'testing' mode for non-OP ORs, where they
periodically build circuits just to test whether extends work.
svn:r1313
2004-03-20 04:59:29 +00:00
Nick Mathewson
da9d5ccfda
Add initial history-tracking backend code for reputation module. Not called or tested yet.
...
svn:r1310
2004-03-20 01:48:05 +00:00
Nick Mathewson
b0ef4e1143
Use strmap code for client DNS.
...
svn:r1309
2004-03-20 01:21:19 +00:00
Nick Mathewson
9199696182
Add some wrappers around SPLAY_* for the common map-from-string-to-X case.
...
It will probably be less blindingly fast than using SPLAY_* directly, but
only slightly so.
svn:r1306
2004-03-19 22:07:24 +00:00
Roger Dingledine
c195f69058
isspace and friends take an int. solaris cares.
...
svn:r1303
2004-03-19 20:50:12 +00:00
Roger Dingledine
208625ae31
clean up some presentation and comments
...
svn:r1294
2004-03-18 19:22:56 +00:00
Roger Dingledine
a346889e94
make directory format tests quiet again
...
svn:r1287
2004-03-15 05:13:25 +00:00
Roger Dingledine
0b9c140102
make it warn about internal IPs not only if we had to guess,
...
but also if they used a hostname rather than an IP
svn:r1285
2004-03-15 04:57:24 +00:00
Roger Dingledine
70cc557a18
only complain about private IPs if we had to guess
...
svn:r1279
2004-03-15 04:04:16 +00:00
Roger Dingledine
be18884765
and another one
...
svn:r1278
2004-03-15 04:00:14 +00:00
Roger Dingledine
fdc5751c60
bugfix: address that strcat vulnerability in circuit.c
...
svn:r1273
2004-03-14 22:47:11 +00:00
Roger Dingledine
5d41346b67
prevent servers from publishing an internal IP as their address
...
svn:r1272
2004-03-14 18:12:59 +00:00
Roger Dingledine
74ef3a63ae
bugfix: decrement OR connections from global_bucket too
...
bugfix: don't return immediately for has_pending_tls_data unless
the conn is allowed to read
svn:r1270
2004-03-14 17:06:29 +00:00
Roger Dingledine
703b2d3cf8
refactor bandwidth-control token buckets
...
this is a checkpoint commit; there still remain some
bugs, er, somewhere.
svn:r1269
2004-03-14 16:00:52 +00:00
Roger Dingledine
1ae45b771e
don't close all the fd's when you spawn a thread, only when you fork
...
svn:r1267
2004-03-12 21:52:15 +00:00
Roger Dingledine
965a73dc71
bugfix: we were caching transient dns failures
...
svn:r1266
2004-03-12 18:45:42 +00:00
Roger Dingledine
87797bcde5
get rid of those pesky tabs
...
svn:r1264
2004-03-12 13:00:34 +00:00
Roger Dingledine
6af8d0606f
inform unapproved servers when we reject their descriptors
...
svn:r1263
2004-03-12 12:43:13 +00:00
Roger Dingledine
623cb0e311
more details when a conn is closed before it's done flushing
...
svn:r1262
2004-03-12 08:16:48 +00:00
Roger Dingledine
52e813951a
start tracking the 'broken pipe' error
...
svn:r1261
2004-03-11 20:15:53 +00:00
Nick Mathewson
976bacae94
Make all the other read/writes into recv/sends, except when they shouldn't be.
...
svn:r1260
2004-03-11 06:35:03 +00:00
Nick Mathewson
060d721554
UnDOSify CRLF->LF.
...
svn:r1259
2004-03-11 06:22:53 +00:00
Nick Mathewson
9b4203266e
Make OP work on windows! (Also misc logging tweaks)
...
svn:r1258
2004-03-11 06:19:08 +00:00
Nick Mathewson
59e2c77824
Get entropy in windows.
...
svn:r1257
2004-03-11 05:14:06 +00:00
Roger Dingledine
8e4f1f67fa
actually, if recommendedversions is required for dirservers,
...
then require it.
svn:r1253
2004-03-10 07:44:31 +00:00
Roger Dingledine
3ba392e69f
give a useful error message to clients when the dirserver hasn't
...
defined any recommended versions
svn:r1252
2004-03-10 07:02:56 +00:00
Nick Mathewson
d877aac5ad
Make windows version correct; initialize windows foolishness so that gethostbyname works.
...
svn:r1250
2004-03-10 06:26:38 +00:00
Nick Mathewson
c230132562
Fix some bugs in parse_time
...
svn:r1249
2004-03-09 22:17:35 +00:00
Nick Mathewson
0e5a134709
Fix DOS line endings; autoconfize checks for strptime and inet_aton
...
svn:r1248
2004-03-09 22:09:13 +00:00
Nick Mathewson
2da54de968
Make tor build on windows again. More work still needed
...
svn:r1247
2004-03-09 22:01:17 +00:00
Roger Dingledine
30969421d3
stop troubling router operators with unapproved router connect attempts
...
but give the dirserver operator more information
svn:r1246
2004-03-09 14:53:00 +00:00
Roger Dingledine
416993afc1
bugfix: only set conn->hold_open_until_flushed after marking
...
svn:r1245
2004-03-08 01:19:57 +00:00
Roger Dingledine
6e22801e0f
when you get a desc from an unknown router, log its fingerprint
...
svn:r1244
2004-03-08 00:15:40 +00:00
Roger Dingledine
0ab367ed91
re-try streams at most 4 times
...
svn:r1242
2004-03-07 23:50:15 +00:00
Roger Dingledine
10cee8b7f7
fix a rare race condition: when we send a cell and then
...
mark an OR connection expired, we might close it before
finishing a flush if the other side isn't reading.
svn:r1240
2004-03-06 06:05:00 +00:00
Roger Dingledine
516ef41ac1
if a stream times out after 15s without a connected cell,
...
don't try that circuit again.
svn:r1239
2004-03-06 05:10:07 +00:00
Roger Dingledine
c362ed877d
if the directory client hangs up before getting the directory,
...
then give up on him
svn:r1238
2004-03-06 05:09:33 +00:00
Roger Dingledine
6c9d78b319
stop asserting that computers always go forward in time
...
it's simply not true
svn:r1236
2004-03-06 01:43:37 +00:00
Nick Mathewson
1e5b7bc6f1
New, more flexible directory parsing backend. Uses a bit more RAM, but implements the new spec. Uses more RAM, but not so you would notice.
...
svn:r1235
2004-03-05 05:48:28 +00:00
Roger Dingledine
01e06148a1
make workers explain their death better when tor dies
...
and make them say it at log level info rather than err
svn:r1232
2004-03-04 21:26:23 +00:00
Roger Dingledine
8fe504fee6
bugfix: don't pass complex things to the connection_mark_for_close macro
...
svn:r1231
2004-03-04 20:49:38 +00:00
Nick Mathewson
c03e9206ae
Clean up dns->connection_mark_for_close->dns_remove path
...
svn:r1230
2004-03-04 18:43:44 +00:00
Roger Dingledine
89d9d80e76
Store options->Address as IP, not hostname
...
And figure it out while reading config, not every time you
rebuild the descriptor
svn:r1226
2004-03-04 01:53:56 +00:00
Nick Mathewson
b7633e2e67
Try to find out early if buffers get trashed or double-freed.
...
svn:r1225
2004-03-03 22:49:15 +00:00
Roger Dingledine
5e2e6555a2
and a minor patch
...
svn:r1215
2004-03-03 08:48:32 +00:00
Roger Dingledine
419a672222
holding until flush was borked
...
we were never writing anything when hold_open_until_flushed was set,
since conn_write returns early if marked_for_conn is set.
seems a bit better now.
svn:r1214
2004-03-03 08:46:18 +00:00
Roger Dingledine
6022bfea11
better debugging for lonely flushes
...
svn:r1213
2004-03-03 07:26:58 +00:00
Roger Dingledine
d8e5f3a3a2
close immediately when write() fails too, else things will turn bad
...
svn:r1212
2004-03-03 07:26:34 +00:00
Roger Dingledine
dbdd2eaa2a
don't mark_for_close again when the destroy arrives after the end cell
...
svn:r1211
2004-03-03 07:24:53 +00:00
Roger Dingledine
3c71d09402
use conn->hold_open_until_flushed for streams
...
and also note/fix a variety of other stream-based bugs
svn:r1210
2004-03-03 06:26:34 +00:00
Nick Mathewson
f4e4dac801
Implement hold_open_until_flushed. I may have missed something important.
...
svn:r1209
2004-03-03 05:08:01 +00:00
Roger Dingledine
8275e2302c
make socks5 not give a spurious warning
...
also rename AP_CONN_STATE_CONNECTING to _CONNECT_WAIT
svn:r1208
2004-03-03 04:54:16 +00:00
Roger Dingledine
77bb3e054e
reenable part of assert_circuit_ok, leave some still disabled
...
svn:r1207
2004-03-03 04:11:18 +00:00
Roger Dingledine
de146de0c5
make circuit-building less noisy when a node in your exclude/exit/entrynodes is down
...
svn:r1206
2004-03-03 03:02:06 +00:00
Nick Mathewson
20ecb66c7d
Fix (maybe) assert_circuit_ok. leave it disabled till arma confirms
...
svn:r1205
2004-03-03 02:24:17 +00:00
Nick Mathewson
5a053a6a81
remove redundant check
...
svn:r1204
2004-03-03 02:14:35 +00:00
Nick Mathewson
6379dbbe2a
warn more when losing data on closed/marked connections.
...
svn:r1203
2004-03-03 02:07:57 +00:00
Roger Dingledine
49281424ae
bugfix: close_immediate called buf_clear but listeners don't have bufs
...
svn:r1202
2004-03-03 01:58:45 +00:00
Nick Mathewson
5985aef18a
Nth time is the charm on list manip.
...
svn:r1201
2004-03-03 01:37:54 +00:00
Roger Dingledine
4f6cf727b9
fix a pair of lurking segfaults
...
svn:r1198
2004-03-02 18:08:07 +00:00
Nick Mathewson
6f3c6d1289
Split out mark_for_close with circuits. Seems to work for me.
...
svn:r1197
2004-03-02 17:48:17 +00:00
Nick Mathewson
a1e4c6dc85
Fix assertion failure spotted by arma.
...
Apparently, when a DNS failure was already cached, then when we tried
to mark the exit connection as closed, we'd try to remove it from the
pending queue anyway, and hit an assert. Now, we put failed-resolve
connections in a separate state so that mark_for_close does the right
thing.
svn:r1196
2004-03-02 07:24:11 +00:00
Roger Dingledine
b961732246
add --version, note that --help is probably obsolete
...
svn:r1195
2004-03-02 05:19:01 +00:00
Roger Dingledine
1147289dc0
make config_assign fail rather than warn for unrecognized config options
...
svn:r1194
2004-03-02 05:00:50 +00:00
Roger Dingledine
f81ad1550e
note an assert trigger bug
...
nick, want to fix this? :)
svn:r1192
2004-03-01 12:37:45 +00:00
Nick Mathewson
5072488a95
make 'make test' exit(1) if a test fails.
...
svn:r1190
2004-03-01 06:45:32 +00:00
Roger Dingledine
2c341cd032
put switch_id and start_daemon earlier
...
svn:r1188
2004-02-29 22:34:38 +00:00
Roger Dingledine
e2881631cf
fix duplicate call to connection_mark_for_close
...
svn:r1187
2004-02-29 22:07:44 +00:00
Roger Dingledine
2ac37c64f2
bugfix: we were checking the wrong thing to see if 'reason'
...
was out of range
svn:r1186
2004-02-29 22:04:52 +00:00
Roger Dingledine
8e5c1921fc
when a stream is 15s late, print out the circuit at -l warn
...
svn:r1180
2004-02-29 09:15:29 +00:00
Roger Dingledine
ef5f917e9e
print a statement when the first circ is finished,
...
so the user knows it's working
svn:r1179
2004-02-29 03:52:38 +00:00
Roger Dingledine
4716d4d871
bugfix: only warn about an unrouter router after we've fetched a directory
...
svn:r1178
2004-02-29 01:31:33 +00:00
Roger Dingledine
b4338ce704
disable buffer tests, until we rewrite them (one of them fails)
...
svn:r1177
2004-02-29 00:15:20 +00:00
Roger Dingledine
195ee8c845
create a separate connection_edge_destroy() function
...
svn:r1176
2004-02-29 00:11:37 +00:00
Roger Dingledine
62d3df8633
bugfix: when we time out on a stream and detach, send an end first
...
svn:r1175
2004-02-28 23:56:50 +00:00
Roger Dingledine
ae67c48805
bugfix: in some cases, connection_mark_for_close wasn't marking the conn
...
svn:r1174
2004-02-28 23:52:56 +00:00
Roger Dingledine
3fb9c869a8
clearer warning message
...
svn:r1173
2004-02-28 23:31:15 +00:00
Roger Dingledine
c058f87513
disallow changing from ORPort==0 to ORPort>0 on hup
...
svn:r1172
2004-02-28 23:30:41 +00:00
Roger Dingledine
928db6dadc
cwd to datadir if it's defined, rather than /
...
this way people can get cores if they want to
svn:r1171
2004-02-28 23:23:06 +00:00
Roger Dingledine
5701cc2359
fix the function comment
...
svn:r1169
2004-02-28 22:34:47 +00:00
Nick Mathewson
0a673f4491
Split dns_cancel_pending_resolve into dns_cancel_pending_resolve (kill a
...
resolve in response to a DNS worker dying) and connection_dns_remove (remove
a pending connection from the resolve structure.)
svn:r1168
2004-02-28 22:23:44 +00:00
Roger Dingledine
9a55700747
add a log_warn to notify us of yet another potential dns.c bug
...
svn:r1167
2004-02-28 22:13:58 +00:00
Nick Mathewson
833d14246d
Make dns_cancel_pending_resolve less agressive.
...
svn:r1166
2004-02-28 22:06:59 +00:00
Nick Mathewson
55174d1cb0
Fix bug on dns_found_answer from mark_to_close stuff.
...
svn:r1165
2004-02-28 21:52:58 +00:00
Roger Dingledine
fadfd26188
remove assert from dns.c that's no longer true:
...
typically the resolve will be pending, but it could be failed if it
just failed and we're working through the 'pending' list, or it could
be valid if some other dnsworker raced us to fill in the entry.
svn:r1164
2004-02-28 21:49:10 +00:00
Nick Mathewson
f039eca658
Stop trying to flush on broken sockets marked for close.
...
svn:r1163
2004-02-28 19:14:11 +00:00
Roger Dingledine
80410fa8dc
some comments to point nick at the latest bugs
...
svn:r1162
2004-02-28 11:48:22 +00:00
Roger Dingledine
cec2eee533
enable assert_connection_ok()
...
we weren't actually asserting much. oops.
svn:r1160
2004-02-28 07:51:30 +00:00
Roger Dingledine
70c43e152a
note bug in assert_connection_ok
...
svn:r1159
2004-02-28 07:48:28 +00:00
Roger Dingledine
dd632e697e
clean up some log messages and severities
...
still plenty more left to clean
svn:r1158
2004-02-28 07:01:22 +00:00
Roger Dingledine
a24b6e6d4f
make flush_buf have a sane return convention
...
svn:r1157
2004-02-28 05:22:07 +00:00
Roger Dingledine
b354ecfecd
rename ExcludedNodes config option to ExcludeNodes
...
svn:r1155
2004-02-28 05:09:37 +00:00
Roger Dingledine
3a1a6bb09e
if a relay cell is unrecognized at the end of the circuit,
...
send back a destroy
svn:r1153
2004-02-28 04:48:46 +00:00
Roger Dingledine
e59f19ca03
some more small fixes
...
svn:r1152
2004-02-28 04:44:48 +00:00
Nick Mathewson
b4a7883c90
make code more readable; arrbitrarily change a -1 to a 0.
...
svn:r1151
2004-02-28 04:34:27 +00:00
Nick Mathewson
ee68371f41
Stop answering "end" with "end"
...
svn:r1150
2004-02-28 04:25:54 +00:00
Nick Mathewson
4e89c6661a
Push responsibility for connection marking down as far as possible; have only a close path; add some missing end cells; change return conventions a little.
...
svn:r1149
2004-02-28 04:11:53 +00:00
Nick Mathewson
88e222ff76
Make has_sent_end irrelevant: only try to send end if reason is nonzero
...
svn:r1148
2004-02-28 03:06:31 +00:00
Roger Dingledine
d0ad9b147a
and another one
...
svn:r1147
2004-02-27 23:30:27 +00:00
Roger Dingledine
611f117ce1
patches/answers to nick's commit
...
svn:r1146
2004-02-27 23:23:33 +00:00
Nick Mathewson
c5bbb571d2
Refactor mark_for_close, connection_edge_end and friends. Now, everybody
...
who wants to shut down a connection calls connection_mark_for_close instead
of setting marked_for_close to 1. This automatically removes the connection
from the DNS cache if needed, sends a RELAY END cell if appropriate, and can
be changed to do whatever else is needed.
Still to do:
- The same for circuits, maybe.
- Add some kind of hold_connection_open_until_flushed flag, maybe.
- Change stuff that closes connections with return -1 to use mark_for_close,
maybe.
svn:r1145
2004-02-27 22:00:26 +00:00
Roger Dingledine
737b2a0bf1
make 'connected' cells include the resolved IP
...
svn:r1143
2004-02-27 04:52:02 +00:00
Roger Dingledine
195dfd35a8
Fix a bug where you might flush some data on a tls connection, and then
...
add some more data to be flushed but never turn POLLOUT on. not sure
how commonly this bug was hit, but it would be a doozy.
Also add some asserts to see if it happens elsewhere.
svn:r1142
2004-02-27 04:42:14 +00:00
Roger Dingledine
1b3c197fad
clean up an ia64 warning
...
svn:r1140
2004-02-27 01:59:36 +00:00
Peter Palfrader
1bc2384c5a
Give the nice message about not being an HTTP proxy an <h1> headline
...
svn:r1139
2004-02-27 01:33:02 +00:00
Roger Dingledine
d3e9afda27
When it can't resolve any dirservers, it was useless from then on.
...
Now it reloads the RouterFile (or default dirservers) if it has no
dirservers.
svn:r1130
2004-02-26 22:56:36 +00:00
Roger Dingledine
4c48359ece
break out the operations done on sighup into their own function
...
svn:r1129
2004-02-26 22:30:44 +00:00
Roger Dingledine
43156904ce
dump a new router.desc on hup
...
svn:r1128
2004-02-26 22:20:00 +00:00
Roger Dingledine
2c74f19d7e
writing html in C strings sucks
...
svn:r1127
2004-02-26 22:10:55 +00:00
Roger Dingledine
8f2b429a3b
when they use tor as an http proxy, give them an http 501 failure
...
svn:r1126
2004-02-26 22:02:22 +00:00
Roger Dingledine
0b27ae0c2d
if the default torrc isn't there, just use some default defaults
...
plus provide an internal dirservers file if they don't have one
having no config files will make it easier to run on windows
svn:r1124
2004-02-26 21:25:51 +00:00
Nick Mathewson
496e414e52
Basic RAM poisoning and magic-checking to notice connection and circuit
...
corruption faster; also, check for corruption in dns.c so we can fail fast
for the bug that's nailing Lucky and moria3.
svn:r1123
2004-02-25 07:31:46 +00:00
Roger Dingledine
1b25794a56
bugfix: if the exit stream is pending on the resolve, and a destroy
...
arrives, then the stream wasn't getting removed from the pending list.
this may have been the lucky-bug.
this commit may also not actually fix the bug. it's darn hard to
reproduce.
svn:r1122
2004-02-25 06:57:57 +00:00
Roger Dingledine
8da2e00a83
remove dead code
...
svn:r1121
2004-02-25 06:56:11 +00:00
Roger Dingledine
01e7b8638d
move the tor program back to usr/bin/
...
svn:r1119
2004-02-25 06:41:21 +00:00
Roger Dingledine
7985f525ec
fix some bugs in assert_connection_ok
...
svn:r1118
2004-02-24 22:33:30 +00:00
Roger Dingledine
598f8b5661
start hunting the lucky-bug
...
svn:r1116
2004-02-22 20:50:20 +00:00
Nick Mathewson
67a273962a
On OSX, decline to use the built-in select-baed poll wrapper, since it seems to sometimes not work.
...
svn:r1114
2004-02-20 23:41:45 +00:00
Roger Dingledine
67c0c64aa4
go back to a single exitpolicy parameter
...
if your exitpolicy includes " *:*" then it is final,
else we append the default exit policy.
(thanks weasel)
svn:r1105
2004-02-18 07:23:38 +00:00
Roger Dingledine
4e178907ab
allow imaps and pop3s in default exit policy
...
svn:r1104
2004-02-18 04:02:05 +00:00
Roger Dingledine
7562a62ef0
Get rid of the notion of a separate default default exit policy.
...
Create ExitPolicyPrepend config parameter, to customize the default
exit policy.
svn:r1103
2004-02-18 03:56:12 +00:00
Roger Dingledine
3456adec31
adding the reattach-after-timeout feature wasn't so easy after all.
...
maybe it works now.
svn:r1101
2004-02-18 01:21:20 +00:00
Roger Dingledine
39efb0ed52
retry streams where the connected cell hasn't arrived in 15 seconds
...
svn:r1100
2004-02-17 21:07:15 +00:00
Nick Mathewson
72568d2620
Another case of the same.
...
svn:r1099
2004-02-17 08:52:57 +00:00
Nick Mathewson
bab6c0a332
Fix the Big Bug in router_compare_addr_to_exit_policy: we used port 0
...
to mean "unknown port". But no exit policy supports (nonexistant)
port 0, except accept *:*, and we had no special handling for 'unknown port'.
Now we do.
svn:r1098
2004-02-17 08:52:03 +00:00
Roger Dingledine
46ffc5984d
best_support_idx is obsolete
...
(also doesn't fix the bug)
svn:r1097
2004-02-17 08:42:25 +00:00
Nick Mathewson
bd14023afd
Propagate yes/no/maybe a little farther forward.
...
svn:r1096
2004-02-17 08:29:22 +00:00
Roger Dingledine
d081d1d061
make braces cleaner, bug still persists
...
svn:r1095
2004-02-17 08:10:07 +00:00
Nick Mathewson
61756b5893
Fix router_compare_addr_to_exit_policy, and name its return codes. The bug was: "maybe reject,accept" should be "maybe", not "accept".
...
svn:r1093
2004-02-17 07:56:33 +00:00
Roger Dingledine
d508a194f7
Let paranoid exit nodes (which default to reject) be exit nodes
...
Before we resolve the hostname, we don't know whether its IP will be accepted or rejected by the exit policy of each host. So we were only going with nodes that would certainly accept -- which
was just itys and poblano.
(This bug was hidden until now by the earlier port bug.)
(Actual bugfix pending on Nick's next commit, hopefully.)
svn:r1092
2004-02-17 07:45:44 +00:00
Roger Dingledine
1801bd7592
prevent picking middleman nodes as the last node in the circuit
...
svn:r1088
2004-02-17 06:39:20 +00:00
Roger Dingledine
a8d8b82662
install the 'tor' binary to usr/sbin by default
...
svn:r1082
2004-02-17 04:48:01 +00:00
Nick Mathewson
17adfa9dfd
log when exit situation is hopeless.
...
svn:r1057
2004-02-04 22:35:58 +00:00
Roger Dingledine
f00dc6fe1e
last minute fix: don't early-flush non-tls streams
...
e.g., this breaks directory service
svn:r1033
2004-01-31 00:36:00 +00:00
Roger Dingledine
f6f9b1d94d
for perf testing, paths are always 3 hops, not "3 or more"
...
svn:r1030
2004-01-30 23:43:17 +00:00
Roger Dingledine
e05d39d1af
fix a per-circuit memory leak
...
svn:r1029
2004-01-30 21:32:40 +00:00
Nick Mathewson
a81435c64e
Another related leak
...
svn:r1028
2004-01-30 21:16:51 +00:00
Nick Mathewson
e4ad1f1629
Freeing twice does *not* make the heap twice as clean.
...
svn:r1027
2004-01-30 21:05:47 +00:00
Nick Mathewson
88b579dd33
Fix a bug that might have caused the leak, but which might have been hiding other bugs.
...
svn:r1026
2004-01-30 20:59:15 +00:00
Nick Mathewson
6c3f55526a
Fix possible (but unlikely) mem leak.
...
svn:r1025
2004-01-30 20:38:08 +00:00
Roger Dingledine
7651b09c8a
finally locate the memory leak,
...
plus commit a patch that doesn't fix it
(but doesn't hurt? i dunno)
svn:r1024
2004-01-30 20:33:04 +00:00
Roger Dingledine
afdaff63ef
turn some knobs, add more debugging
...
svn:r1023
2004-01-30 19:31:39 +00:00
Roger Dingledine
b42b16357f
note an assert trigger, if you use an old broken netscape socks4
...
svn:r1022
2004-01-30 15:15:11 +00:00
Roger Dingledine
deda0d93dd
Let AP edges receive 'end' relay cells while waiting for 'connected'
...
svn:r1012
2004-01-20 18:17:43 +00:00
Roger Dingledine
3516ae1a26
add an ap_conn connecting state; report connecting delay
...
svn:r1011
2004-01-20 09:21:46 +00:00
Roger Dingledine
61723a1f69
small default route when doing speed testing
...
svn:r1010
2004-01-20 03:12:46 +00:00
Roger Dingledine
f5ebf4c712
push out a tls record's worth of data once you've got it
...
svn:r1009
2004-01-20 02:14:51 +00:00
Roger Dingledine
585c2efe87
add TOR_PERF macro options
...
svn:r1008
2004-01-20 02:14:30 +00:00
Roger Dingledine
fb81a32c68
setuid to User _before_ complaining about running as root
...
svn:r1006
2004-01-19 06:12:32 +00:00
Roger Dingledine
522982f8e9
fix assert trigger in server
...
Jan 18 04:11:43.312 [warn] connection_edge_send_command(): no circ. Closing.
i think it was while sending a connected relay cell back.
reason for having the circ gone is still not known. presumably the end cell
arrived at just the right time.
svn:r1005
2004-01-19 04:58:39 +00:00
Roger Dingledine
561c6236af
fix some errors in logs and comments
...
svn:r999
2004-01-16 08:27:17 +00:00
Roger Dingledine
b669b1d57c
oh, and make it compile
...
still need to make a decision about per-connection rate limiting
(take it out? update it?)
svn:r984
2004-01-11 07:41:01 +00:00
Roger Dingledine
5086300815
split the token bucket into 'rate' and 'burst' params
...
we're not entirely migrated to burst yet, for backward compatibility
note some win32 probable-bugs
clean up routerlist.c
svn:r982
2004-01-10 23:40:38 +00:00
Roger Dingledine
db0c27b362
resolve cygwin warnings for pre19
...
svn:r981
2004-01-08 22:48:18 +00:00
Roger Dingledine
c485725c5a
Fix the dns bug: children weren't dying
...
We were telling a child to die by closing the parent's file descriptor
to him. But newer children were inheriting the open file descriptor from
the parent, and since they weren't closing them, the socket never closed,
so the child never read eof, so he never knew to exit.
As a side effect to this bug, we were probably failing to properly close
connections to remote hosts, ORs, and OPs, after a dns child was born.
I'm surprised Tor worked at all.
svn:r974
2004-01-06 07:53:40 +00:00
Roger Dingledine
d6ce65afd6
the onionskin challenge length was 30 bytes longer than necessary
...
(i think ;)
svn:r971
2004-01-05 05:23:03 +00:00
Roger Dingledine
607078cf70
print an entry at the top of the logfile so you know it's working
...
clean up a minor bug in a debugfile log entry
svn:r970
2004-01-05 05:22:04 +00:00
Nick Mathewson
cacacfe2b1
Integrate new daemon code, adapted from submission by christian grothoff
...
svn:r969
2004-01-03 22:40:49 +00:00
Roger Dingledine
53061b3778
fix endian issue: rh.integrity was getting sent wrong
...
now it's a char[4] rather than an int
svn:r966
2004-01-02 09:03:38 +00:00
Roger Dingledine
c2e37901be
stop a bug that straycat may have found
...
svn:r964
2004-01-01 07:01:09 +00:00
Roger Dingledine
8085235e5f
make loglevel info less noisy
...
svn:r961
2003-12-30 22:49:35 +00:00
Roger Dingledine
f3fdbadfdf
randomize the initial circ_id and stream_id, so an adversary who
...
breaks in part-way through can't learn how many circs/streams have
been made
svn:r960
2003-12-28 04:46:09 +00:00
Roger Dingledine
71739b486a
back out the insert-padding-if-conflict code
...
use recognized + digest instead, just assume it's enough bits
svn:r959
2003-12-26 06:29:57 +00:00
Roger Dingledine
43fcb70bad
checkpoint: revamp relay cell packaging and handling
...
include the infrastructure for inserting padding cells when there's
a relay-recognized conflict, but it does not work currently.
svn:r958
2003-12-23 07:45:31 +00:00
Roger Dingledine
55a94cd497
correct a warn message in mark_if_closed
...
svn:r956
2003-12-23 07:42:01 +00:00
Roger Dingledine
ad93c0a2bd
make sure there's no conflict when generating stream_ids
...
svn:r955
2003-12-19 21:25:44 +00:00
Roger Dingledine
a5e6ec244f
rename circ_id_t to uint16_t for code clarity
...
change message when using non-recommended tor version
svn:r954
2003-12-19 19:55:02 +00:00
Roger Dingledine
45a66c6955
make a relay_header_t struct and pack/unpack funcs
...
split 7-byte stream_id string into 2-byte recognized and 2-byte stream_id
fix two seg faults in fetch_from_buf_http
fix several lurking seg faults in handling unexpected relay cells
still need to
* clean up relay_crypt
* use relay dummies if there's going to be a conflict with rh.recognized
* check for a conflict when generating stream_ids
svn:r953
2003-12-19 05:09:51 +00:00
Roger Dingledine
6a19e64066
remove trailing whitespace
...
svn:r951
2003-12-17 21:09:31 +00:00
Roger Dingledine
5ecd6b6bad
make fetch_from_buf_http malloc its strings rather
...
than use fixed-size strings
reorganize directory_handle_command so it'll be easier to do more with
our directory servers
svn:r950
2003-12-17 09:42:28 +00:00
Roger Dingledine
4a1e05de51
betcha didn't know strncpy could leave an unterminated string
...
svn:r949
2003-12-17 09:20:29 +00:00
Roger Dingledine
aba237e3e2
end-to-end integrity checking now works
...
initialize digests from shared secrets at handshake
make circuit_send_next_onion_skin use connection_edge_send_command
svn:r948
2003-12-17 05:58:30 +00:00
Roger Dingledine
21cc01299b
infrastructure for integrity-checks in relay cells
...
make circuit_consider_sending_sendme use connection_edge_send_command
fix endian bug in relay length handling (maybe)
svn:r946
2003-12-16 22:56:50 +00:00
Roger Dingledine
4e50f79b11
resolve an edge case in get_unique_circ_id_by_conn
...
svn:r944
2003-12-16 20:45:10 +00:00
Roger Dingledine
8712a30e91
move cell size to 512 bytes
...
move length to 2 bytes, put it in the relay header
remove 4 reserved bytes in cell
add 4 bytes to relay header for the integrity check
svn:r942
2003-12-16 09:48:17 +00:00
Roger Dingledine
961ecf7abf
add H(K|1) to the onionskin reply
...
verify it at the client end
abstract the onionskin handshake lengths
breaks backward compatibility (again)
svn:r941
2003-12-16 08:21:58 +00:00
Nick Mathewson
7c439c30d0
Resolve format warnings on MacOS X 10.3
...
svn:r938
2003-12-16 05:33:11 +00:00
Nick Mathewson
4885e90490
Make compile warning-free on cygwin
...
svn:r936
2003-12-15 21:35:52 +00:00
Roger Dingledine
a5aa80cc41
make --debuglogfile (or any second log file) work
...
svn:r935
2003-12-14 09:58:43 +00:00
Roger Dingledine
08534a6271
start tracking the 'It appears I've already sent the end' warning
...
svn:r932
2003-12-14 08:32:14 +00:00
Roger Dingledine
0ea88d508d
oops, i broke buffers. fixed.
...
svn:r931
2003-12-14 08:15:41 +00:00
Roger Dingledine
f9bdb8a0da
document aborted attempt to merge client dns cache with server dns cache
...
svn:r930
2003-12-14 07:50:45 +00:00
Roger Dingledine
7d58bfbd50
change dns notation from question/answer to address/addr
...
svn:r929
2003-12-14 07:40:47 +00:00
Roger Dingledine
8f573c06c3
start to track the 'unexpected relay cell' warning
...
svn:r928
2003-12-14 06:50:44 +00:00
Roger Dingledine
36ea39ec9c
on hup, close and rebind listener ports too (in case their config has changed)
...
svn:r926
2003-12-14 06:03:46 +00:00
Roger Dingledine
50e17d633b
clean up some file-scope-global directory variables
...
svn:r925
2003-12-14 05:25:23 +00:00
Roger Dingledine
1096eae543
add options.ExcludedNodes -- nodes that are never picked in path building
...
svn:r924
2003-12-14 05:08:28 +00:00