Nick Mathewson
b88db7573c
Merge remote-tracking branch 'public/benchmark'
2011-11-18 18:42:49 -05:00
Nick Mathewson
6e6a661296
New UserspaceIOCPBuffers option to set SO_{SND,RCV}BUF to zero
...
When running with IOCP, we are in theory able to use userspace-
allocated buffers to avoid filling up the stingy amount of kernel
space allocated for sockets buffers.
The bufferevent_async implementation in Libevent provides this
ability, in theory. (There are likely to be remaining bugs). This
patch adds a new option that, when using IOCP bufferevents, sets
each socket's send and receive buffers to 0, so that we should use
this ability.
When all the bugs are worked out here, if we are right about bug 98,
this might solve or mitigate bug 98.
This option is experimental and will likely require lots of testing
and debugging.
2011-11-18 17:43:03 -05:00
Nick Mathewson
6a6233b70b
Fix a couple of memory leaks in rend_add_service spotted by coverity
2011-11-17 17:14:49 -05:00
Roger Dingledine
95163ec072
trivial code cleanup in generate_v2_networkstatus_opinion()
2011-11-16 18:59:20 -05:00
Roger Dingledine
3992c5487f
fix trivial typo
...
somebody should s/authoritative directory server/directory authority/g
at some point
2011-11-16 18:10:13 -05:00
Nick Mathewson
2408934516
Merge remote-tracking branch 'sebastian/bug2893'
2011-11-16 17:30:24 -05:00
Nick Mathewson
2f3dad10a8
Merge branch 'bug4457_master'
2011-11-16 16:23:15 -05:00
Nick Mathewson
5a02406ae0
Merge branch 'bug4457_022' into maint-0.2.2
2011-11-16 16:22:47 -05:00
Sebastian Hahn
7bd46344df
Eat all whitespace after a control command
2011-11-16 18:14:06 +01:00
Roger Dingledine
67650a869d
allow manual control port authenticate via netcat
2011-11-16 18:14:03 +01:00
Sebastian Hahn
8200a85323
Fix a check-spaces complaint
2011-11-16 16:40:56 +01:00
Sebastian Hahn
9fc7725aba
Don't allow building on platforms where AF_UNSPEC != 0
2011-11-16 16:39:04 +01:00
Sebastian Hahn
688b53059e
Don't fail to send netinfo if real_addr is unset
...
If we haven't set real_addr on a connection, we also now that _base.addr
hasn't been tampered with. So we can use that.
2011-11-16 16:05:46 +01:00
Nick Mathewson
69dd993a92
Make certificate skew into a protocol warning
2011-11-15 15:57:46 -05:00
Nick Mathewson
87622e4c7e
Allow up to a 30 days future skew, 48 hours past skew in certs.
2011-11-15 15:57:41 -05:00
Nick Mathewson
26fcb4bb8c
Merge remote-tracking branch 'sebastian/bug4469'
2011-11-15 11:59:37 -05:00
Nick Mathewson
3ef40f6993
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-15 11:42:38 -05:00
Sebastian Hahn
4b8d2ad6f5
Fix compile warnings on windows
2011-11-15 13:34:04 +01:00
Nick Mathewson
5bea660f8e
Use real_addr in send_netinfo
...
Reported by "troll_un"; bugfix on 0.2.0.10-alpha; fixes bug 4349.
2011-11-14 22:43:40 -05:00
Nick Mathewson
4af82fb388
Merge remote-tracking branch 'public/bug4367'
2011-11-14 22:35:49 -05:00
Nick Mathewson
7be50c26e8
Disable IOCP and retry event_base_new_with_config once on failure
...
This is a fancier bug4457 workaround for 0.2.3. In 0.2.2, we could
just tell Libevent "Don't enable locking!" so it wouldn't try to make
the event_base notifiable. But for IOCP, we need a notifiable base.
(Eventually, we'll want a notifiable base for other stuff, like
multithreaded crypto.) So the solution is to try a full-featured
initialization, and then retry with all the options turned off if that
fails.
2011-11-14 18:12:29 -05:00
Nick Mathewson
cf8117136c
Merge remote-tracking branch 'public/bug4457_022' into bug4457_master
...
Conflicts:
src/common/compat_libevent.c
Resolving conflict by not taking 7363eae13c
("Use the
EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation"): in
Tor 0.2.3.x, we _do_ sometimes use notifiable event bases.
2011-11-14 17:59:42 -05:00
Nick Mathewson
0f6c021617
Detect failure from event_init() or event_base_new_with_config()
2011-11-14 17:53:45 -05:00
Nick Mathewson
7363eae13c
Use the EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation
...
In Tor 0.2.2, we never need the event base to be notifiable, since we
don't call it from other threads. This is a workaround for bug 4457,
which is not actually a Tor bug IMO.
2011-11-14 17:48:57 -05:00
Nick Mathewson
8592126a18
Merge remote-tracking branch '4ZM/topic/test/4433_address'
2011-11-14 12:53:34 -05:00
Nick Mathewson
9292a78722
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-14 11:10:45 -05:00
Nick Mathewson
2b7bdc295a
Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2
2011-11-14 11:10:27 -05:00
Nick Mathewson
13f02c387f
Merge remote-tracking branch 'karsten/geoip-november2011' into maint-0.2.1
2011-11-14 11:10:10 -05:00
George Kadianakis
406ae1ba5a
Use callback-driven approach to block renegotiations.
...
Also use this new approach in the bufferevents-enabled case.
2011-11-13 14:47:11 +01:00
Gisle Vanem
af12a7ac00
Fix test_util.c compilation on MSVC
...
"Those '{}' constructs are not well liked by MSVC (cl v.16.xx)."
Received on tor-dev; fixes bug on 0.2.3.3-alpha.
2011-11-11 23:49:53 -05:00
Nick Mathewson
ce51887291
All-in-one benchmark test for cell crypto
2011-11-11 13:06:17 -05:00
Nick Mathewson
4c9b6df84d
Convert bench_dmap to produce reasonable output.
2011-11-11 12:46:22 -05:00
Nick Mathewson
ff93535c71
New src/test/bench.c to allow us to actually _run_ benchmark code
...
Yes, the timing functions are suboptimal. Please improve!
2011-11-11 12:35:08 -05:00
Sebastian Hahn
a2ecf131f3
Remove the torint.h include from aes.h
...
This hasn't been needed for a while, there's nothing in aes.h now that
would need uint* stuff.
2011-11-11 11:47:25 -05:00
Sebastian Hahn
38123ffa23
Fix the bench_{aes,dmap} test functions to work with TT
...
TT expects them to be named test_bench_{aes,dmap}. Also change the
DISABLED macro to reflect that.
2011-11-11 11:47:25 -05:00
Nick Mathewson
46d236c684
Remove vestiges of RIJNDAEL_COUNTER_OPTIMIZATION
2011-11-11 11:47:25 -05:00
Nick Mathewson
7d8edfcceb
Stop using "u32" and "u8" in aes.c
2011-11-11 11:47:24 -05:00
Nick Mathewson
21cf7079fe
Dump our internal AES implementation
...
This thing was pretty pointless on versions of OpenSSL 0.9.8 and later,
and almost totally pointless on OpenSSL 1.0.0.
Also, favor EVP by default, since it lets us get hardware acceleration
where present. (See issue 4442)
2011-11-11 11:47:24 -05:00
Nick Mathewson
d348cfdbdf
Merge remote-tracking branch '4ZM/topic/test/4434_address'
2011-11-11 11:07:29 -05:00
Anders Sundman
ca1e88a0db
Unit tests for tor_addr_to_str
2011-11-11 08:32:26 +01:00
Anders Sundman
b6b7efc084
Unit tests for tor_addr_to_PTR_name
2011-11-11 08:14:42 +01:00
Anders Sundman
1b97588a31
Return value bugfix of tor_addr_to_PTR_name
...
Returns value semantics was inconsitent between IPv4 and IPv6
2011-11-11 08:14:32 +01:00
Anders Sundman
930eed21c3
Fixed buffer bounds check bug in tor_addr_to_str
2011-11-11 07:53:58 +01:00
Anders Sundman
8c7658dfdf
Unit tests for tor_inet_ntop
2011-11-11 07:49:41 +01:00
Anders Sundman
01e1dc0e62
Fixed of-by-one error in tor_inet_ntop
...
The of-by-one error could lead to 1 byte buffer over runs IPv6 for addresses.
2011-11-11 07:47:00 +01:00
Anders Sundman
8d6ce1625f
Unit tests for eat_whitespace functions
2011-11-10 23:26:39 +01:00
Anders Sundman
c0efd461d3
Unit test for n_bits_set func
2011-11-10 23:26:39 +01:00
Anders Sundman
fa9aef6eec
Unit test for hex_str func
...
Note: Too long input is undefined by contract. That behaviour should not be asserted in test.
2011-11-10 23:26:29 +01:00
Nick Mathewson
e1c6431e42
Correct the handling of overflow behavior in smartlist_ensure_capacity
...
The old behavior was susceptible to the compiler optimizing out our
assertion check, *and* could still overflow size_t on 32-bit systems
even when it did work.
2011-11-09 14:48:52 -05:00
Nick Mathewson
f0589da0e3
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-09 11:04:40 -05:00
Nick Mathewson
8adec87050
Merge remote-tracking branch 'rransom-tor/bug4426' into maint-0.2.2
2011-11-09 11:03:20 -05:00
Nick Mathewson
9452b65680
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-09 10:28:43 -05:00
Sebastian Hahn
0cc7a63fc0
Don't warn when compiling with --disable-threads
...
STMT_VOID semantics suggested by nick, thanks!
2011-11-09 10:26:35 +01:00
Nick Mathewson
d4489a2851
Rewrite comment at head of eventdns.c
...
Let's make it more obvious to the everyday reader that eventdns.c is
a) Based on Libevent's evdns.c
b) Slated for demolition
c) Supposed to keep API-compatibility with Libevent.
d) Not worth tweaking unless there's a bug.
2011-11-09 00:23:44 -05:00
Robert Ransom
565463243c
Include HiddenServiceDir in some warning messages
2011-11-07 17:02:50 -08:00
Robert Ransom
bfb900e426
Add some XXXes
2011-11-07 15:32:43 -08:00
Robert Ransom
ef2b0bd528
Add GETINFO md/id/* and md/name/* items for relay microdescs
2011-11-07 15:32:33 -08:00
Nick Mathewson
4a7225d4c9
Merge remote-tracking branch 'rransom-tor/bug4411'
2011-11-07 11:57:07 -05:00
Robert Ransom
749b37bcf4
Fix assert on clients of and authorities for v0 HS descs
2011-11-07 08:48:23 -08:00
Nick Mathewson
ceebc8283f
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-07 11:48:02 -05:00
Nick Mathewson
ca282e5326
Merge branch 'bug4424' into maint-0.2.2
2011-11-07 11:47:28 -05:00
Nick Mathewson
02d89c5c66
Remove an extraneous "if" in the 4424 fix
2011-11-07 11:46:51 -05:00
Robert Ransom
65a0d7e7ef
Don't leak an extend_info_t in rend_client_any_intro_points_usable
2011-11-07 08:35:51 -08:00
Nick Mathewson
51f53b590e
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-07 10:44:02 -05:00
Nick Mathewson
4d8306e0e9
Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2
2011-11-07 10:42:34 -05:00
Karsten Loesing
6d45c6d548
Update to the November 2011 GeoIP database.
2011-11-07 14:23:48 +01:00
Dan Rosenberg
d5161ab895
Fix remotely triggerable assert during ip decryption
...
Fixes bug 4410.
2011-11-06 17:23:14 +01:00
George Kadianakis
e097bffaed
Fix issues pointed out by nickm.
...
- Rename tor_tls_got_server_hello() to tor_tls_got_client_hello().
- Replaced some aggressive asserts with LD_BUG logging.
They were the innocent "I believe I understand how these callbacks
work, and this assert proves it" type of callbacks, and not the "If
this statement is not true, computer is exploding." type of
callbacks.
- Added a changes file.
2011-11-03 22:33:50 +01:00
Nick Mathewson
c1005dd6d3
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-03 13:24:46 -04:00
George Kadianakis
3ae96845d3
Fix a memleak when fetching descriptors for bridges in ExcludeNodes.
2011-11-03 13:23:50 -04:00
Nick Mathewson
325a659cb1
Even when we can't answer an AUTH_CHALLENGE, send NETINFO.
...
Fixes bug 4368; fix on 0.2.3.6-alpha; bug found by "frosty".
2011-11-03 12:40:02 -04:00
Nick Mathewson
88c4b425bd
Fix bug 4367: correctly detect auth_challenge cells we can't use
...
Found by frosty_un, bugfix on 0.2.3.6-alpha, fix suggested by arma.
2011-11-03 11:52:35 -04:00
Andrea Gelmini
72d4d762c1
Remove some duplicate includes
2011-11-03 10:23:33 -04:00
Sebastian Hahn
eb30999972
Fix a check-spaces complaint
2011-11-02 20:57:58 +01:00
Sebastian Hahn
c98faa1a23
Resolve a crash when running as dirauth
...
When we're asked for our own descriptor, don't crash.
2011-11-02 20:57:23 +01:00
George Kadianakis
d4ba301f29
Tell the bridge operator on what ports his transports spawned.
...
- Add a LOG_WARN message when registering the transports of a server
managed proxy, so that the bridge operator can see in what ports the
transports spawned and notify his/her clients.
2011-11-02 14:23:41 +01:00
Roger Dingledine
be1f3a5eb5
normalize the name of the CERTS cell
2011-10-31 04:33:38 -04:00
Roger Dingledine
c2d03beb65
blurb and version bump for 0.2.3.7-alpha
2011-10-30 18:39:49 -04:00
Roger Dingledine
eeb6588389
bridges send netinfo cells like clients on outgoing conns
...
fixes bug 4348
2011-10-29 21:43:23 -04:00
Sebastian Hahn
dfdb4fde1a
Disable stats requiring geoip info if we have none
...
In other parts of the code we will otherwise attempt to collect these
statistics, and that will lead to crashes.
2011-10-29 11:20:02 +02:00
Nick Mathewson
4dd8d811d6
Merge branch 'bug4343'
2011-10-28 18:05:25 -04:00
Nick Mathewson
00a0de8508
Bump version to 0.2.3.6-alpha-dev
2011-10-28 18:05:17 -04:00
Nick Mathewson
212c3acd42
Merge remote-tracking branch 'origin/maint-0.2.2'
...
Conflicts:
src/or/command.c
2011-10-28 18:02:57 -04:00
Nick Mathewson
cf8bffa359
Discard all cells on a marked connection
...
Fix for bug 4299
2011-10-28 17:04:15 -04:00
Nick Mathewson
2018f86e0c
"Authetnicate" is not the usual spelling
2011-10-28 16:41:04 -04:00
Nick Mathewson
c2a098e980
Fix a double-free that would occur on an invalid cert in a CERTS cell
...
We would stash the certs in the handshake state before checking them
for validity... and then if they turned out to be invalid, we'd give
an error and free them. Then, later, we'd free them again when we
tore down the connection.
Fixes bug 4343; fix on 0.2.3.6-alpha.
2011-10-28 16:38:56 -04:00
Nick Mathewson
7a8960cf1b
Fix a memory-poisoning memset in tortls.c
2011-10-28 16:37:42 -04:00
Nick Mathewson
a2517fa77c
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-10-28 09:53:23 -04:00
Sebastian Hahn
f6b1dc2805
Fix typo, spotted by tmpname0901. Thanks!
2011-10-28 09:52:24 -04:00
Roger Dingledine
48bafb47ac
bump maint-0.2.2 to 0.2.2.34-dev
2011-10-27 20:50:48 -04:00
Roger Dingledine
5d3095152e
bump maint to 0.2.1.31
2011-10-27 20:01:58 -04:00
Roger Dingledine
1a160ae523
bump to 0.2.3.6-alpha
2011-10-26 20:33:23 -04:00
Sebastian Hahn
2dec6597af
Merge branch 'maint-0.2.2_secfix' into master_secfix
...
Conflicts:
src/common/tortls.c
src/or/connection_or.c
src/or/dirserv.c
src/or/or.h
2011-10-27 00:38:45 +02:00
Robert Ransom
4684ced1b3
Add option to give guard flag to relays without the CVE-2011-2768 fix
...
This way, all of the DA operators can upgrade immediately, without nuking
every client's set of entry guards as soon as a majority of them upgrade.
Until enough guards have upgraded, a majority of dirauths should set this
config option so that there are still enough guards in the network. After
a few days pass, all dirauths should use the default.
2011-10-26 23:56:47 +02:00
Robert Ransom
00fffbc1a1
Don't give the Guard flag to relays without the CVE-2011-2768 fix
2011-10-26 23:42:39 +02:00
Robert Ransom
4d0f152aad
Make tor_version_same_series non-static
2011-10-26 23:36:30 +02:00
Sebastian Hahn
df05e5ef4d
Merge branch 'maint-0.2.1_secfix' into maint-0.2.2_secfix
...
Conflicts:
src/or/connection_or.c
2011-10-26 23:30:27 +02:00
Robert Ransom
a74e7fd40f
Reject create cells on outgoing OR connections from bridges
2011-10-26 23:21:14 +02:00
Robert Ransom
c05bb53508
Mark which OR connections are outgoing
2011-10-26 23:21:11 +02:00
Robert Ransom
af12c39d6d
Don't use any OR connection which sent us a CREATE_FAST cell for an EXTEND
...
Fix suggested by Nick Mathewson.
2011-10-26 23:20:56 +02:00