Nick Mathewson
96ab83d3b6
Improve accuracy of comment about aes_crypt performance
...
The old comment was from before I tried a huge pile of crazy stuff to
make the inner loop faster. Short answer: GCC already knows how to
unroll loops pretty well. Other short answer: we should have made the
relay payload size an even multiple of 4, 8, or ideally 16.
2010-10-15 13:44:25 -04:00
Nick Mathewson
006acf8b3f
Fix a documention issue in circuitlist.c
2010-10-15 13:44:25 -04:00
Nick Mathewson
05274ba9b5
Kill comments saying to remove asserts once bug930 is solved.
...
It's okay to leave the asserts in: the code doesn't appear in profiles.
2010-10-15 13:44:25 -04:00
Roger Dingledine
aab6952887
fix another typo
2010-10-15 13:00:37 -04:00
Nick Mathewson
04231a2ebe
Fix an apostrophe in a comment
2010-10-15 12:39:23 -04:00
Nick Mathewson
36c5476e70
Fold timestamp_created into highres_created
...
There's no reason to keep a time_t and a struct timeval to represent
the same value: highres_created.tv_sec was the same as timestamp_created.
This should save a few bytes per circuit.
2010-10-15 12:38:02 -04:00
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
9516c1efdb
Remove XXXs about improving buf_t API: bufferevents are the future
2010-10-15 11:38:33 -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
247ce5876a
Remove "is this too slow?" XXXX comments for code not appearing in profiles
2010-10-15 11:21:33 -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
Nick Mathewson
be13b5775a
Remove an XXX in ntmain.c: a simple function call per loop is not so expensive.
2010-10-15 10:57:42 -04:00
Sebastian Hahn
01cde8dbf3
Raise libevent version needed for bufferevents
2010-10-15 02:46:19 +02:00
Sebastian Hahn
9bed40eb10
Make check-spaces happy
2010-10-14 17:54:45 +02:00
Sebastian Hahn
4556f2e7c8
Rename router_get_by_digest()
...
We now call the function router_get_by_id_digest() to make clear that
we're talking about the identity digest here, not descriptor digest.
2010-10-14 17:49:51 +02:00
Nick Mathewson
376939c9ac
Fix a few trivial bugs from the nodelist merge
2010-10-13 21:54:09 -04:00
Nick Mathewson
3af12a5557
Fix some XXXXs in connection_add_impl related to bufferevent error checking
...
This might make bufferevents more asserty for a while, but they should
make other bugs less likely to go unnoticed.
Noted by Sebastian.
2010-10-13 20:37:04 -04:00
Nick Mathewson
3d10c89201
Fix a couple users of buf_datalen that slipped in. Found by Sebastian
2010-10-13 20:36:34 -04:00
Nick Mathewson
44674369c5
Implement node_set_exit_policy_to_reject_all with a flag
...
Also remove some debugging code.
2010-10-13 20:30:40 -04:00
Nick Mathewson
3aec655694
Merge remote branch 'arma/bug1982_2'
...
Resolved a minor conflict in:
src/or/circuitbuild.c
2010-10-13 16:07:37 -04:00
Nick Mathewson
8c837db38f
Merge branch 'nodes'
2010-10-13 16:04:25 -04:00
Nick Mathewson
cbda016bc5
Send END cells on bufferevent tunneled directory conns
...
Our old code correctly called bufferevent_flush() on linked
connections to make sure that the other side got an EOF event... but
it didn't call bufferevent_flush() when the connection wasn't
hold_open_until_flushed. Directory connections don't use
hold_open_until_flushed, so the linked exit connection never got an
EOF, so they never sent a RELAY_END cell to the client, and the
client never concluded that data had arrived.
The solution is to make the bufferevent_flush() code apply to _all_
closing linked conns whose partner is not already marked for close.
2010-10-13 15:05:06 -04:00
Nick Mathewson
1c6649418d
Revert accidentally-committed changes to routerlist.c
...
This reverts part of commit a0c1c2ac01
.
2010-10-13 13:16:12 -04:00
Nick Mathewson
a0c1c2ac01
Use connection_mark_and_flush consistently.
2010-10-13 13:08:46 -04:00
Nick Mathewson
5710d99f00
Remember to re-install inbuf/outbuf callbacks on ssl bufferevents
...
If we don't, we will (among other bad things) never update
lastread/lastwritten, and so flood the network with keepalives.
2010-10-12 15:48:17 -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
c1c74c51d4
Merge remote branch 'origin/maint-0.2.2'
2010-10-12 14:50:57 -04:00
Steven Murdoch
06eafb3fcc
Fix running unit tests from outside of the build directory (fixes bug #2051 )
...
Currently the unit tests test_util_spawn_background_* assume that they
are run from the Tor build directory. This is not the case when running
make distcheck, so the test will fail. This problem is fixed by autoconf
setting BUILDDIR to be the root of the Tor build directory, and this
preprocessor variable being used to specify the absolute path to
test-child. Also, in test-child, do not print out argv[0] because this will
no longer be predictable. Found by Sebastian Hahn.
2010-10-11 23:29:52 +01: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
Sebastian Hahn
f3d000f496
Fix MIPSpro and time_t signedness detection
...
3d6e283087
silenced the autogen.sh warnings as it was supposed to, but
introduced two bugs. Fix them.
2010-10-11 19:24:25 +02:00
Sebastian Hahn
50d77ad4b6
Fix the new warnings during autogen.sh
...
Follow-up fix to 3d6e283087
for configure.in additions in master that
weren't in maint-0.2.2
2010-10-11 17:08:42 +02:00
Nick Mathewson
544a8afe5a
Merge remote branch 'sjmurdoch/bug1903'
2010-10-11 11:01:15 -04:00
Steven Murdoch
f7338d3baa
Skip running fgets_eagain test until we fix it
2010-10-11 15:56:14 +01:00
Nick Mathewson
8f76f31761
Make tor_sscanf handle %x
2010-10-11 10:50:47 -04:00
Nick Mathewson
45ce1f678f
Merge remote branch 'origin/maint-0.2.2'
2010-10-11 10:16:09 -04:00
Sebastian Hahn
3d6e283087
Fix warnings with new versions of autoconf
...
It looks like autoconf 2.68 introduced a bunch of new warnings when it
didn't like the syntax you used or forgot to use
AC_LANG_(SOURCE|PROGRAM).
2010-10-11 12:36:02 +02: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
8ee559bd63
Add a unit test for fgets (currently fails)
...
- For a non-blocking pipe, check that on EAGAIN fgets returns NULL
rather than a partial line
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
Nick Mathewson
9fe3cd0be3
Fix a crash bug when serving microdescs on a bufferevent.
2010-10-07 21:02:12 -04:00
Nick Mathewson
d0f1f9ce9e
Remove a spurious .z from microdesc fetch URLs so they no logner end with .z.z
2010-10-07 20:41:15 -04:00
Nick Mathewson
c9dece14ae
Add some missing documentation for things added in nodes branch
2010-10-07 17:10:06 -04:00
Nick Mathewson
5bab9fe79e
Actually add test_microdesc.c file.
2010-10-07 16:27:01 -04:00
Nick Mathewson
1dffefc907
Add more documentation to microdesc.c, plus another assert.
2010-10-07 16:25:27 -04:00