Taylor Yu
86477f4e3f
Use baseXX length macros in baseXX_encode()
...
Use the new baseXX length macros to clean up the length checks in the
baseXX_encode() functions.
2017-04-06 17:43:16 -04:00
Taylor Yu
e7f40baade
Add macros for baseXX encoding lengths
2017-04-06 15:43:55 -04:00
Taylor Yu
c5adab0258
Make CEIL_DIV() slightly more overflow-safe
2017-04-06 13:54:46 -04:00
Nick Mathewson
9d34a1e052
Merge branch 'storage_labeled_squashed'
2017-04-06 11:49:00 -04:00
Nick Mathewson
5567a80caa
Explain config_line_find() behavior on duplicates.
2017-04-06 11:48:41 -04:00
Nick Mathewson
89b673f24b
Add an assertion to config_line_append().
2017-04-06 11:48:41 -04:00
Nick Mathewson
95a4f2d525
Additional unit tests to improve conscache coverage
2017-04-06 11:48:41 -04:00
Nick Mathewson
2b5b6025bd
Tests for cleanup and reference counting on conscache
2017-04-06 11:48:41 -04:00
Nick Mathewson
73e9bc914f
Tests for simple cases of conscache code.
2017-04-06 11:48:41 -04:00
Nick Mathewson
4404dc5756
Add a 'consensus cache' type on top of storagedir.
...
Every file in the cache is labeled. The labels are held in memory;
the bodies are mapped on demand.
2017-04-06 11:48:41 -04:00
Nick Mathewson
5f8860a16f
Unit tests for labelled storagedir entries
2017-04-06 11:48:41 -04:00
Nick Mathewson
37bb3b31fa
Add some "labeled storagedir" abstractions.
...
These add a tiny bit of structure on top of the regular storagedir
abstractions in order to store key-value lists at the head of each
document.
2017-04-06 11:48:40 -04:00
Nick Mathewson
4c2ad48568
Merge branch 'maint-0.3.0'
2017-04-06 08:32:12 -04:00
Nick Mathewson
a5b50ef25b
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-04-06 08:32:04 -04:00
Nick Mathewson
7d7770f735
Merge branch 'maint-0.2.8' into maint-0.2.9
2017-04-06 08:31:54 -04:00
Nick Mathewson
91c6b18ca0
Merge branch 'maint-0.2.7-redux' into maint-0.2.8
2017-04-06 08:31:32 -04:00
Nick Mathewson
44bc8821b1
Merge branch 'maint-0.2.6' into maint-0.2.7-redux
2017-04-06 08:31:23 -04:00
Nick Mathewson
21d776738c
Merge branch 'maint-0.2.5' into maint-0.2.6
2017-04-06 08:31:18 -04:00
Nick Mathewson
a8a860e1da
Merge branch 'maint-0.2.4' into maint-0.2.5
2017-04-06 08:31:12 -04:00
Karsten Loesing
9d7933296c
Update geoip and geoip6 to the April 4 2017 database.
2017-04-06 10:52:39 +02:00
David Goulet
0fdad78fe1
cell: Do not warn on hidden service invalid port
...
When a client tried to connect to an invalid port of an hidden service, a
warning was printed:
[warn] connection_edge_process_relay_cell (at origin) failed.
This is because the connection subsystem wants to close the circuit because
the port can't be found and then returns a negative reason to achieve that.
However, that specific situation triggered a warning. This commit prevents it
for the specific case of an invalid hidden service port.
Fixes #16706
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-05 16:28:37 -04:00
Nick Mathewson
06fe8a14c4
bump to 0.3.0.5-rc-dev
2017-04-05 10:03:09 -04:00
Nick Mathewson
b6f22524ee
Move config line parsing function to confline.c
2017-04-04 11:11:01 -04:00
Nick Mathewson
c2947dbb86
Move config_line_t functions from confparse.c into common.
...
I'm doing this to storagedir to used config_line_t.
2017-04-04 11:11:01 -04:00
Nick Mathewson
321c1c453e
Merge branch 'maint-0.3.0'
2017-04-04 09:43:23 -04:00
David Goulet
7519584347
hs: Expose hs_service.c functions for unit tests
...
In order to avoid src/or/hs_service.o to contain no symbols and thus making
clang throw a warning, the functions are now exposed not just to unit tests.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-04 09:41:14 -04:00
Taylor Yu
b1c7e5d8c0
Capture expected log in test_circuitbuild.c
...
Capture the warning for the unhandled circuit purpose test case, both
to clean up the test log and to confirm that it gets logged.
2017-04-03 15:24:59 -04:00
Nick Mathewson
67c88fd10d
Merge branch 'bug13790_rebased'
2017-04-03 11:58:37 -04:00
Taylor Yu
f0a57df55c
Test unhandled purpose in route_len_for_purpose()
...
Check that route_len_for_purpose() (helper for new_route_len())
correctly fails a non-fatal bug assertion if it encounters an
unhandled circuit purpose when it is called with exit node info.
2017-04-03 11:58:11 -04:00
Taylor Yu
ceedcfe9f2
Refactor and comment new_route_len()
...
Add a new helper function route_len_for_purpose(), which explicitly
lists all of the known circuit purposes for a circuit with a chosen
exit node (unlike previously, where the default route length for a
chosen exit was DEFAULT_ROUTE_LEN + 1 except for two purposes). Add a
non-fatal assertion for unhandled purposes that conservatively returns
DEFAULT_ROUTE_LEN + 1.
Add copious comments documenting which circuits need an extra hop and
why.
Thanks to nickm and dgoulet for providing background information.
2017-04-03 11:58:11 -04:00
Taylor Yu
1e8e8a4e94
Add tests for new_route_len()
2017-04-03 11:58:11 -04:00
Nick Mathewson
6ec3228220
version bump
2017-04-03 09:36:42 -04:00
Nick Mathewson
a06c465333
Merge remote-tracking branch 'teor/bug21596_030' into maint-0.3.0
2017-04-03 09:28:33 -04:00
Nick Mathewson
5d8061cd01
Merge remote-tracking branch 'public/bug21415_testfix_030' into maint-0.3.0
2017-04-03 09:27:40 -04:00
Nick Mathewson
28f9b68e87
Move "change cert expiration and re-sign" fn into tortls.c
...
This lets test_link_handshake stop including openssl headers.
2017-03-31 10:04:45 -04:00
Nick Mathewson
5ca0d6daf0
Mark many private tortls.h APIs as openssl-only.
...
This change lets us remove the openssl/ssl.h include from
test_link_handshake.c.
2017-03-31 10:04:45 -04:00
Nick Mathewson
a8b9aba912
Change many tortls.h declarations of private APIs to use structs
...
This change makes it so those those APIs will not require prior
inclusion of openssl headers. I've left some APIs alone-- those
will change to be extra-private.
2017-03-31 10:04:45 -04:00
Nick Mathewson
706c44a6ce
Remove some now-needless openssl includes from src/test.
...
It would appear that these includes weren't actually used.
2017-03-31 10:04:44 -04:00
Nick Mathewson
a4964466a5
Remove openssl/evp.h dependency from test_crypto.c
2017-03-31 10:04:44 -04:00
Nick Mathewson
1a14e5be91
Remove crypto/rand include from test_crypto.c
...
Create a new test_crypto_openssl to test openssl-only crypto.c
functionality.
2017-03-31 10:04:44 -04:00
Nick Mathewson
38fb651f0d
Make our ed25519 implementations no longer use openssl directly.
2017-03-31 10:04:44 -04:00
Nick Mathewson
3fc4f81de3
Make crypto_ed25519.c no longer depend on openssl
...
Now it calls through our own crypto API.
2017-03-31 10:04:44 -04:00
Nick Mathewson
e7506c03cf
Isolate dmalloc/openssl bridge code to crypto.c
...
This makes it so main.c, and the rest of src/or, no longer need to
include any openssl headers.
2017-03-31 10:04:44 -04:00
Nick Mathewson
04f1ddaa2a
Fix utimbuf initialization in storagedir/cleaning test
2017-03-29 09:10:35 +02:00
Nick Mathewson
fc02b8cf7a
Fix another 32-bit warning in the spooling code
2017-03-29 09:07:51 +02:00
Nick Mathewson
be778a65df
Fix i386 compilation from spooling patch. I seem to be good at breaking that.
2017-03-28 21:41:59 +02:00
Nick Mathewson
208c2a5c74
Merge branch 'spooling_squashed'
2017-03-28 19:55:18 +02:00
Nick Mathewson
003a7fe2a3
Add nonfatal asserts for return val of dirserv_flushed_some
2017-03-28 19:55:04 +02:00
Nick Mathewson
436b975e21
Improve documentation for connection_dirserv_flushed_some.
2017-03-28 19:55:03 +02:00
Nick Mathewson
8aa69a1b69
Refactor the directory spool implementation
...
The old implementation had duplicated code in a bunch of places, and
it interspersed spool-management with resource management. The new
implementation should make it easier to add new resource types and
maintain the spooling code.
Closing ticket 21651.
2017-03-28 19:55:03 +02:00