]>
git.ipfire.org Git - thirdparty/tor.git/log
George Kadianakis [Tue, 17 Jul 2018 16:03:18 +0000 (12:03 -0400)]
Compute OPE cipher structure only when needed.
The OPE cipher is tied to the current blinded key which is tied to the current
time period. Hence create the OPE cipher structure when we create a new
descriptor (and build its blinded key).
George Kadianakis [Thu, 14 Jun 2018 12:53:31 +0000 (15:53 +0300)]
Add changes file.
George Kadianakis [Thu, 14 Jun 2018 12:51:00 +0000 (15:51 +0300)]
Remove now useless rev counter state file code.
We are not using the state file for rev counters anymore, we just generate them
on the fly!
George Kadianakis [Thu, 14 Jun 2018 12:38:46 +0000 (15:38 +0300)]
Fix up some unittests by being more careful with the local time.
Now that the rev counter depends on the local time, we need to be more careful
in the unittests. Some unittests were breaking because they were using
consensus values from 1985, but they were not updating the local time
appropriately. That was causing the OPE module to complain that it was trying
to encrypt insanely large values.
George Kadianakis [Thu, 14 Jun 2018 12:38:14 +0000 (15:38 +0300)]
Use approx_time() instead of time(NULL) in some HS functions.
These were breaking our unittests.
George Kadianakis [Thu, 14 Jun 2018 12:35:59 +0000 (15:35 +0300)]
Compute the description revision counter using the OPE scheme.
To do so for a given descriptor, we use the "seconds since the SR protocol run"
started, for the SRV that is relevant to this descriptor. This is guaranteed to
be a positive value (since we need an SRV to be able to build a descriptor),
and it's also guaranteed to be a small value (since SRVs stop being listed on a
consensus after 48 hours).
We cannot use the "seconds since the time period started", because for the next
descriptor we use the next time period, so the timestamp would end up negative.
See [SERVICEUPLOAD] from rend-spec-v3.txt for more details.
To do so, we have to introduce a new `is_current` argument to a bunch of
functions, because to use "seconds since the SR protocol run" we need to know
if we are building the current or the next descriptor, since we use a different
SRV for each descriptor.
George Kadianakis [Thu, 14 Jun 2018 12:25:43 +0000 (15:25 +0300)]
Introduce useful SRV funcs (start time of prev protocol run)
George Kadianakis [Thu, 14 Jun 2018 12:23:09 +0000 (15:23 +0300)]
Increase OPE_INPUT_MAX.
Nick Mathewson [Thu, 10 May 2018 12:46:36 +0000 (08:46 -0400)]
Implementation for a simple order-preserving encryption scheme.
This is meant for use when encrypting the current time within the
period in order to get a monotonically increasing revision counter
without actually revealing our view of the time.
This scheme is far from the most state-of-the-art: don't use it for
anything else without careful analysis by somebody much smarter than
I am.
See ticket #25552 for some rationale for this logic.
Nick Mathewson [Tue, 26 Jun 2018 16:04:24 +0000 (12:04 -0400)]
Remove some accidentally committed code in checkIncludes.py
Nick Mathewson [Tue, 26 Jun 2018 15:33:53 +0000 (11:33 -0400)]
Fix comments in lib/container/*.c
Nick Mathewson [Tue, 26 Jun 2018 15:27:33 +0000 (11:27 -0400)]
Merge branch 'log_dependencies'
Nick Mathewson [Tue, 26 Jun 2018 13:21:59 +0000 (09:21 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Tue, 26 Jun 2018 13:21:59 +0000 (09:21 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Tue, 26 Jun 2018 13:21:59 +0000 (09:21 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Nick Mathewson [Tue, 26 Jun 2018 13:21:59 +0000 (09:21 -0400)]
Merge branch 'maint-0.3.1' into maint-0.3.2
Nick Mathewson [Tue, 26 Jun 2018 13:21:59 +0000 (09:21 -0400)]
Merge branch 'maint-0.2.9' into maint-0.3.1
Nick Mathewson [Tue, 26 Jun 2018 13:21:55 +0000 (09:21 -0400)]
Merge branch 'feature26372_029' into maint-0.2.9
Nick Mathewson [Tue, 26 Jun 2018 13:12:28 +0000 (09:12 -0400)]
Merge branch 'maint-0.3.4'
"ours" to avoid version bump.
Nick Mathewson [Tue, 26 Jun 2018 13:12:23 +0000 (09:12 -0400)]
Bump version to 0.3.4.3-alpha-dev
Nick Mathewson [Tue, 26 Jun 2018 12:49:06 +0000 (08:49 -0400)]
Forward-port the 0.3.4.3-alpha ChangeLog
Nick Mathewson [Mon, 25 Jun 2018 20:52:14 +0000 (16:52 -0400)]
Include stdio.h in torerr.c.
Nick Mathewson [Mon, 25 Jun 2018 18:08:03 +0000 (14:08 -0400)]
Merge branch 'maint-0.3.4'
"ours" merge to avoid version bump.
Nick Mathewson [Mon, 25 Jun 2018 18:07:23 +0000 (14:07 -0400)]
Bump to 0.3.4.3-alpha.
Nick Mathewson [Mon, 25 Jun 2018 17:50:37 +0000 (13:50 -0400)]
Merge branch 'maint-0.3.4'
Roger Dingledine [Sun, 24 Jun 2018 22:14:24 +0000 (18:14 -0400)]
better log line for debugging #26485
Roger Dingledine [Sun, 24 Jun 2018 22:08:24 +0000 (18:08 -0400)]
we've never been good at using "directory" well as a noun
Nick Mathewson [Fri, 22 Jun 2018 22:22:20 +0000 (18:22 -0400)]
Add some casts to get test_dir.c compiling on windows.
Fixed bug 26479. Bug introduced by
0a6f4627a4292e4 ; bug not in any
released version.
Nick Mathewson [Fri, 22 Jun 2018 18:47:48 +0000 (14:47 -0400)]
Fix test_geoip failures on windows by writing file in binary mode.
Fixes bug 26480; bug appeared when we re-enabled the geoip tests on
windows. Bug originally introduced by our fix to 25787; bug not in
any released Tor.
Nick Mathewson [Fri, 22 Jun 2018 18:11:37 +0000 (14:11 -0400)]
Make an inline static so we can build with coverage enabled.
Nick Mathewson [Fri, 22 Jun 2018 17:52:30 +0000 (13:52 -0400)]
Another windows include
Nick Mathewson [Fri, 22 Jun 2018 17:34:35 +0000 (13:34 -0400)]
We also need torerr in tm_cvt.
Nick Mathewson [Fri, 22 Jun 2018 17:33:08 +0000 (13:33 -0400)]
Add another include for windows, and change a log to a raw_assert
Nick Mathewson [Fri, 22 Jun 2018 17:32:47 +0000 (13:32 -0400)]
Remove an "m" that did not belong.
Nick Mathewson [Fri, 22 Jun 2018 17:25:52 +0000 (13:25 -0400)]
Update the micro-revision.i dependencies, and add a stdlib.h
Nick Mathewson [Fri, 22 Jun 2018 17:10:52 +0000 (13:10 -0400)]
Two more small changes for CI.
Nick Mathewson [Fri, 22 Jun 2018 16:53:57 +0000 (12:53 -0400)]
A pair of missing includes.
Nick Mathewson [Fri, 22 Jun 2018 16:04:11 +0000 (12:04 -0400)]
Fix up the rust build script library list.
Nick Mathewson [Fri, 22 Jun 2018 15:54:38 +0000 (11:54 -0400)]
Move util_bug into libtor-log
Nick Mathewson [Fri, 22 Jun 2018 15:51:58 +0000 (11:51 -0400)]
Remove util_bug dependency on compat.h
Nick Mathewson [Fri, 22 Jun 2018 15:46:44 +0000 (11:46 -0400)]
Update .gitignore and .may_include files
Nick Mathewson [Fri, 22 Jun 2018 15:40:20 +0000 (11:40 -0400)]
Finally extract the log library and make it build.
This patch:
- introduces an fdio module for low-level fd functions that don't
need to log.
- moves the responsibility for opening files outside of torlog.c,
so it won't need to call tor_open_cloexec.
Nick Mathewson [Fri, 22 Jun 2018 15:18:19 +0000 (11:18 -0400)]
Extract strlcpy and strlcmp to libtor-string
Nick Mathewson [Fri, 22 Jun 2018 15:07:10 +0000 (11:07 -0400)]
Extract core part of gmtime_r, localtime_r (without logging)
Nick Mathewson [Fri, 22 Jun 2018 14:50:12 +0000 (10:50 -0400)]
Remove the util_bug.h include from smartlist.h.
This change makes a whole bunch of things in torlog.c break, since
apparently I did not find all the fd dependencies.
Nick Mathewson [Fri, 22 Jun 2018 14:32:10 +0000 (10:32 -0400)]
Automated fixup of include paths after torlog.h movement.
Nick Mathewson [Fri, 22 Jun 2018 14:30:45 +0000 (10:30 -0400)]
Extract the locking and logging code
The locking code gets its own module, since it's more fundamental
than the higher-level locking code.
Extracting the logging code was the whole point here. :)
Nick Mathewson [Fri, 22 Jun 2018 13:48:24 +0000 (09:48 -0400)]
Extract simple integer math into its own module
Nick Mathewson [Fri, 22 Jun 2018 13:26:19 +0000 (09:26 -0400)]
Move smartlist_add_{v,}asprintf into smartlist.[ch]
Now that I know that "strings" nests below "container", I know this
is safe.
Nick Mathewson [Fri, 22 Jun 2018 13:23:30 +0000 (09:23 -0400)]
Extract key string manipulation functions into a new library.
Nick Mathewson [Fri, 22 Jun 2018 12:41:57 +0000 (08:41 -0400)]
Move ARRAY_LENGTH to compiler_compat.h
Nick Mathewson [Thu, 21 Jun 2018 21:35:56 +0000 (17:35 -0400)]
Remove compat.h as unneeded from log.c and torlog.h
Nick Mathewson [Thu, 21 Jun 2018 21:33:49 +0000 (17:33 -0400)]
Extract our code for answering "what time is it right now".
The other time stuff is higher-level
Nick Mathewson [Thu, 21 Jun 2018 21:06:58 +0000 (17:06 -0400)]
Update permissible includes
Nick Mathewson [Thu, 21 Jun 2018 21:03:45 +0000 (17:03 -0400)]
Expunge container.h
Nick Mathewson [Thu, 21 Jun 2018 21:00:48 +0000 (17:00 -0400)]
Extract smartlist.h from container.h
Nick Mathewson [Thu, 21 Jun 2018 20:52:58 +0000 (16:52 -0400)]
Remove map from container.h
Nick Mathewson [Thu, 21 Jun 2018 20:48:54 +0000 (16:48 -0400)]
Remove bloom filters, order statistics, and bitarrays from container.h
Nick Mathewson [Thu, 21 Jun 2018 20:34:00 +0000 (16:34 -0400)]
Remove container->crypto dependency
Containers were using crypto_digest.h, just to see the value of
DIGEST_LEN. Moved those constants into a new defs module.
Nick Mathewson [Thu, 21 Jun 2018 20:29:24 +0000 (16:29 -0400)]
Move STRUCT_VAR_P to compat_compiler.
Nick Mathewson [Thu, 21 Jun 2018 20:25:31 +0000 (16:25 -0400)]
Split container.c based on container types, and minimize includes
Minimizing includes revealed other places includes were necessary.
Nick Mathewson [Thu, 21 Jun 2018 19:40:15 +0000 (15:40 -0400)]
Rectify include paths after container split (automatic)
Nick Mathewson [Thu, 21 Jun 2018 19:39:36 +0000 (15:39 -0400)]
Refactor container into a library.
Nick Mathewson [Thu, 21 Jun 2018 19:33:25 +0000 (15:33 -0400)]
Simplify include structure of container.[ch]
Nick Mathewson [Thu, 21 Jun 2018 19:17:54 +0000 (15:17 -0400)]
Extract tor_malloc and friends to a new module.
Nick Mathewson [Thu, 21 Jun 2018 18:29:00 +0000 (14:29 -0400)]
add license statement to checkincludes, and have it return an error code
Nick Mathewson [Thu, 21 Jun 2018 18:23:32 +0000 (14:23 -0400)]
Fix wide lines in dirauth/dirvote.*
Nick Mathewson [Thu, 21 Jun 2018 18:22:15 +0000 (14:22 -0400)]
Make sure check-spaces applies in lib and dirauth.
Nick Mathewson [Thu, 21 Jun 2018 18:20:43 +0000 (14:20 -0400)]
Run checkIncludes.py from "make check-includes"
Nick Mathewson [Thu, 21 Jun 2018 18:02:11 +0000 (14:02 -0400)]
New script to check includes for modularity violations
Includes configuration files to enforce these rules on lib and
common. Of course, "common" *is* a modularity violation right now,
so these rules aren't as strict as I would like them to be.
Nick Mathewson [Thu, 21 Jun 2018 17:57:13 +0000 (13:57 -0400)]
Merge branch 'extract_easy_common_libs'
Nick Mathewson [Thu, 21 Jun 2018 17:12:23 +0000 (13:12 -0400)]
Rectify include paths (automated).
You have no idea how glad I am that this is automated.
Nick Mathewson [Thu, 21 Jun 2018 17:12:06 +0000 (13:12 -0400)]
Move testsupport.h to its own directory
Nick Mathewson [Thu, 21 Jun 2018 17:04:09 +0000 (13:04 -0400)]
Move responsibility for libdonna out of src/common
Nick Mathewson [Thu, 21 Jun 2018 16:47:48 +0000 (12:47 -0400)]
Additional non-automated change to trunnel-local.h
Nick Mathewson [Thu, 21 Jun 2018 16:47:11 +0000 (12:47 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 16:46:11 +0000 (12:46 -0400)]
Split crypto and tls libraries into directories
I am calling the crypto library "crypt_ops", since I want
higher-level crypto things to be separated from lower-level ones.
This library will hold only the low-level ones, once we have it
refactored.
Nick Mathewson [Thu, 21 Jun 2018 16:29:34 +0000 (12:29 -0400)]
Move more compiler-compatibility stuff into compat_compiler.h
Nick Mathewson [Thu, 21 Jun 2018 16:28:33 +0000 (12:28 -0400)]
di_ops.c does not actually log anything.
Nick Mathewson [Thu, 21 Jun 2018 16:20:52 +0000 (12:20 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 16:20:26 +0000 (12:20 -0400)]
Move compiler-compatibility headers into their own module
This one has no generated code.
Nick Mathewson [Thu, 21 Jun 2018 16:12:56 +0000 (12:12 -0400)]
Remove unused pubsub module.
Nick Mathewson [Thu, 21 Jun 2018 16:03:34 +0000 (12:03 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 16:02:14 +0000 (12:02 -0400)]
Move trace into its own library in libs.
Apparently it has no testing variant.
Nick Mathewson [Thu, 21 Jun 2018 15:56:32 +0000 (11:56 -0400)]
Make sure liberr-testing is build with testing flags.
Nick Mathewson [Thu, 21 Jun 2018 15:52:01 +0000 (11:52 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 15:51:49 +0000 (11:51 -0400)]
Extract compression functions into a new library.
Roger Dingledine [Thu, 21 Jun 2018 17:07:51 +0000 (13:07 -0400)]
tiny comment and whitespace fixes
Nick Mathewson [Thu, 21 Jun 2018 15:01:10 +0000 (11:01 -0400)]
Rename libtor.a to libtor-app.a
Nick Mathewson [Thu, 21 Jun 2018 14:53:36 +0000 (10:53 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 14:53:29 +0000 (10:53 -0400)]
Move consttime library code into its own directory.
Nick Mathewson [Thu, 21 Jun 2018 13:54:04 +0000 (09:54 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 13:53:08 +0000 (09:53 -0400)]
Extract error functionality into a new lowest-level library.
Nick Mathewson [Thu, 21 Jun 2018 14:34:29 +0000 (10:34 -0400)]
Refactor makefiles to keep list of internal libraries in one place.
This change makes it possible for us to change the list of libraries
more easily, without changing every single linker line.
Nick Mathewson [Thu, 21 Jun 2018 13:55:16 +0000 (09:55 -0400)]
Rectify include paths (automated)
Nick Mathewson [Thu, 21 Jun 2018 13:37:32 +0000 (09:37 -0400)]
Fix distcheck by naming header properly.
Nick Mathewson [Thu, 21 Jun 2018 13:28:50 +0000 (09:28 -0400)]
Prefer recent Python 3 in autoconf.
Closes ticket 26372.
Nick Mathewson [Thu, 21 Jun 2018 13:20:03 +0000 (09:20 -0400)]
Merge branch 'mikeperry_bug26214-rebased_squashed'
Mike Perry [Tue, 19 Jun 2018 19:53:58 +0000 (19:53 +0000)]
Bug 26214: Test updates.
Mike Perry [Sun, 27 May 2018 01:43:19 +0000 (01:43 +0000)]
Bug 26214: Changes file.