Commit Graph

34132 Commits

Author SHA1 Message Date
Nick Mathewson eb8ea92cf9 Merge branch 'maint-0.4.2' 2019-11-11 10:14:04 -05:00
Nick Mathewson a920597f62 Merge branch 'maint-0.4.1' into maint-0.4.2 2019-11-11 10:14:04 -05:00
Nick Mathewson 29eb7b07ef Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-11 10:14:04 -05:00
Nick Mathewson 329aa1c48e Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-11 10:14:03 -05:00
Nick Mathewson 7beaaed245 Merge branch 'maint-0.2.9' into maint-0.3.5 2019-11-11 10:14:03 -05:00
George Kadianakis 8344776224 Merge branch 'tor-github/pr/1504' 2019-11-11 14:47:33 +02:00
teor 8af8ed72b2 Merge branch 'maint-0.4.2' 2019-11-11 14:20:03 +10:00
teor 8b1f99c29d Merge branch 'maint-0.4.1' into maint-0.4.2 2019-11-11 14:19:55 +10:00
teor 7043be968a Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-11 14:19:47 +10:00
teor 29940511e3 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-11 14:19:39 +10:00
teor 2abff832dd Appveyor: Install OpenSSL to resolve a header/library mismatch
Install the mingw OpenSSL package in Appveyor. This makes sure that
the OpenSSL headers and libraries match in Tor's Appveyor builds.

(This bug was triggered by an Appveyor image update.)

Fixes bug 32449; bugfix on 0.3.5.6-rc.
2019-11-11 13:19:15 +10:00
Karsten Loesing 853b6ad095 Update geoip and geoip6 to the November 6 2019 database. 2019-11-09 10:10:19 +01:00
Nick Mathewson f6c9ca3a1d Merge branch 'config_subsys_v4' 2019-11-07 08:59:42 -05:00
Nick Mathewson 582cee723a Fix various doxygen comments in feature/hs. 2019-11-07 08:13:31 -05:00
Nick Mathewson de7053b896 Adjustments to 32406 per review
When we are failing because of a lack of a _required_ engine, note
that the engine was "required".

When engines are disabled, any required engine should cause a
failure.
2019-11-07 07:42:58 -05:00
Nick Mathewson c550990400 Add a test for 32406 (AccelName with "!").
This also lets us test a failing set_options().
2019-11-07 07:28:43 -05:00
Nick Mathewson 32a2f96f82 Add the ability to fail when a hardware accelerator is missing.
Closes ticket 32406.
2019-11-07 07:28:43 -05:00
Nick Mathewson 27a4438805 conf_examples test for crypto_accel 2019-11-07 07:28:43 -05:00
Nick Mathewson 280a9a4760 Move netstatus (mainloop) state fields into mainloop's state. 2019-11-07 07:28:43 -05:00
Nick Mathewson 3afbb29bee subsysmgr: use IDX_NONE is an exception value, not -1. 2019-11-07 07:28:43 -05:00
Nick Mathewson 0f0a9bdf33 Stop using "config_suite_offset=-1" to indicate "no config suite."
Instead, create a separate "has_config_suite" boolean, so that only
top-level formats with config_suites need to declare an offset at
all.
2019-11-07 07:28:43 -05:00
Nick Mathewson 0d8504e70b crypto config: do not change the user's value of HardwareAccel.
We still interpret "AccelName" as turning on the "HardwareAccel"
feature, but we no longer modify the user's options here.

Fixes bug 32382; bugfix on 0.2.2.1-alpha when we added openssl
engine support.
2019-11-07 07:28:43 -05:00
Nick Mathewson 8cd3e66d93 Use new configuration architecture for crypto options
This is a comparatively simple change.
2019-11-07 07:28:43 -05:00
Nick Mathewson b06e9d8ad5 Add testing-only functions to get the subsystem config/state indices 2019-11-07 07:28:43 -05:00
Nick Mathewson 52c0ab4af3 Add subsys functions for receiving/flushing states and options.
These functions are in the subsystem, not in the config_format_t,
since they are about how the format is _used_, not about _what it
is_.
2019-11-07 07:28:43 -05:00
Nick Mathewson 7ac4f9d5ec Give subsystems optional config formats and state formats.
The formats, when provided, are now added to the global config_mgr_t
objects.
2019-11-07 07:28:43 -05:00
Nick Mathewson a7cfddc8d1 Make a new structure for tracking subsystem status.
We used to have only one boolean per subsystem, but we're about to
have a little more information.
2019-11-07 07:28:43 -05:00
Nick Mathewson 8638989308 Expose get_obj() functions from confmgt.c.
The subsysmgr code wants to use them.
2019-11-07 07:28:43 -05:00
Nick Mathewson 5914addcbc Teach doxygen about option-declaration code.
These settings allow doxygen to find and understand doxygen comments
in configuration definitions made using the macros in confdecl.h.
2019-11-07 07:28:43 -05:00
Nick Mathewson 1d108894e7 Define a low-level version of the confdecl table macros
This version uses the enum rather than the type definitions, to
avoid layering violations and linking problems.
2019-11-07 07:28:43 -05:00
Nick Mathewson 683d4c2bc8 Add FOO_type_defn globals so that confdecl.h can refer to them. 2019-11-07 07:28:43 -05:00
Nick Mathewson 19cac400d9 Macros for declaring configuration structs and variable-tables
In our old design, we had to declare configuration structures (like
or_options_t) and variable tables (like option_vars_) separately,
and we used some magic to enforce their consistency (see
conftesting.h).

With this design, we write a single definition for the configuration
object and its fields, and use C macros to expand it either into a
structure, or a variable table.  Since they are both made from the
same source, they can't become inconsistent.

The two designs can coexist happily, and we can migrate from one to
the other at our convenience.
2019-11-07 07:28:43 -05:00
Nick Mathewson 4541a59019 lib/cc: Define the standard C macro pasting trick in one place.
This file is a workaround for the issue that if you say `a ## b` to
create a token that is the name of a macro, the C preprocessor won't
expand that macro.  So you can't say this:

#define FOO__SQUARE(x) ((x)*(x))
#define FOO__CUBE(x)   ((x)*(x)*(x))
#define FOO(func, x)   FOO__##func(x)

Instead, the standard C trick is to add a layer of indirection:

#define PASTE(a,b)     PASTE__(a,b)
#define PASTE__(a,b)   a ## b

#define FOO__SQUARE(x) ((x)*(x))
#define FOO__CUBE(x)   ((x)*(x)*(x))
#define FOO(func, x)   PASTE(FOO__, func)(x)

We should use this kind of trick sparingly, since it gets confusing.
2019-11-07 07:28:43 -05:00
Nick Mathewson 45698e89ed Merge remote-tracking branch 'tor-github/pr/1515' 2019-11-07 07:23:09 -05:00
teor 7ee1e16c6f scripts/git: Stop failing when upstream branches don't exist
If you add a custom remote, or a new branch, and don't fetch first,
then the script would fail when checking for unchanged branches.

Instead, skip the check: a new branch is definitely a change.
2019-11-07 12:04:51 +10:00
teor 3864536b7c scripts/git: Remove extra printfs from a bad merge 2019-11-07 12:04:22 +10:00
teor a0820bc00d test/parseconf: Update config parsing tests for 32410 2019-11-07 11:44:51 +10:00
teor aaef9a2519 relay: Stop failing on startup when the relay module is disabled
When the relay module is disabled, make "ClientOnly 1" and
"DirCache 0" by default. (But keep "ClientOnly 0" and
"DirCache 1" as the defaults for the unit tests.)

And run "make autostyle".

Part of ticket 32410.
2019-11-07 11:43:41 +10:00
teor 57f43bcb03 Run "make autostyle" 2019-11-07 10:56:17 +10:00
teor e466c84ed3 Merge branch 'maint-0.4.2' 2019-11-07 10:51:48 +10:00
teor 1f3bf10d3f Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.4.2 2019-11-07 10:51:22 +10:00
teor 10982d5997 Merge remote-tracking branch 'tor-github/pr/1512' 2019-11-07 10:35:50 +10:00
Nick Mathewson aebde73629 Merge branch 'ticket32386' 2019-11-06 18:29:16 -05:00
Nick Mathewson 58d7f9e68b Remove Makefile from doc/HACKING/design 2019-11-06 15:47:29 -05:00
Nick Mathewson 83cab05398 Remove 00-overview.md as already subsumed by doxygen 2019-11-06 15:47:00 -05:00
Nick Mathewson 9687efb386 Add a bunch of doxygen for things in src/lib. 2019-11-06 14:40:20 -05:00
Nick Mathewson b994397f1a entrynodes.h: make a comment into doxygen. 2019-11-06 13:08:04 -05:00
Nick Mathewson 9663ac0027 int_type_params_t: add documentation. 2019-11-06 13:07:13 -05:00
Nick Mathewson 88796637e5 dispatch_cfg_st.h: make comments into doxygen. 2019-11-06 13:05:36 -05:00
Nick Mathewson c6c02658cf hs_ident.c: make comments into doxygen. 2019-11-06 13:05:13 -05:00