George Kadianakis
94db455472
Test some fail conditions of ext_orport.c USERADDR/TRANSPORT parsing.
2013-08-15 12:03:38 -04:00
George Kadianakis
794447d03d
Fix some #5040 bugs found by Nick's tests.
...
- Set conn->address when we receive a USERADDR command.
- Set conn->state to a sane value when we transition from Extended
ORPort to ORPort.
2013-08-15 12:03:38 -04:00
George Kadianakis
f549e4c36d
Write some free_all functions to free the auth. cookies.
...
We started allocating space for them on the heap in the previous
commit.
Conflicts:
src/or/ext_orport.h
2013-08-15 12:03:38 -04:00
George Kadianakis
33c3e60a37
Implement and use a generic auth. cookie initialization function.
...
Use the generic function for both the ControlPort cookie and the
ExtORPort cookie.
Also, place the global cookie variables in the heap so that we can
pass them around more easily as pointers.
Also also, fix the unit tests that broke by this change.
Conflicts:
src/or/config.h
src/or/ext_orport.c
2013-08-15 12:03:37 -04:00
George Kadianakis
13784d4753
Warn if the Extended ORPort listens on a public IP address.
2013-08-15 12:03:37 -04:00
George Kadianakis
bdeddecd29
Better documentation for ext_or_auth_correct_client_hash.
2013-08-15 12:03:37 -04:00
Nick Mathewson
28bb673584
White-box tests for the succeeding case of ext_or_port handshake.
...
(Okay, white-box plus mocking enough other functions so they don't
crash.)
2013-08-15 12:03:37 -04:00
Nick Mathewson
636aeb1f24
Test for initializing ext_or_auth_cookie file
2013-08-15 12:03:37 -04:00
Nick Mathewson
ba78a3c800
Make 0x01==SAFECOOKIE a macro, not a magic number
2013-08-15 12:03:37 -04:00
Nick Mathewson
4e868a9bc3
Unit test for the ext_orport safe_cookie handshake
2013-08-15 12:03:37 -04:00
Nick Mathewson
d7358e8598
Expose/mock some functions to make ext_orport.c testing possible
2013-08-15 12:03:37 -04:00
Nick Mathewson
fd6749203e
More unit tests for handle_client_auth_nonce
...
Incidentally, this business here where I make crypto_rand mockable:
this is exactly the kind of thing that would make me never want to
include test-support stuff in production builds.
2013-08-15 12:03:37 -04:00
Nick Mathewson
4526c3e0b6
Unit test for basic ext_or_cookie authentication backend
2013-08-15 12:03:37 -04:00
Nick Mathewson
b64351ed17
Split the cryptographic part of handle_client_auth_nonce into new fn
2013-08-15 12:03:36 -04:00
George Kadianakis
e1d1d7a8da
Fix some ext_orport.c DOCDOCs.
2013-08-15 12:03:36 -04:00
Nick Mathewson
03e3881043
Tests for connection_write_ext_or_command.
2013-08-15 12:03:36 -04:00
Nick Mathewson
c342ea9879
Unit tests for ext_or_id_map.
2013-08-15 12:03:36 -04:00
Nick Mathewson
7da59721a9
Unit tests for fetch_ext_or_cmd
2013-08-15 12:03:36 -04:00
Nick Mathewson
7a12cbc03d
Split out buffers and socks tests into separate modules.
...
No other changes were made here. Keeping everything in
src/test/test.c was a legacy of back when we had all our unit tests in
one big file.
Doing this now because I'm adding an ext_or_command test.
2013-08-15 12:03:36 -04:00
Nick Mathewson
9d8ffa91ce
Add a clientmap_entry_free().
...
Remove a nedless strdup/free pair.
2013-08-15 12:03:36 -04:00
Nick Mathewson
34d02484c0
Fix hash functions for transport_name in client entry
2013-08-15 12:03:35 -04:00
Nick Mathewson
50136b6698
Use memdup_nulterm and check for NULs in handle_cmd_transport
2013-08-15 12:03:35 -04:00
Nick Mathewson
550af7be0a
Fix a variety of issues in 4773
...
memwipe some stack-allocated stuff
Add DOCDOC comments for state machines
Use memdup_nulterm as appropriate
Check for NULs in useraddr
Add a macro so that <= AUTH_MAX has a meaning.
2013-08-15 12:03:35 -04:00
Nick Mathewson
6dd8ff0ad9
Break up <??> differently, and explain why
2013-08-15 12:03:35 -04:00
Nick Mathewson
e4a241af11
Add guards to ext_orport.h, rename get_file to get_file_name
2013-08-15 12:03:34 -04:00
Nick Mathewson
6568424410
Use only uintptr_t for the value of transport_count
2013-08-15 12:03:34 -04:00
George Kadianakis
6ad535e6dc
If a single client connects with multiple transports, note all transports.
2013-08-15 12:03:34 -04:00
George Kadianakis
cb54e44587
Fix a number of issues with the #5040 code.
...
- Don't leak if a transport proxy sends us a TRANSPORT command more
than once.
- Don't use smartlist_string_isin() in geoip_get_transport_history().
(pointed out by Nick)
- Use the 'join' argument of smartlist_join_strings() instead of
trying to write the separator on our own.
(pointed out by Nick)
- Document 'ext_or_transport' a bit better.
(pointed out by Nick)
- Be a bit more consistent with the types of the values of 'transport_counts'.
(pointed out by Nick)
2013-08-15 12:03:34 -04:00
George Kadianakis
85c556a4c2
Trivially change unittests to make them more readable.
...
Pluggable transport names are now in alphabetical order like they
appear in the bridge-ip-transports string.
2013-08-15 12:03:34 -04:00
George Kadianakis
b2c7379aec
Make check-spaces happy.
2013-08-15 12:03:34 -04:00
George Kadianakis
4d32518288
Add a changes file for #5040 .
2013-08-15 12:03:34 -04:00
George Kadianakis
f8a9591d31
Fix some unittests that broke when we added bridge-ip-transports.
2013-08-15 12:03:33 -04:00
George Kadianakis
f4b36bee7e
Add a unittest for the bridge-ip-transports extra-info line.
2013-08-15 12:03:33 -04:00
Nick Mathewson
4ab1012b0f
Correction in the 0.2.4.16-rc changelog
2013-08-13 10:14:14 -04:00
Nick Mathewson
9abbfef2f7
Merge remote-tracking branch 'karsten/geoip-manual-update-aug2013'
2013-08-12 09:47:30 -04:00
Nick Mathewson
5d706dd27a
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-08-12 09:47:17 -04:00
Nick Mathewson
4361795145
Merge remote-tracking branch 'asn/bug9363_take2'
2013-08-12 09:46:54 -04:00
Nick Mathewson
3433b7ce39
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
2013-08-12 09:45:07 -04:00
Nick Mathewson
64410cc888
Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3
2013-08-12 09:44:36 -04:00
Karsten Loesing
41bf8fa889
Update to the August 2013 GeoIP database.
2013-08-12 15:26:36 +02:00
Karsten Loesing
fa62d966c9
Add 2, update 1, and remove 3 manual A1 substitutions.
2013-08-12 15:22:14 +02:00
Roger Dingledine
c7d3ecab57
new location for tarballs; and you should edit Makefile too
2013-08-10 18:33:37 -04:00
Roger Dingledine
ca2a88fa75
forward-port the 0.2.4.16-rc changelog
2013-08-10 18:30:42 -04:00
Roger Dingledine
49fd76be05
Merge branch 'maint-0.2.4'
2013-08-10 18:30:20 -04:00
Nick Mathewson
d5cfbf96a2
Fix an uninitialized-read when parsing v3 introduction requests.
...
Fortunately, later checks mean that uninitialized data can't get sent
to the network by this bug. Unfortunately, reading uninitialized heap
*can* (in some cases, with some allocators) cause a crash if you get
unlucky and go off the end of a page.
Found by asn. Bugfix on 0.2.4.1-alpha.
2013-08-10 17:49:51 -04:00
Nick Mathewson
ad49ceba1f
Update coverage instructions
2013-08-06 12:00:28 -04:00
George Kadianakis
0c4baa016f
Also test that server transports get written to Tor's state.
2013-08-05 21:05:39 +03:00
George Kadianakis
00a7d1af9f
test_pt_configure_proxy(): verify the internals of the managed proxy.
2013-08-05 21:05:35 +03:00
Nick Mathewson
b9f9110ac7
Don't allow all ORPort values to be NoAdvertise
...
Fix for bug #9366
2013-08-05 12:14:48 -04:00
Roger Dingledine
920f5aba1a
forward-port 0.2.4.15-rc changelog
2013-08-05 02:47:40 -04:00