Nick Mathewson
0b92c28d84
Actually set is_hibernating when parsing router descriptors.
...
svn:r4888
2005-08-30 15:04:24 +00:00
Roger Dingledine
6a52aa52fe
fix a pair of hard-coded urls
...
svn:r4887
2005-08-30 07:01:30 +00:00
Roger Dingledine
4240410a9d
don't whine about reachability if the guy is hibernating now.
...
speaking of which, we don't actually parse is_hibernating out
of the router descriptor right now. nick, can you fix this?
svn:r4886
2005-08-30 06:48:24 +00:00
Roger Dingledine
e9524f9d2d
refactor -- no actual changes
...
svn:r4885
2005-08-30 06:43:07 +00:00
Roger Dingledine
a8c0c51e0b
a bit of cleanup
...
svn:r4884
2005-08-30 06:01:13 +00:00
Nick Mathewson
0691c7221e
Update routerinfo_t.is_running when generating network status on authdirserver.
...
svn:r4883
2005-08-29 18:42:36 +00:00
Nick Mathewson
29a6c17d67
Allow tor_gzip_uncompress to handle multiple concatenated compressed strings.
...
svn:r4882
2005-08-29 18:01:38 +00:00
Nick Mathewson
e3a058f33a
Change semantics of set_cached_dir; fix massive authdir memleak.
...
svn:r4880
2005-08-28 04:20:37 +00:00
Nick Mathewson
26d2301c76
Make unit tests (and others) run without launching listeners, creating subdirectories, and so on.
...
svn:r4876
2005-08-26 23:22:27 +00:00
Nick Mathewson
cd2bb915ed
Fix a warning, add an assert.
...
svn:r4875
2005-08-26 23:12:13 +00:00
Nick Mathewson
70fe2a6cee
Crashing dirservers on startup is often considered bad form.
...
svn:r4874
2005-08-26 23:04:12 +00:00
Nick Mathewson
e863771485
Log when falling back to nonfast/nonstabl routers
...
svn:r4869
2005-08-26 22:16:32 +00:00
Nick Mathewson
ed070b0fdb
Set a variable that exists. That works better.
...
svn:r4868
2005-08-26 22:16:09 +00:00
Roger Dingledine
6577e08e38
when we're trying to build a circuit and we're being picky about what
...
sort we get but there aren't any suitable servers, try being less picky
rather than simply failing.
svn:r4867
2005-08-26 22:10:22 +00:00
Nick Mathewson
a74ad8efea
Remember to mark v2 networkstatus non-dirty when we generate it; also, fix spaces.
...
svn:r4866
2005-08-26 22:08:24 +00:00
Nick Mathewson
3cc960c7dd
Make sure that cached-status directory exists.
...
svn:r4865
2005-08-26 22:03:57 +00:00
Roger Dingledine
77f52e3467
fix some logs and comments
...
svn:r4864
2005-08-26 21:55:38 +00:00
Nick Mathewson
ae4a183ed8
Change the return values on dirserv_add_descriptor
...
svn:r4863
2005-08-26 21:46:24 +00:00
Roger Dingledine
53431a4950
fix compile complaints (and a bug)
...
svn:r4862
2005-08-26 21:30:52 +00:00
Nick Mathewson
e24d540d81
We no longer need dirserv_load_from_directory_string, so dirserv_add_descriptor no longer has to keep track of where each descriptor ends.
...
svn:r4861
2005-08-26 21:28:16 +00:00
Nick Mathewson
208bdf5f27
No need to load cached directory twice
...
svn:r4860
2005-08-26 21:19:58 +00:00
Roger Dingledine
715b972300
disarm a trap
...
svn:r4859
2005-08-26 21:12:53 +00:00
Nick Mathewson
47669fa0fd
Fix assert failure on directory startup.
...
svn:r4858
2005-08-26 21:12:34 +00:00
Nick Mathewson
f559c49c39
Make network-status strings wellformed
...
svn:r4857
2005-08-26 21:11:53 +00:00
Nick Mathewson
47aa42fc17
Remove a field that nobody sets or uses.
...
svn:r4856
2005-08-26 21:11:34 +00:00
Nick Mathewson
9a3be928e9
Note that a descriptor has changed when we receive a new directory.
...
svn:r4855
2005-08-26 21:02:18 +00:00
Nick Mathewson
0e649ac60a
Remove descriptor_list and use routerlist instead. Make directories manage routerlist a little better.
...
svn:r4854
2005-08-26 20:59:04 +00:00
Roger Dingledine
a47765a16d
stop freeing the new global options list whenever we update it.
...
svn:r4853
2005-08-26 20:26:20 +00:00
Roger Dingledine
237f58524f
make it clearer which elements of routerinfo_t are for reachability
...
testing
svn:r4852
2005-08-26 20:22:32 +00:00
Roger Dingledine
f3bccdce73
if dirservers set assumereachable, it overrides their individual
...
reachability testing
svn:r4851
2005-08-26 20:08:12 +00:00
Roger Dingledine
61f728f4fe
fix an infinite loop at hup
...
svn:r4850
2005-08-26 20:07:55 +00:00
Nick Mathewson
7f78be1659
Clean up the "add myself as a trusted dirserver" code.
...
svn:r4849
2005-08-26 19:31:51 +00:00
Nick Mathewson
43488472ec
The circus music begins playing as nickm and arma juggle an ntohl. Hoop-lah!
...
svn:r4848
2005-08-26 19:25:36 +00:00
Nick Mathewson
ee76baae3d
move a wandering ntohl
...
svn:r4847
2005-08-26 19:23:52 +00:00
Nick Mathewson
0239249160
Only free strmap if it is allocated.
...
svn:r4846
2005-08-26 18:48:13 +00:00
Nick Mathewson
cf90a36dd1
Add quotes around filenames in src/or
...
svn:r4845
2005-08-26 18:44:26 +00:00
Roger Dingledine
fa507c63e8
put quotes around user-supplied strings so they are more likely to
...
realize if they add bad characters (like quotes) to the torrc
svn:r4844
2005-08-26 18:40:44 +00:00
Nick Mathewson
ff25a7707a
fix syntax err
...
svn:r4843
2005-08-26 18:35:52 +00:00
Nick Mathewson
88989be99b
More documenting
...
svn:r4842
2005-08-26 18:02:49 +00:00
Nick Mathewson
e204dd5d2a
Remove accidentally added printf
...
svn:r4841
2005-08-26 15:35:43 +00:00
Nick Mathewson
d54d7b7ec1
Add some documentation; move the signature generation logic into routerparse.c along with the hash generation logic; make router signing use it as well.
...
svn:r4840
2005-08-26 15:34:53 +00:00
Roger Dingledine
893acb3acc
Make a new AssumeReachable config option that will publish anyway.
...
Also, let authdirservers start without setting their Address field.
Something is still not working though. Will fix in morning.
svn:r4839
2005-08-26 07:41:19 +00:00
Roger Dingledine
d5e426ab51
add a tor_dup_addr() function to simplify malloc()+tor_inet_ntoa()
...
svn:r4838
2005-08-26 07:37:07 +00:00
Nick Mathewson
e68bed8782
Fall back to routerlist instead of descriptor_list when we are a cache.
...
svn:r4837
2005-08-25 20:54:12 +00:00
Nick Mathewson
4dc3cb9fd9
Fix a segfault when starting a dir cache
...
svn:r4836
2005-08-25 20:45:53 +00:00
Nick Mathewson
54a6a8f0ef
Start implementing the server side of the new directory protocol.
...
Probably very buggy, since I can't actually run an authdir.
Features
- Generate and publish new network-status format
- Code to cache and re-serve network-status objects generated by others.
- Publish individual descriptors (by fingerprint, by "all", and by
"tell me yours.") [Still needs compression logic]
- Publish client and server recommended versions seprately.
- Add digest of descriptor to routerinfo_t, so we can track them better, and
length, so we can server them more easily.
Cleanups
- Unify code to sign directory-like things
- Make resolve_my_address() able to tell you which name it wound up resolving.
- Unify code to store and serve directory-like things so it all uses
cached_dir_t.
- Unify code to set the value of cached_dir_t objects.
svn:r4835
2005-08-25 20:33:17 +00:00
Roger Dingledine
86f85f240c
be much more conservative about logging reachability complaints.
...
the ones it logs now are probably genuine problem servers.
svn:r4832
2005-08-24 14:31:32 +00:00
Roger Dingledine
e54e970a82
ha ha, that infinite loop was fun.
...
but dirservers aren't supposed to have infinite loops.
svn:r4831
2005-08-24 12:14:44 +00:00
Roger Dingledine
a120cc20c1
Dirservers now do their own external reachability testing of each
...
Tor server, and only list them as running if they've been found to
be reachable.
Dirservers also log trouble servers, but only start complaining loudly
after they've been up for an hour, to reduce false positives. We still
need to do something about the fact that it is quite loud when there
are many trouble servers.
svn:r4829
2005-08-24 02:31:02 +00:00
Nick Mathewson
5d590861c4
TOR_ISSPACE, not isspace.
...
svn:r4828
2005-08-24 02:20:31 +00:00
Nick Mathewson
b72ab23ded
check [X-]Forwarded-For headers in HTTP requests when generating log messages. Implements feature for bug 181. Arma--please review?
...
svn:r4826
2005-08-23 22:27:17 +00:00
Nick Mathewson
50452c32ec
fix bug 180: handle duplicate lines in approved-routers files.
...
svn:r4825
2005-08-23 22:00:35 +00:00
Roger Dingledine
fed90c300f
downgrade back to 0.1.1.5-alpha-cvs
...
it's going to be another while
svn:r4824
2005-08-23 10:01:11 +00:00
Roger Dingledine
f35ef825f9
Our logic to decide if the OR we connected to was the right guy
...
was brittle and maybe open to a mitm for unverified routers.
Now we be sure to check the digest, and if the nickname he claims is
not a verified one then we don't care what nickname he claims.
svn:r4823
2005-08-23 09:50:51 +00:00
Roger Dingledine
675f6b5f3c
that comma was important
...
svn:r4820
2005-08-23 01:00:30 +00:00
Roger Dingledine
8b766d1b7e
fix bad logic that has been lurking for eons, that now prevented us
...
from uploading descriptors after the first one.
svn:r4818
2005-08-23 00:47:44 +00:00
Roger Dingledine
ab112ca6ad
and don't print the null string here either
...
svn:r4816
2005-08-22 22:59:54 +00:00
Roger Dingledine
23ed3c9786
whoops, avoid printing a null string sometimes
...
svn:r4815
2005-08-22 22:58:38 +00:00
Roger Dingledine
676b330eb2
Make DirPostPeriod config option obsolete.
...
Force new descriptor upload every 18 hours, not 24, to avoid races.
Change rate-limiting on new descriptors due to bandwidth changes, from
45 minutes to 20 minutes.
svn:r4814
2005-08-22 21:53:12 +00:00
Roger Dingledine
8adcd0bb3b
bump version to 0.1.1.6-alpha
...
svn:r4813
2005-08-22 20:12:39 +00:00
Roger Dingledine
fa64d73fc7
fix function headers from the descriptor-frequency commit
...
svn:r4809
2005-08-22 06:45:18 +00:00
Roger Dingledine
435d2d8fde
when we begin reachability testing, log the address:port for each
...
port we're testing, so people are more likely to notice that they're
using the wrong ip address.
svn:r4808
2005-08-22 05:46:02 +00:00
Roger Dingledine
d928411acd
change log entry for unreachability to explicitly suggest /etc/hosts
...
as the culprit
svn:r4807
2005-08-22 05:33:49 +00:00
Nick Mathewson
dc09c7fc73
Implement new (reduced-frequency) upload rules. arma, you should review this.
...
svn:r4806
2005-08-22 03:10:53 +00:00
Nick Mathewson
9b6eeb81aa
Make unit tests run without segfaulting
...
svn:r4804
2005-08-22 00:34:42 +00:00
Nick Mathewson
9321db8c29
Fix bug with tor_memmem finding a match at the end of the string.
...
svn:r4803
2005-08-22 00:34:23 +00:00
Nick Mathewson
7a442c2c48
Make set_options a little smarter: have options_act handle transitions on its own, and only dirty our descriptor when we really want to.
...
svn:r4802
2005-08-22 00:18:45 +00:00
Roger Dingledine
5e76bac1dd
the tor-spec says router->address must be an IP address. so refuse
...
it if it's not.
(this also fixes some potential security problems with people providing
hostnames as their address and then preferentially resolving them and
partitioning users.)
svn:r4790
2005-08-16 02:52:27 +00:00
Andrew Lewman
955a10fee0
Initial complete config file. Organized into easily searchable
...
sections.
svn:r4789
2005-08-16 02:14:40 +00:00
Roger Dingledine
04d42ea433
rotate dns and cpu workers if the controller changes options that
...
will affect them.
svn:r4787
2005-08-15 23:46:18 +00:00
Roger Dingledine
b1d3f124c4
Permit transitioning from ORPort=0 to ORPort!=0, and back.
...
This is actually a bit more subtle, because we need to rotate
the dnsworkers and cpuworkers if certain options (logs, orport, etc)
change. Maybe set_options() should detect this and notify the caller
that it should rotate them.
Expect some mysterious crashes.
svn:r4786
2005-08-15 10:30:45 +00:00
Roger Dingledine
10ff723938
initialize the dns worker cache tree whether or not we start
...
out as a server.
svn:r4785
2005-08-15 10:27:37 +00:00
Roger Dingledine
157f013d83
fix typo
...
svn:r4784
2005-08-15 09:25:36 +00:00
Roger Dingledine
00c2ba4841
resolve a XXX
...
svn:r4783
2005-08-15 09:19:55 +00:00
Roger Dingledine
11bc97801d
clean up some confusing logs.
...
make MonthlyAccountingStart truly obsolete now.
svn:r4782
2005-08-15 09:17:47 +00:00
Roger Dingledine
79e3f5600a
hey, we have a function for that
...
svn:r4781
2005-08-15 08:51:20 +00:00
Roger Dingledine
3728011f36
after failing from resolve failed or misc, reset the num failures.
...
svn:r4780
2005-08-15 03:35:15 +00:00
Roger Dingledine
f57d062d9c
Implement exit enclaves: if we know an IP address for the destination,
...
and there's a running Tor server at that address which allows exit to
the destination, then extend the circuit to that exit first.
Also, if the user asks for a .exit node, cannibalize general circs for it.
svn:r4779
2005-08-15 03:25:40 +00:00
Roger Dingledine
121ea4dd93
a url for better reference
...
svn:r4778
2005-08-15 01:03:50 +00:00
Roger Dingledine
cc1b82ade8
when listing min-bandwidth servers in the controller, don't get
...
fooled by a low bandwidthrate
svn:r4777
2005-08-14 08:38:34 +00:00
Roger Dingledine
ff54050fda
let unregistered-servers take a parameter (the min bandwidth)
...
nick, is this an ugly hack of your protocol?
svn:r4775
2005-08-13 02:20:00 +00:00
Roger Dingledine
66b21a19db
Add a 'quit' command for the controller.
...
Add a 'getinfo unregistered-servers' for arma's internal use.
svn:r4774
2005-08-13 01:55:23 +00:00
Roger Dingledine
6d875b7d58
i'm sick of having my streams fail because of a confused exit node.
...
try this band-aid to see if it gets better.
svn:r4773
2005-08-13 00:31:41 +00:00
Roger Dingledine
87fcd60aa2
predict required circuits better, with an eye toward making
...
hidden services faster on the service end.
svn:r4772
2005-08-13 00:22:07 +00:00
Nick Mathewson
d1c094637d
Try to resolve another reported solaris x86 warning
...
svn:r4771
2005-08-12 17:26:43 +00:00
Nick Mathewson
789374dbbd
Make GCC very happy, even with lots of warnings set. Also, try to fix some reported Solaris x86 warnings.
...
svn:r4770
2005-08-12 17:24:53 +00:00
Nick Mathewson
21959c1bfd
start using new renddesc code
...
svn:r4769
2005-08-12 15:05:05 +00:00
Roger Dingledine
aab541c852
We weren't cannibilizing circuits correctly for
...
CIRCUIT_PURPOSE_C_ESTABLISH_REND and CIRCUIT_PURPOSE_S_ESTABLISH_INTRO
so we were being forced to build those from scratch.
This should save us a bit of time. Also fixes bug 173.
svn:r4763
2005-08-12 01:26:21 +00:00
Roger Dingledine
2caa74e6ff
quiet a noisy debug
...
svn:r4762
2005-08-12 00:34:50 +00:00
Nick Mathewson
16528aa070
Add a config-file GETINFO entry; fix a minor memory leak on some SAVECONF calls.
...
svn:r4761
2005-08-10 18:05:20 +00:00
Nick Mathewson
c031d14633
Fix segfault in unit tests
...
svn:r4760
2005-08-09 18:49:43 +00:00
Nick Mathewson
18abdfdf58
Replace ADDR_POLICY_ACCEPT/REJECT with its own enum
...
svn:r4756
2005-08-09 05:22:23 +00:00
Nick Mathewson
05bced6139
check_software_version_against_directory needs a return value.
...
svn:r4755
2005-08-09 05:20:14 +00:00
Nick Mathewson
742796c19f
Avoid sending blank lines when GETINFO replies should be empty
...
svn:r4754
2005-08-09 05:16:29 +00:00
Roger Dingledine
f9f600f032
bump to 0.1.1.5-alpha-cvs
...
svn:r4753
2005-08-08 22:34:24 +00:00
Nick Mathewson
943ef5256b
fix whitespace issues
...
svn:r4752
2005-08-08 21:59:48 +00:00
Nick Mathewson
249b72f53e
Replace (Fascist)Firewall* with a new ReachableAddresses option that understands address policies.
...
svn:r4751
2005-08-08 21:58:48 +00:00
Roger Dingledine
3ac34ae329
get rid of IgnoreVersion and the forced auto-exit mis-feature
...
svn:r4746
2005-08-08 21:52:57 +00:00
Roger Dingledine
588e80fdcd
fix a function comment
...
svn:r4743
2005-08-08 17:48:23 +00:00
Nick Mathewson
50cfcbe157
Note which directory server said 400 to a renddesc.
...
svn:r4742
2005-08-08 17:32:17 +00:00
Roger Dingledine
f4eec180a2
disarm a trap that's lying in wait for us
...
svn:r4741
2005-08-08 17:31:57 +00:00
Roger Dingledine
2e918af35d
a few typo fixes
...
svn:r4738
2005-08-07 21:58:23 +00:00
Nick Mathewson
01d0788950
Generalize FirewallPorts to FirewallIPs so I can run happily when locked in net 18.
...
svn:r4737
2005-08-07 21:24:00 +00:00
Nick Mathewson
9345323b18
far far cleaner implementation of handshake checking logic. Backport candidate.
...
svn:r4736
2005-08-07 20:36:14 +00:00
Nick Mathewson
4e735da5da
Also set event_mask=0 in connection_free_all, and dont send events to marked control conns (for good measure)
...
svn:r4729
2005-08-07 19:27:38 +00:00
Roger Dingledine
5c4da9dec6
incomplete patch for matt's info controller signal term bug
...
svn:r4728
2005-08-07 19:20:55 +00:00
Roger Dingledine
bfe65db284
ok, so now it was just redundant. nick, do you recall what rfc
...
you were trying to point to?
svn:r4727
2005-08-07 17:11:33 +00:00
Nick Mathewson
999b7951c3
Shorten hidden service port config parsing; fix bug 174
...
svn:r4725
2005-08-06 21:35:04 +00:00
Roger Dingledine
b9a7482c02
note another potential security problem with generating key material
...
from our DH handshake.
svn:r4724
2005-08-06 16:50:51 +00:00
Roger Dingledine
261bf4c4d4
rfc 3536 "provides a glossary of terms used in the IETF when discussing
...
internationalization."
svn:r4723
2005-08-05 22:08:57 +00:00
Nick Mathewson
224fecb281
Appease insane windows compiler. (Oh no, an extra semi, the sky is falling!)
...
svn:r4722
2005-08-05 19:25:23 +00:00
Roger Dingledine
1ec3081a84
bump to 0.1.1.5-alpha, though it's not released yet
...
svn:r4721
2005-08-05 19:16:11 +00:00
Nick Mathewson
197eb2b2cb
fix harmless copy-and-paste error
...
svn:r4718
2005-08-05 14:59:14 +00:00
Nick Mathewson
ea2aa107a7
cover a few more cases; needs testing and once-over
...
svn:r4717
2005-08-05 14:20:38 +00:00
Nick Mathewson
666ab41e2b
parse_addr_port was vague about what to do when port_out was NULL. Make it behave usefully.
...
svn:r4716
2005-08-05 01:51:19 +00:00
Nick Mathewson
52475ee19b
Alphebetize config variables
...
svn:r4714
2005-08-05 01:35:43 +00:00
Nick Mathewson
3fa821d911
oops, that array got bigger
...
svn:r4708
2005-08-04 23:18:51 +00:00
Nick Mathewson
7a9eb49f5f
Discard special bignum values.
...
svn:r4706
2005-08-04 23:14:42 +00:00
Roger Dingledine
1d3e63158e
bump to 0.1.1.4-alpha in preparation for new release
...
svn:r4701
2005-08-04 22:45:54 +00:00
Nick Mathewson
546fba7b04
Fix windows warning
...
svn:r4697
2005-08-04 22:25:39 +00:00
Nick Mathewson
4870877231
Add SOCKSAndDNS link to appropriate log message, since we wind up pointing everybody to it anyway
...
svn:r4695
2005-08-04 20:12:44 +00:00
Nick Mathewson
4cb89fd557
Implement some more GETINFO goodness: expose helper nodes, config options, getinfo keys.
...
svn:r4694
2005-08-04 19:56:41 +00:00
Nick Mathewson
303258972b
Fix idiot bug. The "free the IP history" code belons in connection_free_all(), not in connection_free(). You can all mock me now.
...
svn:r4691
2005-08-04 18:29:01 +00:00
Nick Mathewson
11ff0aba80
Make clients regenerate their keys when their IP address changes.
...
svn:r4688
2005-08-03 20:42:17 +00:00
Nick Mathewson
ceb02cee2c
If they havent told us by now, they probably never will.
...
svn:r4687
2005-08-03 20:37:13 +00:00
Nick Mathewson
98f1265309
Fix compile failures on tor_gettimeofday() fix for windows
...
svn:r4685
2005-08-03 17:16:48 +00:00
Nick Mathewson
176e9055cc
Probably broken attempt to improve tor_gettimeofday granularity on windows.
...
svn:r4683
2005-08-03 16:28:39 +00:00
Nick Mathewson
d90841ff5a
Fix bug in state parsing
...
svn:r4681
2005-07-28 19:08:51 +00:00
Nick Mathewson
299af3d393
Possibly broken implementation of persistant state; handles helper nodes; does not handle accounting info yet.
...
svn:r4680
2005-07-28 19:01:48 +00:00
Nick Mathewson
67d8c5af8f
define TIME_T_IS_SIGNED on windows
...
svn:r4676
2005-07-25 18:13:05 +00:00
Nick Mathewson
48787c839e
Fix logic to set TIME_T_MAX; apparently, everybody had thought of the prospect of a signed time_t but me.
...
svn:r4675
2005-07-25 18:10:08 +00:00
Roger Dingledine
a32f936346
whoops, fix compile
...
svn:r4674
2005-07-25 10:36:01 +00:00
Roger Dingledine
1e0fdcae98
parameterize RephistTrackTime
...
svn:r4673
2005-07-25 10:29:21 +00:00
Roger Dingledine
2fa109102a
bump to 0.1.1.3-alpha
...
svn:r4672
2005-07-25 09:12:18 +00:00
Roger Dingledine
44fe2fa7eb
better log examples in the torrc
...
svn:r4646
2005-07-23 05:14:33 +00:00
Roger Dingledine
9385a96235
fix typos
...
svn:r4645
2005-07-23 04:35:58 +00:00
Nick Mathewson
bb4ebaac6f
document code for hibernation
...
svn:r4644
2005-07-23 04:12:35 +00:00
Roger Dingledine
cfd6514482
and a nearby define
...
svn:r4643
2005-07-23 02:19:43 +00:00
Nick Mathewson
b98e4a0cd7
add parenthesis to U64_PRINTF_ARG macro
...
svn:r4642
2005-07-23 02:12:40 +00:00
Nick Mathewson
2bd6040f62
Rename cross-format config.c stuff to config_* and or_options_t-specific stuff to option[s]_*
...
svn:r4641
2005-07-23 01:58:05 +00:00
Nick Mathewson
3cb7b97660
Fix out-of-place declaration
...
svn:r4640
2005-07-23 01:52:24 +00:00
Nick Mathewson
18c11eb3bc
Be consistent about preferring foo* to struct foo*
...
svn:r4637
2005-07-22 21:12:10 +00:00
Nick Mathewson
c252a76f0b
Parameterize configuration parsing functions
...
svn:r4635
2005-07-22 20:37:42 +00:00
Nick Mathewson
c3a62c1739
Initial, somewhat dodgy implementation of helper nodes. It has too many XXXXs, it logs too verbosely, and it doesnt do persistence.
...
svn:r4633
2005-07-22 17:32:25 +00:00
Nick Mathewson
5b4e11fa5d
Add getinfo logic for accounting; add options for helper nodes
...
svn:r4632
2005-07-22 14:55:09 +00:00
Roger Dingledine
495169d316
the abuse faq moved, so change the url
...
svn:r4629
2005-07-22 06:35:25 +00:00
Roger Dingledine
3333d27f41
we were mangling memory because we weren't allocing enough
...
for the hidserv desc
nick can you check that this is enough now?
svn:r4628
2005-07-22 00:18:25 +00:00
Roger Dingledine
1efeb3908a
let hidden service descriptors publish 0 intro points
...
nick, please check the logic here
svn:r4627
2005-07-22 00:14:58 +00:00
Roger Dingledine
11bd4bc521
in circuit_list_path(), don't redundantly print the intended exit
...
nickname when the circuit is open.
svn:r4622
2005-07-20 20:33:13 +00:00
Roger Dingledine
eedb7c243e
be consistent about printing out key digest $'s when we're getting a
...
different key than we expect
svn:r4609
2005-07-19 21:26:24 +00:00
Roger Dingledine
f2bc79ba89
forward-port with a different version claim
...
svn:r4608
2005-07-19 21:16:31 +00:00
Roger Dingledine
7ac36a9a74
unit tests to prove i didn't screw up
...
svn:r4602
2005-07-18 23:36:12 +00:00
Roger Dingledine
8c657e4157
cosmetic fixes
...
svn:r4601
2005-07-18 23:33:19 +00:00
Roger Dingledine
e479cc935e
stop asserting if we have a controller listening for circuit events
...
and we're offline so we fail to make a circuit and it tries to notify
us about the zero-length circuit.
svn:r4600
2005-07-18 23:18:00 +00:00
Roger Dingledine
bb97d7f4ea
slightly cleaner fix
...
svn:r4599
2005-07-18 23:16:09 +00:00
Roger Dingledine
893652da84
bugfixes: smartlist_join_strings2() was underflowing a size_t
...
if you gave it an empty smartlist; and it wasn't terminating in
this case even if you asked it to.
this does not appear to be exploitable in any reasonable cases.
svn:r4598
2005-07-18 23:11:46 +00:00
Roger Dingledine
5fe18894b9
now that we're recommending 0.1.1.x-alpha for win32 and os x users,
...
stop printing debug stuff once a minute
svn:r4596
2005-07-18 19:16:17 +00:00
Roger Dingledine
e8a1b1d6a0
add a trivial tor-counting variable
...
svn:r4593
2005-07-18 06:09:04 +00:00
Roger Dingledine
43a28a4ca9
make event streams work with control v1 too
...
svn:r4590
2005-07-17 22:28:01 +00:00
Roger Dingledine
6ac245793c
downgrade a warning that could plausibly happen sometimes now that we
...
have controllers.
svn:r4589
2005-07-17 21:43:47 +00:00
Roger Dingledine
090836d171
correct error message in closestream
...
svn:r4588
2005-07-17 21:36:33 +00:00
Roger Dingledine
ebf13c6282
not not zero means zero
...
svn:r4587
2005-07-17 21:22:18 +00:00
Roger Dingledine
5643532bd9
if the controller asks to extendcircuit to circid 0, we need to
...
init the circuit before we can add hops to its cpath.
svn:r4586
2005-07-17 21:13:36 +00:00
Roger Dingledine
fe7535c5e2
arguments in EXTENDCIRCUIT were reversed
...
and an error message was misleading
and we were leaking memory on some errors
more bugs remain
svn:r4585
2005-07-17 21:06:00 +00:00
Nick Mathewson
2cff73e7a4
Make "Couldnt add router to list" message more descriptive. Make messages consistenly punctuated.
...
svn:r4582
2005-07-15 19:40:38 +00:00
Nick Mathewson
f8b48176ed
Fix several bugs in read_escaped_data; add a unit test and a few docs
...
svn:r4580
2005-07-15 19:31:11 +00:00
Roger Dingledine
61f2ea0df0
bump us to 0.1.1.2-alpha-cvs since stuff has changed
...
svn:r4579
2005-07-15 19:18:36 +00:00
Nick Mathewson
441e02d4ac
Merge patch from Matt Edman for bug 162 (service never stops)
...
svn:r4578
2005-07-15 19:09:36 +00:00
Roger Dingledine
545c2c6c87
the other half of the bugfix: tolerate a trusted dirserver claiming
...
dirport 0 in its descriptor.
svn:r4576
2005-07-15 18:56:59 +00:00
Roger Dingledine
97174b67c2
if you're an auth dir server, always publish your dirport,
...
even if you haven't yet found yourself to be reachable.
this is the cause of Jan Tore Morken's recent or-talk bug.
svn:r4575
2005-07-15 18:49:35 +00:00
Roger Dingledine
83dc42055d
point out some bugs for nick, noticed by whiteout
...
svn:r4574
2005-07-15 18:48:38 +00:00
Roger Dingledine
452c98058f
missed one
...
svn:r4567
2005-07-14 23:08:55 +00:00
Roger Dingledine
d8d0feb633
tell us what kind of listener it is, too
...
svn:r4566
2005-07-14 23:07:05 +00:00
Nick Mathewson
f86a1e634f
fix opening listener log msg
...
svn:r4565
2005-07-14 23:04:31 +00:00
Nick Mathewson
e94f95a716
Populate address field of listeners with an actually sane value.
...
svn:r4564
2005-07-14 22:56:17 +00:00
Roger Dingledine
c2abcc4f1c
bump to 0.1.1.2-alpha
...
svn:r4563
2005-07-14 22:46:42 +00:00
Roger Dingledine
867cbf1022
and here too
...
svn:r4561
2005-07-14 22:38:30 +00:00
Roger Dingledine
ceae96a3a0
put in tor26's new IP address
...
svn:r4560
2005-07-14 22:37:52 +00:00
Nick Mathewson
331942870e
fix problems noticed by arma in rendservice.c
...
svn:r4558
2005-07-14 16:41:47 +00:00
Nick Mathewson
149e9a5900
remove pointless XXXX. It was there to remind me to do something I already did.
...
svn:r4557
2005-07-14 16:37:33 +00:00
Roger Dingledine
4a6bf116e7
substantive changes on nick's rendezvous commit.
...
nick, can you fix these?
svn:r4554
2005-07-14 08:45:19 +00:00
Roger Dingledine
2259032ea1
trivial changes on nick's rendezvous commit
...
svn:r4553
2005-07-14 08:43:19 +00:00
Roger Dingledine
19810ba38e
make it more pleasant to be told you're using libevent
...
svn:r4548
2005-07-13 21:22:34 +00:00
Roger Dingledine
306f7d320c
make a notice-level log make more sense.
...
svn:r4547
2005-07-13 21:12:33 +00:00
Nick Mathewson
97c58f066a
whitespace fixes
...
svn:r4544
2005-07-13 17:24:55 +00:00
Nick Mathewson
278bac421f
Fix windows compilation
...
svn:r4543
2005-07-13 15:24:33 +00:00
Nick Mathewson
50e11ee16a
Fix possible double call to inflateEnd.
...
svn:r4540
2005-07-13 05:26:43 +00:00
Nick Mathewson
cf13b3e4a6
Macro-fu to get DEBUG events working.
...
svn:r4539
2005-07-13 05:14:42 +00:00
Roger Dingledine
4457c181f5
note a worrying double-free possibility in torgzip.
...
nick?
svn:r4537
2005-07-12 23:21:15 +00:00
Roger Dingledine
ddecb1a04d
looks like we were never delivering deflated running-routers lists
...
svn:r4536
2005-07-12 22:56:22 +00:00
Roger Dingledine
7c7c95c3f6
anonymous bugfix on our pointer arithmetic
...
svn:r4535
2005-07-12 22:56:06 +00:00
Nick Mathewson
0828feaf7c
Add belt-and-suspenders fix to coredump from yesterday; document more functions in buffers.c
...
svn:r4532
2005-07-12 18:19:30 +00:00
Roger Dingledine
8f9790a023
fix a seg fault with autodetecting which controller version is being used
...
svn:r4531
2005-07-12 05:48:15 +00:00
Nick Mathewson
63f9a8baa2
Canonicalize option names even on defaulted options.
...
svn:r4530
2005-07-11 18:11:54 +00:00
Nick Mathewson
50a206e800
Do not reverse command-line configuration options; Use new minimal-listener-close code; Add code to canonicalize configuration names.
...
svn:r4529
2005-07-11 17:35:36 +00:00
Nick Mathewson
658e1196d0
Change retry_listeners: when force is false, close and re-open a minimal set of listeners (i.e., those that do not match the configuration). This fixes a possible bug on some windowses. Maybe.
...
svn:r4528
2005-07-11 17:20:22 +00:00
Nick Mathewson
e1db33971e
NT service patch from Matt Edman to improve error messages, lightly cleaned; needs more testing.
...
svn:r4527
2005-07-09 16:37:12 +00:00
Roger Dingledine
2f1f0c8d21
be flexible in what you accept: when people type "tor --install" thinking
...
they had typed "tor -install", make it work too.
svn:r4526
2005-07-09 03:28:58 +00:00
Roger Dingledine
5c1ba5dcf7
fix compile error in cvs
...
svn:r4520
2005-07-02 00:18:09 +00:00
Nick Mathewson
b11e314f2e
Be more explicit about which IP we are connecting to; expose future exit policy problems better.
...
svn:r4519
2005-07-01 13:40:29 +00:00
Roger Dingledine
271d49958e
fix another compile warn
...
svn:r4516
2005-07-01 02:02:24 +00:00
Roger Dingledine
3bb756b93b
forward-port the 0.1.0.11 stuff
...
svn:r4515
2005-07-01 02:01:21 +00:00
Roger Dingledine
055477f121
fix compile error (and likely a a crash bug in resolves)
...
svn:r4514
2005-07-01 01:59:37 +00:00
Nick Mathewson
d85bfe83bf
Make errors retrievable from tor_socketpair; resolve bug 163.
...
svn:r4509
2005-06-30 07:17:38 +00:00
Nick Mathewson
584a0ae397
Fix an fd leak in start_daemon
...
svn:r4508
2005-06-30 06:56:00 +00:00
Nick Mathewson
ec83652357
Logic to implement rendezvous/introduction via unknown servers.
...
- Add a new extend_info_t datatype to hold information needed to
extend a circuit (addr,port,keyid,onion_key). Use it in cpath and
build_state. Make appropriate functions take or return it instead of
routerinfo_t or keyid.
- #if 0 needless check in circuit_get_by_edge_conn; if nobody triggers this
error in 0.1.0.10, nobody will trigger it.
- Implement new hidden service descriptor format, which contains "extend
info" for introduction points, along with protocol version list.
- Parse new format.
- Generate new format
- Cache old and new formats alongside each other.
- Directories serve "old" format if asked in old way, "newest available"
format if asked in new way.
- Use new format to find introduction points if possible; otherwise fall
back. Keep nickname lists and extendinfo lists in sync.
- Tests for new format.
- Implement new "v2" INTRODUCE cell format.
- Accept new format
- Use new format if we have a versioned service descriptor that says the
server accepts the new format.
- Add documentation for functions and data types.
svn:r4506
2005-06-29 21:46:55 +00:00
Nick Mathewson
0505b31933
Bump version to 0.1.1.1-alpha-cvs
...
svn:r4505
2005-06-29 21:46:17 +00:00
Roger Dingledine
6b21c8e74f
make the local and private network masks explicit when we complain
...
svn:r4501
2005-06-29 19:15:23 +00:00
Roger Dingledine
caf7af26d7
whitespace fix
...
svn:r4500
2005-06-28 01:53:15 +00:00
Roger Dingledine
0ee665708a
clean up some more comments
...
svn:r4499
2005-06-28 01:52:58 +00:00
Nick Mathewson
1647b6f837
Fix libc compilation
...
svn:r4497
2005-06-27 23:40:17 +00:00
Nick Mathewson
806da0d8b2
Compile on win32
...
svn:r4496
2005-06-27 23:35:04 +00:00
Nick Mathewson
30571317dd
Fix unit tests that used old signature for add_fingerprint_to_dir
...
svn:r4495
2005-06-27 22:25:09 +00:00
Nick Mathewson
275966abe3
Bump CVS version to 0.1.1.1-alpha
...
svn:r4493
2005-06-27 18:35:10 +00:00
Roger Dingledine
da7d93e88a
make the comment next to RunAsDaemon mention that it is a noop on win32
...
svn:r4489
2005-06-26 08:59:01 +00:00
Roger Dingledine
09e87f452d
note a bug in our tor_socketpair implementation
...
can somebody fix this or create a flyspray entry for it?
svn:r4483
2005-06-26 05:03:21 +00:00
Nick Mathewson
b759fe4b8d
It is not the end of the world when a router descriptor has an unrecognized kwd
...
svn:r4480
2005-06-24 23:42:15 +00:00
Roger Dingledine
00a7a37c94
we were printing the number of idle dns workers incorrectly.
...
svn:r4477
2005-06-23 07:57:43 +00:00
Roger Dingledine
9808fbd884
make the log message less scary when all the dirservers are
...
temporarily unreachable
svn:r4476
2005-06-22 21:59:11 +00:00
Nick Mathewson
3ff473b47b
Appease the hungry god of GCC: it wants functions to be static or prototyped!
...
svn:r4471
2005-06-21 01:08:01 +00:00
Nick Mathewson
a37db0da26
Appease the hungry God of GCC: it hates K&R style unspecified args!
...
svn:r4470
2005-06-21 01:07:32 +00:00
Roger Dingledine
419d647353
more cleanups before i go wild
...
svn:r4469
2005-06-21 01:00:42 +00:00
Roger Dingledine
9c67ae34f1
overall cleanup and streamlining and doccing
...
also fix a DoS avenue on dirservers
svn:r4468
2005-06-20 23:04:13 +00:00
Nick Mathewson
2aff87caae
Load hardware acceleration options when/where available. Can anybody test this?
...
svn:r4467
2005-06-20 18:56:35 +00:00
Nick Mathewson
5eef9177c5
Appease verbose GCC warnings.
...
svn:r4466
2005-06-20 09:38:29 +00:00
Nick Mathewson
eb327e7660
Add feature to handle unset (default) configuration options in GETCONF control messages
...
svn:r4461
2005-06-19 22:38:36 +00:00
Nick Mathewson
64fc1f7bae
Implement all the rest of the new controller protocol, debug a little, add some new features, add ADDRMAP events.
...
svn:r4460
2005-06-19 20:40:41 +00:00
Roger Dingledine
b5fd75a063
forward-port the --hash-password bug, plus other nearby fixes
...
svn:r4459
2005-06-19 08:35:46 +00:00
Roger Dingledine
cc57e1cab1
fix stray funny-character
...
svn:r4458
2005-06-19 08:35:16 +00:00
Nick Mathewson
d38c696d5a
The new protocol is implemented. Except for the pesky string unquoting business. And the cleanups. And the docs. And the testing. And the debugging. And the new features. Hm, I think it is time to sleep.
...
svn:r4456
2005-06-18 03:50:08 +00:00
Nick Mathewson
3f2339d1d3
Implement EXTENDCIRCUIT and ATTACHCIRCUIT. Only SETCONFIG and AUTHENTICATE remain.
...
svn:r4455
2005-06-18 03:09:43 +00:00
Nick Mathewson
c2f6fe9b85
Implement even more control functionality
...
svn:r4454
2005-06-18 02:39:25 +00:00
Roger Dingledine
8fdab20704
fix typo
...
svn:r4453
2005-06-18 02:23:11 +00:00
Nick Mathewson
5fee58adfb
Add a tor_memmem function
...
svn:r4452
2005-06-18 02:17:11 +00:00
Nick Mathewson
9b4aa8d2ab
Implement all the easy bits of the new control protocol
...
svn:r4449
2005-06-17 20:37:21 +00:00
Nick Mathewson
f9f09f1c5e
Start implementing framework for revised control spec.
...
svn:r4447
2005-06-17 18:49:55 +00:00
Nick Mathewson
d4972bd2e1
Remove code that has been #if-0ed for a long time.
...
svn:r4435
2005-06-15 18:34:46 +00:00
Roger Dingledine
a3c66475f3
compile fix by agl, for code that is always commented out
...
svn:r4427
2005-06-13 17:33:12 +00:00
Nick Mathewson
2b8fd9ceda
Allow a few EINVALs from libevent before dying. Warn on kqueue with libevent before 1.1a
...
svn:r4419
2005-06-13 00:35:19 +00:00
Roger Dingledine
2111c0e263
a bit more cleanup
...
svn:r4417
2005-06-12 04:33:26 +00:00
Roger Dingledine
91b1fb7ff7
some more cleaning and docing
...
svn:r4415
2005-06-11 21:17:38 +00:00
Nick Mathewson
beae4d0d32
whitespace fix
...
svn:r4414
2005-06-11 18:59:24 +00:00
Nick Mathewson
44107b6b13
fix typo in last patch
...
svn:r4413
2005-06-11 18:56:16 +00:00
Nick Mathewson
232861ba42
Docment or add DOCDOC comments to undocumented functions in src/or. Make function definition format uniform.
...
svn:r4411
2005-06-11 18:52:12 +00:00
Roger Dingledine
2587fa09f9
move more docs into our code
...
svn:r4406
2005-06-11 06:07:22 +00:00
Roger Dingledine
fcd0fc3364
flesh out the source file descriptions for doxygen
...
svn:r4404
2005-06-11 05:31:17 +00:00
Roger Dingledine
b349e60543
don't tell people you're publishing the server descriptor if you're
...
actually not.
svn:r4387
2005-06-09 21:23:54 +00:00
Nick Mathewson
0831823763
Change end-of-file NLNL convention. It turns out arma I and I agree.
...
svn:r4382
2005-06-09 19:03:31 +00:00
Nick Mathewson
a6f51001a5
New whitespace normalization rule: no blank line at EOF.
...
svn:r4378
2005-06-09 16:46:51 +00:00
Roger Dingledine
5bca8e8b4d
forward-port:
...
## If certain IPs and ports are blocked externally, e.g. by your firewall,
## you should update your exit policy to reflect this -- otherwise Tor
## users will be told that those destinations are down.
svn:r4376
2005-06-09 10:42:25 +00:00
Roger Dingledine
15f937c95e
when a dirserver gets a mismatched fingerprint, log the expected
...
fp and the received fp
svn:r4372
2005-06-09 10:21:55 +00:00
Roger Dingledine
cfc89f8753
pay more attention to the ClientOnly config option
...
svn:r4367
2005-06-09 08:54:42 +00:00
Roger Dingledine
d922fa7b10
fix another underflow in keeping stats
...
these size_ts are subtle buggers
svn:r4364
2005-06-09 03:57:54 +00:00
Nick Mathewson
87caad5445
Fix an underflow in buffer use conting.
...
svn:r4360
2005-06-08 21:55:02 +00:00
Roger Dingledine
43709a9c3d
clean up the log warn a bit
...
svn:r4357
2005-06-08 20:45:29 +00:00
Nick Mathewson
c45845204a
Fix warning about unused function when compiling with ancient libevent
...
svn:r4355
2005-06-08 20:35:28 +00:00
Roger Dingledine
44e85544e4
absolutely refuse to let people pick internal IP addresses if
...
they're using the default dirservers.
we're getting a big pile of a dozen or so servers that have picked
private IP addresses despite the warning (presumably they don't even
know they have logs)
svn:r4354
2005-06-08 20:32:22 +00:00
Nick Mathewson
b0538591c7
Reset buf->highwater every time buf_shrink is called, not just on suffessful shrink.
...
svn:r4353
2005-06-08 20:17:32 +00:00
Roger Dingledine
9ed7b53143
don't upload your descriptor if rebuilding it failed
...
svn:r4352
2005-06-08 19:45:17 +00:00
Nick Mathewson
8b2a7ff9fe
Remove extraneous newlines from libevent log messages. Backport candidate?
...
svn:r4350
2005-06-08 17:41:32 +00:00
Roger Dingledine
4c43789435
Some play code to throw away old buffers sometimes rather
...
than constantly reallocing them; just in case this is our memory
problem. It looks for now like it isn't, so disabled.
svn:r4349
2005-06-08 17:27:11 +00:00
Roger Dingledine
eeb6d6dba6
dump periodic memory usage stats
...
svn:r4348
2005-06-08 17:24:58 +00:00
Nick Mathewson
be1c81a767
Fix syntax error.
...
svn:r4346
2005-06-08 16:26:44 +00:00
Nick Mathewson
ec07e1195f
add patch for 143 and code to check for known-bad/slow libevent versions. Needs more testing.
...
svn:r4344
2005-06-08 13:53:19 +00:00
Roger Dingledine
aff308e6d9
reenable the part of the code that tries to flush as soon as an OR outbuf
...
has a full tls record available. perhaps this will make OR outbufs not grow
as huge except in rare cases, thus saving lots of cpu time plus memory.
svn:r4343
2005-06-08 04:55:06 +00:00
Roger Dingledine
1a5c5452b4
when you send a USR2 signal, the log message now tells you to send
...
a HUP signal if you want to change back to old log levels.
svn:r4332
2005-06-07 18:16:14 +00:00
Nick Mathewson
621ab95e59
Fix for 152: reject malformed .onion addresses rather then passing them on
...
svn:r4329
2005-06-07 18:01:46 +00:00
Nick Mathewson
2118e5798a
Use correct errno from libevent on win32
...
svn:r4327
2005-06-07 17:32:33 +00:00
Nick Mathewson
1d9bc936c2
Adapt patch from Adam Langley: fix possible memory leak in tor_lookup_hostname
...
svn:r4326
2005-06-07 13:45:58 +00:00
Roger Dingledine
51b5b808cb
bump cvs to 0.1.1.0-alpha-cvs
...
svn:r4323
2005-06-06 20:27:36 +00:00
Nick Mathewson
e1c8aa8035
Fix win32 compilation: backport candidate
...
svn:r4320
2005-06-06 20:06:10 +00:00
Nick Mathewson
fc40f974c2
When RNG seeding fails, die. Backport candidate
...
svn:r4319
2005-06-06 20:02:33 +00:00
Nick Mathewson
5420aed38e
Possible bugfix for 151: backport candidate.
...
svn:r4318
2005-06-06 20:02:09 +00:00
Nick Mathewson
baa10cbbfa
Instrument buffers.c and rephist.c memory usage
...
svn:r4317
2005-06-06 17:03:21 +00:00
Roger Dingledine
7c8d5c3178
correct some instructions in the sample torrc
...
svn:r4314
2005-06-06 15:57:53 +00:00
Nick Mathewson
9f24078452
Fix buffer overlow when checking hashed passwords
...
svn:r4308
2005-06-05 14:28:47 +00:00
Nick Mathewson
3c58cdf280
Add unit test for openpgp s2k
...
svn:r4306
2005-06-04 13:43:03 +00:00
Roger Dingledine
4855990d37
clean up a few more log entries
...
svn:r4304
2005-05-27 17:43:43 +00:00
Roger Dingledine
bfc7838b97
downgrade the 'caught sigpipe' notice.
...
we're going to pretend like all of these are fine.
svn:r4301
2005-05-25 02:20:15 +00:00
Roger Dingledine
4f0d7b82ae
make lucky's weird libevent poll einprogress bug just warn, not kill tor.
...
svn:r4300
2005-05-24 22:58:57 +00:00
Nick Mathewson
d2cdae221d
Fix not-freed-on-exit event
...
svn:r4298
2005-05-24 17:13:15 +00:00
Roger Dingledine
5005f682ae
Bugfix: we were checking to see if you want to send a keepalive, based
...
on five minutes since last successful write. But if you have bytes queued
already, and they're not getting through, we were adding a new keepalive
every second. This was bad.
svn:r4296
2005-05-23 22:20:54 +00:00
Roger Dingledine
6cfce54ab0
bump to 0.1.0.8-rc
...
svn:r4286
2005-05-23 05:47:21 +00:00
Roger Dingledine
040a748d87
i screwed up the dirport reachability testing when we don't yet
...
have a cached version of the directory. hopefully now fixed.
svn:r4284
2005-05-23 05:20:52 +00:00
Nick Mathewson
751db63a17
Always disable kqueue on OSX. It seems linked to kernel panics
...
svn:r4282
2005-05-23 04:28:58 +00:00
Roger Dingledine
78f26e8806
test out commit mails again
...
svn:r4281
2005-05-23 03:39:53 +00:00
Roger Dingledine
ee553a9c72
put a tor version at the top of the torrc.sample file
...
svn:r4280
2005-05-23 03:38:32 +00:00
Nick Mathewson
11a64692c3
Make hashed controller password encoding use hex not base64; this makes it possible to write a controller without base64
...
svn:r4279
2005-05-23 02:31:53 +00:00
Roger Dingledine
b86716b839
If a socks connection ends because read fails, don't warn that you're
...
not sending a socks reply back. (bug reported by Warren Barrow)
svn:r4277
2005-05-21 00:15:23 +00:00
Roger Dingledine
d22c141659
we were leaking 616 bytes every time somebody established us as
...
an intro point for their hidden service.
svn:r4276
2005-05-20 22:14:33 +00:00
Roger Dingledine
c95677725a
a note for nick about other memory not freed at exit
...
svn:r4275
2005-05-20 22:11:46 +00:00
Roger Dingledine
f0e309e5bd
add HttpProxyAuthenticator config option too
...
svn:r4272
2005-05-20 08:51:45 +00:00
Roger Dingledine
208dc969b3
bump to 0.1.0.7-rc-cvs
...
svn:r4267
2005-05-18 04:01:57 +00:00
Roger Dingledine
0fa1890e0e
fix the assumption that uninitialized variables are 0
...
clean up router_load_single_router() more
svn:r4266
2005-05-18 03:52:07 +00:00
Roger Dingledine
fe78aac027
fix seg faults when router_load_single_router fails
...
svn:r4265
2005-05-18 03:42:46 +00:00
Nick Mathewson
e7354725bb
Handle relay cells with rh.length too large.
...
svn:r4264
2005-05-17 20:00:24 +00:00
Roger Dingledine
9abef5e483
allow the middle hop of the testing circuit to be running
...
any version, now that most of them have the bugfix to let
them connect to unknown servers.
svn:r4263
2005-05-17 19:46:43 +00:00
Roger Dingledine
b7d6b8a397
doxygeny goodness from tyranix
...
svn:r4262
2005-05-17 17:01:36 +00:00
Roger Dingledine
ebee138d75
bump to 0.1.0.7-rc
...
svn:r4255
2005-05-17 04:42:48 +00:00
Roger Dingledine
ec1331d49e
fix a comment that tyranix noticed
...
svn:r4239
2005-05-17 01:55:53 +00:00
Roger Dingledine
2812d4a08c
free some memory that is still reachable on exit
...
svn:r4234
2005-05-16 10:32:10 +00:00
Nick Mathewson
530da0e772
Normalize whitespace
...
svn:r4233
2005-05-16 01:04:28 +00:00
Roger Dingledine
14b9615d7d
bump cvs to 0.1.0.6-rc-cvs
...
svn:r4231
2005-05-15 13:26:08 +00:00
Roger Dingledine
28195a0eb1
clean up some log entries
...
svn:r4228
2005-05-15 05:00:24 +00:00
Roger Dingledine
b7a88ebd15
fix url in comment in torrc
...
svn:r4225
2005-05-15 03:00:00 +00:00
Nick Mathewson
9bc6e3aa6c
Add an explanatory comment
...
svn:r4222
2005-05-15 02:05:45 +00:00
Roger Dingledine
7eb559fada
bump to 0.1.0.6-rc
...
svn:r4217
2005-05-15 01:00:45 +00:00
Nick Mathewson
c7bc2f9eae
Add ENABLE_THREADS macro to windows orconfig.h
...
svn:r4212
2005-05-15 00:17:59 +00:00
Roger Dingledine
3c9ec416f6
fix a case error in suppressing a bogus libevent warning.
...
nick, was this lower-case for a reason? have both cases
appeared? or was this just a typo.
svn:r4206
2005-05-14 05:14:36 +00:00
Roger Dingledine
07230a698c
if router_resolve fails on the descriptor the controller
...
gives us, we shouldn't leave the routerinfo in the list.
svn:r4205
2005-05-14 05:01:41 +00:00
Roger Dingledine
b92a77b1d2
move the periodic buffer shrinking interval from 3 mins to 1 min
...
svn:r4204
2005-05-14 01:11:45 +00:00
Nick Mathewson
00f2a09380
Append default exit policy before checking for implicit internal addresses: fix bug 129.
...
svn:r4201
2005-05-14 00:13:17 +00:00
Nick Mathewson
776b411dc9
Fix a segfault
...
svn:r4191
2005-05-11 04:14:17 +00:00
Nick Mathewson
3893b3c7ac
Patch for task 133
...
svn:r4189
2005-05-10 22:33:45 +00:00
Nick Mathewson
d0c0d6c86a
Apply patch from Geoff for bug 132. Clean it up a little to fix a memory leak and to avoid unnecessary parse/unparse code.
...
svn:r4188
2005-05-10 22:12:48 +00:00
Nick Mathewson
ea5591ee4d
Implement --disable-threads
...
svn:r4187
2005-05-10 20:02:52 +00:00
Nick Mathewson
13126eeb0f
Patch from goodell for task 131: Do not die on internal address if we are not publishing.
...
svn:r4186
2005-05-09 04:31:00 +00:00
Nick Mathewson
10b2208d93
Make Tor compile with no warnings with gcc4.0 on OSX
...
svn:r4184
2005-05-07 05:55:06 +00:00
Nick Mathewson
6567ec9ccf
Functions work better when you call them. Resolve a bug which would prevent unreachable dirports from getting suppressed.
...
svn:r4183
2005-05-07 05:17:36 +00:00
Nick Mathewson
bc51c8b074
Implement --verify-config command-line option to fix bug 69.
...
svn:r4182
2005-05-07 04:49:09 +00:00
Roger Dingledine
cee7c5988c
fix massive memory leak
...
(50 megabytes over a couple of days, on the dirservers)
svn:r4181
2005-05-06 08:53:23 +00:00
Roger Dingledine
cc0b19888d
log buffer sizes on kill -usr1 too.
...
svn:r4180
2005-05-06 08:32:37 +00:00
Roger Dingledine
1f263bf6f5
whine at you if you're a server and you don't set your contactinfo
...
svn:r4178
2005-05-04 20:45:38 +00:00
Roger Dingledine
68ba303323
fix compile error if you're not multithreaded
...
svn:r4177
2005-05-03 18:44:20 +00:00
Roger Dingledine
6ea839265d
remove archaic debugging aid that was probably unsafe
...
svn:r4176
2005-05-03 10:17:38 +00:00
Roger Dingledine
87850c47b0
cleanup now that 0.0.9pre1 is obsolete
...
svn:r4175
2005-05-03 10:12:08 +00:00
Roger Dingledine
5265bbd2b8
first iteration of scrubbing sensitive strings from logs.
...
also generally clean up log messages.
svn:r4174
2005-05-03 10:04:08 +00:00
Nick Mathewson
b35f7dacef
Call tor_free_all instead of connections_free_all after forking
...
svn:r4173
2005-05-03 03:51:20 +00:00
Nick Mathewson
8b9ae25224
Change some >=s to >s in buf_resize, so that we do not denormalize buffers on resize.
...
svn:r4172
2005-05-03 03:25:04 +00:00
Nick Mathewson
4666b801fa
If DataDir is ~/.tor, and that expands to /.tor, then default to LOCALSTATEDIR/tor instead.
...
svn:r4170
2005-05-03 00:36:57 +00:00
Nick Mathewson
14bac4dad4
Elaborate on buf_shrink comment.
...
svn:r4169
2005-05-02 23:41:39 +00:00
Roger Dingledine
aa6bcd50ca
comment buf_shrink
...
svn:r4168
2005-05-02 23:39:09 +00:00
Nick Mathewson
ad547cbb8c
Correct and simplify buf_shrink logic
...
svn:r4167
2005-05-02 23:36:13 +00:00
Nick Mathewson
d6a6c8785b
When removing all bytes from a buffer, reset buf->cur=buf->mem
...
svn:r4166
2005-05-02 23:32:23 +00:00
Nick Mathewson
a312ce1d3b
Change buffer shrinking strategy: only try to shrink once every 3 minutes. Do not try to read over buffer size unless buffer is nearly empty.
...
svn:r4165
2005-05-02 23:17:08 +00:00
Nick Mathewson
9c683c7613
Make buffer shrinking algorithm a little smarter.
...
svn:r4164
2005-05-02 22:49:24 +00:00
Nick Mathewson
830ac87611
Actually, dont send CREATE_FAST cells at all for now
...
svn:r4163
2005-05-02 22:39:59 +00:00
Nick Mathewson
ab34901263
New and frightening code to implement fast-path first-hop CREATE_FAST cells. Watch out when we bump the version to 0.1.0.6-rc!
...
svn:r4162
2005-05-02 22:35:18 +00:00
Roger Dingledine
978648bff8
also print the platform string for rejected descriptors
...
svn:r4160
2005-05-02 22:06:04 +00:00
Roger Dingledine
15c1853bd6
don't print nulls
...
svn:r4159
2005-05-02 21:54:16 +00:00
Roger Dingledine
50505e677e
fix a comment
...
svn:r4157
2005-05-02 21:49:04 +00:00
Roger Dingledine
c9e83eb1b4
when we refuse a router descriptor, log contactinfo and source address.
...
svn:r4156
2005-05-02 21:48:54 +00:00
Roger Dingledine
57b7427c2d
reformat routerparse a bit
...
svn:r4155
2005-05-02 21:48:25 +00:00
Nick Mathewson
69dc4e1675
Remove support for looking at old directory/routerdesc elements; mark non-new elements optional; switch to new format for dir-signing-key; start accepting newer elements so we can mark them as non-opt later; make tor-spec say the right stuff.
...
svn:r4154
2005-05-02 21:22:31 +00:00
Roger Dingledine
729e720095
workaround for user error: some people were putting "Address " in their
...
torrc, and they had a buggy resolver that resolved " " to 0.0.0.0. Oops.
svn:r4150
2005-04-29 18:52:05 +00:00
Roger Dingledine
3d2fbeb979
bump to 0.1.0.5-rc-cvs
...
svn:r4149
2005-04-28 16:11:48 +00:00
Nick Mathewson
fe65e57ca1
Re-do fragmented control message handling to work with new buf_t system.
...
svn:r4144
2005-04-27 22:01:34 +00:00
Nick Mathewson
d0a9a8bdd3
Appease VC7. It has a strangely puritanical attitude about what programmers are allowed to do a consenting void*.
...
svn:r4140
2005-04-27 20:02:52 +00:00
Nick Mathewson
53607d3bb3
Turn SENTINELS back on; give NOINLINE a name and turn it off.
...
svn:r4139
2005-04-27 19:40:31 +00:00
Roger Dingledine
42d57317cd
bump to 0.1.0.5-rc
...
svn:r4138
2005-04-27 19:30:32 +00:00
Roger Dingledine
4c4a14e3cb
turn off the mongo debugging stuff, for performance tests
...
svn:r4137
2005-04-27 17:21:42 +00:00
Roger Dingledine
543d31c89a
bump the default bandwidthrate from 1mb to 2mb
...
svn:r4131
2005-04-27 04:13:59 +00:00
Nick Mathewson
52376dc9e8
Rename buf->start to buf->cur; fix bug in read_to_buf; still debug with paranoia.
...
svn:r4130
2005-04-27 02:55:21 +00:00
Nick Mathewson
746768df5d
Add even more debugging code; temporarily disable inlines in buffers.c
...
svn:r4129
2005-04-27 00:53:44 +00:00
Roger Dingledine
914ee87e07
stop re-reading and re-parsing the directory as soon as we make it.
...
it was nice for checking if we've got bugs, but it's really quite
expensive too. it was also nice for updating our routerinfo's
immediately, but we'll update them like everybody else when we fetch
a new dir from somebody else.
svn:r4128
2005-04-27 00:48:05 +00:00
Roger Dingledine
adaf3d31e6
hidden service client connections were using some of their
...
60 seconds fetching the hidserv descriptor, which made them
more likely to fail on the first attempt, yet they work fine
on the second. so now give them extra time for the first try.
svn:r4127
2005-04-26 22:36:00 +00:00
Roger Dingledine
2a7aec0ffd
fix function prototype, fix typo
...
svn:r4126
2005-04-26 21:29:20 +00:00
Nick Mathewson
ecc76d8245
Avoid overflow on wrapping a TLS read.
...
svn:r4125
2005-04-26 21:20:22 +00:00
Nick Mathewson
e6794e5808
Fix unit tests for buffers.
...
svn:r4124
2005-04-26 21:10:31 +00:00
Roger Dingledine
15c7c73c5e
bump to 0.1.0.4-rc-cvs while we're testing
...
svn:r4123
2005-04-26 20:59:36 +00:00
Nick Mathewson
9ba2dd7ea1
Clean/renormalize whitespace
...
svn:r4122
2005-04-26 20:55:32 +00:00
Nick Mathewson
ef2409e4ed
Change the implementation of buf_t a lot: make it a ring buffer to minimize memmove on flush. This may break the universe, but it is probably Necessary For Perfomance.
...
svn:r4121
2005-04-26 20:53:22 +00:00
Roger Dingledine
4eb3cf9330
a bit more debug info
...
svn:r4119
2005-04-26 20:05:15 +00:00
Roger Dingledine
953cf91ecd
add more debugging info to help us find the weird dns freebsd pthreads bug.
...
svn:r4117
2005-04-26 19:08:06 +00:00
Roger Dingledine
509405a5f7
clean up this TOR_FRAGILE business
...
svn:r4116
2005-04-26 18:52:16 +00:00
Roger Dingledine
5e86e87124
Add basic HttpsProxyAuthenticator support, based on patch
...
from Adam Langley.
svn:r4115
2005-04-26 18:33:33 +00:00
Roger Dingledine
4fafa81f32
help debug: when we close a conn due to timeout, tell us its
...
file descriptor, not its connectionarray index.
svn:r4113
2005-04-25 17:24:16 +00:00
Roger Dingledine
662cfc976d
only call the connection open once we've decided we like the cert.
...
svn:r4112
2005-04-25 17:23:52 +00:00
Roger Dingledine
f3ea883ccd
bugfix: stop trying to print a null pointer if an OR conn fails
...
because we didn't like its cert.
svn:r4111
2005-04-25 15:43:37 +00:00
Roger Dingledine
12ea3a26b2
bugfix: make a debug log stop lying
...
svn:r4110
2005-04-25 15:43:05 +00:00
Roger Dingledine
92b970d2a6
only complain about wedged cpuworkers after an hour, not 100 secs
...
svn:r4100
2005-04-23 20:58:44 +00:00
Nick Mathewson
4fb95f166e
Apparently, ASN1 failures are not treated as SSL connection errors, but are just general OpenSSL errors. Or something. Anyway, bulletproof tor_tls_handshake.
...
svn:r4098
2005-04-23 20:35:38 +00:00
Roger Dingledine
6128cdead0
let NumCpus be singular without whining
...
svn:r4097
2005-04-23 19:29:09 +00:00
Roger Dingledine
df18661a28
bump experimental version to 0.1.0.4-rc
...
svn:r4096
2005-04-23 18:31:25 +00:00
Roger Dingledine
cc620c2afb
bump to 0.1.0.3-rc-cvs
...
svn:r4088
2005-04-23 16:13:56 +00:00
Roger Dingledine
54fd9df23f
LOG_ERR is for when you're planning to die.
...
svn:r4087
2005-04-23 14:35:13 +00:00
Nick Mathewson
5827e2e216
Fix "JAP-client" hideous ASN1 bug, twice. (Fix1: check more thoroughly for TLS errors when handling certs. Fix2: stop assert(0)ing on uncaught TLS errors.)
...
svn:r4085
2005-04-23 14:26:02 +00:00
Roger Dingledine
ad4eca60ec
add geoff's NoPublish patch
...
svn:r4084
2005-04-21 10:40:48 +00:00
Nick Mathewson
ce9995a579
Replace an infinite-stack-recursion bug with a generate-infinite-debug-messages bug. Maybe it isnt such a good idea to send LOG_DEBUG messages to the controller after all?
...
svn:r4082
2005-04-17 22:52:02 +00:00
Nick Mathewson
cf84759b4b
zero-out errno before calling event_dispatch, just in case we have misdiagnosed poll(2)/EINVAL bug.
...
svn:r4081
2005-04-17 22:38:39 +00:00
Roger Dingledine
769541ff7e
be willing to load balance over up to 2mB, not 1mB, of advertised capacity
...
svn:r4080
2005-04-12 22:09:47 +00:00
Roger Dingledine
bf79b5266f
those should be notices, not warns
...
svn:r4079
2005-04-12 22:09:04 +00:00
Nick Mathewson
f1dfa30064
Fix postdescriptor behavior: on non-complete success, only say "done" once.
...
svn:r4073
2005-04-11 02:52:09 +00:00
Roger Dingledine
79ce1a42a5
bump to 0.1.0.3-rc
...
svn:r4064
2005-04-08 06:27:51 +00:00
Roger Dingledine
e2cdc87485
remove some redundant code
...
svn:r4062
2005-04-08 06:16:09 +00:00
Nick Mathewson
656e31ba33
If it has not been 100 seconds since we told the cpuworker about an onion, complain! Oh, wait...
...
svn:r4059
2005-04-08 04:59:34 +00:00
Nick Mathewson
f3b833cb47
Make libevent_logging_callback static.
...
svn:r4058
2005-04-08 03:47:18 +00:00
Nick Mathewson
74dc7eedc5
Add kludgy function to force controllers to flush EVENT_ERR_MSG events.
...
svn:r4057
2005-04-08 03:36:39 +00:00
Nick Mathewson
31c12e265f
Move a quote, fix a log.
...
svn:r4056
2005-04-08 03:26:44 +00:00
Nick Mathewson
c6769a80fb
Fixs a signed/unsigned comparison
...
svn:r4055
2005-04-08 03:26:23 +00:00
Nick Mathewson
6face4f482
Add missing "char"
...
svn:r4054
2005-04-08 03:07:07 +00:00
Roger Dingledine
97637549bb
tie MAX_DIR_SIZE to MAX_BUF_SIZE
...
resolve bug 80
svn:r4052
2005-04-07 22:13:17 +00:00
Roger Dingledine
dabafddb82
fix format bug
...
svn:r4051
2005-04-07 22:03:56 +00:00
Roger Dingledine
ec3650f00f
only whine about clock skew from the dirserver if he's a trusted
...
dirserver.
svn:r4048
2005-04-07 21:09:19 +00:00
Nick Mathewson
8cc3307e0d
Improve conn_*_to_string; add circuit_state_to_string; make skewed-descriptor messages better.
...
svn:r4047
2005-04-07 21:07:19 +00:00
Roger Dingledine
dd98412ce1
allow servers to publish descriptors from 12 hours in the future.
...
hopefully this will allow more slack and let crummier servers help
out too.
svn:r4046
2005-04-07 21:01:00 +00:00
Nick Mathewson
b897cb1ec3
Change conn_(type|state)_to_string from const arrays to switch functions so we (I) will not make Tor crash the next time we (I) add a new state.
...
svn:r4045
2005-04-07 20:25:22 +00:00
Roger Dingledine
6bdfd97272
add function comment
...
svn:r4043
2005-04-07 20:07:34 +00:00
Roger Dingledine
ab8a0bb52c
We have a bug that I can't find. Sometimes, very rarely, cpuworkers get
...
stuck in the 'busy' state, even though the cpuworker process thinks of
itself as idle. I don't know why. But here's a workaround to kill any
cpuworker that's been busy for more than 100 seconds.
svn:r4042
2005-04-07 20:02:00 +00:00
Nick Mathewson
c92a2620d4
Try RB_TREE instead of SPLAY_TREE, but with a single-entry caching optimization.
...
svn:r4041
2005-04-07 05:09:19 +00:00
Nick Mathewson
a035b8e3c3
Make compare_orconn_circid_entries marginally faster and inlined, if that helps
...
svn:r4040
2005-04-07 04:50:25 +00:00
Roger Dingledine
8aa0df56f6
Stop putting nodename in the Platform string of server descriptors.
...
It doesn't actually help, and it is confusing/upsetting some people.
svn:r4037
2005-04-06 21:11:05 +00:00
Nick Mathewson
7709547c08
When we connect and finish TLS negotiation with address:port, it is obvious that any other key or nickname we might know about (as an authdirserver) does not actually exist at address:port.
...
svn:r4036
2005-04-06 21:09:47 +00:00
Roger Dingledine
03720b39fd
stop wasting time doing a case insensitive comparison for every dns name
...
every time we do any lookup. canonicalize the names to lowercase and be
done with it.
svn:r4035
2005-04-06 20:25:21 +00:00
Roger Dingledine
46089c49c4
blow away most calls to assert_all_pending_dns_resolves_ok, since
...
they're eating our cpu.
svn:r4034
2005-04-06 20:05:34 +00:00
Roger Dingledine
652dde72f1
bugfix: chdir to your datadirectory at the *end* of the
...
daemonize process, not the beginning. this was a problem
because the first time you run tor, if your datadir isn't
there, and you have runasdaemon set to 1, it will try to
chdir to it before it tries to create it. oops.
svn:r4033
2005-04-06 19:07:38 +00:00
Roger Dingledine
8596947ee2
quiet another instance where we whine to an innocent OR operator's
...
logs when some other server switches keys unexpectedly.
svn:r4032
2005-04-06 18:55:14 +00:00
Roger Dingledine
620419b421
oh, and accept() into the right place, too.
...
svn:r4029
2005-04-06 16:16:31 +00:00
Roger Dingledine
70f3b3ef86
Forward-port the checking of
...
sin_addr.s_addr == 0 || sin->sin_port == 0.
This just happened on moria2, so I guess it happens rarely
on Linux as well as OS X.
We can't afford to accept OR conns from 0.0.0.0:0, since we
send created cells back to the first addr:port that matches,
and we'd better not send them to the wrong place.
So, let's drop them all for now, and see if we can find a pattern
later.
svn:r4028
2005-04-06 15:42:35 +00:00
Roger Dingledine
9cbaf4603d
fix an assert trigger: when we have the rare case of accepting
...
a conn on 0.0.0.0:0, then when we look through the connection array,
we'll find any of the workers. this is no good.
svn:r4027
2005-04-06 15:19:32 +00:00
Nick Mathewson
88dc243bb5
Rename circuit_get_by_stream to circuit_get_by_edge_conn, and actually start using it. Watch out, kids!
...
svn:r4026
2005-04-06 06:43:21 +00:00
Roger Dingledine
716d9bc99a
when using preferred entry or exit nodes, ignore whether
...
the circuit wants uptime or capacity. they asked for the
nodes, they get the nodes.
svn:r4025
2005-04-06 06:17:35 +00:00
Nick Mathewson
4453e3794a
Add a pointer from edge connections to their corresponding circuit (ulp!); add some debugging sanity-checking for cirid_orconn_map stuff
...
svn:r4024
2005-04-06 06:13:49 +00:00
Nick Mathewson
2a0b1025e5
Fix bug in last commit when no circid can be found
...
svn:r4023
2005-04-06 05:45:07 +00:00
Nick Mathewson
b34d9adb59
Fix format warning
...
svn:r4022
2005-04-06 05:44:05 +00:00
Roger Dingledine
94cecc712d
note some features we intend to add.
...
svn:r4021
2005-04-06 05:35:06 +00:00
Nick Mathewson
b7cdcf3462
Hopefully, this will make ORs much faster, and not break them: keep a big splay tree of (circid,orconn)->circuit mappings to make circuit_get_by_circid_conn much faster.
...
svn:r4020
2005-04-06 05:33:32 +00:00
Roger Dingledine
712d05c19a
a bit more data on gene's dns threading bug
...
svn:r4019
2005-04-06 05:32:24 +00:00
Roger Dingledine
5f0a84cbe2
update conn-type-state-strings to handle https states for ORs
...
svn:r4018
2005-04-06 04:55:17 +00:00
Nick Mathewson
3014b03b67
Add missing comma. Oops
...
svn:r4017
2005-04-06 03:20:06 +00:00
Nick Mathewson
88fe4d6292
Handle changed router status correctly when reloading fingerprint file
...
svn:r4016
2005-04-06 01:09:26 +00:00
Nick Mathewson
1b5e2182fa
Log msg spelling fix
...
svn:r4015
2005-04-06 00:53:13 +00:00
Roger Dingledine
f860b490be
When we're connecting to an OR and he's got a different nickname/key
...
than we were expecting, only complain loudly if we're an OP or an
authdirserver. Complaining loudly to OR admins just confuses people.
svn:r4014
2005-04-06 00:50:40 +00:00
Nick Mathewson
ac268a8340
Fix Tor for no-threading compilation: move connection_unregister from _connection_free to connection_free.
...
svn:r4013
2005-04-06 00:46:57 +00:00
Nick Mathewson
374edd356e
Change replacement semantics for directory entries: fix bug 121.
...
svn:r4012
2005-04-06 00:01:35 +00:00
Nick Mathewson
4991290935
Revise control spec and implementation to allow all log messages to be sent to controller with their severities intact.
...
svn:r4010
2005-04-05 22:56:17 +00:00
Nick Mathewson
46be0fa999
Make last fix work on windows too.
...
svn:r4009
2005-04-04 21:53:26 +00:00
Nick Mathewson
0fff263a46
Fix possible bug on threading platforms with running out of fds do to cpuworkers and dnsworkers.
...
svn:r4008
2005-04-04 21:46:08 +00:00
Roger Dingledine
533a3bbe2e
don't point to the 0.0.9.x manual only
...
svn:r4007
2005-04-04 18:57:16 +00:00
Roger Dingledine
88c9e3959a
put a note in the torrc about abuse potential with the default
...
exit policy.
svn:r4006
2005-04-04 18:56:15 +00:00
Roger Dingledine
f1edeebf7d
client now retries when streams end early for 'hibernating' or
...
'resource limit' reasons; refactor.
svn:r4004
2005-04-04 03:30:49 +00:00
Roger Dingledine
823b7d4d8b
automatically approve nodes running 0.1.0.2-rc or later
...
svn:r4001
2005-04-03 19:01:47 +00:00
Nick Mathewson
7bf443e985
I hear the smart kinds compile before committing. Then they never miss parens
...
svn:r3999
2005-04-03 06:00:00 +00:00
Nick Mathewson
f696fd98bf
Make smartlist_string_remove consistent with smartlist_string
...
svn:r3998
2005-04-03 05:58:23 +00:00
Nick Mathewson
1aedf3daf5
Only warn once per nickname from add_nickname_list_to_smartlist per failure.
...
svn:r3997
2005-04-03 05:53:34 +00:00
Nick Mathewson
ff545c3103
Add useful smartlist_string_remove function.
...
svn:r3996
2005-04-03 05:52:32 +00:00
Nick Mathewson
11d20d78a0
Adjust maximum skew and age for rendezvous descriptors: adjust code to make skew add to age.
...
svn:r3995
2005-04-03 05:36:23 +00:00
Roger Dingledine
658463a751
clean up the circuit-mark-for-close patch
...
svn:r3994
2005-04-03 05:31:41 +00:00
Roger Dingledine
096879687a
start sending 'truncated' cells back rather than destroy cells,
...
if the circuit closes in front of you.
svn:r3993
2005-04-03 05:25:26 +00:00
Nick Mathewson
0dc02328af
Move most of *_mark_for_close out of macros.
...
svn:r3992
2005-04-03 05:22:33 +00:00
Nick Mathewson
2a332bf0b8
Fix unterminated comment
...
svn:r3991
2005-04-03 05:21:16 +00:00
Nick Mathewson
055ee7c323
Give better warnings if connection_close_unattached_ap gets called twice or called on a marked connection; rename it to connection_mark_unattached_ap.
...
svn:r3990
2005-04-02 22:11:24 +00:00
Nick Mathewson
4a90d37229
Better messages when POSTDESCRIPTOR fails
...
svn:r3989
2005-04-02 22:02:13 +00:00
Roger Dingledine
13e211de17
We're printing the host mask wrong in exit policies in server descriptors.
...
I believe this isn't a critical bug tho, since we're still obeying the
exit policy internally.
svn:r3987
2005-04-02 08:55:31 +00:00
Roger Dingledine
8dbdbfb831
improved log error message
...
svn:r3986
2005-04-02 08:30:40 +00:00
Roger Dingledine
bd82ac06a8
bump to 0.1.0.2-rc-cvs
...
svn:r3983
2005-04-01 20:30:09 +00:00
Nick Mathewson
0e81265359
update copyright notices.
...
svn:r3982
2005-04-01 20:15:56 +00:00
Nick Mathewson
36631d6401
Fix a couple of win32-related build issues when using latest libevent.
...
svn:r3978
2005-04-01 16:48:22 +00:00
Nick Mathewson
0d6c9c47b3
Short-term fix: prevent possible segfault in connection_close_unattached_ap
...
svn:r3970
2005-04-01 16:04:45 +00:00
Roger Dingledine
5de85f54ba
bump version to 0.1.0.2-rc
...
svn:r3969
2005-04-01 14:13:31 +00:00
Roger Dingledine
453a822425
when you decide you're reachable, actually publish your descriptor
...
right then.
svn:r3968
2005-04-01 09:28:14 +00:00
Roger Dingledine
1ff62dbd18
require exactly 0.0.9.7 for middle hops of testing circs, for now
...
svn:r3967
2005-04-01 09:23:51 +00:00
Roger Dingledine
e786e5dedb
when building testing circuits, always use middle hops
...
running at least 0.0.9.7
svn:r3966
2005-04-01 08:42:26 +00:00
Roger Dingledine
a28ae7a70c
fix assert: if our dirport isn't reachable yet, don't trick
...
*ourselves* into thinking the dirport is zero. but continue
to tell other people that it is.
svn:r3952
2005-04-01 07:42:32 +00:00
Roger Dingledine
cd25e56ad2
when the or-connect succeeded and the tls handshake succeeded
...
but we didn't like the result, we were closing the connection
without sending any destroys back for the pending circuits. now
send those destroys anyway; i hope this doesn't break too much.
svn:r3951
2005-04-01 07:25:18 +00:00
Nick Mathewson
73f6c1531e
fix typo in earlier libevent mmessage suppress patch
...
svn:r3950
2005-04-01 07:16:52 +00:00
Roger Dingledine
003d9df6b0
authdirservers shouldn't do orport reachability detection,
...
since they're in clique mode, so it will be rare to find a
server not already connected to them.
svn:r3949
2005-04-01 07:09:18 +00:00
Nick Mathewson
410ecfcc71
Add code to suppress spurious libevent log msgs; use it to resolve bug 68.
...
svn:r3948
2005-04-01 07:05:21 +00:00
Nick Mathewson
bc668233ad
Improve error msgs in tor-resolve.c; resolve bug 112
...
svn:r3947
2005-04-01 07:04:40 +00:00
Roger Dingledine
2ff2db8d2a
fix some log spacing problems
...
svn:r3942
2005-04-01 06:23:21 +00:00
Nick Mathewson
efe9ca659a
Use recent libevent features when possible
...
svn:r3940
2005-04-01 02:37:40 +00:00
Nick Mathewson
837d7dff69
Try to make crash-on-shutdown bug harder to trigger.
...
svn:r3939
2005-04-01 02:37:10 +00:00
Nick Mathewson
e04a82ecaf
Patch: when extending to an unknown router, compare identity to expected identity; not nickname-to-expected identity.
...
svn:r3937
2005-03-31 23:30:13 +00:00
Roger Dingledine
801d5ef1de
spell recommended correctly
...
svn:r3936
2005-03-31 20:52:43 +00:00
Roger Dingledine
1f5c8335e8
still publish your descriptor if orport is reachable but dirport isn't
...
when building testing circs for orport testing, require high-bandwidth
nodes, so fewer circs fail. complain about unreachable orport separately
from unreachable dirport.
svn:r3935
2005-03-31 19:26:33 +00:00
Roger Dingledine
c2a05e1ca9
redo the state descriptors now that we have a controller-wait state
...
svn:r3934
2005-03-31 17:36:24 +00:00
Roger Dingledine
561cd28f99
bump cvs version to 0.1.0.1-rc-cvs
...
svn:r3933
2005-03-31 08:04:01 +00:00
Roger Dingledine
4f5192b280
...and use it to make sure we only conclude reachability if
...
we didn't initiate the conn.
svn:r3932
2005-03-31 07:46:59 +00:00
Roger Dingledine
4a82ac12b8
add a tor_tls_is_server method to remember if conn->tls
...
was an initiator or a receiver
svn:r3931
2005-03-31 07:46:38 +00:00
Nick Mathewson
1bf1f44e74
Fix bug in redirectstream.
...
svn:r3926
2005-03-31 06:06:02 +00:00
Roger Dingledine
5bdab005c9
mark two more bugs. nick, can you take a look?
...
svn:r3920
2005-03-29 05:27:32 +00:00
Roger Dingledine
20a8eda31b
don't check for reachability, and don't whine about it, while we're
...
hibernating.
svn:r3919
2005-03-29 03:48:31 +00:00
Roger Dingledine
7cf33ed495
resolve another 'hasn't sent end yet' bug
...
svn:r3911
2005-03-29 00:35:35 +00:00
Nick Mathewson
1612df7b2c
Fix a couple more places where we use ->new_address without checking that it is there.
...
svn:r3907
2005-03-28 02:03:51 +00:00
Roger Dingledine
0e26973c02
make calls to address_is_in_virtual_range more bullet-proof.
...
might fix the assert failure i just got.
svn:r3906
2005-03-28 01:56:12 +00:00
Roger Dingledine
80901fde69
remember some thoughts about using WSAStartup to learn
...
how many sockets we get to use on win32.
svn:r3905
2005-03-28 01:11:02 +00:00
Nick Mathewson
4246f6f8bc
Clarify that we don't, and why we don't, need to redefine FD_SETSIZE.
...
svn:r3904
2005-03-28 01:07:14 +00:00
Roger Dingledine
96c331e4ed
we seem to have lost our define for FD_SETSIZE on win32 in the change
...
from fakepoll to libevent. be sure to define it *before* we include
winsock.
svn:r3903
2005-03-27 22:52:48 +00:00
Roger Dingledine
9b5432214d
but only do the rapid reachability testing if we're hoping to be a server.
...
svn:r3902
2005-03-27 11:52:15 +00:00
Roger Dingledine
452563e157
make slightly clearer that socksport is for local applications
...
svn:r3901
2005-03-27 11:27:16 +00:00
Roger Dingledine
b8fe866a9d
forward-port the fixing of the crash bug.
...
svn:r3900
2005-03-27 07:18:30 +00:00
Roger Dingledine
92acd64da0
if your server hasn't found itself to be reachable, complain every
...
20 minutes, not just once.
svn:r3897
2005-03-27 06:50:36 +00:00
Roger Dingledine
7a79acd9f6
clean up socks reply stuff more.
...
add a few more reasons so we can be more informative.
svn:r3895
2005-03-27 06:37:56 +00:00
Nick Mathewson
ce854906db
Rename ManageConnections to LeaveStreamsUnattached. Apparently, there was a missing "TorShould" that was mistaken for an "IWantTo".
...
svn:r3894
2005-03-27 06:25:33 +00:00
Roger Dingledine
36baf7219d
stop most cases of hanging up on a socks connection without sending
...
the socks reject. audit for remaining ones. also make things more
uniform so we always remember to hold-open-until-flushed, etc.
svn:r3891
2005-03-27 04:55:13 +00:00
Nick Mathewson
efb5db449a
Describe where to find torrc on OS X
...
svn:r3889
2005-03-27 01:11:45 +00:00
Roger Dingledine
4533a46e41
move the assert higher up so the error message makes more sense
...
next time.
svn:r3887
2005-03-26 06:27:51 +00:00
Roger Dingledine
fcfe6d2e8b
fix assert: stop trying to send a socks reply to an *exit*
...
connection when we get an end cell before it's finished opening.
svn:r3886
2005-03-26 06:27:04 +00:00
Roger Dingledine
b8d38dc57b
try harder to establish reachability, in the first 20 minutes
...
of uptime.
svn:r3884
2005-03-26 05:54:50 +00:00
Roger Dingledine
1328383482
make it clearer to the human that his server is testing
...
its reachability. tell him when it succeeds, or when 20
minutes pass and it hasn't succeeded yet.
svn:r3882
2005-03-26 01:43:39 +00:00
Roger Dingledine
570da8a8e8
and fill in another missing socks reply
...
svn:r3877
2005-03-25 11:23:03 +00:00
Roger Dingledine
9b9dbad0b7
fix another case where we need to send a socks reply (reject)
...
back before we close the conn.
svn:r3876
2005-03-25 11:12:14 +00:00
Roger Dingledine
8945df8daa
remove dead code
...
svn:r3875
2005-03-25 10:55:49 +00:00
Roger Dingledine
9685164fe5
don't mark a router down just because your httpsproxy is unreachable
...
svn:r3874
2005-03-25 10:55:06 +00:00
Nick Mathewson
d26bcfab92
Note where connection that hasnt sent end was marked.
...
svn:r3872
2005-03-25 05:54:50 +00:00
Roger Dingledine
bd37c9a3bd
REUSEADDR on normal places means you can rebind to the port
...
right after somebody else has let it go. But REUSEADDR on win32
means to let you bind to the port _even when somebody else
already has it bound_. So, don't do that on Win32.
svn:r3867
2005-03-24 23:20:06 +00:00
Roger Dingledine
4abb54a876
forward-port the circuit_resume_edge_reading_helper fix.
...
svn:r3863
2005-03-24 21:57:45 +00:00
Roger Dingledine
fa3c9d94bc
when you attachstream to a circid of 0, send back an answer
...
svn:r3857
2005-03-24 06:28:21 +00:00
Roger Dingledine
09ef2b7e41
cleanup so connection_ap_handshake_attach_chosen_circuit() always
...
gets open circs.
svn:r3856
2005-03-24 06:18:59 +00:00
Nick Mathewson
13fdf51bc1
Bulletproof connection_ap_handshake_attach_chosen_circuit
...
svn:r3855
2005-03-24 06:05:14 +00:00
Nick Mathewson
8e8915f3ca
Fix SOCKS5 bug: Set replylen to 0 after sending hanshake back
...
svn:r3850
2005-03-24 01:11:28 +00:00
Nick Mathewson
0cfdeb01c8
Debug EXTENDCIRCUIT
...
svn:r3849
2005-03-24 01:08:25 +00:00
Roger Dingledine
0dc91fd9c0
fix an assert -- we're not allowed to write onto a conn after we've
...
connection_unregistered it. there's still more work to be done here,
since we need to make sure to send back the socks-reply as soon as we
know what it will be -- we can't just wait until connection-about-to-close
to deal with it.
svn:r3847
2005-03-23 23:19:18 +00:00
Roger Dingledine
fb8a319ffe
fix an over-eager assert, to make httpsproxy get a little farther
...
svn:r3846
2005-03-23 22:11:59 +00:00
Roger Dingledine
935d0d9685
bump cvs to 0.1.0.1-rc
...
svn:r3845
2005-03-23 22:00:42 +00:00
Roger Dingledine
a799dad937
forward-port the commenting out of the assert that glenn fink was
...
triggering. we still don't know why he was triggering it.
svn:r3841
2005-03-23 20:42:37 +00:00
Nick Mathewson
4ee6addf57
Fix bug 44: on HUP, if descriptor building fails (say, because router_get_my_address() fails), use old descriptor and warn.
...
svn:r3839
2005-03-23 20:28:40 +00:00
Nick Mathewson
6e4bccc4ac
Make GETINFO for "network-status" work on non-authdirs
...
svn:r3837
2005-03-23 19:15:10 +00:00
Nick Mathewson
b9016bd18f
Fix several bugs (including some crashes) related to control interface; implement missing desc/name functionality.
...
svn:r3836
2005-03-23 08:40:11 +00:00
Nick Mathewson
0b7a9e2e7b
Be willing to cache directories from up to ROUTER_MAX_AGE seconds into the future, now that we are more tolerant of skew.
...
svn:r3832
2005-03-23 06:39:53 +00:00
Nick Mathewson
631ab5c69b
Add a magic value to cpath_layer_t to make sure that we can tell valid cpaths from freed ones. I audited this once; it could use another audit.
...
svn:r3831
2005-03-23 06:21:48 +00:00
Nick Mathewson
905c16846a
Fix a few more instances of memory not freed on exit (found by weasel).
...
svn:r3830
2005-03-23 06:20:50 +00:00
Nick Mathewson
b7ce4d1d3d
Correct fix for self-to-self addressmap; simplify replace-old-entry logic; add missing case.
...
svn:r3829
2005-03-23 05:32:06 +00:00
Roger Dingledine
22386ecf1e
whoops, fix seg fault i just introduced
...
svn:r3828
2005-03-23 03:02:44 +00:00
Roger Dingledine
7373042a7b
fix assert triggers (bugs 109 and 96), and put in some
...
debugging logs to notice future repeat bugs.
svn:r3826
2005-03-23 02:52:55 +00:00
Roger Dingledine
a523439cbc
maybe resolve an assert trigger i just got:
...
connection_edge.c:643 address_is_in_virtual_range: Assertion addr failed; aborting.
nick, what do you think?
svn:r3825
2005-03-23 00:19:51 +00:00
Roger Dingledine
e28b8aaa40
make httpsproxy more likely to work
...
(don't let OR conns do tls until they've finished connecting and
doing the proxy dance.)
svn:r3824
2005-03-22 23:57:18 +00:00
Roger Dingledine
21b1adefbb
fix a 32bit/64bit sprintf mixup that weasel pointed out
...
svn:r3823
2005-03-22 23:27:29 +00:00
Roger Dingledine
ad5f5ddf7e
remove a duplicate circuit_mark_for_close() when picking
...
a path for the circuit fails.
svn:r3822
2005-03-22 23:20:33 +00:00
Roger Dingledine
6659cd5e8e
options->MaxAdvertisedBandwidth only replaces advertised
...
bandwidthrate, not advertised bandwidthcapacity
svn:r3818
2005-03-22 20:41:28 +00:00
Nick Mathewson
ab1d0049a2
Prevent spurious closes when we put stuff on a conn that has not written for a while.
...
svn:r3816
2005-03-22 20:25:51 +00:00
Roger Dingledine
8a763b5ae3
cleanup and a question
...
svn:r3815
2005-03-22 20:04:00 +00:00
Nick Mathewson
7a0072cc1a
Specify and implement close-stream and close-circuit control messages
...
svn:r3814
2005-03-22 19:36:38 +00:00
Nick Mathewson
ec81f87018
Implement an option to cap bandwidth-to-advertise. Arma: can you improve the manpage entry by explaining why you would want to do this?
...
svn:r3813
2005-03-22 19:01:46 +00:00
Nick Mathewson
2d662bf773
Clear up a couple of pedantic compiler warnings
...
svn:r3812
2005-03-22 18:56:11 +00:00
Nick Mathewson
2d40991427
Report HTTP reasons to directory clients. (Also, fix format on new TODO items)
...
svn:r3811
2005-03-22 18:43:24 +00:00
Roger Dingledine
d6a0e5bcc9
when reporting events about streams, use the "real" address for
...
the stream, including the requested .exit address.
svn:r3810
2005-03-22 10:34:23 +00:00
Roger Dingledine
e07e0a4732
remove obsolete code
...
svn:r3809
2005-03-22 10:34:00 +00:00
Nick Mathewson
c4470cbedf
be more explicit about why we are expiring a conn; improve logic a bit too
...
svn:r3808
2005-03-22 06:21:35 +00:00
Nick Mathewson
f5989afde2
Add opt hibernating; fix bug 78
...
svn:r3807
2005-03-22 06:08:28 +00:00
Roger Dingledine
76a03e8635
handle_control_getinfo() was counting msg_len itself,
...
when that's actually smartlist_join_strings2()'s job.
svn:r3806
2005-03-22 05:41:05 +00:00
Roger Dingledine
248867caf5
bugfix: make smartlist_join_strings2 actually use the separator/terminator
...
svn:r3805
2005-03-22 05:37:59 +00:00
Roger Dingledine
ed9524a626
Remove controller getinfo support for "desc/all-ids".
...
Replace it with getinfo "network-status" just like in directories.
This way the controller can learn which servers are running, which
are verified, etc.
svn:r3801
2005-03-22 03:27:51 +00:00
Roger Dingledine
8d1460c858
tell me the address of the guy who's trying to attack my dirserver
...
svn:r3799
2005-03-22 01:18:50 +00:00
Roger Dingledine
f1ba4296c1
clean up and refactor some more
...
svn:r3798
2005-03-22 01:01:15 +00:00
Roger Dingledine
35953edae0
Implement controller's "extendcircuit" directive.
...
Also refactor circuit building so we plan the whole path ahead
of time.
svn:r3797
2005-03-22 00:42:38 +00:00
Roger Dingledine
5d5b12ce75
make example contactinfo entries slightly more spam resistant, since
...
people are seeing spam to their contactinfo addresses now. (yay.)
svn:r3795
2005-03-21 07:40:25 +00:00
Roger Dingledine
4a497e5030
if our clock jumps forward by 100 seconds or more, assume something
...
has gone wrong with our network and abandon all not-yet-used circs.
svn:r3792
2005-03-19 23:58:42 +00:00
Roger Dingledine
856ab90ca8
stop logging at -l notice every single time a create cell successfully
...
gets processed
svn:r3791
2005-03-19 23:04:15 +00:00
Geoff Goodell
035c8d1b1c
added short blurb about ControlPort to sample torrc
...
svn:r3790
2005-03-19 20:50:03 +00:00
Roger Dingledine
fbeaeb138e
and forward-port the missing space
...
svn:r3789
2005-03-19 20:30:23 +00:00
Nick Mathewson
b88c4ba11c
Turn addr_policy_compare from a tristate to a quadstate; this should help address our "Ah, you allow 1.2.3.4:80. You are a good choice for google.com" problem.
...
svn:r3786
2005-03-19 06:57:16 +00:00
Nick Mathewson
07a7b6af64
Implement redirectstream in control interface.
...
svn:r3785
2005-03-19 06:05:55 +00:00
Roger Dingledine
963ddf2953
fix typo
...
svn:r3784
2005-03-19 05:09:13 +00:00
Nick Mathewson
11aa682812
Split version info into separate spec doc.
...
svn:r3783
2005-03-19 05:07:19 +00:00
Roger Dingledine
ec7f232b24
make hidden services more likely to work from the server-side
...
svn:r3781
2005-03-19 04:38:59 +00:00
Nick Mathewson
b004eda10c
Enable NT service code by default
...
svn:r3780
2005-03-19 01:04:05 +00:00
Thomas Sjögren
7c29b65466
removing the warning about port 80.
...
svn:r3773
2005-03-18 16:34:56 +00:00
Thomas Sjögren
b1ceb1fb22
add "warning" about port 80 to torrc.sample.in
...
svn:r3772
2005-03-18 16:30:29 +00:00
Nick Mathewson
df9c8feac7
Commit fixes for several pending tor core tasks: document all DOCDOCed functions; time out uncontrolled unattached streams; feed reasons to SOCKS5 (refactoring connection_ap_handshake_socks_reply in the process); change DirFetchPeriod/StatusFetchPeriod to have a special "Be smart" value.
...
svn:r3769
2005-03-17 12:38:37 +00:00
Nick Mathewson
be38e0a490
Fix a fun windows bug: apparently windows stat wants paths not to end with slash.
...
svn:r3766
2005-03-16 00:04:59 +00:00
Roger Dingledine
229761465c
re-enable reachability testing stuff.
...
also, consider your ORPort reachable after you've processed a
create cell from any non-local address.
svn:r3763
2005-03-15 01:44:46 +00:00
Thomas Sjögren
932252f9b4
Show people where they can find the default exit policy.
...
svn:r3762
2005-03-14 23:26:41 +00:00
Roger Dingledine
316afb6d09
fix an assert trigger in cvs: if a resolve request fails, and the circuit
...
has vanished in the meantime, then we would both mark it for close
(i.e. put it on the closeable list) and also immediately free it.
svn:r3759
2005-03-14 04:42:52 +00:00
Nick Mathewson
0197b47ce9
Fix some more obscure compiler warnings
...
svn:r3758
2005-03-14 03:28:46 +00:00
Nick Mathewson
97dad670ea
Renormalize whitespace
...
svn:r3757
2005-03-14 03:18:35 +00:00
Nick Mathewson
fd150459b3
Raise common code for "detach this stream and try it with a different circuit" into a separate function; make that function handle controller-managed streams right.
...
svn:r3756
2005-03-14 03:12:59 +00:00
Roger Dingledine
cabb8624e2
bugfix: now that we don't do the client dns thing, our checks
...
to see if somebody was contradicting his exit policy were wrong.
svn:r3755
2005-03-13 05:53:17 +00:00
Roger Dingledine
01f0b31432
ShutdownWaitLength should be an interval, not a uint
...
svn:r3753
2005-03-12 20:16:52 +00:00
Roger Dingledine
fe768d1d2a
change SHUTDOWN_WAIT_LENGTH from a fixed 30 secs to a config option
...
svn:r3752
2005-03-12 20:13:38 +00:00
Nick Mathewson
115271f65e
Implement the common case of ATTACHSTREAM.
...
svn:r3751
2005-03-12 04:22:01 +00:00
Nick Mathewson
2b7907ef42
Increment step of a for loop should only happen once.
...
svn:r3746
2005-03-11 21:42:32 +00:00
Nick Mathewson
777d3dde0c
Get address map resetting implemented.
...
svn:r3745
2005-03-11 21:39:39 +00:00
Nick Mathewson
b17bb918ac
Remove unused macro; add a comment on remaining macros.
...
svn:r3744
2005-03-11 21:38:06 +00:00
Roger Dingledine
5254c4e63a
remove duplicate function prototype
...
svn:r3743
2005-03-11 20:47:23 +00:00
Geoff Goodell
af15c711c9
redefining default exit policy as per or-talk discussion
...
svn:r3739
2005-03-11 05:07:31 +00:00
Nick Mathewson
99cc6bae0d
Fix error codes to work on windows
...
svn:r3738
2005-03-10 18:48:13 +00:00
Nick Mathewson
6394f77edb
Initialize msg_len
...
svn:r3737
2005-03-10 18:46:11 +00:00
Nick Mathewson
aaf70df3bd
Fix signed/unsigned warning
...
svn:r3736
2005-03-10 18:45:42 +00:00
Nick Mathewson
37a478bd78
Tell windows how big time_t is.
...
svn:r3735
2005-03-10 18:45:18 +00:00
Nick Mathewson
a308353600
Fix const-ness warning
...
svn:r3733
2005-03-10 06:15:46 +00:00
Nick Mathewson
c185825585
Finish implementing GETINFO; make it easy to query address maps.
...
svn:r3732
2005-03-03 06:37:54 +00:00
Nick Mathewson
f90ccf5648
Implement new controller events for changed descriptors and new (not-yet-attached) streams.
...
svn:r3731
2005-03-02 22:29:58 +00:00
Nick Mathewson
4b5e213a0b
Separate reverse-virtual-address-map entries into ipv4 and hostname slots. Otherwise if you ask me to map "some IPv4 address" to foo.onion, I might tell you that I already mapped "bar.virtual" to foo.onion
...
svn:r3730
2005-03-02 22:01:10 +00:00
Nick Mathewson
5315b61e13
Fix some log messages to refer to correct control type.
...
svn:r3729
2005-03-02 21:59:36 +00:00
Nick Mathewson
5f8e2c2bc4
Rename unused-address functions to virtual address; this is more accurate. Also, include almost-right implementation of reusing dont-care mappings. (It is still kind of wrong because it does not take type into account.)
...
svn:r3728
2005-03-02 21:02:11 +00:00
Nick Mathewson
b494c2223d
Specify and implement fragmented control messages to allow for (among other things) long GETINFO replies. Otherwise we could hit the 64K barrier on questions like "please dump your client-side DNS cache."
...
svn:r3726
2005-03-02 20:22:10 +00:00
Nick Mathewson
65230fd39f
Implement "Dont-Care" from addresses to MapAddress control message. For safety, refuse to launch connections to unmapped addresses in the dont-care range.
...
svn:r3725
2005-03-02 19:26:46 +00:00
Nick Mathewson
e14f812a67
Still more code to make sure we send the right number and kind of RELAY END cells
...
svn:r3723
2005-03-02 03:13:05 +00:00
Nick Mathewson
afe414f070
Revise all calls to connection_edge_end to avoid sending MISC, and to take errno into account where possible.
...
svn:r3720
2005-03-01 22:42:31 +00:00
Nick Mathewson
4ddf768a4f
Forward-port new reasons; clean up code more; add code to convert new reasons to SOCKS5 reply codes; add code to convert errnos to reasons. New code still needs to get invoked.
...
svn:r3719
2005-03-01 22:16:15 +00:00
Nick Mathewson
83743d64ab
Change version parsing logic: a version is "obsolete" if it is not recommended and (1) there is a newer recommended version in the same series, or (2) there are no recommended versions in the same series, but there are some recommended versions in a newer series. A version is "new" if it is newer than any recommended version in the same series.
...
svn:r3716
2005-03-01 01:44:57 +00:00
Nick Mathewson
b7b05dc1b2
make control interface stream IDs monotonically increasing to prevent possible races
...
svn:r3715
2005-03-01 01:15:01 +00:00
Nick Mathewson
349ee1abea
Clean up rend cache on shutdown
...
svn:r3714
2005-02-28 22:38:00 +00:00
Roger Dingledine
b961d1c3bd
disable the reachability detection stuff in cvs, so people can
...
run servers from cvs while i'm gone.
svn:r3712
2005-02-28 09:39:12 +00:00
Nick Mathewson
c5091e7134
When copying routerinfo, copy descriptor too to prevent later double-free.
...
svn:r3711
2005-02-28 03:37:27 +00:00
Nick Mathewson
97bc49bd72
Try a little harder to avoid openssl SSL* double-free reports.
...
svn:r3710
2005-02-28 02:52:51 +00:00
Nick Mathewson
0a2be3c9d8
Fix strmap_free to release memory actually held by the strmap.
...
svn:r3708
2005-02-28 02:21:40 +00:00
Roger Dingledine
b3177d509e
free some more memory at shutdown
...
svn:r3707
2005-02-28 01:59:18 +00:00
Nick Mathewson
bed6c05453
give a better warning when tor points at an https server.
...
svn:r3706
2005-02-28 01:55:09 +00:00
Roger Dingledine
25ff3a5042
fix bug in control mapaddress
...
svn:r3705
2005-02-27 23:20:48 +00:00
Roger Dingledine
3cef60a0f7
fix a minor memory leak
...
svn:r3704
2005-02-27 22:08:01 +00:00
Roger Dingledine
a1f1fa6ab2
Checkpoint in-progress fixes:
...
Add 'testing' circuit purpose, for reachability testing.
Notice when our IP changes, and reset stats.
Try to pull down a directory via Tor to see if our DirPort is working.
Try to extend a circuit back to us to see if our ORPort is working.
Only publish a descriptor if they're both reachable.
These mostly work, and I'd better get them in before I cause conflicts.
svn:r3703
2005-02-27 09:47:01 +00:00
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
2be0508f0d
Be specific about which "illegal character" we just saw in the cert.
...
svn:r3699
2005-02-25 21:05: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
e8da6b26b6
Note a non-bug in read_file_to_str as used. If we start to rely on it behaving differently, we need to change how it behaves. [Noticed by Chris Palmer]
...
svn:r3655
2005-02-22 07:18:46 +00:00
Nick Mathewson
d37f4dd8a9
But on windows, localtime and gmtime _are_ threadsafe.
...
svn:r3654
2005-02-22 07:09:17 +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
bb53a0bddd
remove spurious semicolons
...
svn:r3650
2005-02-22 04:55:19 +00:00
Nick Mathewson
d060f845f2
Snarf some logic from python, adapted to our own needs, to handle gethostbyname_r correctly across platforms.
...
svn:r3649
2005-02-22 04:50:31 +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
Nick Mathewson
6bd81c9ee2
Fix windows build: do not spuriously include openssl where not needed; handle lack of gethostbyname_r properly.
...
svn:r3644
2005-02-22 02:51:55 +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
b5bddd8cfd
bugfix: actually use the argument to strmap_free()
...
svn:r3640
2005-02-20 23:12:20 +00:00
Roger Dingledine
38f53cff41
forward-port the onion queue thing
...
svn:r3639
2005-02-20 09:27:48 +00:00
Roger Dingledine
596d65ec3b
avoid case (not yet triggered) where smartlists could grow out
...
of control
svn:r3636
2005-02-19 03:02:33 +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
aac97a3c6a
Tell openssl how to use locks and how to find thread ids -- this may prevent race conditions surrounding the error queue.
...
svn:r3622
2005-02-13 22:32:25 +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
f6221b695f
Apply windows patch from Dmitri Bely
...
svn:r3617
2005-02-12 21:03:37 +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
Nick Mathewson
915202048e
Handle return value from getaddrinfo properly
...
svn:r3526
2005-02-03 23:13:36 +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
Nick Mathewson
a035032f09
Use getaddrinfo and gethostbyname_r where available. Note that these are not necessarily threadsafe: this needs more thinking. Perhaps we should back down on this multithreading idea.
...
svn:r3522
2005-02-03 21:31:04 +00:00
Nick Mathewson
e4b21c97f7
Forward-port SGI Compatibility patches from Jan Schaumann
...
svn:r3517
2005-02-03 19:59:10 +00:00
Roger Dingledine
051cda803e
point out a potential thread/process leak problem when we're out of memory
...
svn:r3512
2005-02-03 07:35:24 +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
f3b74a2adb
http://www.erlenstar.demon.co.uk/unix/faq_2.html says we
...
should call _exit, not exit, from child processes.
svn:r3506
2005-02-03 06:40:06 +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
c53c7a0b4c
clarify what smartlist_remove promises, since we rely on it.
...
svn:r3473
2005-01-31 00:24:59 +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
Roger Dingledine
d7cee9dbf4
make the example log-to-file line use log-level notice rather than
...
log-level warn.
svn:r3441
2005-01-28 05:40:41 +00:00
Nick Mathewson
083b67cda5
Add rudimentary pthread support that needs more testing.
...
svn:r3439
2005-01-27 22:34:48 +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
Roger Dingledine
8ebe85333c
comment SocksPort better as it pertains to servers
...
svn:r3413
2005-01-22 06:51:31 +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
Roger Dingledine
2a908e5180
forward-port: fix win32 compile
...
svn:r3406
2005-01-22 00:35:09 +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
a2e441da06
give a header file for ntohs
...
svn:r3388
2005-01-20 20:15:14 +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
29b6637a62
Compilation fixes for win32 version detection.
...
svn:r3385
2005-01-20 19:03:09 +00:00
Nick Mathewson
432e313c81
Make zlib detection happy on little-endian platforms; fix unit tests.
...
svn:r3384
2005-01-20 19:02:35 +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
f8c14bbf1f
Detect windows platform correctly
...
svn:r3377
2005-01-19 23:10:16 +00:00
Nick Mathewson
2c803bff9a
Make detect_compression_method work on platforms with more evil chars.
...
svn:r3376
2005-01-19 23:07:43 +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
f2a7ff6801
better comments for exit policies in torrc.sample
...
svn:r3371
2005-01-19 17:26:40 +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
Roger Dingledine
bd2d740b49
make it clearer why FooPort and FooBindAddress are separate
...
svn:r3369
2005-01-19 06:06:04 +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
372832d8fe
make tor-resolve print the Tor version on --version too
...
svn:r3358
2005-01-16 02:21:14 +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
51f47d746e
clean up smartlist_string_isin so callers don't have to manage bufs
...
themselves
svn:r3338
2005-01-12 04:53:53 +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
74bc4e5af0
help avoid overflow from len_in + (len_in/n)*len_ins
...
nick, do you think this does it? if so, we should maybe backport too.
svn:r3334
2005-01-10 16:30:51 +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