Commit Graph

3137 Commits

Author SHA1 Message Date
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