Nick Mathewson
94a99ad205
Add a portable tor_timercmp
...
We can't use the platform timercmp, because
1) some platforms don't have them
2) some that do have them only support certain relational operators
2010-10-15 12:35:05 -04:00
Nick Mathewson
59cba1767c
Make the return value of tor_addr_sockaddr always be signed
2010-10-15 11:36:16 -04:00
Nick Mathewson
a5289fa794
Remove the unused old fuzzy-time code
2010-10-15 11:16:42 -04:00
Nick Mathewson
adc4f678f1
Fix an xxx wrt picking libevent methods known-to-work
...
The short version is, "where we want to do it, we have nothing real to
chose from and we can't do it easily. Where it's easy to do, we have
no reason to do it yet."
2010-10-15 10:58:16 -04:00
Sebastian Hahn
9bed40eb10
Make check-spaces happy
2010-10-14 17:54:45 +02:00
Nick Mathewson
8c837db38f
Merge branch 'nodes'
2010-10-13 16:04:25 -04:00
Nick Mathewson
fbacbf9fd9
Set OpenSSL 0.9.8l renegotiation flag early enough for bufferevents
...
This seems to fix another case of bug2001.
2010-10-12 14:52:33 -04:00
Nick Mathewson
a9172c87be
Actually call connection_tls_finish_handshake() with bufferevents
...
First start of a fix for bug2001, but my test network still isn't
working: the client and the server send each other VERSIONS cells,
but never notice that they got them.
2010-10-12 14:52:33 -04:00
Nick Mathewson
8ecb5abbe1
Add header for tor_tls_log_one_error
2010-10-11 13:26:57 -04:00
Nick Mathewson
4cfa6fbaca
Log OpenSSL errors coming from bufferevent_openssl
2010-10-11 13:25:41 -04:00
Nick Mathewson
544a8afe5a
Merge remote branch 'sjmurdoch/bug1903'
2010-10-11 11:01:15 -04:00
Nick Mathewson
8f76f31761
Make tor_sscanf handle %x
2010-10-11 10:50:47 -04:00
Steven Murdoch
8a12ce2cf9
Add a unit test for tor_spawn_background
...
- Test sucessfully starting a process
- Test failing to find the executable
2010-10-10 19:08:44 +01:00
Steven Murdoch
68e576e9f9
Update documentation for tor_spawn_background
...
- Include description of stdout_read, stderr_read, and argv
2010-10-10 19:08:44 +01:00
Steven Murdoch
23e9f362a2
Fix issues in nickm's review of log_from_pipe for bug #1903
...
- Replace sscanf with tor_sscanf
- Replace use of strstr with equivalent call to strcmpstart
2010-10-10 19:08:44 +01:00
Steven Murdoch
4d694c7890
Fix nickm's comments on logging for bug #1903
...
- Use log_warn rather than log_err for bad but survivable events
2010-10-10 19:08:44 +01:00
Steven Murdoch
708ba8899f
Note icky constructs mentioned in bug #1903
...
- To be dealt with as part of bug #2029
2010-10-10 19:07:40 +01:00
Sebastian Hahn
34546e2573
Fix a compile warning on OSX 10.6
2010-10-07 06:31:08 +02:00
Nick Mathewson
4c71be65d8
Merge remote branch 'origin/maint-0.2.2'
2010-10-04 13:56:17 -04:00
Robert Ransom
1b8c8059c7
Correct a bogus comment.
...
Whether or not OpenSSL reference-counts SSL_CTX objects is irrelevant;
what matters is that Tor reference-counts its wrapper objects for
SSL_CTXs.
2010-10-04 13:53:54 -04:00
Robert Ransom
c70d9d77ab
Correct a couple of log messages in tortls.c
2010-10-04 13:53:48 -04:00
Robert Ransom
068185eca2
Fix several comments in tortls.c
2010-10-04 13:47:57 -04:00
Steven Murdoch
5a77c64834
Fix issues in nickm's review of format_helper_exit_status for bug #1903
...
- Responsibility of clearing hex_errno is no longer with caller
- More conservative bounds checking
- Length requirement of hex_errno documented
- Output format documented
2010-10-04 14:31:27 +01:00
Nick Mathewson
b5341314c1
Implement a few more node-based functions
...
Some of these functions only work for routerinfo-based nodes, and as
such are only usable for advisory purposes. Fortunately, our uses
of them are compatible with this limitation.
2010-10-01 18:14:27 -04:00
Nick Mathewson
fe309e7ad6
Implement a basic node and nodelist type
...
The node_t type is meant to serve two key functions:
1) Abstracting difference between routerinfo_t and microdesc_t
so that clients can use microdesc_t instead of routerinfo_t.
2) Being a central place to hold mutable state about nodes
formerly held in routerstatus_t and routerinfo_t.
This patch implements a nodelist type that holds a node for every
router that we would consider using.
2010-10-01 18:14:26 -04:00
Nick Mathewson
80b515b85f
Initialize fd values in tor_port_check_forwarding to -1
2010-10-01 18:14:17 -04:00
Nick Mathewson
495e630a49
Merge branch 'tor-fw-squashed2'
...
Conflicts:
src/common/util.c
2010-09-30 16:22:39 -04:00
Nick Mathewson
0e9d969bb2
Fix space and formatting issues
2010-09-30 15:55:42 -04:00
Nick Mathewson
d39e46c26d
Merge remote branch 'origin/maint-0.2.2'
2010-09-30 15:30:14 -04:00
Nick Mathewson
2835dcf69f
#if-out the fw-helper code in util.c when building on windows
2010-09-30 12:58:48 -04:00
Steven Murdoch
a6dc00fa75
Start tor-fw-helper in the background, and log whatever it outputs
2010-09-30 11:40:37 -04:00
Sebastian Hahn
45c51e3238
Fix check-spaces
2010-09-30 06:17:32 +02:00
Roger Dingledine
50720a9a4f
make c612ddee
compile with old libevents
2010-09-29 02:50:46 -04:00
Nick Mathewson
73d93c033d
Autodetect the number of CPUs when possible if NumCPUs==0
...
This is needed for IOCP, since telling the IOCP backend about all
your CPUs is a good idea. It'll also come in handy with asn's
multithreaded crypto stuff, and for people who run servers without
reading the manual.
2010-09-28 14:42:21 -04:00
Nick Mathewson
c612ddee17
Add a new option to enable/disable IOCP support
2010-09-28 14:01:45 -04:00
Nick Mathewson
5c83c06c98
Merge branch 'bufferevent5'
2010-09-27 16:48:25 -04:00
Nick Mathewson
6950749c0a
Make the bufferevent code use the renegotiation-reenabling hack
2010-09-27 16:07:14 -04:00
Nick Mathewson
e385961542
Merge remote branch 'public/bug1954' into maint-0.2.2
2010-09-27 15:39:40 -04:00
Nick Mathewson
b7ae108e18
Always defer bufferevent_openssl callbacks to avoid reentrant invocations
2010-09-27 14:29:42 -04:00
Nick Mathewson
b49cf6a77a
Fix whitespace in bufferevents branch
2010-09-27 14:22:18 -04:00
Nick Mathewson
a16ed90ec8
Document and/or fix stuff found by Sebastian in code review
...
Thanks to Sebastian for his code-review of the bufferevents patch series.x
2010-09-27 14:22:18 -04:00
Sebastian Hahn
865bea3b89
Some bufferevents related fixes and pointers for nickm
2010-09-27 14:22:18 -04:00
Nick Mathewson
ffd5070b04
Convert bufferevents to use rate-limiting.
...
This requires the latest Git version of Libevent as of 24 March 2010.
In the future, we'll just say it requires Libevent 2.0.5-alpha or
later.
Since Libevent doesn't yet support hierarchical rate limit groups,
there isn't yet support for tracking relayed-bytes separately when
using the bufferevent system. If a future version does add support
for hierarchical buckets, we can add that back in.
2010-09-27 14:22:18 -04:00
Nick Mathewson
c74a4ab515
Documentation for a few bufferevent functions.
2010-09-27 12:31:14 -04:00
Nick Mathewson
bd3612cd2b
Get SSL connections and linked connections working with bufferevents.
...
Clients are now verified to work and build circuits correctly. There
are still a few warnings given here and there that I need to look into.
2010-09-27 12:31:14 -04:00
Nick Mathewson
57e7b54b7b
Teach read_event/write_event manipulators about bufferevents.
...
Add an --enable-bufferevents config switch.
2010-09-27 12:28:43 -04:00
Nick Mathewson
d073d7d4eb
Consistency issues in load_windows_system_library patch. Thanks Sebastian
2010-09-24 14:16:55 -04:00
Nick Mathewson
c8e1538a0b
Merge remote branch 'sebastian/continuation'
2010-09-24 13:43:55 -04:00
Sebastian Hahn
851255170a
Note that the torrc format doesn't need nl at end
2010-09-24 13:32:27 +02:00
Nick Mathewson
0a0cc4599f
Tweak continuation-and-comment logic
...
I think there was a read-off-the-end-of-the-buffer bug that I fixed.
At least I added some good comments, I hope.
2010-09-23 22:58:04 -04:00