Nick Mathewson
1d068625dd
Move relay_handshake.[ch] into src/feature/relay, and make it optional
2020-02-20 10:41:06 -05:00
Nick Mathewson
dd4fa9b468
Extract relay-only handshake code into its own file.
...
This is not the only relay-only handshake code, but it is most of
such code that is in connection_or.c.
2020-02-19 19:11:57 -05:00
Nick Mathewson
4f02812242
It's 2020. Update the copyright dates with "make update-copyright"
2020-01-08 18:39:17 -05:00
teor
8c23ac4ae7
Replace several C identifiers.
...
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
EXPOSE_CLEAN_BACKTRACE BACKTRACE_PRIVATE \
TOR_CHANNEL_INTERNAL_ CHANNEL_OBJECT_PRIVATE \
CHANNEL_PRIVATE_ CHANNEL_FILE_PRIVATE \
EXPOSE_ROUTERDESC_TOKEN_TABLE ROUTERDESC_TOKEN_TABLE_PRIVATE \
SCHEDULER_PRIVATE_ SCHEDULER_PRIVATE
2019-12-20 13:27:58 +10:00
Nick Mathewson
4845ab53f0
Make all our struct names end with "_t".
...
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
address_ttl_s address_ttl_t \
aes_cnt_cipher aes_cnt_cipher_t \
authchallenge_data_s authchallenge_data_t \
authenticate_data_s authenticate_data_t \
cached_bw_event_s cached_bw_event_t \
cbuf cbuf_t \
cell_ewma_s cell_ewma_t \
certs_data_s certs_data_t \
channel_idmap_entry_s channel_idmap_entry_t \
channel_listener_s channel_listener_t \
channel_s channel_t \
channel_tls_s channel_tls_t \
circuit_build_times_s circuit_build_times_t \
circuit_muxinfo_s circuit_muxinfo_t \
circuitmux_policy_circ_data_s circuitmux_policy_circ_data_t \
circuitmux_policy_data_s circuitmux_policy_data_t \
circuitmux_policy_s circuitmux_policy_t \
circuitmux_s circuitmux_t \
coord coord_t \
cpuworker_job_u cpuworker_job_u_t \
cv_testinfo_s cv_testinfo_t \
ddmap_entry_s ddmap_entry_t \
dircollator_s dircollator_t \
dist_ops dist_ops_t \
ecdh_work_s ecdh_work_t \
ewma_policy_circ_data_s ewma_policy_circ_data_t \
ewma_policy_data_s ewma_policy_data_t \
fp_pair_map_entry_s fp_pair_map_entry_t \
fp_pair_map_s fp_pair_map_t \
guard_selection_s guard_selection_t \
mbw_cache_entry_s mbw_cache_entry_t \
outbuf_table_ent_s outbuf_table_ent_t \
queued_event_s queued_event_t \
replyqueue_s replyqueue_t \
rsa_work_s rsa_work_t \
sandbox_cfg_elem sandbox_cfg_elem_t \
scheduler_s scheduler_t \
smp_param smp_param_t \
socket_table_ent_s socket_table_ent_t \
state_s state_t \
threadpool_s threadpool_t \
timeout_cb timeout_cb_t \
tor_libevent_cfg tor_libevent_cfg_t \
tor_threadlocal_s tor_threadlocal_t \
url_table_ent_s url_table_ent_t \
worker_state_s worker_state_t \
workerthread_s workerthread_t \
workqueue_entry_s workqueue_entry_t
2019-11-07 08:41:22 -05:00
Nick Mathewson
931a5db2a7
Re-run make autostyle.
2019-10-22 09:40:31 -04:00
Nick Mathewson
4fad456148
test: Hide some test-declaration macro definitions to COCCI.
...
(These ones cause parsing failures.)
2019-10-22 09:32:13 -04:00
Nick Mathewson
60213a3621
Run "make autostyle."
2019-06-05 09:33:35 -04:00
Nick Mathewson
295feeb093
Replace all remaining tor_mem_is_zero() with fast_mem_is_zero()
2019-04-30 14:49:05 -04:00
Nick Mathewson
2f683465d4
Bump copyright date to 2019
2019-01-16 12:33:22 -05:00
Nick Mathewson
991bec67ee
When Tor is compiled with NSS, don't claim support for LinkAuth=1
...
Closes ticket 27288
2018-09-16 13:28:29 -04:00
Nick Mathewson
c567b8fcb4
NSS support for x509 certs
...
7 unit tests are failing at this point, but they're all TLS-related.
2018-08-22 16:11:45 -04:00
Nick Mathewson
5245a296c5
Make some x509 functions generic; remove some fields NSS doesn't need
2018-08-21 12:25:33 -04:00
Nick Mathewson
598bc78bfa
Extract tortls structures into a new header; clean up a little
2018-08-21 12:25:33 -04:00
Nick Mathewson
9a4f05b05c
Split X509 code out of tortls.c
2018-08-21 12:25:33 -04:00
Nick Mathewson
ef486e3c02
Fix every include path changed in the previous commit (automated)
...
I am very glad to have written this script.
2018-07-05 17:15:50 -04:00
Nick Mathewson
471104eaa5
Remove needless includes from or.h
...
or.h should really include only the minimum of stuff from or/*,
common/*, and lib/*.
2018-07-01 15:20:37 -04:00
Nick Mathewson
6ac64e16ed
Eliminate compat.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
0dab29ce10
Run rectify_include_paths.py
2018-06-20 09:35:05 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Nick Mathewson
fde868ffe3
Extract cell type and their queues into new headers
...
Since packed_cell and destroy_cell exist only to be queued, they go
in the same headers as the queues.
2018-06-15 15:27:46 -04:00
Nick Mathewson
bcc283bcc9
Split or_handshake_{certs,state}_t into their own headers.
2018-06-15 10:56:15 -04:00
Nick Mathewson
19c34b4658
Move or_connection_t to its own header.
2018-06-15 10:48:50 -04:00
Nick Mathewson
a48ba072a9
Rename connection_free_ to connection_free_minimal.
2017-12-08 14:47:19 -05:00
Nick Mathewson
011d94fb11
apply ahf's test_assert_null.cocci
2017-08-24 15:55:27 -04:00
Alexander Færøy
c4744a01cc
Fix operator usage in src/test/*.c
...
This patch fixes the operator usage in src/test/*.c to use the symbolic
operators instead of the normal C comparison operators.
This patch was generated using:
./scripts/coccinelle/test-operator-cleanup src/test/*.[ch]
2017-08-24 15:24:34 -04:00
Nick Mathewson
bbc75faed1
Merge branch 'maint-0.3.0' into maint-0.3.1
2017-07-14 09:06:44 -04:00
Nick Mathewson
759154b1ad
Fix unit test memory leak in certs_ok_ed25519.
...
Fixes bug 22803; bugfix on 0.3.0.1-alpha.
2017-07-05 15:42:25 -04:00
Nick Mathewson
5343d2b03c
Merge branch 'maint-0.3.0'
2017-06-05 16:35:40 -04:00
Nick Mathewson
ac1ddd5e5b
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-06-05 16:35:40 -04:00
Nick Mathewson
d561da10dd
Rename "link" variable to avoid shadowing warning.
2017-06-05 16:35:37 -04:00
Nick Mathewson
e3b1573be6
Merge branch 'maint-0.3.0'
2017-06-05 15:52:06 -04:00
Nick Mathewson
91f49bc0f0
Fix unit tests to work after own_link_cert assertion
...
The assert_nonfatal() I had added was triggered by some of the code
that tested the pre-ed case of CERTS cell generation.
2017-06-05 15:51:11 -04:00
Nick Mathewson
d5acdadaef
Merge branch 'bug22460_030_01' into maint-0.3.0
2017-06-05 15:44:36 -04:00
Nick Mathewson
d1c1dc229e
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-06-05 15:44:12 -04:00
Nick Mathewson
8e9392c267
Repair link_handshake unit tests to mock tor_tls_get_own_cert()
...
The tests previously assumed that the link handshake code would be
calling get_my_certs() -- when I changed it to call get_own_cert()
instead for the (case 2) 22460 fix, the tests failed, since the tls
connection wasn't really there.
This change makes us start mocking out the tor_tls_get_own_cert()
function too.
It also corrects the behavior of the mock_get_peer_cert() function
-- it should have been returning a newly allocated copy.
2017-06-05 15:27:33 -04:00
Nick Mathewson
34a6755b94
Fix ed25519 link certificate race on tls context rotation
...
Whenever we rotate our TLS context, we change our Ed25519
Signing->Link certificate. But if we've already started a TLS
connection, then we've already sent the old X509 link certificate,
so the new Ed25519 Signing->Link certificate won't match it.
To fix this, we now store a copy of the Signing->Link certificate
when we initialize the handshake state, and send that certificate
as part of our CERTS cell.
Fixes one case of bug22460; bugfix on 0.3.0.1-alpha.
2017-06-01 09:26:24 -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
7505f452c8
Run the copyright update script.
2017-03-15 16:13:17 -04:00
Nick Mathewson
cd741cc595
Canonicity update for ed25519.
...
If a node can prove its Ed25519 identity, don't consider connections
to it canonical unless they match both identities.
Includes link handshake changes needed to avoid crashing with bug
warnings, since the tests now reach more parts of the code.
Closes ticket 20355
2016-12-08 16:48:00 -05:00
Nick Mathewson
6aa239df36
Rename connection_or_remove_from_identity_map
2016-12-08 16:47:57 -05:00
Nick Mathewson
409984c6ae
Fix two warnings in test_link_handshake.c
...
One is fixed by disabling the -Wredundant-decls warnings around
openssl headers here, because of the old double-declaration of
SSL_get_selected_srtp_profile().
One is fixed by including compat.h before or.h so that we get the
winsock2.h include before the windows.h include.
2016-11-03 11:16:06 -04:00
Nick Mathewson
32854aef28
whitespace fixes
2016-11-03 08:55:54 -04:00
Nick Mathewson
805e97a433
Drop support for AUTHTYPE_RSA_SHA256_RFC5705 authentication.
...
This was a stopgap method, designed on the theory that some routers
might support it before they could support Ed25519. But it looks
like everybody who supports RFC5705 will also have an Ed25519 key,
so there's not a lot of reason to have this even supported.
2016-11-03 08:40:10 -04:00
Nick Mathewson
d4c57909f8
Test failing cases of ed25519 authentication.
2016-11-03 08:40:10 -04:00
Nick Mathewson
af2459f09e
Unit tests for cert-chain-processing, including failed cases
...
Check out the coverage!
2016-11-03 08:40:10 -04:00
Nick Mathewson
672fe4bee4
Extend link handshake tests to handle successful Ed25519 handshakes.
...
Success cases only. Failure cases to come.
2016-11-03 08:40:09 -04:00
Nick Mathewson
88c2a6b936
Send and receive AUTHENTICATE cells correctly with ED keys.
...
Includes updated test for authchallenge cells
2016-11-03 08:39:31 -04:00
Nick Mathewson
e64bac6eb4
Increase TLS RSA link key length to 2048 bits
...
Oddly, nothing broke.
Closes ticket 13752.
2016-11-03 08:39:30 -04:00