Nick Mathewson
7643c5254c
Fix an annoying rep violation bug
...
svn:r5325
2005-10-27 23:06:09 +00:00
Nick Mathewson
e594ce92fe
Start making directory caches retain old routerinfo_t. The code to remove old ones is definitely some textbook C problem.
...
svn:r5323
2005-10-27 00:34:39 +00:00
Nick Mathewson
9492424d3f
Per comments at the bottom of openssl/FAQ, call even more functions to
...
clean up OpenSSL's toys when it's done playing. (Why isn't there an
OpenSSL_free_everything() function?)
svn:r5321
2005-10-25 19:01:48 +00:00
Nick Mathewson
b39d03116b
remove some commented-out code that may tempt us to do ill
...
svn:r5320
2005-10-25 18:38:44 +00:00
Nick Mathewson
e5633c2e66
fix a nasty corruption bug
...
svn:r5319
2005-10-25 18:33:33 +00:00
Nick Mathewson
35f1b7fa26
fix minor memory leak in config
...
svn:r5318
2005-10-25 18:06:29 +00:00
Nick Mathewson
5d85560d9e
Remove last vestiges of old logging interface.
...
svn:r5317
2005-10-25 18:01:01 +00:00
Nick Mathewson
049f6c0131
Switch remaining files to new log interface.
...
svn:r5315
2005-10-25 17:52:14 +00:00
Nick Mathewson
a38aa81bf8
fix another segv, this time in circid fix.
...
svn:r5312
2005-10-25 15:31:25 +00:00
Nick Mathewson
9b6c5614c6
fix a segv
...
svn:r5311
2005-10-25 15:30:02 +00:00
Nick Mathewson
e7e170a59e
Change more files to new loggin interface. 3 left.
...
svn:r5310
2005-10-25 08:20:10 +00:00
Nick Mathewson
932106f54c
Efficiency hack: call tor_fix_source_file late, not early. Add "BUG" domain. Domains are now bitmasks... just in case. Make some err msgs non-general.
...
svn:r5309
2005-10-25 07:05:03 +00:00
Nick Mathewson
452f4cfa09
Convert circuituse, command, config, connection, relay, router, test to new logging interface
...
svn:r5308
2005-10-25 07:04:36 +00:00
Nick Mathewson
81dd50a942
Fix memory leak when retrieving networkstatus or routerdesc by malformed fingerprint
...
svn:r5307
2005-10-25 07:03:22 +00:00
Nick Mathewson
91a666064a
Fix possible free(NULL) in control.c
...
svn:r5306
2005-10-25 07:02:13 +00:00
Nick Mathewson
26caf69555
Fix possible minor memory leak when parsing helpernode state
...
svn:r5305
2005-10-25 07:00:03 +00:00
Nick Mathewson
f9b0be526e
Use LD_BUG as appropriate; convert rend* and router* to new logging interface; use new circ_log_path interface
...
svn:r5302
2005-10-24 19:39:45 +00:00
Nick Mathewson
fa338d85db
Fix one possible source of reuse-a-circuit-id bug; convert circuitbuild to new logging
...
svn:r5301
2005-10-24 19:37:45 +00:00
Nick Mathewson
7f20dec1cd
When warning about a networkstatus fp, we need to put it in hex.
...
svn:r5293
2005-10-24 03:25:12 +00:00
Nick Mathewson
37708e9b1b
Avoid potential infinite recursion when building a descriptor
...
svn:r5292
2005-10-24 03:04:05 +00:00
Roger Dingledine
d6dcd973c3
Oct 19 13:27:24.391 [info] router_reload_networkstatus(): Skipping cached-status file with unexpected name "."
...
Oct 19 13:27:24.391 [info] router_reload_networkstatus(): Skipping cached-status file with unexpected name ".."
svn:r5291
2005-10-20 17:22:00 +00:00
Nick Mathewson
52eaccce44
Crank down the frequency for replacing unchanged descriptors
...
svn:r5290
2005-10-19 16:21:19 +00:00
Nick Mathewson
7b8980a43c
Make it compile. appease roger and his thirst for documentation.
...
svn:r5289
2005-10-19 03:08:50 +00:00
Nick Mathewson
74d9c92c49
We need a routerlist_replace as well. This should do something about those annoying mysterious segfaults.
...
svn:r5288
2005-10-19 03:02:28 +00:00
Roger Dingledine
4df1892db1
solve the first half of bug 199: if we don't like the looks
...
of an address, but it's the controller's job to handle it,
don't refuse it first.
svn:r5287
2005-10-19 02:07:11 +00:00
Nick Mathewson
1bd3f6cc9a
Update more files to new log stuff.
...
svn:r5286
2005-10-18 22:56:40 +00:00
Nick Mathewson
55f2ab9cc3
Migrate a few more files to domained logging
...
svn:r5285
2005-10-18 22:21:29 +00:00
Nick Mathewson
edf5698474
Start dividing log messages into logging domains. No, LD_ is not the best of identifiers. src/or has not been converted yet. Domains dont do anything yet.
...
svn:r5284
2005-10-18 21:58:19 +00:00
Roger Dingledine
102df4a982
fix some typos
...
svn:r5283
2005-10-18 21:39:00 +00:00
Peter Palfrader
e54efb1655
I think nick meant to compare r2->platform the second time
...
svn:r5282
2005-10-18 21:19:48 +00:00
Peter Palfrader
0d5c007266
Fix tor26's first segfault
...
svn:r5281
2005-10-18 21:19:02 +00:00
Nick Mathewson
d25873ae9c
Use a digestmap_t to speed up router_get_by_digest, which was previously a bottleneck (~~27% CPU)
...
svn:r5280
2005-10-18 20:13:09 +00:00
Nick Mathewson
7a19588a43
Use digestmap_t instead of strmap_t where appropriate. Do less hex en/decoding
...
svn:r5279
2005-10-18 20:12:22 +00:00
Nick Mathewson
3347c1741d
Refactor routerlist access slightly: always use router_get_by_routerlist(); change its interface; add modifier functions to add/remove elements from the current routerlist (so we can add indices).
...
svn:r5276
2005-10-18 17:43:54 +00:00
Peter Palfrader
d8daa910a6
Make dirserv_get_routerdescs() return better http 404 error messages instead of a generic "Servers unavailable."
...
svn:r5274
2005-10-18 17:09:57 +00:00
Peter Palfrader
551e3402a3
split send_control1_event() into the printf and the print/dispatch part. The
...
printf part was and is limited to at most 1024 byte messages, so having the print
part separately available makes sense.
svn:r5273
2005-10-18 16:45:43 +00:00
Peter Palfrader
00e1709244
Fix download by SD digest
...
svn:r5272
2005-10-18 15:58:40 +00:00
Peter Palfrader
6e8052e0f8
I wonder what a stautus is.
...
svn:r5271
2005-10-18 15:25:10 +00:00
Peter Palfrader
64a631e187
Some http status lines ended in a dot, others did not. Make it all the same and remove the period from all
...
svn:r5270
2005-10-18 14:57:46 +00:00
Peter Palfrader
0186cb283f
And close the double quote too
...
svn:r5269
2005-10-18 14:34:49 +00:00
Peter Palfrader
d2f1cd4196
Fix documentation of dirserv_get_routerdescs:
...
correct the path for queries by server key, add queries by SD digest
svn:r5268
2005-10-18 14:33:19 +00:00
Nick Mathewson
27fcbf87f3
Add a missing struct initializer field
...
svn:r5264
2005-10-17 23:00:08 +00:00
Peter Palfrader
0d9aedfcea
Downgrade a few INFO level logs to DEBUG again. Also add two or three new
...
logs in cases where a calling function's log was downgraded and we wouldn't
get any log message otherwise.
svn:r5263
2005-10-17 16:21:42 +00:00
Roger Dingledine
bec2271029
fix a few comments
...
svn:r5262
2005-10-17 08:41:58 +00:00
Roger Dingledine
fd165329b8
start calling it *ListenAddress rather than *BindAddress,
...
since none of our users know what it means to bind an address or port.
svn:r5260
2005-10-17 03:17:29 +00:00
Nick Mathewson
22c72bd9c5
Add ability to warn when using abbrev mechanism to deprecate option names
...
svn:r5259
2005-10-17 03:06:00 +00:00
Roger Dingledine
435fb973c2
when providing content-type application/octet-stream for providing
...
server descriptors with .z, we were leaving out the content-encoding
header. oops. (everything tolerated this just fine, but that doesn't
mean we need to be part of the problem.)
svn:r5258
2005-10-17 02:32:33 +00:00
Peter Palfrader
7b15f77dd6
Make a few INFO log lines into DEBUG
...
svn:r5257
2005-10-17 02:13:36 +00:00
Roger Dingledine
1be5f4a81b
start hunting down why servers keep getting so many duplicate create cells
...
svn:r5255
2005-10-17 01:46:47 +00:00
Roger Dingledine
ae92a91d96
more log uncluttering
...
svn:r5254
2005-10-17 01:29:28 +00:00
Roger Dingledine
03dcef4c78
start the process of reducing clutter in server logs
...
svn:r5253
2005-10-17 00:35:53 +00:00
Roger Dingledine
aca6fb5f5f
cut out a warning that doesn't need to warn
...
svn:r5252
2005-10-16 19:47:01 +00:00
Roger Dingledine
2a82182243
remove obsolete IgnoreVersion config from or.h
...
svn:r5251
2005-10-16 18:43:41 +00:00
Nick Mathewson
6101468cbe
Enable trivial "download by descriptor digest" functionality.
...
svn:r5250
2005-10-14 04:56:20 +00:00
Nick Mathewson
998cf8d622
Try to extract as many descriptors as possible from truncated http responses. (when DIR_PURPOSE_FETCH_ROUTERDESC)
...
svn:r5249
2005-10-14 02:26:13 +00:00
Nick Mathewson
11b76b9ca5
Allow tor_gzip_uncompress to extract as much as possible from truncated compressed data. Also, fix a bug where truncated compressed data could break tor_gzip_uncompress. [This last part is a backport candidate.]
...
svn:r5247
2005-10-13 22:48:09 +00:00
Peter Palfrader
8808b26206
Check if our IP address has changed every 5 minutes. If it has, update our server descriptor, but not too often
...
svn:r5246
2005-10-12 22:41:16 +00:00
Peter Palfrader
640211e59a
Be a bit more verbose in our AUTHENTICATE error messages in the control protocol so the next guy doesn't blame Nick again
...
svn:r5245
2005-10-12 19:45:35 +00:00
Nick Mathewson
aac738d2be
When no descriptors changed, do not send a NEWDESC event.
...
svn:r5244
2005-10-12 19:41:16 +00:00
Nick Mathewson
905ef987e2
Make --hash-password not craash on exit.
...
svn:r5243
2005-10-12 19:08:48 +00:00
Nick Mathewson
9a1d204318
Avoid warning on end-of-function
...
svn:r5242
2005-10-12 18:43:03 +00:00
Nick Mathewson
972b7512c7
authorities do not replace server descriptors where nothing semantically relevant has changed since the last upload.
...
svn:r5240
2005-10-12 18:25:25 +00:00
Nick Mathewson
fd9bfef13b
Funny. I could have sworn it compiled this morning when I checked it in.
...
svn:r5239
2005-10-12 17:16:25 +00:00
Nick Mathewson
a7ca56b537
More work towards a sane digest-based liveness testing.
...
svn:r5238
2005-10-12 13:49:13 +00:00
Nick Mathewson
2b3a7b818f
Add an as-yet-unused "EXTENDED" flag to SETEVENTS to indicate that the client can handle extra labeled info in its events. Add moreinfo to the "what is ready for downloading" msg so we can investigate digest-related download rules
...
svn:r5237
2005-10-12 04:31:44 +00:00
Nick Mathewson
bf9ff1c1e7
Do not check whether DirPort is reachable when we are suppressing it because of hibernation. (Backport candidate)
...
svn:r5235
2005-10-12 04:07:10 +00:00
Nick Mathewson
08e4f132a8
add some docs; if warn_if_unnamed is 0, really do not warn.
...
svn:r5234
2005-10-11 01:57:28 +00:00
Nick Mathewson
c48ccf9db4
Insert a newline between all router descriptors when generating (old style) signed directories, in case somebody was counting on that.
...
svn:r5231
2005-10-08 06:02:41 +00:00
Nick Mathewson
2f49e058d0
Now that directory admins assure me they have adjested teir configs, it is safe to make authorities be non-versioning, non-naming by default.
...
svn:r5230
2005-10-08 05:47:58 +00:00
Nick Mathewson
d7b04a8788
do not try to download a routerdesc if we would immediately reject it as obsolete.
...
svn:r5225
2005-10-07 22:00:09 +00:00
Nick Mathewson
2572db2472
Warn less about intro nodes by nickname; remember our own intro nodes by key.
...
svn:r5224
2005-10-07 21:38:44 +00:00
Roger Dingledine
78edd804ff
fix a malformed warning entry
...
svn:r5219
2005-10-07 19:49:48 +00:00
Roger Dingledine
83e119154b
doxygen fix
...
svn:r5217
2005-10-07 19:25:01 +00:00
Roger Dingledine
46af2d26d0
you can't declare variables in the middle of a block
...
svn:r5214
2005-10-07 18:56:21 +00:00
Peter Palfrader
14934dece2
Print address too when we say we cannot bind/listen
...
svn:r5213
2005-10-07 18:48:31 +00:00
Nick Mathewson
4c7113d26a
Strip extra trailing newlines when parsing router descriptors.
...
svn:r5212
2005-10-07 18:33:30 +00:00
Nick Mathewson
a89daaeca9
Once an hour (not just on startup) give OpenSSL some more entropy.
...
Add entropy in 512-bit chunks, not 160-bit chunks. (This latter
change is voodoo.)
svn:r5211
2005-10-06 22:22:22 +00:00
Nick Mathewson
cc35e1720f
Using RAND_pseudo_bytes instead of RAND_bytes is an accident waiting to happen, and does not really speed us up much when we do it. So stop doing it.
...
svn:r5210
2005-10-06 22:18:01 +00:00
Roger Dingledine
0e5b6a84eb
without braces, what will hold up the code?
...
svn:r5209
2005-10-06 05:08:00 +00:00
Nick Mathewson
ba24193ab5
Make doxygen marginally happier
...
svn:r5208
2005-10-06 04:33:40 +00:00
Nick Mathewson
5cf758764e
Rate-limit warnings related to unrecognized MyFamily elements.
...
svn:r5204
2005-10-05 23:20:45 +00:00
Nick Mathewson
ba67d14d40
On sighup, if usehelpernodes changed to 1, use new circuits.
...
svn:r5203
2005-10-05 23:02:40 +00:00
Roger Dingledine
f12663a4ce
call circuit_expire_all_dirty_circs() on do_hup().
...
there, now we use it.
svn:r5202
2005-10-05 22:36:33 +00:00
Nick Mathewson
56be5a9706
I *knew* something was wrong here. Flip some comparison operators and make download-rate-limiting sane again.
...
svn:r5201
2005-10-05 22:36:18 +00:00
Nick Mathewson
039edb3dbb
Downgrade too-frequent "nothing happened" message from info to debug
...
svn:r5200
2005-10-05 22:32:59 +00:00
Roger Dingledine
c3aac3ff6b
infrastructure for the 'change pseudonym' button.
...
not used yet.
svn:r5199
2005-10-05 22:31:21 +00:00
Nick Mathewson
1ebbaf5c3a
improve INFO-level logging for directory downloads. This is still too chatty, but it will help us analyze things.
...
svn:r5197
2005-10-05 20:45:18 +00:00
Nick Mathewson
370e4abdc9
replace former relaunches of directory downloads with reset of failure count and relaunch of status downloads. Fix memory leak in trusted_dir_server_t. Reset "last download attempted" time when resetting failure counts.
...
svn:r5195
2005-10-05 05:03:52 +00:00
Roger Dingledine
adf04f121e
size_t int printf mucking
...
svn:r5194
2005-10-05 04:52:55 +00:00
Nick Mathewson
96c47c8478
Note the two places where clients will still try to fetch old-style (v1) directory info. These should be fixed, I think.
...
svn:r5193
2005-10-05 02:25:59 +00:00
Nick Mathewson
509de69a7e
reset warning flags on SIGHUP. arma: is this everything?
...
svn:r5192
2005-10-05 02:20:46 +00:00
Roger Dingledine
be478bb56c
stutter therapy lessons
...
svn:r5191
2005-10-05 02:09:27 +00:00
Nick Mathewson
8434595584
Fix verbose compiler warnings, including one in routerlist.c that would have been an actual error. Normalize whitespace. Enforce convention that "address" is a hostname and "addr" is an IPv4 address.
...
svn:r5190
2005-10-05 02:06:36 +00:00
Nick Mathewson
0924094042
resolve some directory-related XXXXs; downgrade naming conflict messages from WARN to INFO for non-authorities; do not repeat naming conflict messages.
...
svn:r5189
2005-10-05 01:53:44 +00:00
Nick Mathewson
1223310b69
Downgrade noisy log messages in preparation for an alpha release.
...
svn:r5188
2005-10-05 01:27:08 +00:00
Nick Mathewson
a608905070
Give a less frequent and more helpful warning on failed serverdesc downloads
...
svn:r5187
2005-10-05 00:22:56 +00:00
Nick Mathewson
42e17182da
When we get an EOF or a timeout on a directory connection, note how many bytes of serverdesc we are dropping. This will help us determine whether it is smart to parse incomplete serverdesc responses.
...
svn:r5186
2005-10-04 22:34:09 +00:00
Nick Mathewson
61ea516885
Check for named servers when looking them up by nickname;
...
warn when we'recalling a non-named server by its nickname;
don't warn twice about the same name.
Fix a bug in routers_update_status_from_networkstatus that made nearly
all clients never update routerinfo_t.is_named.
Try to list MyFamily elements by key, not by nickname.
Only warn about names that we generated ourself, or got from the local
user.
On TLS handshake, only check the other router's nickname against its
expected nickname if is_named is set.
svn:r5185
2005-10-04 22:23:31 +00:00
Nick Mathewson
2d203fdcf3
link nicknames to trusted directory servers; log these nicknames when mentioning servers; also, when we get a naming conflict; log which nicknames or keys are supposed to bind.
...
svn:r5184
2005-10-04 21:21:09 +00:00
Nick Mathewson
b10df0d595
cosmetic fix: only have one local to hold smartlist_len(downloadable), not too.
...
svn:r5183
2005-10-04 20:18:26 +00:00
Nick Mathewson
e4a6a03249
switch semantics of authdirinvalid/reject
...
svn:r5182
2005-10-04 19:52:58 +00:00
Roger Dingledine
88c37f2d24
comment cleanups
...
svn:r5181
2005-10-04 06:53:59 +00:00
Nick Mathewson
c5ee3e961e
Reorganize some quick-and-dirty code to find out what openssl stuff is leaking, using dmalloc.
...
svn:r5178
2005-10-03 20:20:38 +00:00
Nick Mathewson
9e54e2e293
free helper node status info on shutdown
...
svn:r5177
2005-09-30 21:38:57 +00:00
Nick Mathewson
808e584a87
remove a never-used smartlist in routerlist.c
...
svn:r5176
2005-09-30 21:38:45 +00:00
Nick Mathewson
6e4608701d
and another leak.
...
svn:r5175
2005-09-30 21:31:26 +00:00
Roger Dingledine
ae30c8101b
by convention, addr is a uint32_t and address is a string.
...
that's why we hadn't caught that leak.
svn:r5174
2005-09-30 21:30:04 +00:00
Nick Mathewson
5c5d2e82e6
Fix a leak when launching listeners.
...
svn:r5173
2005-09-30 21:28:00 +00:00
Nick Mathewson
23864ad423
Try to hunt down a few more leaks
...
svn:r5172
2005-09-30 21:22:25 +00:00
Nick Mathewson
80f2e10228
Stop leaking or_state_t on shutdown.
...
svn:r5171
2005-09-30 21:16:47 +00:00
Nick Mathewson
5333a3b838
fix a small filename leak
...
svn:r5170
2005-09-30 21:11:22 +00:00
Nick Mathewson
8408006318
fix a memory leak on exit in routerlist.c
...
svn:r5169
2005-09-30 21:04:52 +00:00
Nick Mathewson
de198d800b
Never call free() on tor_malloc()d memory. This is unlikely to be our current leak, but it may help dmalloc work.
...
svn:r5168
2005-09-30 20:47:58 +00:00
Nick Mathewson
fc3c0197f9
Resolve several DOCDOCs. Make non-mirrors only launch routerdesc downloads when they have more than 16 router descriptors to download, or when 10 minutes have passed since the last download.
...
svn:r5166
2005-09-30 20:04:55 +00:00
Roger Dingledine
e28c31ebce
we were leaking some memory every time the client changes IPs
...
svn:r5165
2005-09-30 06:03:04 +00:00
Nick Mathewson
ab245746a9
Hey kids, guess why connection_mark_for_close() started giving an assert when called for an even-numbered line? Right, because I made it a bitfield, when it was really a line number. Why did I think it was a bitfield? A stale comment. Let that be a lesson to us all.
...
svn:r5164
2005-09-30 04:43:42 +00:00
Roger Dingledine
13e709a0ff
resolve nick's comment
...
svn:r5163
2005-09-30 02:08:57 +00:00
Nick Mathewson
26e7a05725
even better function start checks; give dmalloc a chance of working.
...
svn:r5162
2005-09-30 01:39:24 +00:00
Nick Mathewson
edd15cb781
Note that there is incorrect behavior in directory.c code. Arma, please check this too.
...
svn:r5161
2005-09-30 01:38:09 +00:00
Nick Mathewson
92451f74a8
Reformat inconsistent function declarations.
...
svn:r5160
2005-09-30 01:09:52 +00:00
Roger Dingledine
609af664ac
resolve a docdoc
...
svn:r5157
2005-09-30 00:43:40 +00:00
Roger Dingledine
ea18827cee
do the other half of dirport reachability testing.
...
it should be back and working now.
svn:r5155
2005-09-29 23:59:36 +00:00
Roger Dingledine
f8d430653e
better cleanups as i figure out what's going on
...
svn:r5154
2005-09-29 23:26:42 +00:00
Roger Dingledine
d4d8adaa6d
move some code around when we're succeeding or failing at fetching
...
server descs.
also clean up some formatting.
svn:r5153
2005-09-29 23:06:48 +00:00
Roger Dingledine
54a662a542
re-enable dirport testing again
...
(still need the other half, to notice when it has worked.)
svn:r5152
2005-09-29 23:04:01 +00:00
Roger Dingledine
8fc9330686
fix typo
...
svn:r5151
2005-09-29 23:03:34 +00:00
Nick Mathewson
5c53545d81
Add a bunch more warnings to out warning suite; resolve them; pack structs a little better.
...
svn:r5150
2005-09-29 22:59:17 +00:00
Nick Mathewson
c6347cdb0e
suppress all our usual compiler warnings, including a longstanding one from tree.h
...
svn:r5149
2005-09-29 20:49:41 +00:00
Roger Dingledine
8ae6e1c226
Be more conservative about whether to advertise our dirport.
...
The main change is to not advertise if we're running at capacity and
either a) we could hibernate or b) our capacity is low and we're using
a default dirport.
svn:r5148
2005-09-29 06:45:03 +00:00
Roger Dingledine
3559f821a1
clean up some doxygen stuff
...
svn:r5147
2005-09-29 02:54:09 +00:00
Nick Mathewson
126a1e3e32
Fix crash-on-wakeup bug in networkstatus download.
...
svn:r5144
2005-09-26 16:37:39 +00:00
Roger Dingledine
fba01c3cc0
bugfix: we were whining about using socks4 or socks5-with-local-lookup
...
even when they used an IP in the "virtual" range we designed exactly
for this case.
svn:r5142
2005-09-24 21:56:04 +00:00
Nick Mathewson
abb8576538
But, of course, mirrors should get the most up-to-date server in any case.
...
svn:r5135
2005-09-23 21:33:59 +00:00
Nick Mathewson
b726507d36
Log even less verbosely. Also, do not download old (frequently-updating) servers more than once every 2 hours.
...
svn:r5134
2005-09-23 21:25:29 +00:00
Nick Mathewson
ebf6476e8e
Provide dire warnings to any users who set DirServer; move it out of torrc.sample and into torrc.complete.
...
svn:r5132
2005-09-23 20:44:22 +00:00
Nick Mathewson
18a0a0e458
Oops. It looks like some old GCCs dislike #if inside a macro argument.
...
svn:r5131
2005-09-23 20:31:07 +00:00
Roger Dingledine
0ef18a0fba
put a log message so we can start confirming socks5-with-remote-dns
...
vs socks5-with-local-dns
svn:r5130
2005-09-23 19:56:34 +00:00
Nick Mathewson
06625e779d
Decouple router downloads from old directory downloads entirely
...
svn:r5128
2005-09-23 18:49:37 +00:00
Nick Mathewson
c345dab3bd
Fix logic error (people who ask authorities should never split; others should always split). Also, fix timing error in main.c so retries really happen.
...
svn:r5127
2005-09-23 18:17:37 +00:00
Nick Mathewson
a1f1c4bf6b
Re-enable autosplitting, but authorities and mirrors should not do it, and make the cutoff higher than 1.
...
svn:r5126
2005-09-23 18:08:31 +00:00
Nick Mathewson
f995edd516
Fix at least one overzealous download bug. (tor_malloc_zero new local_routerstatus_t objs); add a pile of logs back in; probe every 10sec; never autolaunch on failure. Let us see if this works better.
...
svn:r5125
2005-09-23 18:05:14 +00:00
Nick Mathewson
9050480339
Fix some compiler warnings
...
svn:r5124
2005-09-23 17:11:20 +00:00
Nick Mathewson
faa4f420de
Remove extraneous space on read-history lines.
...
svn:r5123
2005-09-23 17:02:50 +00:00
Roger Dingledine
03d0f62da0
make the numbers in read-history and write-history into uint64s,
...
so they don't overflow and publish negatives in the descriptor.
fixes bug 193.
svn:r5119
2005-09-23 08:29:58 +00:00
Roger Dingledine
512d6ccdc1
and a minor log cleanup
...
svn:r5115
2005-09-23 00:04:53 +00:00
Roger Dingledine
e286c4267e
there was no need to die when we failed to spawn a cpuworker.
...
it handles it fine if we decide not to die.
svn:r5114
2005-09-23 00:04:44 +00:00
Roger Dingledine
479886fce2
remove another loud debug msg
...
svn:r5113
2005-09-22 23:56:56 +00:00
Roger Dingledine
d050ff7906
resolve lucky's recent bug: tor was exiting if we failed to spawn
...
a new dns worker (e.g. because we were out of fd's).
svn:r5112
2005-09-22 23:43:41 +00:00
Roger Dingledine
2d6b36a001
get rid of a noisy debug log
...
svn:r5111
2005-09-22 20:51:45 +00:00
Nick Mathewson
cdc912714e
I love the smell of C in the morning. Make router-download rules smarter (download more so long as we dont duplicate existing requests; relaunch at staggered intervals); relaunch one a minute or on failure; reset 60 minutes; always open 3 requests if we can; add authority opinion to networkstatus; make naming rule correct. There is a remaining bug where we retry servers too quickly; We need to look at that harder.
...
svn:r5110
2005-09-22 06:34:29 +00:00
Nick Mathewson
6693031947
Use a separate type for "local view of router status". Also, even though I told arma there was no need, replace an ugly O ( n lg n ) algorithm with a nice O ( n ) algorithm when stepping through servers. Some ugliness is just too bad to stand.
...
svn:r5109
2005-09-22 01:51:14 +00:00
Roger Dingledine
959598fae6
content-type bugfixes:
...
http://seppia.noreply.org/tor/dir.z was being declared text/plain
and
http://seppia.noreply.org/tor/server/fp/719BE45DE224B607C53707D0E2143E2D423E74CF
was being declared application/octet-stream
svn:r5108
2005-09-22 00:17:41 +00:00
Roger Dingledine
f011b12df2
bugfix: nobody ever implemented EVENT_ADDRMAP for control protocol
...
version 0, so don't let version 0 controllers ask for it.
svn:r5107
2005-09-21 23:30:15 +00:00
Nick Mathewson
f99b91505b
Make write_escaped_data more bulletproof; backport candidate.
...
svn:r5106
2005-09-21 23:13:29 +00:00
Roger Dingledine
1cfcc4b351
clean up misleading comment on authdir_wants_to_reject_router()
...
svn:r5105
2005-09-21 21:10:36 +00:00
Nick Mathewson
72915546cd
Only check versions from versioning authdirs.
...
svn:r5101
2005-09-21 02:38:51 +00:00
Nick Mathewson
20b9111266
Implement new version handling code.
...
svn:r5100
2005-09-21 00:41:06 +00:00
Roger Dingledine
94ff09af23
clean up a bit more code
...
svn:r5098
2005-09-20 19:50:43 +00:00
Roger Dingledine
19f04ae9c3
make router_is_general_exit match its documentation
...
but it's still wrong maybe
svn:r5095
2005-09-20 03:40:54 +00:00
Nick Mathewson
837b223c8c
remove some debugging garbage
...
svn:r5092
2005-09-18 04:32:58 +00:00
Nick Mathewson
283032960d
Make give-up-on-failure actually work: it seems the servers gave me a real test case.
...
svn:r5091
2005-09-18 04:15:39 +00:00
Nick Mathewson
d118d5069a
Prevent a "try forever to download an unobtainable descriptor" bug. Still remaining: the "give up forever" bug.
...
svn:r5090
2005-09-18 02:51:12 +00:00
Nick Mathewson
87f6d526fe
Refactor new directory code a bit. Keep a big list of rolled-up router status info, including # of download failures (not yet used). Update this list from networkstatuses when they arrive, then update routers from this list. Only download 128 routers at a time, to avoid gargantuan URLs.
...
svn:r5089
2005-09-18 02:24:42 +00:00
Nick Mathewson
e86893e87b
Move to new base64 digest functions. Switch to new router digest calculation. Make sure there are no duplicates in router status lists.
...
svn:r5088
2005-09-18 02:22:21 +00:00
Nick Mathewson
1fbe499bfe
Remove a bunch of #if0d code that I no longer need to look at.
...
svn:r5083
2005-09-16 16:47:20 +00:00
Nick Mathewson
6d15a73548
Resolve/expand some XXXXs and improve a log message or two
...
svn:r5082
2005-09-16 16:41:45 +00:00
Roger Dingledine
cce469c5ce
simplify
...
svn:r5081
2005-09-16 06:15:34 +00:00
Nick Mathewson
538740e362
Fix the never-marked-anything-as-running bug. Now Tor builds circuts again. Woo.
...
svn:r5080
2005-09-16 04:53:28 +00:00
Nick Mathewson
d45badd9f4
Add a missing return
...
svn:r5079
2005-09-16 04:52:53 +00:00
Nick Mathewson
1a786a297f
Fix the confusing bug where we were downloading only the first n/2-1 of the servers we actually wanted.
...
svn:r5078
2005-09-16 04:43:21 +00:00
Nick Mathewson
9c2ca40df3
Unify our "figure out which fingerprints we were downloading" code.
...
svn:r5077
2005-09-16 04:42:45 +00:00
Nick Mathewson
05bab28c7d
Add some (notice, for now) log messages that imply confusing things are happening.
...
svn:r5076
2005-09-15 21:11:48 +00:00
Nick Mathewson
51da58eccf
fix braino in dirserv.
...
svn:r5075
2005-09-15 21:10:58 +00:00
Nick Mathewson
e72e76cad6
Make authdirs smarter. Reject/invalidate by key and IP. Remember that not every authdir has to be a naming authdir.
...
svn:r5074
2005-09-15 14:39:05 +00:00
Nick Mathewson
ed21abfe87
And some documentation before bed.
...
svn:r5073
2005-09-15 06:15:31 +00:00
Nick Mathewson
b70c229f6e
make some functions static; clean dead networkstatus entries more often.
...
svn:r5072
2005-09-15 05:41:30 +00:00
Nick Mathewson
3dcc4630b9
Make unittests not die
...
svn:r5071
2005-09-15 05:28:18 +00:00
Nick Mathewson
b16048917c
Stop downloading directories and download routers instead. This still needs some work, but at last clients are finally on the new architecture. Next comes the tuning and bugfixing.
...
svn:r5070
2005-09-15 05:19:38 +00:00
Nick Mathewson
e83e1df811
separate validation from naming in authoritative directory servers; simplify some router-management code.
...
svn:r5069
2005-09-15 00:51:42 +00:00
Nick Mathewson
d4e0af7822
Fix a bunch of log messages. Deprecate some routerlist fields; remove others, and status_set_at from routerinfo_t. Compress routerlist.c cleanup functions. Update cached networkstatus mtime when we download the same one twice. Change some interfaces.
...
svn:r5068
2005-09-14 23:42:06 +00:00
Nick Mathewson
bc0af7046a
Oops. directory_set_dirty() needs to mark networkstatus as dirty too.
...
svn:r5066
2005-09-14 23:14:37 +00:00
Nick Mathewson
27bbfe9dcf
Would you believe that the software_versions field of routerlist_t was never actually used for anything?
...
svn:r5064
2005-09-14 21:38:05 +00:00
Nick Mathewson
e3adcbdb95
Big commit: clients start downloading and using network-statuses.
...
Only caches need to get running-routers; nobody needs to parse, store,
or use it. Same for the router-status line in the directories. Add
many #if 0's that can get removed once I'm convinced they don't
contain anything I'm forgetting.
Start all newly-parsed routers as non-running and non-valid; update
them from the list of network statuses.
Update all routers when a new networkstatus comes in.
After 3 tries for a networkstatus, clients give up until they're told
to try again.
"Let's get those missles ready to **DESTROY THE UNIVERSE**!"
-TMBG
svn:r5063
2005-09-14 21:09:25 +00:00
Nick Mathewson
922cee3d0c
Clean up a few warnings that make gcc twig out a bit.
...
svn:r5062
2005-09-14 20:59:25 +00:00
Nick Mathewson
d9ee94543e
Declare 0.1.1.7 as The Version With The Good Dirservers.
...
svn:r5061
2005-09-14 19:12:35 +00:00
Roger Dingledine
ca727ba6e1
bugfix: when we try to determine the reachability of our dirport,
...
and it doesn't work, don't freak out and mark ourselves as down and
try somewhere else. just calmly fail.
svn:r5050
2005-09-14 03:49:17 +00:00
Nick Mathewson
7c6679d8dc
Add new config.c function to set options that can fail, and roll back if they do. This should solve the setconf-an-impossible-port bug.
...
svn:r5046
2005-09-14 02:36:29 +00:00
Roger Dingledine
93be26a74a
stop the call duplication inside config_assign()
...
svn:r5045
2005-09-14 02:35:06 +00:00
Nick Mathewson
6aa8850d90
note that routerstatus_t.entries is sorted.
...
svn:r5044
2005-09-14 02:28:35 +00:00
Roger Dingledine
10893e7254
simplify
...
svn:r5043
2005-09-14 02:18:28 +00:00
Roger Dingledine
c78aafe4b5
and take the bang out
...
svn:r5042
2005-09-14 02:13:35 +00:00
Roger Dingledine
62fe24c40c
ok, ok, csv's get replaced even when we assign them from the torrc.
...
svn:r5041
2005-09-14 02:12:29 +00:00
Roger Dingledine
1f930a9a70
checkpoint: clean up and document the three ways to call config_assign()
...
and reduce code duplication in config_free() and option_is_same().
svn:r5040
2005-09-14 02:07:35 +00:00
Roger Dingledine
8585599965
correct "your server is reachable" log entries to indicate that it was
...
self-testing that told us so.
svn:r5034
2005-09-13 21:39:42 +00:00
Roger Dingledine
26cc51ffea
a bit more code cleanup
...
svn:r5033
2005-09-13 21:24:51 +00:00
Nick Mathewson
890847d232
I forgot -- smart kids make their code compile.
...
svn:r5032
2005-09-13 21:18:00 +00:00
Nick Mathewson
4efa652a98
add docs, fix whitespace, and make ANY rule in routerparse a little tighter.
...
svn:r5031
2005-09-13 21:14:55 +00:00
Nick Mathewson
76351b8416
Fix DOCDOC entries in routerlist.c. Make more functions use SMARTLIST_FOREACH instead of raw loops. Replace router_list_superseded implementation with one that has a prayer of working.
...
svn:r5027
2005-09-13 15:32:03 +00:00
Nick Mathewson
29c57b54d4
Add functions to extend and compress new router store logic. (Basic idea: use a journal of newly received router descriptors, and periodically replace the old file. This avoids the "too many files" problem and the "too many rewrites" problem.)
...
svn:r5025
2005-09-13 06:21:10 +00:00
Roger Dingledine
82b3b6249c
fix a seg fault if we ask an authdirserver for a descriptor by
...
fingerprint but he doesn't know about him.
svn:r5023
2005-09-13 01:20:26 +00:00
Roger Dingledine
8b0d37096b
when the user asked for a rendezvous port that the hidden service
...
didn't want to provide, we were sending an IP address back along
with the end cell. fortunately, it was zero. but stop that anyway.
svn:r5022
2005-09-12 22:05:17 +00:00
Roger Dingledine
569efe61c0
make the patch less likely to bite us later
...
svn:r5021
2005-09-12 21:42:59 +00:00
Nick Mathewson
93c1d37d5f
Resolve stack corruption identified by edmanw in connection_edge_end(). Thanks!
...
svn:r5020
2005-09-12 20:57:16 +00:00
Nick Mathewson
39e29738b1
Maybe I should pay more attention to return values and less to clever comments. Fortunately, the aforementioned comments came out against smacking upside the head.
...
svn:r5018
2005-09-12 08:49:21 +00:00
Nick Mathewson
a6271650d5
Versions should be sorted by version. Lexical sorting should be used only as a last resort.
...
svn:r5017
2005-09-12 08:46:37 +00:00
Roger Dingledine
689cb28098
when writing the recommended*versions lines, sort them first.
...
this is because weasel put his out of order and told me the code
should take care of it.
svn:r5016
2005-09-12 08:31:47 +00:00
Roger Dingledine
63bb27f19d
be more thorough about noticing when a directory request has failed:
...
it has failed not only when the connection attempt fails, but also
if the conn reaches eof before we get a response that we're happy with.
svn:r5013
2005-09-12 07:36:26 +00:00
Nick Mathewson
3dc5e77b58
Numerous changes to move towards client-side v2 directories.
...
connection.c:
- Add some more connection accessor functions to make directory
download redundancy checking work.
directory.c, or.h, router.c, routerlist.c:
- Start on logic to note when networkstatus downloads fail.
dirserv.c, routerlist.c, routerparse.c:
- Start maintaining an is_named field in routerstatus_t. Don't
actually look at it yet.
dirserv.c, routerlist.c:
- Remove expired networkstatus objects.
or.h:
- Make some booleans into bitfields
- Add prototypes
routerlist.c:
- Sort networkstatus list by publication time
- Function to remove old (older than 10 days) networkstatus objects.
- Function to set a list of routerinfo_ts' status info from the
current set of networkstatus objects.
- Function to tell which routerinfos we need to download based no the
current set of networkstatus objects.
- Do not launch a networkstatus download if a redundant one is in progress.
routerparse.c:
- Keep router entries in networkstatus sorted by digest.
svn:r5012
2005-09-12 06:56:42 +00:00
Roger Dingledine
5cebd8df70
remove temporary network-status keyword
...
svn:r5007
2005-09-12 06:14:41 +00:00
Roger Dingledine
89d516f95c
clean up the log entry for when a server posts a server descriptor that
...
the dirserver doesn't like
svn:r5005
2005-09-12 06:08:48 +00:00
Nick Mathewson
63dfe2447e
Fix bug found by "ca": looking up a non-existent stream for a v1 control connection would cause a segfault. (No backport needed since 0.1.0 had only v0 connections.)
...
svn:r5001
2005-09-12 03:32:30 +00:00
Roger Dingledine
d7d4d4cbbf
fix comment and return value for check_software_version_against_directory()
...
svn:r4996
2005-09-11 22:36:50 +00:00
Roger Dingledine
b0a5ba4248
downgrade the dirserver log messages when whining about unreachability
...
svn:r4991
2005-09-10 20:40:16 +00:00
Roger Dingledine
cfe34812eb
bugfix: if you gave tor an odd number of command-line arguments,
...
we were silently ignoring the last one. now we complain and fail.
svn:r4988
2005-09-10 04:40:27 +00:00
Roger Dingledine
9b54cd349d
break out a new function config_assign_value() that just assigns the
...
value it's given, and doesn't do any of their weird clearing or resetting
stuff. use that when we're trying to clear or reset values.
svn:r4984
2005-09-10 02:42:32 +00:00
Nick Mathewson
d26523e089
Use tor_listdir in test.c instead of duplicating ode.
...
svn:r4981
2005-09-10 01:42:42 +00:00
Roger Dingledine
1d9786a392
generalize route length to three plus one if the exit node is risky.
...
svn:r4978
2005-09-10 01:01:40 +00:00
Nick Mathewson
035b1953eb
Add sorting/searching to smartlist
...
svn:r4977
2005-09-09 23:12:54 +00:00
Roger Dingledine
cfa321374d
reject ports 465 and 587 by default now too
...
svn:r4974
2005-09-09 22:46:43 +00:00
Nick Mathewson
dcf1e14190
downgrade warning to info
...
svn:r4967
2005-09-09 21:03:57 +00:00
Roger Dingledine
a5ea401b2e
a few more hints on a rare but mysterious warning
...
svn:r4966
2005-09-09 20:58:44 +00:00
Nick Mathewson
047e105daf
Fix a bug in config_dump: we want to run options_validate on the defaults, not (again, uselessly) on the configuration. This was introduced when we made the config code more generic.
...
svn:r4965
2005-09-09 20:08:26 +00:00
Roger Dingledine
35b78b2d8e
clean up the rendezvous warn log msgs, and downgrade some to info
...
svn:r4964
2005-09-09 19:54:28 +00:00
Nick Mathewson
0de64f224e
Warn in more detail when network-status serving and fetching fails. Also, fix a small leak.
...
svn:r4963
2005-09-09 19:37:12 +00:00
Roger Dingledine
42f752a0a5
bugfix: we were automatically condemning an exit node (concluding
...
its advertised exit policy is different from its real one) as soon
as it refused any requests.
After fixing that bug, another bug appeared: we would try the same
server again and again, since once we learned an IP address for a
hostname, we still kept think of it as the hostname. now pass it to
the remapper before trying to reattach.
svn:r4962
2005-09-09 06:11:37 +00:00
Roger Dingledine
843550721a
stop notifying people about dns worker spawning and culling
...
it just freaks them out
svn:r4960
2005-09-09 02:03:31 +00:00
Roger Dingledine
2065c5f7aa
when printing x-forwarded-by headers, don't print the \r
...
svn:r4959
2005-09-09 02:02:20 +00:00
Nick Mathewson
bd911d8612
Fix segfault and memleak when getting many compressed server descs.
...
svn:r4956
2005-09-08 22:00:29 +00:00
Nick Mathewson
659491bbc6
Fix some messages that say "failing".
...
svn:r4955
2005-09-08 21:46:31 +00:00
Nick Mathewson
d410c49965
Clean up some more fingerprint-checking logic
...
svn:r4954
2005-09-08 21:39:39 +00:00
Roger Dingledine
587b513ec0
remove obsolete kludge
...
svn:r4953
2005-09-08 21:36:27 +00:00
Nick Mathewson
9df4716ac3
make it work correctly when we download multiple network-status objects.
...
svn:r4952
2005-09-08 21:28:45 +00:00
Nick Mathewson
4ce0e01848
add conn->requested_resource to connection_t checks.
...
svn:r4951
2005-09-08 21:21:54 +00:00
Nick Mathewson
a938190bdb
Iteration is happier when you stop.
...
svn:r4950
2005-09-08 21:20:20 +00:00
Roger Dingledine
e28931dc94
unused variable
...
svn:r4949
2005-09-08 21:12:53 +00:00
Nick Mathewson
4528bbfd9f
Resolve some XXXs. Add some others.
...
svn:r4947
2005-09-08 21:01:24 +00:00
Nick Mathewson
c523e106b5
Do not generate more than 2 of each directory type per minute.
...
svn:r4946
2005-09-08 20:47:11 +00:00
Nick Mathewson
18e4d78354
Fix an assert in directory.c. Check received network-status objects against the list we expected to get. Do not let anyone else update our network-status object.
...
svn:r4945
2005-09-08 20:36:40 +00:00
Nick Mathewson
059148f588
Only caches download network-status for now, and they use a different strategy. Add an element to connection_t to remember what we are downloading, and a function to recognize our own fingerprint.
...
svn:r4944
2005-09-08 20:18:15 +00:00
Nick Mathewson
6c4d43c724
Special-case for retrieving own networkstatus by fingerprint: regenerate if dirty!
...
svn:r4943
2005-09-08 19:29:21 +00:00
Roger Dingledine
465aec04c1
when reporting results from a dirserver fetch/post, tell us the
...
port for the dirserver too
svn:r4942
2005-09-08 19:21:48 +00:00
Nick Mathewson
df79dc673b
Remove sneaky double declaration.
...
svn:r4941
2005-09-08 19:18:55 +00:00
Nick Mathewson
0f94aa2ea1
Write status to disk in the right place
...
svn:r4940
2005-09-08 19:16:16 +00:00
Nick Mathewson
cc16fb7636
oops -- that log should have been removed
...
svn:r4939
2005-09-08 19:12:55 +00:00
Nick Mathewson
e5f117606f
Fix network-status parsing.
...
svn:r4938
2005-09-08 19:10:36 +00:00
Nick Mathewson
b43a720bd4
Fix another reversed inet_aton
...
svn:r4937
2005-09-08 18:53:57 +00:00
Nick Mathewson
1e2f1679c8
Fix some more bugs; add a temporary log.
...
svn:r4936
2005-09-08 18:46:25 +00:00
Nick Mathewson
eab005c948
Ensure case match, not mismatch.
...
svn:r4935
2005-09-08 18:34:41 +00:00
Nick Mathewson
810572a5de
Stop dying when we get a directory from tor26; workaround for change in networkstatus format
...
svn:r4933
2005-09-08 18:24:26 +00:00
Roger Dingledine
4633b271f9
fix spacing
...
svn:r4932
2005-09-08 18:15:57 +00:00
Nick Mathewson
548a863779
Avoid assertion failure
...
svn:r4931
2005-09-08 18:14:23 +00:00
Nick Mathewson
ff9452e900
Clean up should-i-go-to-the-dirserv logic a little: All servers with DirPorts should get their directories from the source
...
svn:r4930
2005-09-08 18:14:01 +00:00
Nick Mathewson
3a99927859
Make directory download code slightly less likely to segfault or assert.
...
svn:r4929
2005-09-08 16:18:28 +00:00
Roger Dingledine
022f23249f
make doxygen output look prettier
...
svn:r4928
2005-09-08 07:10:12 +00:00
Roger Dingledine
dbeb8e7863
it really does help with the functions end.
...
svn:r4927
2005-09-08 06:59:58 +00:00
Roger Dingledine
74fb086210
if you give a config option in the torrc or the commandline with no
...
value, and reset is false, then it clears it entirely.
svn:r4926
2005-09-08 06:55:53 +00:00
Roger Dingledine
36fa360c11
and fix grammar
...
svn:r4925
2005-09-08 06:49:23 +00:00
Roger Dingledine
69da0ef757
add punctuation
...
svn:r4924
2005-09-08 06:49:02 +00:00
Nick Mathewson
8f37357193
Make GCC v4 happy with heavy warnings enabled.
...
svn:r4922
2005-09-08 06:37:50 +00:00
Nick Mathewson
f50ddfd4dd
Download network-status at regular intervals. The code is probably iffy, and the constants need to be renamed.
...
svn:r4921
2005-09-08 06:22:44 +00:00
Roger Dingledine
2f6664ce80
MonthlyAccountingStart is dead.
...
svn:r4920
2005-09-08 05:38:47 +00:00
Roger Dingledine
c9e1c41873
dirserv_add_descriptor() doesn't chew up its argument anymore,
...
so we can stop protecting it.
svn:r4919
2005-09-08 05:37:22 +00:00
Roger Dingledine
03ddeb2620
strip obsolete code
...
svn:r4918
2005-09-08 05:32:41 +00:00
Roger Dingledine
0ac3c58480
clean up comments for router_is_general_exit()
...
svn:r4917
2005-09-08 05:23:55 +00:00
Roger Dingledine
08348ae66e
add a RESETCONF controller command, and make setconf with a null
...
option actually mean to set it to ""
svn:r4916
2005-09-08 03:18:51 +00:00
Roger Dingledine
0a8a8ba546
fix some typos
...
svn:r4915
2005-09-08 03:17:50 +00:00
Nick Mathewson
4aca47268d
Logic to launch connections for new directory types.
...
svn:r4914
2005-09-07 20:03:02 +00:00
Nick Mathewson
9e76eae810
add missing return
...
svn:r4913
2005-09-07 17:18:52 +00:00
Nick Mathewson
eac917fd6a
clean whitespace.
...
svn:r4912
2005-09-07 17:15:46 +00:00
Nick Mathewson
5c6c88e76d
More stuff for new directories.
...
- Distinguish v1 authorities (all currently trusted directories) from
v2 authorities (all trusted directories).
- Add configuration option for which dirs are v1 authories.
- Add configuration option for whether to be a v1 authority.
- Make trusted dirserver selection functions take options to
choose which functionality we need.
- Remove option when getting directory cache to see whether they
support running-routers; they all do now. Replace it with one
to see whether caches support v2 stuff.
- Parse, cache, and serve network-status objects properly.
- Serve compressed groups of router descriptors. The compression logic
here could be more memory-efficient.
-
svn:r4911
2005-09-07 16:42:53 +00:00
Roger Dingledine
c384fa706d
stop using the v1 rend desc format. we're going to change v1
...
some more before we switch to it.
svn:r4909
2005-09-06 06:14:38 +00:00
Nick Mathewson
1e37ec4782
Comment structs, reload a field, start making network status caches work
...
svn:r4908
2005-09-04 23:12:27 +00:00
Roger Dingledine
d2a5b614eb
if you're an auth dir server, start yourself out as verified.
...
svn:r4907
2005-09-03 23:10:28 +00:00
Roger Dingledine
33b2abbc90
remove redundant logs about unreachable servers
...
svn:r4905
2005-09-03 04:37:30 +00:00
Nick Mathewson
467fd6e4e6
fix order of items in network-status
...
svn:r4904
2005-09-03 02:38:39 +00:00
Nick Mathewson
3485a497fe
Fix another ntohl
...
svn:r4903
2005-09-03 02:23:53 +00:00
Nick Mathewson
ae726e659e
and another byte counting error.
...
svn:r4902
2005-09-03 02:14:31 +00:00
Nick Mathewson
9b949cc1d2
Excellent. We have at least 8 bytes, so I can safely get the 9th.
...
svn:r4901
2005-09-03 02:12:53 +00:00
Nick Mathewson
bcbff6dcd7
Note to self: htonl(htonl(X)) is *not* "twice as good as htonl(X)". Spotted by arma.
...
svn:r4900
2005-09-03 01:47:39 +00:00
Nick Mathewson
815c092b22
Make structs for (v2) network-status and its per-router components. Add functions to parse them. Re-do the parsing logic a litt.e. Change signatures in or.h to support new DNS TTL logic.
...
svn:r4898
2005-09-02 20:37:31 +00:00
Nick Mathewson
9bc3d34682
Add contact field to generated network-status objects
...
svn:r4897
2005-09-02 20:30:03 +00:00
Nick Mathewson
09e8521236
Make ContactInfo mandatory for authoritative directories.
...
svn:r4896
2005-09-02 20:29:29 +00:00
Nick Mathewson
a6a45b7713
Add TTLs to RESOLVED, CONNECTED, and END_REASON_EXITPOLICY cells. Also, add a missing ntohl in connection_ap_handshake_socks_resolved.
...
svn:r4894
2005-09-02 18:53:31 +00:00
Roger Dingledine
93179f4e7e
bugfix: moria2 wasn't listing itself as verified in its directory
...
svn:r4893
2005-09-02 06:19:31 +00:00
Roger Dingledine
ba899d0648
when we're shutting down and we do something like try to post a
...
server descriptor or rendezvous descriptor, don't complain that we
seem to be unreachable. of course we are, we're shutting down.
svn:r4892
2005-09-01 08:19:49 +00:00
Roger Dingledine
1b04f38145
subtle change to avoid some false positives:
...
if a server went down for six hours and then came back, we would
complain to it that it's unreachable. now we wait until the third
consecutive descriptor post that we thought it was unreachable,
before complaining to it.
svn:r4891
2005-09-01 08:13:40 +00:00
Roger Dingledine
3b6ab71929
and notify the dirserver operator whenever we do
...
svn:r4890
2005-08-31 06:18:19 +00:00
Roger Dingledine
711cad94ed
when we think a router is unreachable, pass the message back to the
...
server's logs, and make it a 'warn'.
also, fix a memory leak for rejected router descriptors.
svn:r4889
2005-08-31 06:14:37 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
Nick Mathewson
999b7951c3
Shorten hidden service port config parsing; fix bug 174
...
svn:r4725
2005-08-06 21:35:04 +00:00
Nick Mathewson
52475ee19b
Alphebetize config variables
...
svn:r4714
2005-08-05 01:35:43 +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
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
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
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
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
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
7ac36a9a74
unit tests to prove i didn't screw up
...
svn:r4602
2005-07-18 23:36:12 +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
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
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
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
cf13b3e4a6
Macro-fu to get DEBUG events working.
...
svn:r4539
2005-07-13 05:14:42 +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
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
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
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
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
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
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
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
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
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
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
baa10cbbfa
Instrument buffers.c and rephist.c memory usage
...
svn:r4317
2005-06-06 17:03:21 +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
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
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
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
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
28195a0eb1
clean up some log entries
...
svn:r4228
2005-05-15 05:00:24 +00:00
Nick Mathewson
9bc6e3aa6c
Add an explanatory comment
...
svn:r4222
2005-05-15 02:05:45 +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
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
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
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
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
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
Roger Dingledine
6128cdead0
let NumCpus be singular without whining
...
svn:r4097
2005-04-23 19:29:09 +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
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
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
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
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
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
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
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
Nick Mathewson
0e81265359
update copyright notices.
...
svn:r3982
2005-04-01 20:15:56 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Roger Dingledine
b3177d509e
free some more memory at shutdown
...
svn:r3707
2005-02-28 01:59:18 +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
bbaa3c7792
Implement more control spec functionality
...
- Mapaddress
- Postdescriptor
- GetInfo on descriptors
Required changes elsewhere:
- Keep the most recent running_routers_t in the routerlist_t. That way we
can learn about new routers and remember whether we were last told that
they were up or down. Also enables more simplifications.
- Keep the signed descriptor inside routerinfo_t. This makes
descriptor_entry_t in dirservers.c unneeded.
- Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun.
- Check addresses for plausibility before mapping them.
svn:r3696
2005-02-25 20:46:13 +00:00
Nick Mathewson
8396105d84
Implement some of GETINFO control message
...
svn:r3694
2005-02-25 06:37:07 +00:00
Nick Mathewson
81d2c2d8e5
Stub functions for new control-spec logic.
...
svn:r3693
2005-02-25 06:16:28 +00:00
Nick Mathewson
26e6eb7539
Check returns from libevent calls better; stop poking at internals of events to see if they are live.
...
svn:r3691
2005-02-25 05:42:01 +00:00
Roger Dingledine
6329811a88
fix a seg fault from tor_free_all
...
svn:r3690
2005-02-24 23:01:26 +00:00
Nick Mathewson
24d7ae6fe8
Insert missing ! in assert_connection_ok; test was accidentally reversed in revision 1.329 yesterday. Should fix bug 102
...
svn:r3685
2005-02-24 17:08:27 +00:00
Roger Dingledine
5b24ca6cde
cache .exit address better (i think)
...
svn:r3684
2005-02-24 11:44:08 +00:00
Roger Dingledine
6faaac2706
add support for CONNECTing through https proxies.
...
not sure if it works. i don't have an https proxy.
svn:r3682
2005-02-24 10:56:55 +00:00
Roger Dingledine
8054f82992
stop a potential overflow (pointed out by ilja)
...
svn:r3681
2005-02-24 10:22:00 +00:00
Nick Mathewson
2adee31a26
Improve log message on unrecognized encoding to indicate that we can cope.
...
svn:r3676
2005-02-23 22:14:34 +00:00
Nick Mathewson
22c38b0f9b
Clarify comment. Use CONN_IS_EDGE more. Try to be more zealous about calling connection_edge_end when things go bad with edge conns in connection.c
...
svn:r3671
2005-02-23 20:35:26 +00:00
Nick Mathewson
69a36e352e
clarify comment
...
svn:r3667
2005-02-23 06:46:54 +00:00
Nick Mathewson
e0387d1322
Addressmap tweak: Make "addressmap x x" remove any mapping from the address x.
...
svn:r3666
2005-02-23 06:40:48 +00:00
Nick Mathewson
2ff6cfccd6
Forward-port fix to make dual-purpose NT executable work.
...
svn:r3665
2005-02-23 05:34:25 +00:00
Roger Dingledine
55c3f15ed1
Forward-port the trick to bump up ConnLimit as far as it can
...
go, but not past MAXCONNECTIONS. Also throw away the FAKE_POLL
caveats since 0.1.0 doesn't need it any more.
svn:r3657
2005-02-22 23:52:44 +00:00
Nick Mathewson
6e6d95b3db
Change from inet_ntoa to a threadproof tor_inet_ntoa.
...
svn:r3656
2005-02-22 08:18:36 +00:00
Nick Mathewson
70c3580f81
Patch to localtime/gmtime handling: use the _r variants where available. Use mutexes to fake _r where necessary. Make mutexes no-ops where no threading is enabled.
...
svn:r3653
2005-02-22 07:03:03 +00:00
Nick Mathewson
d01718841e
Remove assumptions that maximum path length is anything like 1024. From comments by Chris Palmer
...
svn:r3652
2005-02-22 06:38:39 +00:00
Nick Mathewson
a68fcbf807
Initial IRIX compatibility fixes: check for inttypes.h; check for platform cell_t.
...
svn:r3648
2005-02-22 04:26:45 +00:00
Nick Mathewson
c2d5b67dd2
After we successfully connect, try handling pending stuff immediately, rather than waiting for the next call to connection_handle_write. Roger: is this right?
...
svn:r3647
2005-02-22 03:02:33 +00:00
Nick Mathewson
e673536e3f
Print uname on start of unittests.
...
svn:r3646
2005-02-22 03:01:31 +00:00
Nick Mathewson
1a55422006
Fix windows build: juggle }s and #endifs around in main.c
...
svn:r3645
2005-02-22 02:57:43 +00:00
Roger Dingledine
8991af604c
make the addressmap internals less noisy
...
svn:r3643
2005-02-22 00:55:50 +00:00
Roger Dingledine
8727acf2f1
Add a new AddressMap directive to rewrite incoming socks addresses.
...
Add a new TrackHostExits directive to trigger addressmaps for
certain incoming socks addresses, for sites that break when your exit
keeps changing.
Redo the client-side dns cache so it's just an addressmap too.
svn:r3641
2005-02-22 00:53:08 +00:00
Roger Dingledine
38f53cff41
forward-port the onion queue thing
...
svn:r3639
2005-02-20 09:27:48 +00:00
Roger Dingledine
cbb4803ec8
forward-port some fixes
...
svn:r3631
2005-02-17 01:12:50 +00:00
Roger Dingledine
797419a62c
remove unused code
...
svn:r3629
2005-02-16 02:06:54 +00:00
Nick Mathewson
0289144229
Fix another crash bug found by Jaroslaw--it is possible for dns_resolve to mark a connection to be freed, if the circuit it was attached to fails for some reason.
...
svn:r3623
2005-02-14 21:16:27 +00:00
Nick Mathewson
427e246a10
Add a missing prototype to or.h
...
svn:r3621
2005-02-13 22:31:26 +00:00
Nick Mathewson
d90ab823ea
remove redundant unpack in critical path
...
svn:r3620
2005-02-13 16:17:32 +00:00
Nick Mathewson
58540dde50
Do not try to double-aquire lock when rotating keys. May fix deadlock bug found by weasel.
...
svn:r3616
2005-02-11 07:56:10 +00:00
Nick Mathewson
5d836c8140
Free tls resources on exit too
...
svn:r3615
2005-02-11 01:41:19 +00:00
Nick Mathewson
f672577bc6
Free even more things on shutdown. Temporarily move tor_free_all out from #ifdef so it gets tested more.
...
svn:r3614
2005-02-11 01:26:47 +00:00
Nick Mathewson
60f234f42b
Add more functions to free things to help dmalloc allong.
...
svn:r3613
2005-02-10 23:18:39 +00:00
Roger Dingledine
33569e40d7
if we're hibernating and we get a sigint, exit immediately.
...
closes bug 91.
svn:r3611
2005-02-10 07:34:19 +00:00
Roger Dingledine
236aa86ae7
stop picking unverified dir mirrors, ever.
...
it only leads to misery.
svn:r3610
2005-02-10 07:00:23 +00:00
Roger Dingledine
37ca621301
when a client asks us for a dir mirror and we don't have one,
...
launch an attempt to get a fresh one.
svn:r3609
2005-02-10 06:31:34 +00:00
Roger Dingledine
07a3307460
remove redundant lines
...
svn:r3607
2005-02-09 23:54:30 +00:00
Nick Mathewson
89d422914a
Patch from adam langley: always remove sockets from libevent before closing them. Should fix epoll-related bugs.
...
svn:r3606
2005-02-09 23:16:31 +00:00
Roger Dingledine
c5c46d6fb6
don't list version in the win32 service display name or service name,
...
since they'll keep changing and people will get messed up about which
one is installed.
svn:r3592
2005-02-09 02:26:24 +00:00
Nick Mathewson
a64b03a4fd
Avoid double-free on tor-resolve failure
...
svn:r3567
2005-02-05 23:55:21 +00:00
Nick Mathewson
bb32fa86d7
Re-normalize whitespace; make "make check-spaces" happy
...
svn:r3566
2005-02-05 21:42:46 +00:00
Nick Mathewson
24ad6542c9
forward-port NT service patch
...
svn:r3565
2005-02-05 21:40:25 +00:00
Nick Mathewson
322c728e97
Fix tor-resolve implementation to prevent crashes and send resolves when we should.
...
svn:r3561
2005-02-05 21:03:24 +00:00
Roger Dingledine
56d4b99491
forward-port the logic skew and double-free thing
...
svn:r3549
2005-02-04 01:49:58 +00:00
Roger Dingledine
efa9bb5535
fix the latest bug: don't explode when some router declares a
...
bandwidthburst of 500 gigabytes.
this bug seems to have taken down most of the network. oops.
svn:r3523
2005-02-03 22:58:22 +00:00
Roger Dingledine
bcece3d8a7
another minor fix
...
svn:r3511
2005-02-03 07:30:00 +00:00
Peter Palfrader
ddd724ef94
Add --with-dmalloc configure option
...
svn:r3508
2005-02-03 07:25:10 +00:00
Peter Palfrader
dfa3a0220f
Write a function header for Roger so he can fill it with life
...
svn:r3507
2005-02-03 07:23:48 +00:00
Roger Dingledine
f575d29a59
note a bug that wmf just found
...
svn:r3503
2005-02-02 06:28:45 +00:00
Roger Dingledine
c1656f41b4
bugfix: tor-resolve requests were ignoring .exit if there was
...
a working circuit they could use instead.
svn:r3502
2005-02-02 06:26:52 +00:00
Roger Dingledine
0551e3a814
reject more default filesharing ports by default.
...
svn:r3500
2005-02-02 04:15:40 +00:00
Roger Dingledine
976bee4a3f
only check if exit_policy_implicitly_allows if you're a server.
...
also, put a comment next to an interesting undocumented 'feature'.
svn:r3499
2005-02-02 01:59:16 +00:00
Roger Dingledine
0f5a198028
sometimes, a conn on the closeable_lst gets absolutely
...
clobbered. maybe this will help me find out why.
svn:r3498
2005-02-02 00:19:09 +00:00
Roger Dingledine
850c300e46
bump the default rate limit to 1 MB
...
svn:r3494
2005-02-01 13:44:10 +00:00
Roger Dingledine
b90983e44f
reject odd-looking addresses at the client, rather than having
...
the server drop them because they're malformed.
svn:r3493
2005-02-01 12:19:44 +00:00
Roger Dingledine
1447145470
give a bit more load to servers that claim to be able to
...
handle a whole lot.
svn:r3489
2005-02-01 02:56:31 +00:00
Roger Dingledine
1e847aebb1
Go into soft hibernation after 95% of the bandwidth is used,
...
not 99%. This is especially important for daily hibernators who
have a small accounting max. Hopefully it will result in fewer
cut connections when the hard hibernation starts.
svn:r3488
2005-02-01 02:45:28 +00:00
Roger Dingledine
2e97593d25
define TOR_FRAGILE if you want tor to give you a core when
...
something goes wrong. this should only be used by people actively
tracking bugs.
svn:r3487
2005-02-01 00:37:16 +00:00
Roger Dingledine
e7e77d6d8e
fix an edge case in parsing config options (thanks weasel)
...
svn:r3486
2005-02-01 00:05:57 +00:00
Peter Palfrader
d19aaa9a46
Fix arma's fix for my leak
...
svn:r3485
2005-01-31 23:47:25 +00:00
Roger Dingledine
ab8691c343
fix a minor memory leak found by weasel
...
svn:r3484
2005-01-31 20:38:57 +00:00
Roger Dingledine
d232831135
stop a sigpipe.
...
apparently when we get an eof, at least sometimes it *does* mean
you'd better not try writing.
svn:r3481
2005-01-31 08:12:30 +00:00
Roger Dingledine
9856e328c4
stop logging loudly when a client tries an old onion key. it's
...
time to give up on that issue, at least for now.
svn:r3479
2005-01-31 04:03:57 +00:00
Roger Dingledine
a7138f2535
fix another rogue connection_free that was causing us troubles
...
there are no doubt more lurking.
svn:r3478
2005-01-31 03:47:38 +00:00
Roger Dingledine
a0312f3590
don't double-detach a closing exit conn that's waiting for dns resolve
...
svn:r3477
2005-01-31 01:27:49 +00:00
Roger Dingledine
692a57c8e8
but don't spring the trip on worker children, because it turns
...
out they don't actually remove anything before freeing the conns.
svn:r3476
2005-01-31 01:02:20 +00:00
Roger Dingledine
d6489d8e41
lay a trap for situations where we connection_free something
...
that's still on one of the lists.
in particular, this will detect situations where we mark-for-close
and then free it ourselves.
svn:r3475
2005-01-31 00:33:32 +00:00
Roger Dingledine
75b45bcd4d
stop the infinite loop of freeing the same connection_t over and
...
over when it's not linked into the connection_array
svn:r3474
2005-01-31 00:26:09 +00:00
Roger Dingledine
5d8659429e
be less noisy about complaining when a jap client tries to connect
...
and we refuse him.
svn:r3472
2005-01-30 23:52:47 +00:00
Roger Dingledine
3969b6066e
Stop crashing when we're asking to close_if_marked a conn that
...
hasn't been connection_added yet. This happens when an exit conn
is in dns_wait and we get a relay end cell for it before it finishes.
We were silently leaking each of these marked conns in 0.0.9.x. Now
we actually free them.
svn:r3470
2005-01-30 21:47:47 +00:00
Roger Dingledine
20ecfc757b
be safe: if you got a resolvefailed end cell but you're not an AP, bail.
...
svn:r3469
2005-01-30 21:46:42 +00:00
Roger Dingledine
7ddeb7fae7
try to find the corrupt closeable_connection_lst entry early
...
svn:r3468
2005-01-30 20:31:08 +00:00
Roger Dingledine
e432d2ceea
we should handle the case where the client has no cert, for
...
backwards compatibility with jap clients.
svn:r3466
2005-01-30 08:02:33 +00:00
Roger Dingledine
cab0138e4c
give a better log message when we don't have a good mirror of
...
the directory yet and somebody asks for it.
svn:r3464
2005-01-30 06:08:42 +00:00
Roger Dingledine
8e7fc8d259
comment about a bug wrt clock skew
...
svn:r3461
2005-01-30 00:07:31 +00:00
Roger Dingledine
d273891107
if we fetch the dir from a mirror that has a wildly skewed
...
clock, then don't bother checking recommended-versions: it will
just make us sad.
as a side effect, people running obsolete versions and whose
clocks are wildly skewed will not be auto-shut-down. but they
will still get warns about their clock skew.
svn:r3459
2005-01-29 11:48:37 +00:00
Roger Dingledine
191e52179c
distinguish between "well-formed and rejected" and "not well
...
formed", when parsing server descriptors.
svn:r3458
2005-01-29 11:23:34 +00:00
Roger Dingledine
7fd8dfe6ea
accept LDAP (389/tcp) and LDAPS (636/tcp) in default exit policy
...
svn:r3457
2005-01-29 11:16:23 +00:00
Roger Dingledine
82d3894f3e
don't let a corrupt directory cache keep us from starting
...
svn:r3456
2005-01-29 11:07:35 +00:00
Roger Dingledine
0b9b97aaf4
forward-port the shutting up
...
svn:r3450
2005-01-28 10:00:29 +00:00
Roger Dingledine
b2fbd834f0
forward-port the dns and maxconn fixes
...
svn:r3448
2005-01-28 08:53:47 +00:00
Nick Mathewson
e03f571ee3
Forward-port win32 service patch; try to clean it a touch.
...
svn:r3438
2005-01-27 21:45:32 +00:00
Nick Mathewson
fbb7f869c5
fwd-port win32 isprint fix
...
svn:r3410
2005-01-22 00:42:58 +00:00
Nick Mathewson
1dc4d9a0ce
Fix dumb bug in unittests.
...
svn:r3409
2005-01-22 00:42:40 +00:00
Nick Mathewson
de9b46ad64
clean a couple of messages
...
svn:r3401
2005-01-21 23:16:07 +00:00
Roger Dingledine
4826718eac
special case so we don't yell when an empty http body doesn't specify a
...
content-encoding
svn:r3397
2005-01-21 03:18:49 +00:00
Roger Dingledine
b137f6d19f
if we get an incredibly skewed timestamp from a dirserver mirror that
...
isn't a verified OR, don't complain very loudly -- it's probably him
that's wrong.
svn:r3395
2005-01-21 00:45:18 +00:00
Nick Mathewson
8115ca5f99
Log the offending policy, not the first policy
...
svn:r3394
2005-01-20 20:42:45 +00:00
Nick Mathewson
6704093c0d
Appease another 64-bit warning
...
svn:r3392
2005-01-20 20:21:34 +00:00
Nick Mathewson
fd41cbcadf
Have reason string for serverdesc post requests contain actual serverdesc status. Also fix return values of dirserv_add_descriptor to work as advertised.
...
svn:r3391
2005-01-20 20:18:32 +00:00
Nick Mathewson
5b45527851
Appease weasel's paranoid 64-bit compiler.
...
svn:r3389
2005-01-20 20:16:48 +00:00
Roger Dingledine
67f0babfd4
start to fix http status stuff, more work needed
...
svn:r3387
2005-01-20 20:07:36 +00:00
Nick Mathewson
80e8359ccf
Give better reason phrases in HTTP status lines. Start resolving task #67 . (Messages still need to be better.)
...
svn:r3386
2005-01-20 19:46:02 +00:00
Nick Mathewson
129e754ae4
Warn when exit policy implicitly allows local addresses.
...
svn:r3383
2005-01-20 18:39:48 +00:00
Roger Dingledine
a6e91f8157
The crowning hidden-service patch: prefer non-internal circuits
...
for normal connections, so we don't spend our internal circs on
other stuff and not have them when we need them.
svn:r3380
2005-01-20 07:02:24 +00:00
Roger Dingledine
38be533c69
Handle unavailable hidden services better. We try each intro point
...
until none are left, then we try to refetch the descriptor. If it's
the same one we had before, then close streams right then. Whenever
a new stream arrives, even if it's right after, optimistically try
refetching the descriptor, just in case.
svn:r3379
2005-01-19 23:15:59 +00:00
Roger Dingledine
ff48179372
make cannibalizing for rend circs prey on the pleb circs first
...
if possible, rather than the elite ones.
svn:r3378
2005-01-19 23:13:20 +00:00
Nick Mathewson
1eddb28f82
Add unittests for compression detection. Make all rendezvous descriptors "plausible".
...
svn:r3375
2005-01-19 22:47:48 +00:00
Nick Mathewson
69fa5be7b6
Workaround for webservers that lie about Content-Encoding: Tor now tries to autodetect compressed directories and compression itself. (resolves bug 65)
...
svn:r3374
2005-01-19 22:40:33 +00:00
Nick Mathewson
e0bf597665
Give more useful log messages when the tor process closes dns/cpuworker connections. "Error: Success!" makes us seem like crazy people."
...
svn:r3373
2005-01-19 21:34:42 +00:00
Roger Dingledine
75d83827e0
fix another bug where general exit circs were looking at rendezvous
...
streams. consolidate the looking into one function so it doesn't
happen again.
svn:r3372
2005-01-19 17:59:37 +00:00
Roger Dingledine
cfcc93296c
bugfix for cvs: we were needing a rendezvous circ, so we cannibalized
...
a general circ, and called rend_client_rendcirc_has_opened(), which
called connection_ap_attach_pending(), which was needing a rendezvous
circ, so it cannibalized a general circuit, and called ...
svn:r3370
2005-01-19 17:13:11 +00:00
Nick Mathewson
7d4a167c81
Basic windows libevent fixes
...
svn:r3366
2005-01-18 23:44:55 +00:00
Roger Dingledine
4e369bc9e8
allow bandwidthburst to be smaller, but whine if it's small.
...
svn:r3364
2005-01-18 19:34:22 +00:00
Roger Dingledine
ea24dc31bc
remove some extra-verbose logs
...
svn:r3361
2005-01-17 18:49:13 +00:00
Roger Dingledine
d2400a5afd
Introduce a notion of 'internal' circs, which are chosen without regard
...
to the exit policy of the last hop. Intro and rendezvous circs must
be internal circs, to avoid leaking information. Resolve and connect
streams can use internal circs if they want.
New circuit pooling algorithm: make sure to have enough circs around
to satisfy any predicted ports, and also make sure to have 2 internal
circs around if we've required internal circs lately (with high uptime
if we've seen that lately).
Split NewCircuitPeriod config option into NewCircuitPeriod (30 secs),
which describes how often we retry making new circuits if current ones
are dirty, and MaxCircuitDirtiness (10 mins), which describes how long
we're willing to make use of an already-dirty circuit.
Once rendezvous circuits are established, keep using the same circuit as
long as you attach a new stream to it at least every 10 minutes. (So web
browsing doesn't require you to build new rend circs every 30 seconds.)
Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND
circ as necessary, if there are any completed ones lying around when
we try to launch one.
Re-instate the ifdef's to use version-0 style introduce cells, since
there was yet another bug in handling version-1 style. We'll try switching
over again after 0.0.9 is obsolete.
Bugfix: when choosing an exit node for a new non-internal circ, don't take
into account whether it'll be useful for any pending x.onion addresses --
it won't.
Bugfix: we weren't actually publishing the hidden service descriptor when
it became dirty. So we only published it every 20 minutes or so, which
means when you first start your Tor, the hidden service will seem broken.
svn:r3360
2005-01-17 18:13:09 +00:00
Roger Dingledine
c6771e5ce4
reset published uptime when you wake up from hibernation,
...
since if you hibernate daily a published uptime of >1day
will be misleading.
svn:r3356
2005-01-14 17:49:25 +00:00
Roger Dingledine
dcf8b18215
when the hidden service launches a rendezvous circ, make sure it
...
provides good uptime if any virtual_port of the service wants that.
svn:r3355
2005-01-14 04:35:53 +00:00
Nick Mathewson
a38bccdca7
Move call to event_init() immediately after start_daemon(); move start_daemon earlier. This should fix using libevent with RunAsDaemon.
...
svn:r3354
2005-01-13 21:32:08 +00:00
Roger Dingledine
0aff4ff4cb
get rid of 0.0.8 backwards compatibility
...
svn:r3353
2005-01-13 20:22:38 +00:00
Roger Dingledine
22f7934718
start generating version 1 style introduce cells
...
svn:r3352
2005-01-13 20:21:11 +00:00
Roger Dingledine
49fe4cba74
when deciding if a port is handled and the port demands uptime, don't
...
consider it handled if there's a circ that fits but isn't high-uptime.
svn:r3349
2005-01-13 07:23:19 +00:00
Roger Dingledine
abea142665
more cleanup
...
svn:r3347
2005-01-12 12:22:25 +00:00
Roger Dingledine
bafb3e4a5b
fix another integer underflow caused by buckets going negative
...
svn:r3346
2005-01-12 12:19:00 +00:00
Roger Dingledine
24a97d2c55
fix up some comments
...
svn:r3345
2005-01-12 12:18:46 +00:00
Roger Dingledine
3809c0ab91
tolerate bandwidtch buckets going negative (i hope)
...
svn:r3344
2005-01-12 10:00:38 +00:00
Nick Mathewson
324b192f68
Make Tor use Niels Provos's libevent instead of it's current
...
poll-but-sometimes-select mess. This will let us use faster async cores
(like epoll, kpoll, and /dev/poll), and hopefully work better on Windows
too.
There are some fairly nasty changes to main.c here; this will almost
certainly break something. But hey, that's what alphas are for.
svn:r3341
2005-01-12 06:42:32 +00:00
Roger Dingledine
9b578f2fe2
add more chat and interactive protocols to LongLivedPorts
...
svn:r3340
2005-01-12 05:18:14 +00:00
Roger Dingledine
84c81e0783
Annotate circuits w/ whether they aim to contain high uptime nodes and/or
...
high capacity nodes. When building circuits, choose appropriate nodes.
New config option LongLivedPorts to indicate application streams
that will want high uptime circuits.
When attaching a stream to a circuit, pay attention to its requirements.
This means that every single node in an intro rend circuit, not just
the last one, will have a minimum uptime.
Boost the min uptime from an hour to 24 hours.
svn:r3339
2005-01-12 04:58:23 +00:00
Roger Dingledine
70b3208f0a
if somebody starts his tor server in jan 2004 and then fixes his
...
clock, don't make his published uptime be a year.
svn:r3337
2005-01-11 11:54:11 +00:00
Roger Dingledine
45eb8d9660
if you're a server and the auth dirservers are down, go to any other
...
server. only give up hope on network reachability when no other servers
are reachable either.
svn:r3335
2005-01-10 17:39:41 +00:00
Roger Dingledine
4b6d55afdf
separate time_of_process_start from stats_n_seconds_uptime:
...
now we reset uptime when a dir fetch entirely fails. this
hopefully has something to do with stability of being on the
network.
svn:r3333
2005-01-10 05:10:22 +00:00
Roger Dingledine
3370f53010
it helps to use the correct name for the struct
...
svn:r3331
2005-01-10 04:32:59 +00:00
Roger Dingledine
10a81ccf18
when pruning circuit-wait streams when a dir fetch failed,
...
refer in logs to the destination address, not the address of the
application connection.
svn:r3330
2005-01-10 02:47:50 +00:00
Roger Dingledine
f468ff04ea
when we haven't fetched a directory yet, or the last time we
...
tried they were all unreachable, assume we are not connected to
the network.
when an application request comes in during this state, be
optimistic and assume we just reconnected. fetch a new directory
and if it works, begin making circuits.
svn:r3327
2005-01-07 15:57:57 +00:00
Roger Dingledine
608caffc64
fix unit tests: address has to be a non-private IP, and socksport
...
needs to be 0.
svn:r3324
2005-01-07 01:12:30 +00:00
Roger Dingledine
cd1f50d2f0
new config option DirAllowPrivateAddresses for authdirservers.
...
now by default they refuse router descriptors that have non-IP
or private-IP addresses.
svn:r3321
2005-01-06 21:03:27 +00:00
Nick Mathewson
91bafc476e
Fix a fun bug: do not rewrite a cached directory back to the cache; otherwise we will think it is recent and not fetch a newer one.
...
svn:r3319
2005-01-06 20:11:52 +00:00
Roger Dingledine
f8b517fa97
finish marking my comment in main.c
...
svn:r3318
2005-01-06 19:20:54 +00:00
Roger Dingledine
1f51809e65
clean up string printing in relay logs
...
svn:r3317
2005-01-06 19:19:13 +00:00
Roger Dingledine
6d2859c2e5
fix trivial typo in log entry
...
svn:r3316
2005-01-06 19:17:01 +00:00
Nick Mathewson
a6e587305f
typo spotted by chris
...
svn:r3308
2005-01-05 06:48:39 +00:00
Nick Mathewson
dcd228585d
Implement SIGNAL control command.
...
svn:r3307
2005-01-05 06:40:47 +00:00
Nick Mathewson
b4fedc7f14
Stop reversing and re-reversing config lines: keep them in order all the time. Removes needless confusion and fixes bug #50 .
...
svn:r3305
2005-01-05 06:05:37 +00:00
Nick Mathewson
e99f79fa4d
Remove broken and undocumented wart where multiple CSV config lines are appended rather than replaced. Resolves bug #49
...
svn:r3301
2005-01-05 02:51:04 +00:00
Roger Dingledine
814dd946f0
fix duplicate dns_cancel_pending_resolve reported by Giorgos Pallas
...
svn:r3293
2005-01-04 11:26:08 +00:00
Roger Dingledine
ba7c74e742
bandaid: make Giorgos Pallas's dns assert bug not actually crash on him.
...
one day we should try to figure out what's actually going on here.
svn:r3280
2005-01-04 06:21:06 +00:00
Nick Mathewson
6dd91de3bd
Nothing actually _uses_ socks_port, so why publish it? For backward compatibility, publish a socks_port of 0, and never read socks_port.
...
svn:r3279
2005-01-04 05:46:54 +00:00
Roger Dingledine
e6c1ab2daf
post 0.0.9.x, demand that servers declare at least 20000 bytes/s
...
for bandwidthrate
svn:r3277
2005-01-04 03:46:50 +00:00
Nick Mathewson
4d30e2f4b8
Make sequence of log messages when starting on win32 with no config file more reasonable.
...
svn:r3275
2005-01-04 02:25:36 +00:00
Roger Dingledine
82c5381ecb
forward-port the fix for the compiler warning
...
svn:r3273
2005-01-04 01:16:20 +00:00
Roger Dingledine
d7a0f1a629
update print_usage to use new url
...
svn:r3267
2005-01-03 23:21:32 +00:00
Roger Dingledine
a005509c9d
update url for when users try to use socksport as an http proxy
...
svn:r3265
2005-01-03 23:19:15 +00:00
Nick Mathewson
d1fc7ad94b
Log when we retry a directory connection
...
svn:r3258
2005-01-03 21:14:09 +00:00
Nick Mathewson
0c4186d6ee
Use correct logic to decide whether there are more directory servers to retry.
...
svn:r3257
2005-01-03 20:51:24 +00:00
Nick Mathewson
65c4fa2614
Split mark-dir-failed-and-retry logic into separate function; make it retry runningrouters as well as directory fetches; note that the do-we-need-to-give-up test is wrong.
...
svn:r3256
2005-01-03 20:07:07 +00:00
Nick Mathewson
858eda4736
Fix an unused function warning
...
svn:r3255
2005-01-03 20:03:49 +00:00
Nick Mathewson
5f40d6bf72
Make directory fail-and-retry logic happen in connection_about_to_close(); fixes win32 bug.
...
svn:r3253
2005-01-03 19:51:10 +00:00
Nick Mathewson
b50263f740
More work on task #43 : fix race conditions on multithreaded (win32) servers.
...
svn:r3251
2005-01-03 19:07:25 +00:00
Nick Mathewson
ead52e0bdc
Possible fix for task #43 : when running on a multithreaded environment (currently only windows), threads should not close opposite sides of their socketpairs, and workers should not call connection_free_all(). This may fix win32 servers.
...
svn:r3247
2005-01-03 18:06:51 +00:00
Nick Mathewson
fca7ba9777
Resolve task 42: find where 19-char nicknames were getting truncated when read from certs, and fix it. Also audit use of MAX_NICKNAME_LEN; no other badness found, but some docs/code cleaned up a touch.
...
svn:r3244
2005-01-03 17:53:20 +00:00
Roger Dingledine
59504f4831
bugfix: if a server uploads a descriptor that's unapproved, actually
...
tell him so.
svn:r3243
2005-01-03 17:47:32 +00:00
Roger Dingledine
70075933c6
stop checking for clock skew, even for servers.
...
this means we are vulnerable to an attack where somebody recovers
and uses a really old certificate. however, if they do that, they
probably can get our identity key just as easily.
svn:r3241
2005-01-03 17:10:32 +00:00
Roger Dingledine
b4dad0e6a4
fix the assert bug reported by bassclef@163.com
...
svn:r3237
2005-01-02 06:16:46 +00:00
Roger Dingledine
a4ad47df86
Fix a double-mark-for-close bug, where we were finding a conn
...
for a cell even if that conn is already marked for close.
Don't back-port to 0.0.9.x, since this fix could have weird implications.
svn:r3235
2005-01-01 07:54:01 +00:00
Roger Dingledine
35d5a5b712
when a dirserver causes you to give a warn, mention which dirserver it was
...
svn:r3234
2005-01-01 07:40:59 +00:00
Roger Dingledine
e29d7329b3
...but only if you're a server
...
svn:r3233
2004-12-31 21:49:20 +00:00
Roger Dingledine
95f3e6161b
require BandwidthRate to be at least 10kB/s
...
svn:r3232
2004-12-31 21:47:54 +00:00
Roger Dingledine
717fe4993e
actually make it stop keeping track of times. whoops.
...
svn:r3230
2004-12-25 07:19:48 +00:00
Roger Dingledine
e1ac30c2bb
stop calling assert_connection_ok(conn, time(NULL)) on every single
...
conn on every single loop.
svn:r3229
2004-12-25 06:43:40 +00:00
Roger Dingledine
288f2ed59e
stop telling win32 folks they have a bug just because we haven't finished
...
making tor work on win32 yet.
svn:r3227
2004-12-25 06:42:15 +00:00
Roger Dingledine
be72937ab0
initial profiling by phobos says we spend a whole lot of time
...
measuring how long each cell takes to process. make that optional.
svn:r3226
2004-12-25 06:10:34 +00:00
Roger Dingledine
53105cdae5
when you're loading the rendezvous service keys in options_act(),
...
don't call it 'reloading'.
svn:r3225
2004-12-24 20:45:45 +00:00
Roger Dingledine
3a572fcffa
don't connection_edge_end() on eof if we're already marked for close,
...
because if we are then it's because we already got an end.
svn:r3223
2004-12-24 09:43:57 +00:00
Nick Mathewson
ded8e79979
remove sentence-fragment comment refering to a design that never happened.
...
svn:r3220
2004-12-24 02:50:27 +00:00
Nick Mathewson
e8585dfe97
Remove length restriction when generating directories.
...
svn:r3218
2004-12-24 02:17:32 +00:00
Nick Mathewson
7117366810
Fix for running-routers length bug
...
svn:r3216
2004-12-24 01:41:52 +00:00
Roger Dingledine
f50b785c3b
and forward port the cleanup
...
svn:r3211
2004-12-22 10:04:50 +00:00
Roger Dingledine
18320557a1
fix a crash: if you do socks4 with an IP of 0.0.0.x then we get tricked
...
into thinking you're doing socks4a, and we look for the next byte.
thanks to aphex for finding this.
svn:r3207
2004-12-22 09:52:29 +00:00
Roger Dingledine
cf17d0d29c
move network_init from or/main to common/compat
...
call network_init in tor-resolve.c too
move tor_lookup_hostname from common/util to common/compat
svn:r3203
2004-12-22 05:29:06 +00:00
Roger Dingledine
036384fd8e
respond to an 009 XXX
...
svn:r3201
2004-12-22 02:55:26 +00:00
Nick Mathewson
32978afa54
Workaround for brain-damaged __FILE__ handling on MSVC: keep Nick's name out
...
of the warning messages.
svn:r3199
2004-12-22 02:32:26 +00:00
Roger Dingledine
f9fd101869
forward port:
...
fix a fencepost: we were blowing away the \n when reporting confvalue items
svn:r3194
2004-12-21 02:57:25 +00:00
Roger Dingledine
308ffa8a05
When listing circuits that are pending on an opening OR connection,
...
if we're an OR we were listing circuits that *end* at us as
being pending on every listener, dns/cpu worker, etc. Stop that.
svn:r3171
2004-12-17 23:17:00 +00:00
Nick Mathewson
bbc10c2ea1
Make split(..., NULL) split on horizontal space; fix bug with tabs in config file.
...
svn:r3155
2004-12-16 21:10:51 +00:00
Nick Mathewson
e327b2f3a6
Clarify confusing message
...
svn:r3151
2004-12-16 05:23:48 +00:00
Roger Dingledine
e1bc3f097e
bugfix: when we're reporting event circuit status, don't call it a stream.
...
while we're at it, include ":port" in the stream event string.
svn:r3148
2004-12-14 03:36:33 +00:00
Roger Dingledine
b6173b7b68
0.0.9 broke hibernation. darn it.
...
svn:r3147
2004-12-13 19:42:46 +00:00
Nick Mathewson
75cefd8989
Remove bugfixes that did not actually do anything, before we start a cargo cult.
...
svn:r3145
2004-12-13 18:48:12 +00:00
Nick Mathewson
1e71b83890
Fix a bug in parsing HashedControlPassword.
...
svn:r3143
2004-12-13 18:32:29 +00:00
Roger Dingledine
6cc7d32afc
clarify a log entry
...
svn:r3142
2004-12-13 02:23:22 +00:00
Roger Dingledine
a8582ae223
note a future thing we should do
...
svn:r3141
2004-12-13 01:30:41 +00:00
Roger Dingledine
011ad3cba5
clean up logging,
...
make it clearer which warns are bugs,
make the control log event match its specification,
point out a bug in how we deal with failure when renewing the tls context.
svn:r3138
2004-12-13 00:44:39 +00:00
Nick Mathewson
972124aab9
Only launch dns workers when we are actually starting a server.
...
svn:r3137
2004-12-13 00:09:00 +00:00
Roger Dingledine
464338b250
when hibernating, don't advertise any ports
...
this is important for the dirport, because clients will still
ask you for a directory, and they'll be sad when you're down.
and do the other ports too, because hey, they're not listening.
svn:r3133
2004-12-11 23:53:59 +00:00
Roger Dingledine
470cdea7f8
make the 64 bit args print correctly on 64 bit archs
...
svn:r3123
2004-12-08 12:30:20 +00:00
Nick Mathewson
fe6eb34a10
Solaris CC freaks out if isspace and friends get anything other than an int. We learned that, so we casted. But it is also a bad idea to cast a signed char to an int and expect things to work on win32. Now we cast to unsigned char, then to int, then pass to isspace. Ug
...
svn:r3120
2004-12-08 00:42:50 +00:00
Nick Mathewson
fc8a2596e1
Log contents of bw_accounting when we read it; fix memory leak.
...
svn:r3118
2004-12-07 23:20:10 +00:00
Roger Dingledine
ca95ed74ac
resolve tequila's crash bug: you can't free something
...
and then keep using it.
svn:r3117
2004-12-07 21:57:37 +00:00
Roger Dingledine
ad4f440e10
rearrange debug logs to make more sense
...
svn:r3116
2004-12-07 21:57:10 +00:00
Roger Dingledine
33cf6f2f61
clean two more minor memory leaks
...
svn:r3115
2004-12-07 19:42:45 +00:00
Nick Mathewson
06ce31b948
Only set a cookie when we intend to.
...
svn:r3114
2004-12-07 19:36:43 +00:00
Roger Dingledine
e93077c82a
fix a minor leak for people offering hidden services
...
svn:r3113
2004-12-07 17:49:14 +00:00
Roger Dingledine
29a8e80326
log bytes written with kill -USR1 too
...
svn:r3112
2004-12-07 16:50:47 +00:00
Roger Dingledine
012255fe60
fix the other half of the pipe race
...
svn:r3111
2004-12-07 16:37:32 +00:00
Roger Dingledine
538c3b0c26
avoid a sigpipe from a race: if we get the end right after
...
the app has hung up on us, we shouldn't hold-open-until-flush.
svn:r3109
2004-12-07 15:31:54 +00:00
Roger Dingledine
802d374a99
I'm a bad person.
...
Stop treating the uint16_t's as null-terminated strings,
and stop looking at the byte after them to see if it's null,
because sometimes you're not allowed to look there.
svn:r3108
2004-12-07 15:29:54 +00:00
Roger Dingledine
a2d80ec767
were we on crack??
...
svn:r3107
2004-12-07 09:18:25 +00:00
Roger Dingledine
41b809d2aa
salvage another 300 bytes per hup
...
svn:r3106
2004-12-07 09:11:38 +00:00
Roger Dingledine
d9f86e2782
and bust another memory leak
...
svn:r3105
2004-12-07 08:58:26 +00:00
Roger Dingledine
5d961c2c06
plug another memory leak
...
svn:r3104
2004-12-07 08:51:10 +00:00
Nick Mathewson
a6aa5eebd6
Fix some memory leaks and unlikely segfaults
...
svn:r3103
2004-12-07 07:48:16 +00:00
Roger Dingledine
8f01b643c3
ORPort must be defined if ORBindAddress is defined.
...
svn:r3100
2004-12-07 06:51:46 +00:00
Roger Dingledine
2ff38fdf83
when recommending new-format log lines, if the upper bound is LOG_ERR,
...
leave it implicit.
svn:r3097
2004-12-07 06:27:39 +00:00
Nick Mathewson
d19648b314
Renormalize whitespace
...
svn:r3095
2004-12-07 05:33:55 +00:00
Nick Mathewson
ac759adb43
Make unit tests work on win32
...
svn:r3094
2004-12-07 05:31:38 +00:00
Nick Mathewson
08e3090aff
More win32 fixes: 1) tolerate extra "readable" events better. 2) when being multithreaded, leave parent fdarray open.
...
svn:r3092
2004-12-06 23:19:55 +00:00
Roger Dingledine
f00631e6b9
answer resolved ip in network order
...
svn:r3087
2004-12-06 06:14:45 +00:00
Roger Dingledine
f10f24a61c
avoid using uninitialized variable
...
svn:r3086
2004-12-06 06:07:57 +00:00
Roger Dingledine
0859d09352
don't use cache for resolving .foo.exit names, but do reply immediately
...
if we're asked to resolve an IP.foo.exit.
svn:r3085
2004-12-06 06:06:13 +00:00
Roger Dingledine
577665f608
fix indenting
...
svn:r3084
2004-12-06 05:26:19 +00:00
Roger Dingledine
f21564eb29
send an end to the streams we close when we hibernate, rather
...
than just chopping them off
svn:r3083
2004-12-05 13:02:18 +00:00
Roger Dingledine
1c9c813866
check if we have a cached resolve for a tor-resolve address *after*
...
we remove the .foo.exit part of the address.
svn:r3082
2004-12-05 12:47:46 +00:00
Roger Dingledine
5ba3328172
fix a minor leak in my recent commit
...
svn:r3081
2004-12-05 12:35:00 +00:00
Roger Dingledine
469135e7e2
talk about quotas rather than bandwidths, in the logs
...
svn:r3080
2004-12-05 12:26:02 +00:00
Roger Dingledine
ef6c9d18e7
New circuit building strategy: keep a list of ports that we've used in the past 6 hours, and always try to have 2 circuits open or on the way
...
that will handle each such port. (We can extend this to include addresses
if exit policies shift to require that.) Seed us with port 80 so web
browsers won't complain that Tor is "slow to start up".
This was necessary because our old circuit building strategy just involved
counting circuits, and as time went by we would build up a big pile of
circuits that had peculiar exit policies (e.g. only exit to 9001-9100)
which would take up space in the circuit pile but never get used.
Fix router_compare_addr_to_addr_policy: it was not treating a port of *
as always matching, so we were picking reject *:* nodes as exit nodes too.
If you haven't used a clean circuit in an hour, throw it away, just to
be on the safe side.
This means after 6 hours a totally unused Tor client will have no
circuits open.
svn:r3078
2004-12-05 07:10:08 +00:00
Roger Dingledine
02b3229a04
plus add a comment re: the previous bug
...
svn:r3076
2004-12-04 10:18:41 +00:00
Roger Dingledine
52676364b9
bugfix: router_exit_policy_rejects_all() was broken, so we were
...
sometimes picking middleman nodes as our last hop, which wasn't
very useful.
svn:r3075
2004-12-04 08:56:59 +00:00
Roger Dingledine
2532e9405e
Now we allow writing to the buffer even when the stream if marked for
...
close, if we're planning to wait to flush it.
This is important because we were sending a socks reject back if we're
closing and hadn't already sent one, but it wasn't actually getting
written since the conn was already marked-for-close.
svn:r3074
2004-12-04 07:13:37 +00:00
Roger Dingledine
5a6e117caf
React to eof immediately on non-open edge connections.
...
Stop keeping track of num_retries for apconns, since they expire
after 60 seconds anyway.
When warning about retrying or giving up, print the address, so
the user knows which one it's talking about.
svn:r3073
2004-12-04 03:26:35 +00:00
Roger Dingledine
c644886c38
bugfix: When we were checking to see if an ap_conn should time out
...
waiting for its connected cell, we were calculating time from when the
ap_conn was created. So if it waited say 20 seconds before being attached,
then we would immediately decide that the circuit had timed out.
Also, make circuit_dump_by_conn() display actual circuit progress,
including circuits that haven't been attached to the conn yet but
hope to when it finishes connecting.
svn:r3072
2004-12-04 02:51:11 +00:00
Roger Dingledine
675f60aa13
whoops
...
just because it says snprintf doesn't mean it's a noop
svn:r3071
2004-12-04 01:23:04 +00:00
Nick Mathewson
fc87758ff3
Add function to check that addr_policy_t is okay; change struct addr_policy_t to addr_policy_t.
...
svn:r3070
2004-12-04 01:14:36 +00:00
Roger Dingledine
8d69dc472b
make circuit building and router parsing less noisy
...
svn:r3068
2004-12-04 00:25:54 +00:00
Roger Dingledine
f79a7d8d62
while hibernating, hup should not regrow our listeners.
...
svn:r3067
2004-12-03 23:53:35 +00:00
Roger Dingledine
db5e100cde
clean up 3 more underflow possibilities
...
svn:r3063
2004-12-02 04:31:52 +00:00
Roger Dingledine
0799804c60
fix redundant (and dangerous) NUL termination
...
svn:r3062
2004-12-02 04:16:18 +00:00
Nick Mathewson
e3f6f92cf7
check for duplicate circuit ID _after_ updating circ_id_type.
...
svn:r3058
2004-12-01 04:55:03 +00:00
Roger Dingledine
82f3ebf195
move StatusFetchPeriod to 15 minutes so it's within bounds by default
...
svn:r3055
2004-12-01 04:27:11 +00:00
Roger Dingledine
ef04cfcbad
one more typo
...
svn:r3054
2004-12-01 04:13:15 +00:00
Nick Mathewson
b457cfb5eb
Spell-check strings and comments
...
svn:r3052
2004-12-01 03:48:14 +00:00
Nick Mathewson
6e88abf418
If we are using select, make sure we stay within FD_SETSIZE.
...
svn:r3051
2004-12-01 03:15:59 +00:00
Roger Dingledine
bde1d5bfb2
do even less inside our signal handler,
...
just to be extra paranoidly safe
svn:r3050
2004-12-01 02:54:13 +00:00
Nick Mathewson
a889926e1c
Clarify chosen tag progression
...
svn:r3047
2004-11-30 16:07:20 +00:00
Roger Dingledine
3929f58018
clean obsolete circuit_log_path code
...
svn:r3046
2004-11-30 10:47:48 +00:00
Roger Dingledine
eb558d0a84
clean up the other "Tell Roger" log that dfc keeps getting
...
svn:r3042
2004-11-30 09:02:25 +00:00
Roger Dingledine
19ada3f7fa
write down our "how to have two defaults for dirfetchperiod"
...
issue, so we don't forget about it.
svn:r3040
2004-11-30 08:44:19 +00:00
Roger Dingledine
1d4af1930c
Let resolve conns retry/expire also, rather than sticking around forever.
...
Put the check-if-requested-exitrouter-will-reject-us code in the
circuit_attach loop, so it gets checked periodically and not just
once at the beginning. This is useful in case the routerlist changes,
but also in case the address gets resolved into something that we learn
we'll reject.
svn:r3039
2004-11-30 08:39:14 +00:00
Roger Dingledine
d383c23e73
refuse .exit addresses immediately if the requested node would
...
refuse the request (e.g. due to exit policy or wrong version)
svn:r3038
2004-11-30 08:15:09 +00:00
Nick Mathewson
bec7a1c6e8
use shorter minimum key lifetime until 008 is dead
...
svn:r3035
2004-11-30 06:44:07 +00:00
Nick Mathewson
f19e9b8577
doxygen uses backslashes, not forward-slashes
...
svn:r3033
2004-11-30 06:17:35 +00:00
Nick Mathewson
a5d3325c5c
Fix last patch
...
svn:r3031
2004-11-30 06:12:21 +00:00
Nick Mathewson
c8abe1907d
Rename parse_address to parse_extended_hostname (since we have other kinds of addresses); make its output an enum; support HEXDIGEST.exit hostnames.
...
svn:r3029
2004-11-30 03:44:10 +00:00
Nick Mathewson
ebab451eed
Make version parsing tests pass
...
svn:r3028
2004-11-30 03:41:06 +00:00
Nick Mathewson
ee7bef1458
Enforce coding style.
...
svn:r3025
2004-11-30 02:26:41 +00:00
Nick Mathewson
e764d00e15
If anybody set DirFetchPostPeriod, give them StatuFetchPeriod instead. Impose minima and maxima for all *Period options; impose even tighter maxima for fetching if we are a caching dirserver. Clip rather than rejecting. arma: are these good?
...
svn:r3024
2004-11-30 02:23:51 +00:00
Nick Mathewson
ce505f5033
note possible alternative for how to do CVS versions; ask arma which he likes.
...
svn:r3023
2004-11-29 23:06:51 +00:00
Nick Mathewson
6507be4290
Implement new version format for post 0.1.
...
svn:r3022
2004-11-29 23:04:26 +00:00
Nick Mathewson
7fbd297532
Suggestion from weasel: Make tor --version --version dump the cvs Id of every file.
...
svn:r3019
2004-11-29 22:25:31 +00:00
Nick Mathewson
aff5122685
Fetch cached running-routers from servers that serve it (that is, authdirservers, and servers running 0.0.9rc5-cvs or later.)
...
svn:r3018
2004-11-29 21:01:34 +00:00
Roger Dingledine
c1dc17e6e2
put in initial support for ".nickname.exit" addresses, to let alice
...
decide what exit node to use; based on a patch by geoff goodell.
needs more work: e.g. it goes bananas building new circuits when the
chosen exit node's exit policy rejects the connection.
svn:r3015
2004-11-29 08:34:54 +00:00
Nick Mathewson
9ba7311c1c
After implementing a feature, remember to disable the error message you used to get when requesting it.
...
svn:r3013
2004-11-29 07:59:00 +00:00
Roger Dingledine
7fc30fc1e6
accept *:706 (silc) by default
...
svn:r3006
2004-11-28 15:49:12 +00:00
Roger Dingledine
22727b4edc
wrong is ok, and right is fine, but in between is apparently
...
totally unacceptable to me.
svn:r3005
2004-11-28 11:39:53 +00:00
Nick Mathewson
f7c6ad065e
correct multiple internal spaces
...
svn:r3004
2004-11-28 09:14:07 +00:00
Nick Mathewson
6f5dbefa7e
Normalize space: add one between every control keyword and control clause.
...
svn:r3003
2004-11-28 09:05:49 +00:00
Roger Dingledine
dad760ddd1
one of the debugging aids was misleading
...
svn:r3000
2004-11-28 06:33:14 +00:00
Nick Mathewson
f77ff938b7
remember; tor_socket_errno has side effects!
...
svn:r2997
2004-11-28 05:48:02 +00:00
Roger Dingledine
e5e45fe980
inform him more sanely
...
svn:r2993
2004-11-26 04:19:03 +00:00
Roger Dingledine
a7f92d7ffe
inform the user that you noticed when he sent a USR2
...
svn:r2992
2004-11-26 04:17:57 +00:00
Roger Dingledine
f9a0ab62b7
if you want to handle -USR2, you should catch it too.
...
svn:r2990
2004-11-26 04:03:19 +00:00
Roger Dingledine
7c9a707900
remove emacs droppings, since nick says he doesn't need them anymore
...
svn:r2989
2004-11-26 04:00:55 +00:00
Roger Dingledine
02a30a348a
give up trying to track down the reason we're calling package_inbuf
...
with a package window of 0. it's safe to just catch the error cases
there and do the right thing.
svn:r2988
2004-11-26 03:43:54 +00:00
Roger Dingledine
179ad27b34
call set_max_file_descriptors() after we configure logs, so
...
it doesn't always do loglevel info logs on windows.
svn:r2987
2004-11-26 03:05:55 +00:00
Roger Dingledine
e24057b2bf
when warning that a version is too new, don't use the confusing
...
text "is_obsolete_version():".
svn:r2986
2004-11-25 05:49:13 +00:00
Nick Mathewson
f91152ce6a
Clarify a bunch of log messages
...
svn:r2983
2004-11-25 04:20:10 +00:00
Roger Dingledine
914d346095
update conn_state_to_string
...
svn:r2979
2004-11-24 07:58:15 +00:00
Roger Dingledine
83e7043eb8
don't process marked-for-close conns further.
...
(fix assert trigger -- if we're lucky.)
svn:r2975
2004-11-24 06:41:58 +00:00
Roger Dingledine
7d55f3685e
make tor-resolve work, uh, more. this time for sure!
...
svn:r2974
2004-11-24 06:16:36 +00:00
Roger Dingledine
cca469ec58
make tor-resolve work again
...
svn:r2973
2004-11-24 06:01:52 +00:00
Roger Dingledine
0eebfe3558
bugfix: let socks do multiple rounds of negotiation again
...
(which is needed for socks5)
svn:r2970
2004-11-24 04:35:28 +00:00
Roger Dingledine
090c84627c
patch to nick's patch
...
svn:r2969
2004-11-24 03:58:45 +00:00
Nick Mathewson
74f74a06c6
make nt service version match actual version
...
svn:r2968
2004-11-24 00:55:39 +00:00
Nick Mathewson
1bec1b3d37
Better notice for hibernate interval spans; when estimate is 0, start out awake.
...
svn:r2963
2004-11-23 22:34:23 +00:00
Nick Mathewson
5fa55c8317
Bugfix: when no units are given, default to seconds or bytes.
...
svn:r2960
2004-11-23 10:52:27 +00:00
Roger Dingledine
a284b0db8f
another slightly less confusing message
...
nick: we need to figure out if we should say anything different
here when the wake-up time and the expected back-to-sleep time
have both passed.
svn:r2956
2004-11-23 10:05:56 +00:00
Roger Dingledine
b6cb547667
less confusing message upon hibernation
...
svn:r2955
2004-11-23 09:21:03 +00:00
Roger Dingledine
921c40abe7
fail more gracefully next time
...
svn:r2954
2004-11-23 09:01:37 +00:00
Roger Dingledine
57a392d8d8
initialize rephist before we init_from_config, since init_from_config
...
can make us init_keys if we're going to hibernate, which makes us build
a router_desc.
svn:r2953
2004-11-23 09:00:55 +00:00
Roger Dingledine
d7fb38cfe3
update unit tests to reflect changed interface
...
svn:r2952
2004-11-23 08:36:26 +00:00
Roger Dingledine
7ed738b34c
fix some typos; move to 0.0.9rc1
...
svn:r2951
2004-11-23 07:37:25 +00:00
Nick Mathewson
f5319a010d
Dr. Seuss on iterating circular lists: "It's fun to have fun, but you
...
have to know how."
svn:r2948
2004-11-23 06:08:08 +00:00
Nick Mathewson
0a58bbe0dd
Fix critical bug in circuit_list_path: cpath is a circular list! (Also reimplement circuit_log_cpath using circuit_list_cpath).
...
svn:r2946
2004-11-23 00:11:36 +00:00
Nick Mathewson
cd70264377
Clean up some logging and interfaces
...
svn:r2945
2004-11-23 00:08:26 +00:00
Nick Mathewson
22dba27d8d
Normalize a few more kinds of whitespace. We now dislike:
...
- func (args)
- if (x){
This doesn't normalize if(x), for(x); while(x), and friends.
svn:r2943
2004-11-22 23:28:26 +00:00
Nick Mathewson
fe32c2d141
Fix sign-related warnings
...
svn:r2942
2004-11-22 22:50:17 +00:00
Nick Mathewson
d4754b334c
Compile cleanly on windows; prevent some insane bandwidth cases (e.g., "BandwidthBurst 1000 TB" from occuring.
...
svn:r2941
2004-11-22 22:24:10 +00:00
Nick Mathewson
983a335f3b
Normalize space
...
svn:r2939
2004-11-22 22:13:34 +00:00
Nick Mathewson
f17c08beed
Apply NT service patch from Osamu Fujino. This still has some problems (indicated in a comment adapted from the patch submission email), but it is better than before and better than nothing.
...
svn:r2938
2004-11-22 22:10:37 +00:00
Nick Mathewson
956b463dfe
Implement weekly/monthly/daily accounting
...
svn:r2936
2004-11-22 21:56:51 +00:00
Nick Mathewson
805c9e3673
Absolutely never call close_temp_logs while validating log options.
...
svn:r2934
2004-11-22 20:08:07 +00:00
Roger Dingledine
4f2c2c9948
The crowning bugfix.
...
The problem was that with high load, circuit package window was
reaching 0. Whenever we got a circuit-level sendme, we were
reading a lot on each socket, but only writing out a bit. So we
would eventually reach eof. This would be noticed and acted on
even when there are still bytes sitting in the inbuf.
svn:r2932
2004-11-21 11:30:33 +00:00
Roger Dingledine
27b8797245
clean up some more.
...
i think i'm getting closer.
svn:r2931
2004-11-21 11:20:28 +00:00
Roger Dingledine
310a8da0d2
break reached_eof() out of process_inbuf()
...
svn:r2930
2004-11-21 10:14:57 +00:00
Roger Dingledine
671d84dc2f
some more debugging aids
...
svn:r2929
2004-11-21 09:39:01 +00:00
Roger Dingledine
6a516dfdd3
be more greedy about filling up all relay cells.
...
this may have some bugs in it still.
and it may end up not being what we want to do.
svn:r2928
2004-11-21 07:43:12 +00:00
Nick Mathewson
bb18d4238f
Dont keep rephist info for routers that havent had activity for 24 hours.
...
svn:r2926
2004-11-21 05:14:46 +00:00
Nick Mathewson
bdb61f2a04
fix typo
...
svn:r2925
2004-11-21 05:06:22 +00:00
Nick Mathewson
36f4e15e81
Call init_keys() where needed; fix hibernate bug.
...
svn:r2924
2004-11-21 04:19:04 +00:00
Roger Dingledine
a4b1eb5630
allow StrictEntryNode and StrictExitNode to be singular
...
svn:r2922
2004-11-20 23:16:03 +00:00
Roger Dingledine
73da4bad46
stop some more seg faults
...
svn:r2921
2004-11-20 12:55:41 +00:00
Roger Dingledine
63353462f8
if your requested exit node has bandwidth 0, pick it anyway
...
svn:r2920
2004-11-20 12:41:05 +00:00
Roger Dingledine
6322287dc1
printfs want carriage returns
...
svn:r2917
2004-11-20 08:00:57 +00:00
Roger Dingledine
dd19cf6ba3
kill -USR2 now moves all logs to loglevel debug
...
plus fix some typos
svn:r2914
2004-11-20 07:33:55 +00:00
Nick Mathewson
8acaf8e187
Add "MEMUNIT" and "INTERVAL" types to configuration. Also tweak Accounting setup. More docs needed
...
svn:r2911
2004-11-20 00:37:00 +00:00
Roger Dingledine
2e4763655d
bugfix: when our poll is interrupted, we believed the revents values.
...
svn:r2907
2004-11-17 20:26:39 +00:00
Nick Mathewson
647c076c8f
add a TODO item and some comment changes.
...
svn:r2904
2004-11-16 03:32:01 +00:00
Roger Dingledine
abdf073f14
minor fixes
...
svn:r2901
2004-11-16 03:12:53 +00:00
Nick Mathewson
7a8ac5dfef
Tweak on patch to make authoritative directory servers cache
...
directories on disk. Make authdirservers cache *their own*
directories instead of the ones they download. This gives better
liveness, and marginally better resistance to broken authdirservers.
Authdirservers don't cache running-routers at all: r-r isn't stored to
disk, so there's no point right now.
svn:r2893
2004-11-15 16:17:59 +00:00
Roger Dingledine
dbd4dadff7
Authoritative dirservers now also cache the directory, since
...
they weren't writing anything into their datadirectory, so
when they stop and start, they would know nothing until they
fetched a directory from another authdirserver.
svn:r2891
2004-11-15 09:38:17 +00:00
Roger Dingledine
50c15943a2
move second stat to a cleaner place
...
svn:r2890
2004-11-15 09:22:01 +00:00
Roger Dingledine
4b76fe8036
Break DirFetchPostPeriod into:
...
- DirFetchPeriod for fetching full directory,
- StatusFetchPeriod for fetching running-routers,
- DirPostPeriod for posting server descriptor,
- RendPostPeriod for posting hidden service descriptors.
Also make sure the hidden service descriptors are at a random
offset from each other, to hinder linkability.
svn:r2889
2004-11-15 09:05:54 +00:00
Roger Dingledine
67aa3b66c5
clean up socks handling, refuse connections to port 0
...
svn:r2888
2004-11-15 07:50:15 +00:00
Roger Dingledine
72dd656b88
a first cut at a print_usage()
...
svn:r2887
2004-11-15 07:29:27 +00:00
Nick Mathewson
c909a8a64b
Only record bandwidth usage when accounting is enabled
...
svn:r2886
2004-11-15 04:48:53 +00:00
Nick Mathewson
930464c889
Change "warn if unverified routers are very skewed" to "never warn about unverified router skew"
...
svn:r2885
2004-11-15 04:28:24 +00:00
Nick Mathewson
22a0d82749
Cache running-routers; compress running-routers; serve compressed running-routers.z
...
svn:r2883
2004-11-15 04:04:20 +00:00
Nick Mathewson
076f120951
Patch to patch: do not send both error and done for one command.
...
svn:r2882
2004-11-15 04:02:59 +00:00
Roger Dingledine
ee591be3f2
fix a bug in configuring accounting in options_act()
...
svn:r2881
2004-11-15 04:01:31 +00:00
Roger Dingledine
47993ae6fb
some fixes so far
...
svn:r2880
2004-11-15 03:53:03 +00:00
Nick Mathewson
5109159ff9
Fix compilation. Duh.
...
svn:r2876
2004-11-14 22:53:51 +00:00
Nick Mathewson
3e6edf20cc
Resolve some hibernating-related XXXX009s.
...
svn:r2875
2004-11-14 22:21:23 +00:00
Nick Mathewson
402c75fb06
Allow more clock skew from unrecognized hosts than from recognized ones.
...
svn:r2874
2004-11-14 22:08:25 +00:00
Nick Mathewson
57536f138a
Fetch running-routers.
...
Split logic to initiate dirfetch, running-routers fetch, and
descriptor post. arma: There are some XXXs here that raise design
questions which we should solve before the next release.
The biggest problem is this: Right now, the directory is about 50X as
large as running-routers uncompressed, and about 36X as large
compressed. Assuming:
- everybody gets the compressed version of everything,
- everybody gets cached directories from random dirservers and
uncached r-r from authdirservers
- everybody downloads r-r at the same rate they now download dirs,
then using r-r from will *increase* authdirserver directory bandwidth usage
if there are significantly more caches than authdirservers.
I think it's safe to leave this in for now, since there aren't 3x36 caching
dirservers, but we should make everybody with a dirport cache running-routers
soon. But I could be wrong.
svn:r2872
2004-11-14 21:46:40 +00:00
Nick Mathewson
2078b136f6
Make running-routers fetch (apparently) work
...
svn:r2871
2004-11-14 21:35:30 +00:00
Nick Mathewson
bb80d60fe7
Hibernate if we start tor during the "wait for wakeup-time" phase of an accounting interval. Log our hibernation plans better.
...
svn:r2869
2004-11-14 21:11:06 +00:00
Nick Mathewson
a732727a2b
Add simpler option_is_same, as suggested by arma. Finish implementing SAVECONF
...
svn:r2868
2004-11-14 20:51:28 +00:00
Nick Mathewson
26973578bf
Fix windows whitespace
...
svn:r2860
2004-11-14 18:21:17 +00:00
Nick Mathewson
aba71028be
Add an unreachable return 0.
...
svn:r2859
2004-11-14 18:20:12 +00:00
Nick Mathewson
4f835673be
Remove redundant declaration
...
svn:r2855
2004-11-14 17:22:10 +00:00
Roger Dingledine
846f71dcca
make kill -USR1 work again
...
svn:r2853
2004-11-14 13:35:47 +00:00
Roger Dingledine
5dcc6fd8b2
ok ok the stat wasn't redundant
...
but the warn was
svn:r2852
2004-11-14 13:35:39 +00:00
Roger Dingledine
4564367b2a
Remove redundant stat() for reading cached directory, and remove
...
confusing warn when the cached directory isn't there yet.
svn:r2847
2004-11-14 09:40:07 +00:00
Roger Dingledine
3f5c113815
clean a comment
...
svn:r2844
2004-11-14 04:55:02 +00:00
Nick Mathewson
ed4fa18699
normalize whitespace
...
svn:r2839
2004-11-13 23:34:01 +00:00
Nick Mathewson
aab929abe0
Use the data, *then* free it. It works so much better.
...
svn:r2837
2004-11-13 23:27:50 +00:00
Nick Mathewson
dc48e7aeed
Document remaining configuration options; add a ccheck for redundant authentication mechanisms in options_validate; add TODO items for post-009 hibernation features
...
svn:r2833
2004-11-13 17:17:04 +00:00
Nick Mathewson
08627d5d87
Track whether descriptor is dirty/uploaded. When any options are set, mark it dirty. Once a minute, regenerate and upload the server descriptor if it is dirty.
...
svn:r2832
2004-11-13 16:53:48 +00:00
Nick Mathewson
0b42e31fe0
Comment a confusing conditional
...
svn:r2828
2004-11-13 02:54:30 +00:00
Roger Dingledine
5864f4ac01
fix a seg fault when fetching rendezvous descs
...
svn:r2825
2004-11-12 21:59:27 +00:00
Nick Mathewson
a8f9ba91db
Nobody was using the return values from smartlist_(set|del|del_keeporder), so remove them.
...
svn:r2823
2004-11-12 21:14:06 +00:00
Nick Mathewson
eabcf6618e
Write most of the implementation for SAVECONF.
...
svn:r2820
2004-11-12 20:09:54 +00:00
Nick Mathewson
5109de5626
Rename exit_policy to addr_policy, since it gets used for SOCKS and directory connections too. Make all policies get validated in options_validate, and make SOCKS/directory policies get set in options_act.
...
svn:r2819
2004-11-12 19:39:13 +00:00
Nick Mathewson
60880cda84
Resolve a bunch of FIXME items; mark a lot more for attention; ask for clarification on some. Turn all XXXX008 ("showstopper for 0.0.8 release") items into XXXX009 or XXXX, since plainly they were not showstoppers for 0.0.8. Add/clean some docs.
...
svn:r2808
2004-11-12 16:39:03 +00:00
Nick Mathewson
2a5bcb29e6
Resolve FIXME: Possible solution to note_disconnect problem; needs thought and review.
...
svn:r2807
2004-11-12 05:52:19 +00:00
Nick Mathewson
5d92fbe30e
Use autoconf to enable largefile support where necessary. Use ftello where available, since ftell can fail at 2GB.
...
svn:r2806
2004-11-12 05:05:41 +00:00
Nick Mathewson
0faab62cd9
Resolve FIXMES: sometimes an error code is just an error code
...
svn:r2805
2004-11-12 05:03:50 +00:00
Roger Dingledine
90e0ad517e
dfc caught a SIGXFSZ error when his debugfile reached 2GB.
...
so if they exist, catch them and ignore them.
write() will fail normally and we'll look at errno like
normal human beings.
svn:r2804
2004-11-12 04:59:37 +00:00
Roger Dingledine
fde595feb7
when clients do --list-fingerprint, it's misleading to
...
give them one, because it will never be the same again
svn:r2800
2004-11-11 13:24:10 +00:00
Nick Mathewson
6252cba522
apply patch from Andre Eisenbach: include event code with events, as required by control-spec.txt
...
svn:r2799
2004-11-11 00:54:53 +00:00
Nick Mathewson
e69d9647ed
Remove XXXX009 comment telling us to do the last (circID-related) fix
...
svn:r2798
2004-11-10 20:19:45 +00:00
Nick Mathewson
954570486f
Resolve a FIXME: use identity comparison, not nickname comparison, to
...
choose circuit ID types. This is important because our view of "the
nickname of the router on the other side of this connection" is
skewed, and depends on whether we think the other rotuer is
verified--and there's no way to know whether another router thinks you
are verified.
For backward compatibility, we notice when the other router chooses
the same circuit ID type as us (because it's running an old version),
and switch our type to be polite.
svn:r2797
2004-11-10 20:14:37 +00:00
Nick Mathewson
ec49905fb8
When we think we have no bandwidth, guess that we will run for 1 day.
...
svn:r2795
2004-11-10 19:32:44 +00:00
Nick Mathewson
9c22b428bf
Clarify a warning about /.tor
...
svn:r2794
2004-11-10 14:29:18 +00:00
Nick Mathewson
a43db78e8d
Resolve FIXME items: make the kill-unattached-AP timeout symbolic
...
svn:r2793
2004-11-10 14:28:47 +00:00
Nick Mathewson
c9af37d1ba
Resolve FIXME items: make circuit_free_cpath_node static
...
svn:r2792
2004-11-10 14:28:04 +00:00
Nick Mathewson
fde4129ac3
Resolve FIXME items: clarify two XXXX comments for 009
...
svn:r2791
2004-11-10 14:27:26 +00:00
Nick Mathewson
aa1c0c4d67
Resolve FIXME items: fix assert failure on malformed socks4a qreuests. (bug reported by Anna Shubina wrt old Netscapes)
...
svn:r2790
2004-11-10 14:26:34 +00:00
Nick Mathewson
c1bf171ed8
Fix a few bugs in accounting: parse bw_accounting correctly; set end time of continued interval; record used bandwidth on state change.
...
svn:r2785
2004-11-10 04:19:53 +00:00
Roger Dingledine
646903542a
make nick's config patch build
...
svn:r2783
2004-11-10 03:48:38 +00:00
Nick Mathewson
1013abd27f
Validate log options during options_validate(). Reject unrecognized log types like "Log notice magic-twanger". Also, make sure User and Group stay the same, and do not crash when somebody tries to change PidFile to NULL.
...
svn:r2778
2004-11-10 03:40:30 +00:00
Roger Dingledine
af9683501c
make abbreviations case-insensitive (thanks weasel)
...
svn:r2773
2004-11-10 03:22:49 +00:00
Roger Dingledine
d9a74cd0af
make it more obvious that we have just told them their new torrc log line.
...
svn:r2772
2004-11-10 03:08:03 +00:00
Roger Dingledine
c03a3eaed0
weaken our anonymity warning a little bit more
...
svn:r2771
2004-11-10 02:58:27 +00:00
Nick Mathewson
4cdddcc13d
Remvove an XXX
...
svn:r2769
2004-11-10 02:02:06 +00:00
Roger Dingledine
ab951fc828
remove extraneous variable
...
svn:r2765
2004-11-10 00:19:18 +00:00
Roger Dingledine
7528e8b86a
don't check permissions on our datadirectory until we switch uid/gid
...
svn:r2759
2004-11-10 00:11:37 +00:00
Nick Mathewson
5a5be93f80
Normalize whitespace; add a "tell me about all the unnormalized whitespace" target; fix a braino in dirserv.c
...
svn:r2758
2004-11-09 20:04:00 +00:00
Nick Mathewson
7daab4034d
Fix windows build for VC6; centralize newline-fiasco-damage-control logic
...
svn:r2756
2004-11-09 19:13:08 +00:00
Nick Mathewson
cd753df7bf
Resolve many XXXs and all DOCDOCs
...
svn:r2755
2004-11-09 18:22:17 +00:00
Nick Mathewson
b960574556
Change interface to config_trial_assign even more; have it use get_options() instead
...
svn:r2754
2004-11-09 17:15:17 +00:00
Nick Mathewson
a2079c074f
Add some documentation to routerlist
...
svn:r2753
2004-11-09 17:14:15 +00:00
Nick Mathewson
548d4174ef
When listing router status, include ourself if we are awake
...
svn:r2752
2004-11-09 17:12:56 +00:00
Roger Dingledine
3ce3d6eead
resolve a 64-bit warning
...
svn:r2750
2004-11-09 11:36:38 +00:00
Roger Dingledine
ca070e7de6
bugfix: ^c ought to work even while hibernating
...
svn:r2748
2004-11-09 11:14:34 +00:00
Roger Dingledine
b773045a58
only non-authdirservers cache the dir they just fetched
...
svn:r2747
2004-11-09 10:38:42 +00:00
Roger Dingledine
3235c72f6c
control event logs include loglevel notice
...
svn:r2746
2004-11-09 10:32:02 +00:00
Roger Dingledine
a972589bdb
allow BandwidthRate and Burst to be abbrevs in the torrc too
...
svn:r2744
2004-11-09 10:30:06 +00:00
Roger Dingledine
8d8d6b5661
raise your hand if you can spell
...
svn:r2743
2004-11-09 10:21:19 +00:00
Roger Dingledine
233f516d61
if you're going to ask it to use a body of length 0,
...
don't give it a body.
svn:r2742
2004-11-09 10:18:41 +00:00
Roger Dingledine
dd3a12c929
fix a memory-squashing bug that was causing an infinite loop
...
svn:r2741
2004-11-09 10:08:42 +00:00
Roger Dingledine
6a504efdd3
mark_logs_temp() before init'ing new ones.
...
we were seeing double, triple, etc each time we setconf'ed.
svn:r2738
2004-11-09 08:01:39 +00:00
Roger Dingledine
3901473bf3
change the interface to config_trial_assign()
...
svn:r2737
2004-11-09 07:55:48 +00:00
Roger Dingledine
2d18d9eefb
when you try a new set of options, and you like them, make sure they stick
...
svn:r2736
2004-11-09 07:45:24 +00:00
Roger Dingledine
9f3e3d2b71
stop wanting to split init_keys()
...
svn:r2735
2004-11-09 07:29:05 +00:00
Roger Dingledine
cad26b343d
once normalized, DataDirectory is always defined
...
svn:r2734
2004-11-09 07:20:21 +00:00
Nick Mathewson
180e0a9326
Make check_private_dir trimodal (check/create/ignore), not bimodal (create/ignore).
...
svn:r2733
2004-11-09 07:12:31 +00:00
Roger Dingledine
6521c2ce51
Stop using the wrong DataDirectory when we're validating.
...
Also validate/normalize the DataDirectory better.
svn:r2732
2004-11-09 07:05:53 +00:00
Nick Mathewson
48a0b6c476
Separate is-recognized-option from get-option-value, since NULL is ambiguous and returning "" misrepresents.
...
svn:r2731
2004-11-09 06:40:32 +00:00
Roger Dingledine
005b02fd57
when rejecting an old-style router descriptor, tell us its nickname
...
svn:r2730
2004-11-09 06:37:58 +00:00
Roger Dingledine
677124fd0c
During options_dup, don't copy LINELIST_S or OBSOLETE options.
...
And recognize obsolete options now in config_get_assigned_option().
svn:r2729
2004-11-09 06:18:17 +00:00
Roger Dingledine
94b9525f6e
EntryNodess is not the plural of EntryNodes
...
svn:r2728
2004-11-09 06:09:06 +00:00
Roger Dingledine
3c6b6a53a9
and another
...
svn:r2727
2004-11-09 06:03:20 +00:00
Roger Dingledine
5c2278aea8
fix some dereferences
...
svn:r2726
2004-11-09 05:59:22 +00:00
Roger Dingledine
ef6bdd6c1e
make datadirectory work again
...
svn:r2724
2004-11-09 05:35:49 +00:00
Nick Mathewson
2677395aaf
Normalize DataDirectory in options_validate, making SIGHUP survivable.
...
svn:r2722
2004-11-09 05:26:49 +00:00
Nick Mathewson
a5903b737a
Document accounting
...
svn:r2721
2004-11-09 05:18:15 +00:00
Nick Mathewson
929b172955
Stop DataDirectory from changing; also stop using new as an identifier?
...
svn:r2717
2004-11-09 04:46:24 +00:00
Roger Dingledine
90b47172bd
Make an options_act() where we do all the things a new options set
...
needs.
Still needs more work.
svn:r2716
2004-11-09 04:28:18 +00:00
Roger Dingledine
3805221262
stop breaking the get_options() abstraction in config.c
...
svn:r2715
2004-11-09 02:12:55 +00:00
Roger Dingledine
e3a067c73a
fix comments in hibernate.c
...
svn:r2714
2004-11-09 02:12:41 +00:00
Roger Dingledine
8c7b2ff7ed
various fixes
...
svn:r2712
2004-11-09 01:24:10 +00:00
Nick Mathewson
cb5de85585
Separate validate from activate. Document undocumented stuff in config.c.
...
svn:r2711
2004-11-08 23:12:40 +00:00
Roger Dingledine
8b9d7da59f
while we hibernate, our declared bandwidth capacity is 0
...
svn:r2710
2004-11-07 23:19:12 +00:00
Nick Mathewson
2640be28fa
Document hibernate.c. Also fix handling of corner case where we hit the end of the interval while we are in HIBERNATE_STATE_LOWBANDWIDTH
...
svn:r2709
2004-11-07 23:14:47 +00:00
Nick Mathewson
fc9c6e7c95
Fix compile errors
...
svn:r2708
2004-11-07 23:11:29 +00:00
Nick Mathewson
f9c85c4d1c
Make set-option functions distinguish between bad keys and bad values, in case the caller cares
...
svn:r2707
2004-11-07 22:59:30 +00:00
Nick Mathewson
c514a06663
Fix up error codes
...
svn:r2706
2004-11-07 22:58:35 +00:00
Nick Mathewson
0059ee5fea
More tests for split
...
svn:r2705
2004-11-07 22:58:16 +00:00
Roger Dingledine
dac5d6715e
add saveconf control command.
...
allow authentication by localhost, but if tor demands more, require more.
svn:r2704
2004-11-07 22:37:59 +00:00
Nick Mathewson
66779137bf
Add missing dereference; stop throwing zeroes around.
...
svn:r2702
2004-11-07 22:18:00 +00:00
Nick Mathewson
2cacb4e0f9
Document control.c
...
svn:r2700
2004-11-07 21:37:50 +00:00
Roger Dingledine
3236ee3127
allow unauth control connections for now
...
let control connections recognize eof
svn:r2699
2004-11-07 11:33:04 +00:00
Roger Dingledine
394554cfbf
Clean up copyrights.
...
Break connection_consider_empty_buckets() out of
connection_read_bucket_decrement().
svn:r2698
2004-11-07 01:33:06 +00:00
Roger Dingledine
efad93feb4
tor --list-fingerprint as a client shouldn't try to print null
...
svn:r2697
2004-11-06 09:22:08 +00:00
Roger Dingledine
53a2b22742
fix the next subtle memory-crunching bug
...
now hup works
svn:r2696
2004-11-06 08:55:22 +00:00
Roger Dingledine
e2e6d19e76
fix subtle bug that was causing logs to not show anything
...
svn:r2695
2004-11-06 07:40:20 +00:00
Roger Dingledine
28a297ebe7
only play the accounting game if it's possible you'll choose to hibernate
...
svn:r2694
2004-11-06 06:56:28 +00:00
Roger Dingledine
6c61ed4fb5
Make options no longer a global variable.
...
Now we can try setting an option but back out if it fails to parse, or
if it's disallowed (e.g. changing RunAsDaemon from 1 to 0).
Use parse_line_from_str rather than parse_line_from_file.
svn:r2692
2004-11-06 05:18:11 +00:00
Nick Mathewson
f490e5cdb6
Update log documentation
...
svn:r2691
2004-11-05 21:22:38 +00:00
Nick Mathewson
7c0792d89a
Write hibernation code. Needs docs and tests.
...
svn:r2689
2004-11-05 17:55:34 +00:00
Nick Mathewson
2e8353e2f4
Use new log format; convert old format to new format.
...
svn:r2684
2004-11-05 05:50:35 +00:00
Roger Dingledine
2ba3a9de16
make the default default options.FirewallPorts be the default
...
svn:r2683
2004-11-04 23:39:57 +00:00
Nick Mathewson
19868fe968
Move accounting code into hibernate; start adding logic to track bandwidth-per-seconds-active
...
svn:r2680
2004-11-04 22:33:06 +00:00
Nick Mathewson
1b49198081
Support code for resettable options, and option sets. Still needs validate-and-then-replace logic
...
svn:r2679
2004-11-04 22:31:50 +00:00
Nick Mathewson
d9e0f3f9bc
Make sure control command bodies are always followed by a NUL
...
svn:r2678
2004-11-04 22:30:49 +00:00
Nick Mathewson
9d604ec615
Add code to read configuration lines from a string as well as a file
...
svn:r2676
2004-11-04 22:29:45 +00:00
Roger Dingledine
f7a30fa73e
break out validate_options
...
leave options.FirewallPorts NULL if it's NULL
svn:r2673
2004-11-04 10:23:30 +00:00
Roger Dingledine
cadbae6aa5
make free_options() and init_options() use the big array.
...
also remove obsolete config_assign_defaults().
svn:r2672
2004-11-04 08:26:34 +00:00
Roger Dingledine
59453ac6ef
add a ControlPort and control listener conn.
...
note that print_usage is obsolete.
svn:r2671
2004-11-04 06:41:49 +00:00
Nick Mathewson
b74b72a5ce
Fix windows build
...
svn:r2670
2004-11-04 04:01:19 +00:00
Roger Dingledine
d0c158c8d6
clarify the bandwidthburst and bandwidthrate are in bytes
...
(niels had thought they were in bits, or kb, or something)
svn:r2669
2004-11-04 03:25:43 +00:00
Roger Dingledine
a4753283dd
better interface for connection_ap_handshake_socks_reply()
...
make --list-fingerprint print the fingerprint again
svn:r2668
2004-11-03 23:13:28 +00:00
Nick Mathewson
5b312541d7
fix windows warnings
...
svn:r2667
2004-11-03 21:53:54 +00:00
Nick Mathewson
cea9125d71
Implement two flavors of authentication for control connections: one for trusted FS, one for untrusted FS.
...
svn:r2664
2004-11-03 19:49:03 +00:00
Nick Mathewson
451f8b5045
- Implement all of control interface except authentication, setconfig,
...
and actually making the sockets.
- Make sure that identity-based nicknames start with $.
- Use new string_join interface.
svn:r2661
2004-11-03 18:33:07 +00:00
Nick Mathewson
86ba00290b
Add function to generate/copy the config_lines, given the name of an option
...
svn:r2660
2004-11-03 18:29:29 +00:00
Nick Mathewson
4fdaa5de51
Streamline the two redundant "Has the second rolled over?" checks in prepare_for_poll and connection_bucket_refill; also, generate BANDWIDTH control events
...
svn:r2657
2004-11-03 16:38:04 +00:00
Roger Dingledine
12e92eb82f
connection_read_bucket_decrement() has a side-effect that
...
we need to get even if we just read 0 bytes
svn:r2656
2004-11-03 10:18:31 +00:00
Roger Dingledine
e541319dcb
lay the groundwork for a default value for each config option.
...
tolerate null exitnodes, entrynodes, etc config options.
svn:r2655
2004-11-03 10:08:44 +00:00
Nick Mathewson
347d3f9d62
Start implementing control interface.
...
svn:r2652
2004-11-03 01:32:26 +00:00
Nick Mathewson
d63d420930
Fix another typo
...
svn:r2651
2004-11-03 01:31:42 +00:00
Nick Mathewson
8db0abb687
First attempt at hibernation code. It needs more work around the XXXXs, but first I want arma to review the basic approach while I meditate on how to fix them.
...
svn:r2649
2004-11-02 23:47:32 +00:00
Nick Mathewson
ad4dc74482
Use a stricter set of warnings; make them all pass.
...
svn:r2645
2004-11-02 03:02:17 +00:00
Roger Dingledine
85c79ffbc7
canonicalize "src" and "dest" arg order in crypto.c (and others)
...
svn:r2644
2004-11-02 02:28:51 +00:00
Roger Dingledine
b390786582
Hidden service operators had a bug in version 1 style INTRODUCE cells
...
that made them fail. Fix the bug, and revert clients to use version 0
until 0.0.9pre4 is obsolete.
svn:r2641
2004-11-01 21:46:27 +00:00
Nick Mathewson
ce79bab7f1
Split util into util (general utilities), container (smartlist and strmap), and compat (cross-platform compatability).
...
svn:r2640
2004-11-01 20:41:47 +00:00
Roger Dingledine
4689243242
make sure options.MaxConn can be reached
...
svn:r2638
2004-11-01 08:24:34 +00:00
Roger Dingledine
282816b498
change min required number of fd's to 1024
...
svn:r2636
2004-11-01 08:09:59 +00:00
Roger Dingledine
790349c645
oh, and add the actual file too
...
svn:r2631
2004-10-31 20:29:25 +00:00
Roger Dingledine
984ffec105
implement first piece of hibernation
...
still need to track bandwidth, and make decisions based on bandwidth
svn:r2630
2004-10-31 20:28:41 +00:00
Nick Mathewson
ae7495dd55
Only tor and test binaries need to link against openssl and zlib; tor-resolve can be smaller.
...
svn:r2629
2004-10-30 19:27:06 +00:00
Nick Mathewson
9510d9a792
tor --list-fingerprint to print fingerprint and exit
...
svn:r2627
2004-10-30 19:18:37 +00:00
Roger Dingledine
51e16233cb
Fix paul gardner's assert bug. Turns out when circuit_launch_by_nickname()
...
failed at the first hop, it would try to relaunch another circ right
then, even though the first circuit hadn't been populated yet with its
pending_final_cpath.
svn:r2624
2004-10-30 05:04:52 +00:00
Nick Mathewson
11d330be5e
Tweaks to prevent obsolete restarting tors from hammering the dirservers. (1) Cache a received directory as soon as the signature checks out. (2) Treat a cached directory as "recent" based on its mtime. (3) If we have a recent directory, we dont need to fetch a newer one for DirFetchPostPeriod. This needs review!
...
svn:r2618
2004-10-28 18:37:52 +00:00
Nick Mathewson
36bbab2f2b
Fix in warning fix
...
svn:r2617
2004-10-27 21:54:44 +00:00
Nick Mathewson
f8771625c6
Check return of tor_snprintf
...
svn:r2616
2004-10-27 21:30:47 +00:00
Nick Mathewson
2fbf31533b
Tricksy compiler warnings! We hates them, hates them forever, my precious!
...
svn:r2615
2004-10-27 21:14:11 +00:00
Nick Mathewson
ce5709184b
Pass with -Wstrict-prototypes
...
svn:r2614
2004-10-27 18:16:37 +00:00
Nick Mathewson
6874c39904
Fix windows build
...
svn:r2613
2004-10-27 18:14:38 +00:00
Nick Mathewson
c5eb95b644
Add ability for some-but-not-all abbrevs to work in config file. Add a bunch of singular/plural abbrevs suggested by arma
...
svn:r2612
2004-10-27 17:37:01 +00:00
Roger Dingledine
75ad4615d1
stop freeing arbitrary memory
...
fix a couple of memory leaks
svn:r2611
2004-10-27 12:34:02 +00:00
Nick Mathewson
6980929e64
Use strlcpy, not strcpy.
...
svn:r2610
2004-10-27 06:48:16 +00:00
Nick Mathewson
44d4516155
Use tor_snprintf, not snprintf
...
svn:r2609
2004-10-27 06:37:34 +00:00
Nick Mathewson
06fa8fc05f
Avoid strcat; use snprintf or strlcat instead
...
svn:r2605
2004-10-27 06:25:29 +00:00
Nick Mathewson
f67f83b1fa
Use strlcpy, not strncpy
...
svn:r2603
2004-10-27 06:03:28 +00:00
Nick Mathewson
bc62f8e983
Replace sprintf with snprintf
...
svn:r2602
2004-10-27 05:53:07 +00:00
Nick Mathewson
5369ee921e
Make it compile on Linux
...
svn:r2600
2004-10-27 03:42:09 +00:00
Nick Mathewson
482c309db9
Document new config code
...
svn:r2596
2004-10-27 03:08:04 +00:00
Nick Mathewson
a24eb4db91
Re-write configuration option lookup code: use a table, not a big if( || || || ||). Deprecate unoffical abbrevs and abbrevs not on the command line.
...
svn:r2594
2004-10-27 02:30:28 +00:00
Nick Mathewson
b90b2bb848
Add and document router-status line using new unified liveness/verifiedness format; continue to generate running-routers; continue to parse running-routers when no router-status line is found
...
svn:r2592
2004-10-27 00:48:51 +00:00
Nick Mathewson
26f3cb8652
Add SysLog option to direct log messages to the system log instead of a FILE*.
...
svn:r2591
2004-10-26 21:48:41 +00:00
Roger Dingledine
0113a643a2
quick-and-dirty dir policy since the dirservers are getting hammered
...
nick, could you abstract this sometime so we don't repeat the
sockspolicy code twice?
svn:r2589
2004-10-25 06:16:26 +00:00
Roger Dingledine
20cdc0a517
fix a memory leak
...
svn:r2587
2004-10-24 23:09:48 +00:00
Roger Dingledine
defe1e5f3c
start generating new version of introduce1 cells
...
svn:r2586
2004-10-24 19:08:07 +00:00
Roger Dingledine
0b36c29c4d
fix wrong comment
...
svn:r2585
2004-10-24 17:11:44 +00:00
Nick Mathewson
ef4ac65f5e
Document the swiss-army-knife that retry_listeners has become
...
svn:r2584
2004-10-24 01:50:33 +00:00
Nick Mathewson
0df2d383d1
Many non-native speakers use Tor. It is our duty to ensure that our log messages set an example of good English spelling.
...
svn:r2583
2004-10-24 01:29:01 +00:00
Nick Mathewson
57f09573f5
Every 60 seconds, check whether the listeners are still alive, and relaunch the dead ones.
...
svn:r2581
2004-10-24 01:22:40 +00:00
Nick Mathewson
04ca660b2a
Fix typo in last windows patch
...
svn:r2580
2004-10-24 00:58:29 +00:00
Nick Mathewson
5d53828c57
Handle more errnos from accept() without closing the connection. This may fix a bug that could close OR listeners when (a) TCP connections were hung up before accept() could be called, or (b) during FD exhaustion.
...
svn:r2579
2004-10-24 00:55:18 +00:00
Nick Mathewson
78a2c3aa39
Make windows fall back to CWD if SHGetSpecialFolderLocation is borked
...
svn:r2578
2004-10-24 00:52:10 +00:00
Roger Dingledine
54c432bd93
pay attention to the return value of do_hup, and exit
...
when it fails
svn:r2577
2004-10-23 17:06:25 +00:00
Nick Mathewson
6899b8001a
Check for low _MSC_VER, not high. On windows, always use winsock.
...
svn:r2575
2004-10-20 23:30:38 +00:00
Nick Mathewson
88cffc3c5f
Use bitwise masking to turn off bits, not compare-and-subtract
...
svn:r2572
2004-10-20 23:15:49 +00:00
Nick Mathewson
e5049d5aa3
Remove routerinfo_t->is_trusted_dir, and all the twisted machinery used to
...
maintain it.
Have clients default to the nickname "client" in their certificates.
Give a less frightening warning on obsolete (pre-0.0.8) routerinfo_t's.
svn:r2568
2004-10-19 18:19:59 +00:00
Nick Mathewson
c7151d8bed
Add "pass" target for RedirectExit, to make it easier to break out of a sequence of rules
...
svn:r2566
2004-10-19 17:46:06 +00:00
Roger Dingledine
97a0a43511
start the process of making 0.0.7* obsolete
...
svn:r2565
2004-10-17 21:51:20 +00:00
Roger Dingledine
640544ae3e
use connection_edge_is_rendezvous_stream() more
...
svn:r2564
2004-10-17 21:10:41 +00:00
Roger Dingledine
695cdb10fe
whoops, resolve cells were probably broken
...
svn:r2562
2004-10-17 20:31:19 +00:00
Nick Mathewson
b130aa3c8f
Fix segfault in unit tests. (Main program is unaffected)
...
svn:r2559
2004-10-17 15:45:54 +00:00
Roger Dingledine
e66d5f897a
fix a seg fault with exitredirect
...
svn:r2555
2004-10-17 04:44:02 +00:00
Roger Dingledine
560a4a1407
switch conn->addr and conn->dir_port to reflect the final destination,
...
not the http proxy
svn:r2553
2004-10-17 04:06:48 +00:00
Nick Mathewson
6d1e1b7f46
Unify windows special-dir handling
...
svn:r2552
2004-10-17 03:38:02 +00:00
Nick Mathewson
8d27385c23
Implement RedirectExit.
...
svn:r2550
2004-10-17 01:57:34 +00:00
Roger Dingledine
7c3ab346f6
various tweaks and fixes
...
svn:r2548
2004-10-16 22:56:46 +00:00
Nick Mathewson
a1bf39f698
Code to parse (but not yet actually use) RedirectExit lines
...
svn:r2546
2004-10-16 22:37:08 +00:00
Roger Dingledine
de65052312
don't assert multiple things in the same tor_assert()
...
svn:r2544
2004-10-16 22:14:52 +00:00
Nick Mathewson
25a046df74
Fix unit tests, make it compile
...
svn:r2543
2004-10-16 21:57:24 +00:00
Nick Mathewson
47dc024f7e
Change interface of parse_addr_port() to return address in host order, since most users seem to want that.
...
svn:r2542
2004-10-16 21:53:30 +00:00
Nick Mathewson
8300c4ae6a
Make unit tests pass; refactor most of exit policy parfsing out into new function
...
svn:r2541
2004-10-16 21:42:09 +00:00
Nick Mathewson
a42adce362
fix memory leak in router.c; start relying on NULL==(zero bytes)
...
svn:r2538
2004-10-16 20:38:57 +00:00
Nick Mathewson
56a592dbe3
Fix memory leak
...
svn:r2535
2004-10-16 08:39:56 +00:00
Nick Mathewson
9d5831341e
Implement user-declared node families.
...
svn:r2534
2004-10-15 20:52:09 +00:00
Nick Mathewson
f882bd92ed
Remove unused locals
...
svn:r2533
2004-10-15 20:50:43 +00:00
Nick Mathewson
99f7955372
Use the real default exit policy, not reject *:*
...
svn:r2531
2004-10-15 19:18:08 +00:00
Nick Mathewson
fa9c121343
Add a comment
...
svn:r2530
2004-10-15 19:17:36 +00:00
Nick Mathewson
28dd458eaf
Upload to trusted dir servers based on DirServer config options, not on routerinfos.
...
svn:r2529
2004-10-15 19:04:38 +00:00
Nick Mathewson
01eacbca9e
Make RecommendedVersions a CONFIG_TYPE_LINELIST option, and have it tolerate whitespace a little better.
...
svn:r2528
2004-10-15 05:09:48 +00:00
Nick Mathewson
88e0c080cf
Ignore fascistfirewall when dealing with service descriptors; obey fascistfirewall when posting server descriptors; ignore fascistfirewall on directory connections when httpproxy is set.
...
svn:r2527
2004-10-15 04:57:36 +00:00
Nick Mathewson
ff38cc06e1
Fix search-and-replace in comments: Friends->family does not imply friendship->familyhip.
...
svn:r2525
2004-10-15 03:55:53 +00:00
Nick Mathewson
7fa5d224d4
Implement "families" of coadministered nodes; prevent them all from appearing on the same circuit.
...
svn:r2523
2004-10-15 01:58:11 +00:00
Nick Mathewson
c5964d6738
Basic string-join functionality
...
svn:r2521
2004-10-14 19:51:47 +00:00
Nick Mathewson
0f144d6a04
fix warning on win32
...
svn:r2518
2004-10-14 15:41:41 +00:00
Roger Dingledine
56e151eb41
advertise moria2's dirport as 18.244.0.114:80
...
svn:r2511
2004-10-14 10:05:22 +00:00
Roger Dingledine
cf9664151d
bugfix on a really old bug:
...
if read() fails on a stream, send back an end cell before you
close it down.
svn:r2509
2004-10-14 09:28:31 +00:00
Roger Dingledine
572714a458
bugfix: parse_addr_port() bites us again -- it returns addr in network order.
...
svn:r2508
2004-10-14 08:45:07 +00:00
Roger Dingledine
95644480c5
better warn message for the Content-Length attack
...
svn:r2495
2004-10-14 04:50:33 +00:00
Nick Mathewson
55b811a259
Improve warnings for old-style directories.
...
svn:r2494
2004-10-14 04:31:40 +00:00
Nick Mathewson
08c33f0b46
Compile without warnings on windows
...
svn:r2491
2004-10-14 04:06:24 +00:00
Nick Mathewson
bd10bf4b5b
Try to always dtrt if routerlist==NULL
...
svn:r2489
2004-10-14 03:44:45 +00:00
Roger Dingledine
89280e6c20
rename addr to address to we avoid this bug later
...
svn:r2488
2004-10-14 03:31:40 +00:00
Nick Mathewson
1c9426d6e0
Build without warnings on mac gcc 3.3
...
svn:r2487
2004-10-14 03:18:14 +00:00
Roger Dingledine
3737566465
make it build on amd64
...
svn:r2486
2004-10-14 03:13:08 +00:00
Roger Dingledine
69830afc16
and another one
...
svn:r2484
2004-10-14 02:49:48 +00:00
Roger Dingledine
aebc3a03ba
more int to size_t conversions, fixing one or more amd64 bugs
...
plus a whitespace patch on config.c from vicman
svn:r2482
2004-10-14 02:47:09 +00:00
Nick Mathewson
92bb360ad7
Add missing line; add similar check
...
svn:r2481
2004-10-14 02:29:03 +00:00
Nick Mathewson
8b325c142e
Patch from "J Doe": Use SHGetSpecialFolderLocation instead of
...
SHGetSpecialFolderPath in order to find application data folder.
Apparently, until IE 4 (!?) came out, nobody realized that programmers
might like to get paths as strings. Clearly, a fancy pseudo-OO list
of "identifiers" is a far more convenient way to deal with these
things. And while we're being OO, why return object that you can free
with free()? Instead, let's make the user get a handle to an abstract
allocation object, and ask it to free the fancy list, and then ask it
to release itself. Won't that be fun and convenient?
Navigating ancient Win32 APIs is like bikini-waxing creatures from HP
Lovecraft: to do a good job you must understand what's going on... but
the understanding itself can blast your sanity.
svn:r2480
2004-10-14 02:04:43 +00:00
Nick Mathewson
0d5a847f12
Remove need for dirservers file: now, we note trusted dirservers in configuration options, and only need to remember addr:port and key digest for each one.
...
svn:r2479
2004-10-14 01:44:32 +00:00
Nick Mathewson
55634e4eec
Fix comment in dirserv.c
...
svn:r2470
2004-10-13 20:28:46 +00:00
Roger Dingledine
2b7b86f5e6
stop trying to print a NULL
...
plus make router_nickname_is_approved() more obviously unused
svn:r2469
2004-10-13 20:17:45 +00:00
Nick Mathewson
e0cce8fba8
Unify tests for "did I originate this nonopen OR connection?"
...
svn:r2468
2004-10-13 20:05:57 +00:00
Nick Mathewson
30dd1c87a5
Add default trusted-dir-server entries only when no dirserver lines are given in the config file
...
svn:r2467
2004-10-13 19:56:42 +00:00
Nick Mathewson
508970f85d
fix typo
...
svn:r2466
2004-10-13 19:55:40 +00:00
Nick Mathewson
f14117bffd
fix warning about always-false comparison; detect too-large realport better
...
svn:r2465
2004-10-13 19:53:34 +00:00
Nick Mathewson
149f57bdef
answer question about rep_hist_note_connect_failed
...
svn:r2464
2004-10-13 19:42:36 +00:00
Nick Mathewson
afd8b650ee
hex-to-hex compare makes more sense than hex-to-bin.
...
svn:r2463
2004-10-13 19:17:27 +00:00
Nick Mathewson
df3098367c
Make directories get generated properly again; debug key lookup. Also, it is hard to find entries in a table when you never put them there.
...
svn:r2462
2004-10-13 18:28:39 +00:00
Roger Dingledine
a1041154eb
fix const char * vs char * issue
...
plus unshadow some variables
svn:r2460
2004-10-13 04:44:37 +00:00
Nick Mathewson
9dc72de41f
Omit any exit rules that follow a catch-all rule when writing a router descriptor.
...
svn:r2459
2004-10-13 01:25:42 +00:00
Nick Mathewson
9c49947163
Check fingerprint list before generating running-routers lists; also add as-yet-uncalled function to update an OR connection nickname on the fly
...
svn:r2458
2004-10-13 01:13:37 +00:00
Roger Dingledine
0b4d3c4df7
parse HttpProxy address in config
...
fix a potential confusion in fetch_from_buf_http()
make all our int config options non-negative
better bounds checking on options that are ports
svn:r2456
2004-10-12 20:22:09 +00:00
Nick Mathewson
7cc126e8a9
Appease overzealous gcc
...
svn:r2454
2004-10-12 20:17:45 +00:00
Nick Mathewson
f7404f6bb9
Use tor_parse_long in more places
...
svn:r2453
2004-10-12 19:33:03 +00:00
Nick Mathewson
e7241044e8
Better bounds checking on parsed ints
...
svn:r2450
2004-10-12 19:01:53 +00:00
Nick Mathewson
e8748b3fa0
Add default directory servers
...
svn:r2449
2004-10-12 19:01:28 +00:00
Nick Mathewson
f6fc2b9dd2
Add fix for remote-crash bug.
...
svn:r2447
2004-10-12 18:38:36 +00:00
Roger Dingledine
578a3e25e5
fix a signed/unsigned comparison
...
svn:r2446
2004-10-12 18:32:34 +00:00
Nick Mathewson
79636823b8
Oops, missed one
...
svn:r2445
2004-10-12 16:04:25 +00:00
Nick Mathewson
a91fc48b39
Note byte-order on result for parse_addr_port()
...
svn:r2444
2004-10-12 16:02:15 +00:00
Nick Mathewson
0068415b80
Add an implementation of trusted_dir_server logic to switch towards simply remembering an addr/port/keyid for each trusted dir server
...
svn:r2443
2004-10-12 15:55:20 +00:00
Nick Mathewson
43ef5a3e37
Add long-term format for dir-signing-key fields (commented out)
...
svn:r2442
2004-10-12 15:52:57 +00:00
Nick Mathewson
0383afac9a
Use parse_addr_port() function instead of ad-hoc variants
...
svn:r2441
2004-10-12 15:52:09 +00:00
Nick Mathewson
8b037509f3
Add functions to parse addr[:port] consistently
...
svn:r2440
2004-10-12 15:48:30 +00:00
Roger Dingledine
1efad74164
bugfix on my friday commit: make hidden services work again in cvs
...
svn:r2439
2004-10-12 06:03:10 +00:00
Roger Dingledine
24f9946db1
fix paul gardner's assert bug.
...
sometimes circuit_get_open_circ_or_launch() can return 0 but not
return a circuit, e.g. because too many circuits have failed recently
so the new one didn't launch. we need to tolerate that.
svn:r2438
2004-10-11 22:19:12 +00:00
Roger Dingledine
5c53c63aa0
Fix a potential buffer overflow found by Ilja van Sprundel.
...
We don't think this is exploitable, but best to fix it anyway.
svn:r2437
2004-10-11 21:55:19 +00:00
Roger Dingledine
7798e3d770
fix the stale pointer assert bug reported by joe magic
...
svn:r2436
2004-10-11 01:17:42 +00:00
Roger Dingledine
6468e049be
when a begin cell has an invalid port, give us a better hint of
...
what went wrong
svn:r2435
2004-10-10 01:47:24 +00:00
Roger Dingledine
1a4cb248f3
interim commit for http proxy support
...
svn:r2431
2004-10-08 05:53:59 +00:00
Nick Mathewson
6c970aec94
Turn tor_strpartion into a swiss-army-knife function, so it can terminate or not-terminate appropriately.
...
svn:r2429
2004-10-07 21:37:06 +00:00
Nick Mathewson
c7e8c2098a
Include a dir-signing-key token in directories to tell the parsing entity which key is being used to sign. This is the first step in obsoleting the dirservers file.
...
svn:r2428
2004-10-07 21:10:40 +00:00
Nick Mathewson
dad7c71686
Workaround for bug on windows where cached-directories get crlf corruption.
...
svn:r2426
2004-10-07 20:22:58 +00:00
Nick Mathewson
b7bddcac75
Windows requires a different cast uint64_t format
...
svn:r2424
2004-10-07 20:15:56 +00:00
Nick Mathewson
ce3162d035
Make base-64-encoded DER work, including workaround for ugly openssl misfeature that makes base64 decoding fail when you strip out the newlines.
...
svn:r2423
2004-10-07 03:11:42 +00:00
Nick Mathewson
2bba65148b
Refactor fingerprint handling: remember hex digests (no spaces) instead of beautified fingerprints
...
svn:r2422
2004-10-06 13:31:48 +00:00
Nick Mathewson
b08ff7b1f7
Fix a couple of typos, one of which conceals a bug in parsing opt keywords with objects
...
svn:r2421
2004-10-06 13:28:34 +00:00
Roger Dingledine
8b02610bd5
when an OR starts up, it loads its directory from cache.
...
then it serves *that directory* to others who ask for a copy of the
directory. it's better to serve no directory at all until you have a
fresh copy.
svn:r2418
2004-10-06 05:05:43 +00:00
Roger Dingledine
980b6169eb
use only 0.0.9pre1 and later servers for resolve cells
...
svn:r2416
2004-10-03 19:39:29 +00:00
Nick Mathewson
9e8ae9766e
Only check versions against downloaded directories, not cached directories.
...
svn:r2413
2004-10-03 02:37:52 +00:00
Roger Dingledine
5e74ce8d57
better warn message for failed hidserv desc fetch
...
svn:r2412
2004-10-03 00:06:47 +00:00
Roger Dingledine
3f4b544b77
use size_t rather than int for directory lengths in memory
...
this might fix a bug with amd64
svn:r2410
2004-10-01 21:02:12 +00:00
Nick Mathewson
91044765f2
Decode Content-Encoding header correctly.
...
svn:r2403
2004-10-01 04:45:14 +00:00
Roger Dingledine
eff780c815
Fix a rare assert trigger, where routerinfos for entries in our cpath
...
would expire while we're building the path.
Thanks to Eugene Armstead for pointing it out.
svn:r2402
2004-09-30 15:40:05 +00:00
Roger Dingledine
136d4e5739
prefer tor_free to free
...
plus complain more loudly when we fail to parse a dir we just fetched
svn:r2401
2004-09-29 06:52:36 +00:00
Roger Dingledine
6ed095b177
print the IP if a conn fails badly, to see if there are any trends
...
svn:r2400
2004-09-29 05:59:55 +00:00
Roger Dingledine
1c47de319e
ha ha, thought the bugs were done
...
don't stop writing the compressed directory just because you found a nul
svn:r2399
2004-09-29 05:48:25 +00:00
Roger Dingledine
a31ba30ae6
if our local cached directory is new enough, go ahead and
...
start building circuits while we're fetching a new one
svn:r2394
2004-09-28 23:27:41 +00:00
Nick Mathewson
11384b6d92
Make sure that routerlists contain only routers; give a better error message if they start with a nonrouter.
...
svn:r2393
2004-09-28 22:49:34 +00:00
Nick Mathewson
0c653e5cc7
cached-directory has a directory, not a router list
...
svn:r2392
2004-09-28 22:43:11 +00:00
Roger Dingledine
4b3001a08c
fix some local buffer overflows
...
fix a memory leak
svn:r2391
2004-09-28 22:38:21 +00:00
Nick Mathewson
7eff786e4b
Fix messages for _UNRECOGNIZED tokens
...
svn:r2390
2004-09-28 22:35:02 +00:00
Nick Mathewson
d20d10f360
If we are an authoritative dirserver, check out the fingerprint list when setting connection nicknames
...
svn:r2389
2004-09-28 22:24:56 +00:00
Roger Dingledine
d381aa4696
Fix an evil bug: when we failed to write to our log, fputs()
...
gave us a sigpipe, and we logged that we were ignoring it,
causing us to fail to log that, and delete the log entry. Then
when the signal handler exited, we proceeded to delete the log
entry that had already been deleted.
Now we make sure to only log inside our signal handler if we'll
be exit()ing right after.
svn:r2388
2004-09-28 21:14:40 +00:00
Roger Dingledine
0d2f9b9b4b
the tor clients in cvs can't speak to the current tor authdirservers for
...
rendezvous publishes and fetches, since they're still running 0.0.8. so
make them speak the old way until we've upgraded the authdirservers.
svn:r2384
2004-09-28 03:30:28 +00:00
Roger Dingledine
9f9f0e5edd
fix another bug with cached compressed directories
...
still not working
svn:r2383
2004-09-27 07:28:48 +00:00
Roger Dingledine
d0edf8e8b5
fix two bugs with cached directories:
...
- don't complain that you won't cache it, then cache it anyway.
- change confusing terminology from 'deflate' to 'compress', so
we'll stop getting our logic backwards. i assume the rfc author
has shot himself by now.
svn:r2382
2004-09-27 06:57:16 +00:00
Roger Dingledine
6e7e880438
put my fenceposts back in valid memory space
...
svn:r2381
2004-09-27 06:45:32 +00:00
Roger Dingledine
a2517b4f07
checking only 0.0.7 and 0.0.8 didn't work, because some dirservers
...
files have really old descriptors for the authdirservers, so we're
asking them in the new format because they're too old.
now we actually compare the version to a cutoff version, and act
appropriately.
also take this chance to use only >=0.0.8 servers for dns resolves,
because of the recent bugs. we'll bump to >=0.0.9pre1 once there are
some servers running that.
svn:r2380
2004-09-27 06:00:43 +00:00
Roger Dingledine
a64d093339
post descriptors to 0.0.8 authdirservers the old way, to make the
...
transition easier
svn:r2379
2004-09-27 03:50:58 +00:00
Roger Dingledine
10df7d9afc
clients ask 0.0.9-and-later dirservers for a compressed dir
...
dirservers rewrite url /foo/ to /tor/foo/, which will help us run things
behind apache once 0.0.8 is obsolete
svn:r2378
2004-09-27 03:39:30 +00:00
Roger Dingledine
57d7857def
don't mind empty exit policy entries
...
svn:r2373
2004-09-23 22:57:32 +00:00
Roger Dingledine
fa0a1ec49f
cleanup: use strcmpstart() in more places
...
svn:r2372
2004-09-23 22:18:50 +00:00
Roger Dingledine
185b9fddf2
protect dirservers from overzealous descriptor uploading
...
wait 10 seconds after directory gets dirty, before regenerating
svn:r2370
2004-09-23 19:58:44 +00:00
Roger Dingledine
02e3e3327c
discourage people from setting their dirfetchpostperiod more often
...
than once per minute
svn:r2369
2004-09-23 19:23:32 +00:00
Roger Dingledine
8727a28119
bugfix: we were starting to daemonize before we opened our logs,
...
so if there were any problems opening logs, we would complain to
stderr (which wouldn't work) and then mysteriously exit.
svn:r2366
2004-09-23 04:32:43 +00:00
Roger Dingledine
c0db9fa803
fix confusing cut-n-paste mistake
...
svn:r2364
2004-09-22 04:08:05 +00:00
Roger Dingledine
013104a1e2
people are starting to bump into the limit of 50 dns workers.
...
raise it to 100 for now. we need a better solution long-term.
but alas, there are no better solutions that are also portable.
hm.
svn:r2363
2004-09-22 03:56:41 +00:00
Nick Mathewson
9defe8a307
Attach dummy resolve connections to a circuit *before* calling dns_resolve(). This fixes a bug where cached answers would never be sent in RESOLVED cells.
...
svn:r2360
2004-09-21 18:12:12 +00:00
Nick Mathewson
c20b24c952
clean up/bugfix deflate logic and log messages
...
svn:r2359
2004-09-21 18:09:38 +00:00
Roger Dingledine
d977677aa8
bugfix: when a resolve fails for a begin request, actually send
...
the end cell back. also, give a better reason for failure.
svn:r2358
2004-09-21 17:33:05 +00:00
Roger Dingledine
ff622786f1
slightly better warn message
...
svn:r2357
2004-09-21 17:14:47 +00:00
Nick Mathewson
431b33a2ca
Warn the user when we mark ourself as down.
...
svn:r2356
2004-09-21 16:44:20 +00:00
Nick Mathewson
0dcc8c7048
Bugfix: When a dns request failed, we would detach any "resolving" streams from the circuit before we would send a the resolve_failed cells.
...
svn:r2355
2004-09-21 16:42:07 +00:00
Roger Dingledine
802b203ff1
fix a rare seg fault for people running hidden services on
...
intermittent connections
svn:r2353
2004-09-20 03:07:11 +00:00
Roger Dingledine
959199340a
don't pick administrative-friends when picking your path
...
(just a skeleton for now)
svn:r2349
2004-09-10 21:40:29 +00:00
Roger Dingledine
a475ccf5b8
we should exit(1) if $HOME doesn't exist and we needed it
...
svn:r2344
2004-09-10 19:16:01 +00:00
Nick Mathewson
0ef85f6dba
Some platforms have weird translations when you open files in "test" mode; make read/write_str_to_file aware.
...
svn:r2336
2004-09-08 07:16:34 +00:00
Nick Mathewson
c66e4c4870
Flush more changes from sandbox
...
- make clients cache directories and use them to seed their router lists
at startup. This means clients have a datadir again.
- Introduce a global_write_bucket. We need to respond better to exhausting
it.
- Remove the last vestiges of LinkPadding and TrafficShaping.
- Configuration infrastructure support for warning on obsolete options.
- Refactor directory header parsing to use smartlist_split_string.
- Respond to content-encoding headers by trying to uncompress as appropriate.
- Reply with a deflated directory when a client asks for "dir.z".
(We could use allow-encodings instead, but allow-encodings isn't
specified in HTTP 1.0.)
svn:r2335
2004-09-08 06:52:33 +00:00
Nick Mathewson
9836ccda8c
Move a paren 4 characters to the left; fix a bug in OutboundBindAddress
...
svn:r2330
2004-09-02 23:25:23 +00:00
Nick Mathewson
ecf414f05e
Stop using separate defaults for no-config-file and empty-config-file
...
svn:r2329
2004-09-02 22:08:36 +00:00
Nick Mathewson
d6e47bec46
Keep a deflated version of each directory so we can deliver it when requested
...
svn:r2328
2004-09-02 18:57:09 +00:00
Nick Mathewson
bda41ba3fd
Use new split function and strcmpstart correctly
...
svn:r2327
2004-09-02 18:39:59 +00:00
Nick Mathewson
4c799ae731
Check for zlib; link with it.
...
svn:r2326
2004-09-02 18:27:09 +00:00
Nick Mathewson
3590eb535a
Add basic wrappers for zlib/gzip
...
svn:r2324
2004-09-02 18:22:51 +00:00
Roger Dingledine
444a01610c
make the compile work (and not complain) on sunos 5.9
...
svn:r2312
2004-08-25 17:31:47 +00:00
Roger Dingledine
be7909f670
Fix a symptom for a bug that straycat found.
...
Apparently in rare cases poll() is returning POLLIN for an idle
dns worker. It reads no bytes, presumably because the idle dns
worker didn't write anything in the first place. Gosh, who knows.
Now we only trigger the assert if the idle dns worker actually
tries to send an answer to us.
svn:r2311
2004-08-25 05:26:09 +00:00
Roger Dingledine
d91cacb839
agree with nick: this legal-chars-in-filename stuff gets us nothing
...
svn:r2310
2004-08-24 21:57:12 +00:00
Nick Mathewson
015232bd39
As far as I can tell, CONFIG_LEGAL_FILENAME_CHARACTERS is both pointless and broken. #if it out, pending agreement from arma. This fixes a bug on win32 that rejected paths with a : in them.
...
svn:r2309
2004-08-24 20:48:22 +00:00
Nick Mathewson
4b4bfd500a
Improve log message to make it obvious _why_ reading the configuration has failed.
...
svn:r2308
2004-08-24 20:46:42 +00:00
Roger Dingledine
79df0aa18a
when picking unverified routers, skip those with bad uptime or
...
bad bandwidth, depending on what properties you care about
svn:r2302
2004-08-20 21:34:36 +00:00
Nick Mathewson
ae46b6b077
Fix some DOCDOCs
...
svn:r2295
2004-08-18 21:56:45 +00:00
Roger Dingledine
cf6159abb9
fix a seg fault on hup when FascistFirewall is defined
...
svn:r2294
2004-08-18 21:46:53 +00:00
Roger Dingledine
8ddc029d07
if options.FascistFirewall but none are running on port 80, try
...
the others before giving up.
svn:r2293
2004-08-18 21:13:58 +00:00