Nick Mathewson
148e2e1c48
r17403@catbus: nickm | 2007-12-26 22:23:50 -0500
...
Apparently loops work better when you actually increment/decrement the loop variable. Who knew?
svn:r12992
2007-12-27 03:23:57 +00:00
Nick Mathewson
1503021ee5
r15723@tombo: nickm | 2007-12-26 19:25:51 -0500
...
Actually trim freelists.
svn:r12991
2007-12-27 00:25:54 +00:00
Nick Mathewson
3a5bee150f
r15721@tombo: nickm | 2007-12-26 17:07:10 -0500
...
Fix a nasty infinite loop in flush_buf[_tls].
svn:r12990
2007-12-26 22:07:14 +00:00
Nick Mathewson
27220fb395
r15719@tombo: nickm | 2007-12-26 14:02:12 -0500
...
More tweaks on 0-byte TLS writes.
svn:r12989
2007-12-26 19:02:15 +00:00
Nick Mathewson
80151b42df
r15717@tombo: nickm | 2007-12-26 13:55:53 -0500
...
Oops. flush_buf_tls can request more than the requested number of bytes. When that happens, do not let the size_t sz wrap around.
svn:r12988
2007-12-26 18:55:56 +00:00
Nick Mathewson
84b6e26c50
r15715@tombo: nickm | 2007-12-26 13:09:27 -0500
...
Peacetime managed to run overnight in paranoia mode. Disabling paranoia, so that buffers.c can be a little speedy again.
svn:r12987
2007-12-26 18:09:36 +00:00
Nick Mathewson
fb8cbc8642
r15710@tombo: nickm | 2007-12-25 19:36:03 -0500
...
Fix in flush_buf_tls: it is okay to flush an empty buffer, since we may have a partial TLS record pending.
svn:r12984
2007-12-26 00:36:05 +00:00
Nick Mathewson
a7ef07b4bd
r15693@tombo: nickm | 2007-12-25 19:11:29 -0500
...
Here, have some terribly clever new buffer code. It uses a mbuf-like strategy rather than a ring buffer strategy, so it should require far far less extra memory to hold any given amount of data. Also, it avoids access patterns like x=malloc(1024);x=realloc(x,1048576);x=realloc(x,1024);append_to_freelist(x) that might have been contributing to memory fragmentation. I've tested it out a little on peacetime, and it seems to work so far. If you want to benchmark it for speed, make sure to remove the #define PARANOIA; #define NOINLINE macros at the head of the module.
svn:r12983
2007-12-26 00:12:08 +00:00
Roger Dingledine
1d8a8063b9
clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
...
svn:r12786
2007-12-12 21:09:01 +00:00
Roger Dingledine
2b8ca7b4a4
patch from karsten to clean up documentation and to integrate
...
more fixes into rend-spec.txt.
svn:r12715
2007-12-07 21:27:58 +00:00
Nick Mathewson
2e378295d6
r16997@catbus: nickm | 2007-12-06 18:56:33 -0500
...
Make http://torproject urls into https://torproject urls. Patch from steve.
svn:r12708
2007-12-06 23:56:36 +00:00
Nick Mathewson
92372b156a
r16995@catbus: nickm | 2007-12-06 18:42:53 -0500
...
patch from steve: replace more tor.eff.org instances with torproject.org
svn:r12707
2007-12-06 23:42:59 +00:00
Roger Dingledine
8ac5f24c33
easy tweaks on r12607
...
svn:r12608
2007-11-29 15:30:32 +00:00
Roger Dingledine
aaf35cccf7
karsten's second refactoring patch
...
svn:r12607
2007-11-29 15:25:04 +00:00
Nick Mathewson
6fcda5299f
r14727@31-33-67: nickm | 2007-11-05 18:34:35 -0500
...
Make VERSIONS variable-length.
svn:r12391
2007-11-05 23:34:39 +00:00
Nick Mathewson
9a20a64b62
r16438@catbus: nickm | 2007-11-05 16:45:45 -0500
...
Initial code for variable-length cells. CERT and VERSIONS need to use them.
svn:r12390
2007-11-05 21:46:35 +00:00
Roger Dingledine
e5885deab5
Separate "SOCKS_COMMAND_CONNECT_DIR" into two flags in
...
edge_connection_t: want_onehop if it must attach to a circuit with
only one hop (e.g. for the current tunnelled connections that use
begin_dir), and use_begindir if we mean to use a BEGIN_DIR relay
command to establish the stream rather than the normal BEGIN. Now
we can make anonymized begin_dir connections for (e.g.) more secure
hidden service posting and fetching.
svn:r12244
2007-10-28 08:16:19 +00:00
Peter Palfrader
1a94e84661
Say "using socksX _to_ port y" instead of "socksX _on_ port y". it confuses weasel less
...
svn:r11834
2007-10-10 15:44:34 +00:00
Nick Mathewson
91f83cfc2d
r14830@catbus: nickm | 2007-08-29 13:50:10 -0400
...
Make controllers accept LF as well as CRLF. Update spec to reflect this. Remove now-dead code. Make controller warning about v0 protocol more accurate.
svn:r11299
2007-08-29 19:02:33 +00:00
Nick Mathewson
480db0f00a
r14034@catbus: nickm | 2007-07-31 05:22:56 -0400
...
possible fix for bug 473: always set buf->cur on buf_remove_from_front.
svn:r11004
2007-07-31 09:31:15 +00:00
Nick Mathewson
9fb77a6479
Disable SENTINELS in buffers: it may be responsible for making platform mallocs() be inefficient, and we havent needed it in a long long time.
...
svn:r10994
2007-07-30 17:51:14 +00:00
Nick Mathewson
9260a824ef
Yet another buffer RAM patch: tNever ever ever keep a buffer memory chunk around for an empty buffer that could go on the freelist. This wants profiling to make sure that performance doesnt suffer.
...
svn:r10993
2007-07-30 17:47:43 +00:00
Nick Mathewson
0d274e1db1
r13952@catbus: nickm | 2007-07-27 19:18:46 -0400
...
Weasel noticed that many buffers spend their time with empty 4k, 8k, and 16k memory chunks. Thus, be more aggressive about putting empty chunks on the freelist, regardless of their high water marks. (Also, run buffer_shrink_freelist on the 8k-chunk freelist.)
svn:r10953
2007-07-27 23:19:02 +00:00
Nick Mathewson
a5477c7bb9
r13944@catbus: nickm | 2007-07-27 15:52:35 -0400
...
Fix warnings on platforms where rlim values can be signed.
Add an 8k buffer freelist.
svn:r10948
2007-07-27 19:53:29 +00:00
Nick Mathewson
bc9a7be943
r13939@catbus: nickm | 2007-07-27 14:33:22 -0400
...
When dumping memory usage, list bytes used in buffer memory free-lists.
svn:r10947
2007-07-27 18:33:37 +00:00
Roger Dingledine
a1ab2c8087
free bridge list on exit; try harder to free buffer freelists on exit.
...
svn:r10854
2007-07-17 11:33:38 +00:00
Roger Dingledine
fcbb817db5
free another string, and the buffer freelists, on exit.
...
svn:r10851
2007-07-17 09:26:45 +00:00
Nick Mathewson
5adfa09fce
r13477@catbus: nickm | 2007-06-17 14:22:03 -0400
...
Sun CC likes to give warnings for the do { } while(0) construction for making statement-like macros. Define STMT_BEGIN/STMT_END macros that do the right thing, and use them everywhere.
svn:r10645
2007-06-17 18:22:39 +00:00
Nick Mathewson
1866ad3506
r13274@catbus: nickm | 2007-06-05 19:06:30 -0400
...
Remove some deadcode that seems unlikely to return
svn:r10509
2007-06-06 04:51:25 +00:00
Nick Mathewson
9aaf3d182f
r12934@catbus: nickm | 2007-05-24 14:11:18 -0400
...
When freeing slack buffers, free the buffers at the end of the freelist first.
svn:r10313
2007-05-24 18:12:41 +00:00
Nick Mathewson
e043b86f47
r12764@catbus: nickm | 2007-05-15 17:17:39 -0400
...
Enable (and cope with) more GCC 4.2 warnings.
svn:r10196
2007-05-15 21:17:48 +00:00
Nick Mathewson
e3b2a7b53b
r12935@Kushana: nickm | 2007-05-10 11:25:09 -0400
...
Make buffer unit tests pass again
svn:r10158
2007-05-10 15:25:40 +00:00
Roger Dingledine
8e8144cd58
fix a printf size_t/int mismatch from r10150
...
svn:r10152
2007-05-10 04:04:44 +00:00
Nick Mathewson
34a09c24b5
r12706@catbus: nickm | 2007-05-09 18:39:46 -0400
...
Keep two freelists for buffer ram chunks: one of 4k chunks, and one of 16k chunks. Also, document the whole business.
svn:r10150
2007-05-09 22:39:49 +00:00
Nick Mathewson
b248ed620f
r12704@catbus: nickm | 2007-05-09 17:43:34 -0400
...
Periodically clean the freelist of buffer memory chunks.
svn:r10149
2007-05-09 21:43:41 +00:00
Roger Dingledine
3d00738ec7
simplify connection_watch_events()
...
hope this doesn't break it
svn:r10025
2007-04-25 07:20:04 +00:00
Nick Mathewson
94eef608ae
r12784@Kushana: nickm | 2007-04-23 19:24:09 -0400
...
Avoid another assert failure in the new buffer memory code. (This time, it hit when freeing a 4k buffer with some data on it.)
svn:r10011
2007-04-23 23:24:53 +00:00
Nick Mathewson
3831d77dba
r12782@Kushana: nickm | 2007-04-23 18:20:19 -0400
...
Avoid a segfault when freeing a buffer with size 0.
svn:r10010
2007-04-23 22:20:45 +00:00
Nick Mathewson
2f4784cbd8
r12499@catbus: nickm | 2007-04-23 10:42:23 -0400
...
Keep a freelist of unused 4k buffer chunks, rather than wasting 8k for every inactive connection_t.
svn:r10006
2007-04-23 14:42:27 +00:00
Nick Mathewson
473c266fc2
r12496@catbus: nickm | 2007-04-22 23:04:05 -0400
...
When logging memory usage, break down memory used in buffers by buffer type.
svn:r10004
2007-04-23 03:04:46 +00:00
Nick Mathewson
648065fcb4
r12763@Kushana: nickm | 2007-04-20 18:42:58 -0400
...
Initial version of code to stop using socket pairs for linked connections. Superficially, it seems to work, but it probably needs a lot more testing and attention.
svn:r9995
2007-04-21 17:26:12 +00:00
Nick Mathewson
92f62b3684
r12077@catbus: nickm | 2007-03-04 16:08:23 -0500
...
Remove support for v0 control protocol from 0.2.0.x trunk; send back error when we receive a v0 control message. (Leave "if(v1){...}"blocks indented for now so this patch is easier to read.) ((Finally, the linecount goes _down_ a little.))
svn:r9735
2007-03-04 21:08:28 +00:00
Roger Dingledine
50f22e858a
doc pedant
...
svn:r9634
2007-02-24 07:50:38 +00:00
Nick Mathewson
11e5656ab7
r11826@catbus: nickm | 2007-02-16 14:58:38 -0500
...
Resolve 56 DOCDOC comments.
svn:r9594
2007-02-16 20:01:02 +00:00
Nick Mathewson
759c58151e
r11775@catbus: nickm | 2007-02-12 16:39:09 -0500
...
Update copyright dates.
svn:r9570
2007-02-12 21:39:53 +00:00
Nick Mathewson
fefba95363
r11629@catbus: nickm | 2007-02-02 15:06:17 -0500
...
Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were. Oops. Hey, kids! Fixing some of these could be your first Tor patch!
svn:r9477
2007-02-02 20:06:43 +00:00
Nick Mathewson
ead35ef944
r11957@Kushana: nickm | 2007-01-15 15:25:57 -0500
...
Patch from Mike Perry: Track reasons for OR connection failure; display them in control events. Needs review and revision.
svn:r9354
2007-01-15 21:13:37 +00:00
Nick Mathewson
c8466c5919
r11824@Kushana: nickm | 2007-01-03 17:15:28 -0500
...
control-spec: upcase arguments in status events; note unimplemented events individually
r11825@Kushana: nickm | 2007-01-03 17:41:43 -0500
Implement EXTERNAL IP server status event.
r11826@Kushana: nickm | 2007-01-03 17:47:10 -0500
Implement BAD_SERVER_DESCRIPTOR server status event.
r11827@Kushana: nickm | 2007-01-03 18:01:56 -0500
Implement SOCKS_UNKNOWN_PROTOCOL and DANGEROUS_SOCKS client events.
r11828@Kushana: nickm | 2007-01-03 18:23:22 -0500
Implement BUG controller events. Also, flush ERR-level status events just like ERR-level log messages.
r11829@Kushana: nickm | 2007-01-03 23:37:27 -0500
Yet more status events: CLOCK_SKEW, GOOD/ACCEPTED_SERVER_DESCRIPTOR, {CHECKING_}REACHABILITY_{SUCCEEDED|FAILED}
r11833@Kushana: nickm | 2007-01-05 16:56:37 -0500
Note some unimplementedness in control-spec.txt
svn:r9279
2007-01-06 05:42:31 +00:00
Roger Dingledine
30e4f4f6ce
when we're doing a write split over the end of a circular
...
buffer, make sure our tls_get_forced_write_size doesn't
make it write whatever's after the buffer.
this hasn't triggered yet, but it would be rare, so let's
leave it in.
svn:r9107
2006-12-14 03:26:42 +00:00
Nick Mathewson
c9c8072bd3
r11569@Kushana: nickm | 2006-12-13 17:59:58 -0500
...
fix last fix
svn:r9106
2006-12-13 23:00:05 +00:00
Nick Mathewson
43e06eba8b
r11566@Kushana: nickm | 2006-12-13 17:46:24 -0500
...
Try to fix an assert failure in new write limiting code: make buffers.c aware of previous "forced" write sizes from tortls.
svn:r9105
2006-12-13 22:46:42 +00:00
Roger Dingledine
0dbf725927
Infrastructure to test BEGIN_DIR cells.
...
New socks command CONNECT_DIR. New config option TunnelDirConns that
builds a circ ending at the directory server and delivers a BEGIN_DIR
cell if it's running 0.1.2.2-alpha or later. We still need to make
one-hop circs when appropriate, while making other conns avoid them.
svn:r9098
2006-12-13 00:28:56 +00:00
Nick Mathewson
ad1f019110
r9317@totoro: nickm | 2006-11-13 22:45:33 -0500
...
Fix some more mipspro warnings. Nothing should remain excecpt "conversion from pointer to same-sized integral type."
svn:r8950
2006-11-14 03:45:48 +00:00
Nick Mathewson
1913cb915e
r9308@totoro: nickm | 2006-11-13 18:41:23 -0500
...
Add support for (Free?)BSD's natd, which was an old way to let you
have your firewall automatically redirect traffic. (Original patch
from Zajcev Evgeny, updated for 0.1.2.x by tup.)
svn:r8946
2006-11-14 00:06:31 +00:00
Roger Dingledine
8f7940348f
Avoid an infinite loop on evil controlport input. Fixes bug 350,
...
unless it doesn't. (Nick, please confirm.)
Backport candidate.
svn:r8844
2006-10-28 08:17:02 +00:00
Roger Dingledine
7d33c4b904
clean up and downgrade some log messages
...
svn:r8727
2006-10-15 07:42:51 +00:00
Nick Mathewson
213658f117
r8894@Kushana: nickm | 2006-09-21 18:30:42 -0400
...
Specify and implement SOCKS5 interface for reverse hostname lookup.
svn:r8451
2006-09-22 00:43:55 +00:00
Nick Mathewson
93beeac01d
Merge in some bsockets calls, all wrapped inside #if defined(USE_BSOCKETS)
...
svn:r8427
2006-09-19 20:41:31 +00:00
Nick Mathewson
dbe0c6f6ef
r8609@Kushana: nickm | 2006-08-27 17:24:27 -0400
...
Add some doxygen, concentrated in dns.c
svn:r8256
2006-08-28 03:16:02 +00:00
Nick Mathewson
fd36eb0788
r8576@Kushana: nickm | 2006-08-25 17:16:01 -0400
...
Fix bug 314: Instead of checking address_in_virtualrange, check addressmap_have_mapping(). This should be more accurate. [Rename to addressmap_have_mapping() from addressmap_already_mapped().]
svn:r8226
2006-08-25 21:16:22 +00:00
Roger Dingledine
0649fa14c1
make our socks5 handling more robust to broken socks clients:
...
throw out everything waiting on the buffer in between socks
handshake phases, since they can't possibly (so the theory
goes) have predicted what we plan to respond to them.
svn:r8223
2006-08-24 04:51:55 +00:00
Roger Dingledine
3d79eb52ab
stick to nick's nul/null convention
...
svn:r6763
2006-07-15 19:21:30 +00:00
Nick Mathewson
b4b8da5d23
Turn a while into a do/while; save a redundant test
...
svn:r6683
2006-06-24 02:10:21 +00:00
Nick Mathewson
5c0d7fb016
Resolve control flow warning.
...
svn:r6658
2006-06-18 20:39:46 +00:00
Nick Mathewson
0932f463ff
Ah. That seems to work.
...
svn:r6657
2006-06-18 16:39:26 +00:00
Nick Mathewson
5ba72d0ae5
another write_to_buf_zlib fix.
...
svn:r6656
2006-06-18 16:20:38 +00:00
Nick Mathewson
a9cffd2ff0
Re-enable buffer RAM guard values.
...
svn:r6653
2006-06-18 15:53:54 +00:00
Nick Mathewson
11c2e97d51
Another _zlib fix.
...
svn:r6652
2006-06-18 09:03:48 +00:00
Nick Mathewson
10b7b57616
Temporarily disable sentinels on buffers
...
svn:r6649
2006-06-18 08:44:34 +00:00
Nick Mathewson
9376d901ed
make zlib buffer function set buf_highwater properly
...
svn:r6648
2006-06-18 08:21:27 +00:00
Nick Mathewson
cd38511a1e
Part of incremental encryption logic for buffers: there is a subtle yucky point documented in a comment.
...
svn:r6637
2006-06-18 07:27:47 +00:00
Roger Dingledine
fab1feee26
complain when we hit wsaenobufs on recv or write too.
...
perhaps this will help us hunt the bug.
svn:r6321
2006-04-08 07:54:11 +00:00
Roger Dingledine
d8195e4128
Implement Jason Holt's SafeSocks config option.
...
Also put a URL in the warning message for unsafe socks4 use --
previously we'd only had the URL for unsafe socks5 use. Oops.
svn:r6190
2006-03-19 01:44:53 +00:00
Roger Dingledine
9a5df4cef5
resume being printist: if the hostname contains non-printable
...
characters, then fail. this time don't even bother telling the
server operator about these cases, because what's he going to do?
if it turns out that some significant population somewhere in the
world uses non-printable hostnames and wants to use tor, then i
hereby assume that they will contact us.
svn:r6171
2006-03-15 23:36:57 +00:00
Roger Dingledine
e8fd871d8b
Stop being printist: just because our local platform doesn't
...
consider an alleged destination to be printable doesn't mean
nobody in the world will want to use it.
svn:r6167
2006-03-15 19:17:34 +00:00
Nick Mathewson
bd8ffccae7
More cleanups noticed by weasel; also, remove macros that nobody uses.
...
svn:r6143
2006-03-12 23:31:16 +00:00
Nick Mathewson
5777ee0e1a
Add some functions to escape values from the network before sending them to the log. Use them everywhere except for routerinfo->plaftorm, routerinfo->contact_info, and rend*.c. (need sleep now)
...
svn:r6087
2006-03-05 09:50:26 +00:00
Roger Dingledine
36484f873a
convert some more source files to the new log convention
...
svn:r6002
2006-02-13 08:28:42 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Nick Mathewson
1af630d32c
Bite the bullet and limit all our source lines to 80 characters, the way IBM intended.
...
svn:r5582
2005-12-14 20:40:40 +00:00
Roger Dingledine
58366ffd24
when we changed from log_fn to debug/info/notice/warn/err,
...
we screwed up the formatting in wild and unpredictable ways.
fix it before it becomes convention to format logs in wild and
unpredictable ways.
still need to do src/common/ someday.
svn:r5551
2005-12-10 09:36:26 +00:00
Nick Mathewson
39265dd72e
In my private little universe, terminals are still 80 columns. Impose a 160-character-per-line limit; this will creep down.
...
svn:r5548
2005-12-09 05:37:26 +00:00
Nick Mathewson
fea19528a1
assert_buf_ok was showing up in the profile; remove it from critical-path functions, since it hasnt triggered for ages.
...
svn:r5479
2005-11-30 22:48:58 +00:00
Roger Dingledine
c4aa9e7941
Add a new config option TestSocks so people can see if their
...
applications are using socks4, socks4a, socks5-with-ip, or
socks5-with-hostname. This way they don't have to keep mucking
with tcpdump and wondering if something got cached somewhere.
svn:r5399
2005-11-16 23:37:35 +00:00
Roger Dingledine
bf2be9abd7
Do round-robin writes of at most 16 kB per write. This might
...
be more fair on loaded Tor servers, and it might resolve our
Windows crash bug. It might also slow things down.
svn:r5332
2005-10-29 18:19:37 +00:00
Nick Mathewson
5d85560d9e
Remove last vestiges of old logging interface.
...
svn:r5317
2005-10-25 18:01:01 +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
55f2ab9cc3
Migrate a few more files to domained logging
...
svn:r5285
2005-10-18 22:21:29 +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
ba24193ab5
Make doxygen marginally happier
...
svn:r5208
2005-10-06 04:33:40 +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
92451f74a8
Reformat inconsistent function declarations.
...
svn:r5160
2005-09-30 01:09:52 +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
Roger Dingledine
6a52aa52fe
fix a pair of hard-coded urls
...
svn:r4887
2005-08-30 07:01:30 +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
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
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
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