Roger Dingledine
c25fbd2676
break routers.c into router.c for stuff the router does,
...
and routerlist.c for handling routerlist.
svn:r887
2003-12-06 05:54:04 +00:00
Roger Dingledine
e0952d0773
terminology shift:
...
directory is the string that dirserv.c and directory.c deal with
routerlist is routerinfo's that are bundled together in routers.c
rename some of the get_routerlist functions to set_routerlist
preparing to break into router.c for stuff the router does,
and routerlist.c for handling routerlist.
svn:r886
2003-12-05 09:51:49 +00:00
Roger Dingledine
4f2d556508
choose randomly from running dirservers, not always the first one
...
svn:r881
2003-12-03 10:39:27 +00:00
Roger Dingledine
63f81bddae
pick nodes for a circuit only from those the directory says are up
...
svn:r880
2003-12-03 10:28:51 +00:00
Roger Dingledine
f65e871bfd
bugfix in exit node choice: we used to find the perfect exit node but then use the wrong one.
...
bugfix in connection_ap_can_use_exit: it was using the wrong port
bugfix: the OP now handles a port of '*' correctly when the IP is not
yet known and it's trying to guess whether a router's exit policy
might accept it.
we now don't ever pick exit routers which will reject *:*
attach_circuit now fails a new stream outright if it will never work.
when you get an 'end' cell that resolves an IP, now it will fail the circuit outright if no safe exit nodes exist for that IP.
don't try building a new circuit after an 'end' if a suitable one is
already on the way.
svn:r874
2003-12-03 08:06:55 +00:00
Roger Dingledine
af4192b172
start tracking a rare bug: package_raw_inbuf gets called with package_window 0
...
Nov 25 22:39:18.294 [warn] connection_edge_package_raw_inbuf(): called with package_window 0. T
ell Roger.
svn:r870
2003-11-30 10:10:29 +00:00
Roger Dingledine
4565150db2
if you tell people that IgnoreVersion exists,
...
some of them will use it rather than upgrade.
svn:r852
2003-11-19 21:24:04 +00:00
Roger Dingledine
ac56486bf6
use the tor_malloc_zero wrapper
...
svn:r837
2003-11-18 08:20:19 +00:00
Nick Mathewson
366ba4a7c7
Always include newline with port section of exit policy
...
svn:r832
2003-11-18 06:51:29 +00:00
Nick Mathewson
44ced0952f
Fix bytesex issues on in.s_addr
...
svn:r826
2003-11-17 07:37:45 +00:00
Roger Dingledine
b5e84e24ae
dump exit policies correctly to descriptor
...
svn:r815
2003-11-16 17:15:40 +00:00
Roger Dingledine
fe856406be
initial patches on patches
...
svn:r814
2003-11-16 17:00:02 +00:00
Nick Mathewson
8a17d9e5d3
Finish implementing the rest of the exitpolicy stuff, except for automatically starting circuit builds.
...
svn:r813
2003-11-16 05:33:45 +00:00
Nick Mathewson
a8eaa79e03
Improved exit policy syntax; basic client-side DNS caching.
...
- Exit policies now support bitmasks (18.0.0.0/255.0.0.0) and bitcounts
18.0.0.0/8. Policies are parsed on startup, not when comparing to them.
- desired_path_len is now part of an opaque cpath_build_state_t structure.
- END_REASON_EXITPOLICY cells no longer include a port.
- RELAY_COMMAND_CONNECTED cells now include the IP address we've connected
to.
- connection_edge now has a client_dns cache to remember resolved addresses.
It gets populated by RELAY_COMMAND_CONNECTED cells and END_REASON_EXITPOLICY
cells. It gets used by connection_ap_handshake_send_begin. We don't
compare it to exit policies yet.
svn:r812
2003-11-14 20:45:47 +00:00
Roger Dingledine
f5829aa723
lay groundwork for EntryNodes and ExitNodes
...
svn:r805
2003-11-12 19:34:34 +00:00
Roger Dingledine
9c8a54a39f
more cleanups and bugfix
...
svn:r790
2003-11-11 17:21:35 +00:00
Roger Dingledine
1969c8a92f
client now survives going offline better
...
fix badness in usage()
if neither socksport nor orrport is defined, quit
obsolete connection_flush_buf()
svn:r780
2003-11-10 08:06:55 +00:00
Roger Dingledine
e4127e4d36
move closer to being able to reload config on HUP
...
rename APPort to SocksPort
introduce new tor_free() macro
svn:r642
2003-10-21 09:48:17 +00:00
Roger Dingledine
5f1750a288
include our own timegm() impl, since it's not portable
...
svn:r635
2003-10-20 20:19:59 +00:00
Roger Dingledine
a73a3a21f7
no more memory leaks
...
when you run it under normal operation
for as many as three minutes
svn:r622
2003-10-18 04:18:26 +00:00
Roger Dingledine
a3962bf6fc
fix two more memory problems
...
one remains :)
svn:r621
2003-10-18 03:23:26 +00:00
Roger Dingledine
af3fc006a5
clean up memory leaks, confusions
...
still one memory leak remaining here.
svn:r620
2003-10-18 02:18:22 +00:00
Roger Dingledine
5c563939ef
catch misconfigured machines that return hostname as fqdn
...
svn:r610
2003-10-17 04:48:20 +00:00
Roger Dingledine
b9628f266f
change WARNING to WARN
...
and fix a few typos
svn:r571
2003-10-10 01:48:32 +00:00
Nick Mathewson
36939303c9
Update LICENSE and copyright dates.
...
svn:r560
2003-10-08 02:04:08 +00:00
Roger Dingledine
543e4e8fd5
more details to track a warning in tls handshakes
...
plus make exit policy comparisons not always reject
svn:r559
2003-10-07 23:54:02 +00:00
Roger Dingledine
aca4bc5126
successfully parse exit policies on future attempts too
...
svn:r558
2003-10-07 23:25:10 +00:00
Roger Dingledine
c42d928b30
pull exit policies from config into desc_routerinfo
...
svn:r557
2003-10-07 23:04:31 +00:00
Nick Mathewson
3b2943d845
lowercase exit policies.
...
svn:r556
2003-10-07 23:02:37 +00:00
Roger Dingledine
9e30ac2870
obey exit policies for addresses too
...
svn:r555
2003-10-07 22:18:14 +00:00
Nick Mathewson
686fce453b
Stop requiring newline at end of exit policy.
...
svn:r554
2003-10-07 22:15:47 +00:00
Nick Mathewson
499bbe72d4
Add a "router_add_exit_policy_from_string" function.
...
svn:r553
2003-10-07 22:09:09 +00:00
Roger Dingledine
0b8a0c3720
give correct warning message when you're running an old version
...
svn:r546
2003-10-07 16:56:27 +00:00
Roger Dingledine
be874358a4
wrap strdup; prefer time() to gettimeofday()
...
svn:r538
2003-10-04 03:29:09 +00:00
Nick Mathewson
6ac42f5ec0
Make testcases run again; more sanity checking to descriptor generation.
...
svn:r532
2003-10-01 22:31:13 +00:00
Roger Dingledine
efa8e288ef
my_routerinfo, router_is_me, and learn_my_address are obsolete
...
ACIs are decided now by strcmp'ing nicknames, rather than comparing addr:port
svn:r529
2003-10-01 01:49:53 +00:00
Nick Mathewson
91cf86d8da
rebuild directory before uploading
...
svn:r528
2003-10-01 01:08:20 +00:00
Nick Mathewson
df5c7534b1
Move dirserv/routers code out of main.c
...
svn:r527
2003-10-01 00:43:34 +00:00
Nick Mathewson
bd7db5bd87
Add "platform" to router descriptors.
...
svn:r522
2003-09-30 22:44:33 +00:00
Roger Dingledine
5c8fc2f705
mark all dirservers up at boot; mark a dirserver down if dir fetch fails
...
svn:r519
2003-09-30 21:27:16 +00:00
Roger Dingledine
dc8f40e4cb
fix the SSL_read() bug again. this time for sure!
...
svn:r518
2003-09-30 20:36:20 +00:00
Nick Mathewson
9f0c608b7e
Check router signatures again; debug signature checking
...
svn:r517
2003-09-30 20:05:45 +00:00
Nick Mathewson
01786266ca
Bugfixes in directory code:
...
Improve debugging output on fingerprint checking.
Make sure to add our own fingerprint to the fingerprint list _before_
adding our own descriptor, or else we'll reject ourself.
Don't call a directory invalid just because we have a newer descriptor
for some router.
Use router_get_dir_hash to generate hashes for signed directories.
Make sure we add our own descriptor successfully.
Don't fall-through on failed base64-endode.
svn:r514
2003-09-30 19:27:54 +00:00
Roger Dingledine
e7e858d0d1
patch strptime warning -- reduce portability!
...
svn:r511
2003-09-30 18:47:29 +00:00
Roger Dingledine
4533da06c9
getting closer to having dirserv working
...
we now add our own descriptor to the descriptor list
and we rebuild the directory (and dump to disk) after receiving a POST
svn:r509
2003-09-30 08:18:10 +00:00
Roger Dingledine
3ed7aedc11
bugfixes and features: closer to making dirserv work
...
fix a variety of seg faults
don't try to list OPs in running-routers
write cached-directory to disk when rebuilding the dir
on boot, dirservers load approved-routers file
on boot, dirservers load cached directory file
svn:r508
2003-09-29 23:14:49 +00:00
Roger Dingledine
c4c66e2c7f
expand the scheduler to address SSL_read()'s pending bytes
...
svn:r505
2003-09-28 06:48:20 +00:00
Nick Mathewson
0e0169d6fa
Write necessary backends for online directory generation. I think.
...
svn:r503
2003-09-27 21:30:10 +00:00
Nick Mathewson
febb2251ca
Add code to parse fingerprint files and compare routers against fingerprint files.
...
svn:r490
2003-09-26 20:41:23 +00:00
Nick Mathewson
92acbe12bc
Refactor common file code into util.c; add published to descriptors
...
svn:r487
2003-09-26 18:27:35 +00:00