]>
git.ipfire.org Git - thirdparty/tor.git/log
George Kadianakis [Tue, 4 Jun 2013 17:00:28 +0000 (20:00 +0300)]
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
George Kadianakis [Sat, 1 Jun 2013 15:38:06 +0000 (18:38 +0300)]
Warn if the Extended ORPort listens on a public IP address.
George Kadianakis [Wed, 14 Aug 2013 14:00:56 +0000 (17:00 +0300)]
Better documentation for ext_or_auth_correct_client_hash.
Nick Mathewson [Thu, 1 Aug 2013 21:29:10 +0000 (17:29 -0400)]
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.)
Nick Mathewson [Thu, 1 Aug 2013 20:24:20 +0000 (16:24 -0400)]
Test for initializing ext_or_auth_cookie file
Nick Mathewson [Thu, 1 Aug 2013 17:21:52 +0000 (13:21 -0400)]
Make 0x01==SAFECOOKIE a macro, not a magic number
Nick Mathewson [Thu, 1 Aug 2013 17:19:07 +0000 (13:19 -0400)]
Unit test for the ext_orport safe_cookie handshake
Nick Mathewson [Thu, 1 Aug 2013 17:15:58 +0000 (13:15 -0400)]
Expose/mock some functions to make ext_orport.c testing possible
Nick Mathewson [Thu, 1 Aug 2013 16:13:09 +0000 (12:13 -0400)]
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.
Nick Mathewson [Thu, 1 Aug 2013 15:44:52 +0000 (11:44 -0400)]
Unit test for basic ext_or_cookie authentication backend
Nick Mathewson [Wed, 31 Jul 2013 16:31:26 +0000 (12:31 -0400)]
Split the cryptographic part of handle_client_auth_nonce into new fn
George Kadianakis [Thu, 18 Jul 2013 16:58:42 +0000 (19:58 +0300)]
Fix some ext_orport.c DOCDOCs.
Nick Mathewson [Thu, 18 Jul 2013 20:23:48 +0000 (16:23 -0400)]
Tests for connection_write_ext_or_command.
Nick Mathewson [Thu, 18 Jul 2013 19:51:29 +0000 (15:51 -0400)]
Unit tests for ext_or_id_map.
Nick Mathewson [Wed, 17 Jul 2013 21:51:21 +0000 (17:51 -0400)]
Unit tests for fetch_ext_or_cmd
Nick Mathewson [Wed, 17 Jul 2013 21:31:27 +0000 (17:31 -0400)]
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.
Nick Mathewson [Tue, 16 Jul 2013 18:04:36 +0000 (14:04 -0400)]
Add a clientmap_entry_free().
Remove a nedless strdup/free pair.
Nick Mathewson [Tue, 16 Jul 2013 17:59:31 +0000 (13:59 -0400)]
Fix hash functions for transport_name in client entry
Nick Mathewson [Tue, 16 Jul 2013 17:59:09 +0000 (13:59 -0400)]
Use memdup_nulterm and check for NULs in handle_cmd_transport
Nick Mathewson [Tue, 16 Jul 2013 17:54:10 +0000 (13:54 -0400)]
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.
Nick Mathewson [Tue, 16 Jul 2013 17:44:00 +0000 (13:44 -0400)]
Break up <??> differently, and explain why
Nick Mathewson [Tue, 16 Jul 2013 17:42:25 +0000 (13:42 -0400)]
Add guards to ext_orport.h, rename get_file to get_file_name
Nick Mathewson [Tue, 16 Jul 2013 17:14:44 +0000 (13:14 -0400)]
Use only uintptr_t for the value of transport_count
George Kadianakis [Thu, 27 Jun 2013 15:27:44 +0000 (18:27 +0300)]
If a single client connects with multiple transports, note all transports.
George Kadianakis [Thu, 27 Jun 2013 14:50:56 +0000 (17:50 +0300)]
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)
George Kadianakis [Sat, 29 Jun 2013 11:46:45 +0000 (14:46 +0300)]
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.
George Kadianakis [Thu, 28 Feb 2013 13:23:24 +0000 (15:23 +0200)]
Make check-spaces happy.
George Kadianakis [Thu, 28 Feb 2013 13:18:32 +0000 (15:18 +0200)]
Add a changes file for #5040.
George Kadianakis [Mon, 25 Feb 2013 19:29:28 +0000 (21:29 +0200)]
Fix some unittests that broke when we added bridge-ip-transports.
George Kadianakis [Mon, 25 Feb 2013 19:28:10 +0000 (21:28 +0200)]
Add a unittest for the bridge-ip-transports extra-info line.
George Kadianakis [Mon, 11 Feb 2013 19:52:28 +0000 (20:52 +0100)]
Write extra-info bridge-ip-transports lines.
George Kadianakis [Mon, 11 Feb 2013 19:52:12 +0000 (20:52 +0100)]
Make a channel getter method to retrieve transport names.
George Kadianakis [Mon, 11 Feb 2013 19:51:41 +0000 (20:51 +0100)]
Add transport information to the GeoIP database.
George Kadianakis [Mon, 11 Feb 2013 19:45:17 +0000 (20:45 +0100)]
Make the Extended ORPort understand the TRANSPORT command.
George Kadianakis [Wed, 5 Dec 2012 17:26:24 +0000 (19:26 +0200)]
Fix logging severities and remove some trivial XXXs.
George Kadianakis [Wed, 5 Dec 2012 17:19:24 +0000 (19:19 +0200)]
More Extended ORPort code improvements.
* Change name of init_ext_or_auth_cookie_authentication().
* Add a small comment.
George Kadianakis [Wed, 5 Dec 2012 17:18:18 +0000 (19:18 +0200)]
Move Extended ORPort code to its own module.
Move the code from the connection_or module to ext_orport.
This commit only moves code: it shouldn't modify anything.
George Kadianakis [Wed, 5 Dec 2012 17:16:04 +0000 (19:16 +0200)]
Satisfy check-spaces.
George Kadianakis [Wed, 5 Dec 2012 17:15:28 +0000 (19:15 +0200)]
Various Extended ORPort code improvements.
* Add documentation.
* Free ext_or_auth_correct_client_hash.
* Use VPORT(ExtORPort) instead of V(ExtORPOrt).
See
dfe03d36c8749eb07e9bb2ea47e88ff05e9e3127 for details.
George Kadianakis [Sun, 25 Nov 2012 14:26:16 +0000 (16:26 +0200)]
Move USERADDR handling to a dedicated function.
George Kadianakis [Wed, 5 Dec 2012 16:39:21 +0000 (18:39 +0200)]
Implement Extended ORPort authentication.
George Kadianakis [Wed, 5 Dec 2012 16:38:42 +0000 (18:38 +0200)]
Prepare codebase for the implementation of Extended ORPort auth.
George Kadianakis [Wed, 5 Dec 2012 16:19:44 +0000 (18:19 +0200)]
Create the Extended ORPort authentication cookie file.
George Kadianakis [Sat, 24 Mar 2012 05:05:48 +0000 (22:05 -0700)]
Document code and change the Extended ORPort command numbers.
Nick Mathewson [Fri, 16 Mar 2012 13:40:44 +0000 (09:40 -0400)]
Skeleton ExtORPort implementation. Needs testing, documentation.
Does not implement TransportControlPort yet.
Nick Mathewson [Thu, 18 Jul 2013 18:38:31 +0000 (14:38 -0400)]
Start of a unit test for options_validate.
I added this so I could write a unit test for ServerTransportOptions,
but it incidentally exercises the succeed-on-defaults case of
options_validate too.
Nick Mathewson [Thu, 18 Jul 2013 15:24:57 +0000 (11:24 -0400)]
Merge branch 'simpleq_for_cells_3'
Nick Mathewson [Thu, 18 Jul 2013 15:21:27 +0000 (11:21 -0400)]
Add a test for n_cells_in_circuit_queues
Nick Mathewson [Thu, 18 Jul 2013 15:02:36 +0000 (11:02 -0400)]
Unit tests for cell queues.
This removes some INLINE markers from functions that probably didn't
need them.
Nick Mathewson [Fri, 22 Mar 2013 18:25:34 +0000 (14:25 -0400)]
Use TOR_SIMPLEQ for packed_cell_t
Nick Mathewson [Thu, 18 Jul 2013 12:56:02 +0000 (08:56 -0400)]
Remove a redundant declaration
Nick Mathewson [Thu, 18 Jul 2013 12:54:28 +0000 (08:54 -0400)]
Remove a stray debugging echo from configure.ac
Nick Mathewson [Thu, 18 Jul 2013 12:49:52 +0000 (08:49 -0400)]
Fix a wide line in test_pt.c
Nick Mathewson [Thu, 18 Jul 2013 12:48:20 +0000 (08:48 -0400)]
Merge branch 'bug8978_rebase_2'
Conflicts:
src/test/test_pt.c
Nick Mathewson [Thu, 18 Jul 2013 12:45:13 +0000 (08:45 -0400)]
Merge branch 'bug8929_rebase_2'
Nick Mathewson [Mon, 15 Jul 2013 21:32:08 +0000 (17:32 -0400)]
Improve test coverage of 8929 code
Nick Mathewson [Mon, 15 Jul 2013 17:26:47 +0000 (13:26 -0400)]
Fix memory leaks in test_config_parse_transport_options_line
Nick Mathewson [Mon, 15 Jul 2013 17:17:25 +0000 (13:17 -0400)]
Document what "escape" means in tor_escape_str_for_pt_args
George Kadianakis [Thu, 13 Jun 2013 09:18:07 +0000 (12:18 +0300)]
Insert the environment variable only if we have options to pass.
George Kadianakis [Wed, 12 Jun 2013 16:01:22 +0000 (19:01 +0300)]
Add changes file and enrich the manual page.
George Kadianakis [Wed, 12 Jun 2013 14:12:39 +0000 (17:12 +0300)]
Place the options in the environment after processing them properly.
George Kadianakis [Wed, 12 Jun 2013 13:36:13 +0000 (16:36 +0300)]
Rename tor_escape_str_for_socks_arg() to something more generic.
Since we are going to be using that function to also escape parameters
passed to transport proxies using environment variables.
George Kadianakis [Wed, 12 Jun 2013 13:23:16 +0000 (16:23 +0300)]
Pass characters to be escaped to tor_escape_str_for_socks_arg().
This is in preparation for using tor_escape_str_for_socks_arg() to
escape server-side pluggable transport parameters.
George Kadianakis [Wed, 12 Jun 2013 12:28:48 +0000 (15:28 +0300)]
Write unit tests for the ServerTransportOptions parsing function.
George Kadianakis [Wed, 12 Jun 2013 12:28:31 +0000 (15:28 +0300)]
Write function that parses ServerTransportOptions torrc lines.
And use it to validate them.
Nick Mathewson [Tue, 16 Jul 2013 15:53:36 +0000 (11:53 -0400)]
Add a basic unit test for pt_get_extra_info_descriptor_string.
Nick Mathewson [Tue, 16 Jul 2013 15:53:25 +0000 (11:53 -0400)]
Add a unit test for smethod lines with arguments.
George Kadianakis [Tue, 2 Jul 2013 16:33:55 +0000 (19:33 +0300)]
Write transport ARGS to extra-info descriptor.
George Kadianakis [Mon, 1 Jul 2013 13:45:21 +0000 (16:45 +0300)]
Extract ARGS from SMETHOD line and attach them to transport.
Nick Mathewson [Tue, 16 Jul 2013 19:31:07 +0000 (15:31 -0400)]
A python script to combin gcov output with git blame
Nick Mathewson [Tue, 16 Jul 2013 18:49:41 +0000 (14:49 -0400)]
Merge remote-tracking branch 'origin/maint-0.2.4'
Nick Mathewson [Tue, 16 Jul 2013 18:48:12 +0000 (14:48 -0400)]
Re-do a cast in order to make old buggy freebsd gcc happy
Fix for #9254. Bugfix on 0.2.4.14-alpha.
This is not actually a bug in the Tor code.
Nick Mathewson [Tue, 16 Jul 2013 13:55:51 +0000 (09:55 -0400)]
Merge remote-tracking branch 'asn/bug9265'
Nick Mathewson [Tue, 16 Jul 2013 13:53:44 +0000 (09:53 -0400)]
Remove an unused variable in test_replaycache_scrub
Andrea Shepard [Tue, 16 Jul 2013 13:40:08 +0000 (06:40 -0700)]
Make contrib/coverage smarter about check file-existence edge cases
Andrea Shepard [Tue, 16 Jul 2013 13:02:22 +0000 (06:02 -0700)]
Add more replaycache.c unit tests, bringing coverage to 100% for that file
Andrea Shepard [Tue, 16 Jul 2013 13:01:50 +0000 (06:01 -0700)]
Eliminate an impossible case in replaycache_scrub_if_needed_internal()
George Kadianakis [Tue, 16 Jul 2013 11:07:03 +0000 (14:07 +0300)]
Test deeper in test_pt_parsing().
We used to test parse_{c,s}method_line() without actually testing that
the resulting transport_t was well formed.
Andrea Shepard [Tue, 16 Jul 2013 05:33:39 +0000 (22:33 -0700)]
Add optional target directory parameter to coverage script and add reset-gcov target to Makefile.am
Nick Mathewson [Mon, 15 Jul 2013 21:35:56 +0000 (17:35 -0400)]
Appease "make check-spaces"
Nick Mathewson [Mon, 15 Jul 2013 17:07:09 +0000 (13:07 -0400)]
Use format_hex_number_sigsafe to format syscalls in sandbox.c
This way, we don't have to use snprintf, which is not guaranteed to
be signal-safe.
(Technically speaking, strlen() and strlcpy() are not guaranteed to
be signal-safe by the POSIX standard. But I claim that they are on
every platform that supports libseccomp2, which is what matters
here.)
Nick Mathewson [Mon, 15 Jul 2013 16:52:29 +0000 (12:52 -0400)]
Lightly refactor and test format_hex_number_sigsafe
Better tests for upper bounds, and for failing cases.
Also, change the function's interface to take a buffer length rather
than a maximum length, and then NUL-terminate: functions that don't
NUL-terminate are trouble waiting to happen.
Nick Mathewson [Mon, 15 Jul 2013 16:39:47 +0000 (12:39 -0400)]
HEX_ERRNO_SIZE is no longer the correct upper limit for format_hex_number_sigsafe
Nick Mathewson [Mon, 15 Jul 2013 16:26:55 +0000 (12:26 -0400)]
Expose format_hex_number_..., and rename it to ..._sigsafe().
There are some other places in the code that will want a signal-safe
way to format numbers, so it shouldn't be static to util.c.
Nick Mathewson [Mon, 15 Jul 2013 16:17:23 +0000 (12:17 -0400)]
Don't build format_helper_exit_status on win32
The only thing that used format_helper_exit_status on win32 was the
unit tests. This caused an error when we tried to leave a static
format_helper_exit_status lying around in a production object file.
The easiest solution is to admit that this way of dealing with process
exit status is Unix-only.
Nick Mathewson [Mon, 15 Jul 2013 16:02:46 +0000 (12:02 -0400)]
Merge remote-tracking branch 'linus/unused_param'
Nick Mathewson [Mon, 15 Jul 2013 16:02:40 +0000 (12:02 -0400)]
Merge remote-tracking branch 'linus/binshify'
Nick Mathewson [Mon, 15 Jul 2013 16:02:18 +0000 (12:02 -0400)]
Merge remote-tracking branch 'public/fancy_test_tricks'
Conflicts:
src/common/include.am
Conflict was from adding testsupport.h near where sandbox.h had
already been added.
Linus Nordberg [Mon, 15 Jul 2013 14:06:39 +0000 (16:06 +0200)]
Traditional /bin/sh is unhappy about {a,b} globbing.
Linus Nordberg [Mon, 15 Jul 2013 13:46:36 +0000 (15:46 +0200)]
Avoid compiler warning 'unused param'.
Fixes #9261.
Peter Palfrader [Mon, 15 Jul 2013 13:08:35 +0000 (15:08 +0200)]
Fix two pre-coffee typos
Peter Palfrader [Mon, 15 Jul 2013 08:55:11 +0000 (10:55 +0200)]
And a changes file for #9258
Peter Palfrader [Mon, 15 Jul 2013 08:46:22 +0000 (10:46 +0200)]
Reject relative control socket paths and emit a warning.
Previously we would accept relative paths, but only if they contained a
slash somewhere (not at the end).
Otherwise we would silently not work. Closes: #9258. Bugfix on
0.2.3.16-alpha.
Peter Palfrader [Mon, 15 Jul 2013 08:46:11 +0000 (10:46 +0200)]
Document get_parent_directory more
Roger Dingledine [Sun, 14 Jul 2013 06:49:34 +0000 (02:49 -0400)]
cosmetic cleanups
Roger Dingledine [Sun, 14 Jul 2013 00:31:18 +0000 (20:31 -0400)]
put sandbox.h in the tarball, so the tarball builds
Nick Mathewson [Fri, 12 Jul 2013 21:12:43 +0000 (17:12 -0400)]
Merge remote-tracking branch 'public/gsoc-ctoader-cap-phase1-squashed'
Nick Mathewson [Thu, 11 Jul 2013 19:53:35 +0000 (15:53 -0400)]
Remove a bogus semicolon spotted by Gisle Vanem
Cristian Toader [Mon, 17 Jun 2013 10:07:14 +0000 (13:07 +0300)]
Add a basic seccomp2 syscall filter on Linux
It's controlled by the new Sandbox argument. Right now, it's rather
coarse-grained, it's Linux-only, and it may break some features.
Nick Mathewson [Wed, 10 Jul 2013 19:07:32 +0000 (15:07 -0400)]
Add some basic unit tests for the circuit map data structure.
These show off the new mocking code by mocking the circuitmux code
so that we can test the circuit map code in isolation.