Commit Graph

324 Commits

Author SHA1 Message Date
David Goulet
630bb113a0 Merge branch 'tor-github/pr/1271' into maint-0.4.1 2019-09-04 08:33:10 -04:00
teor
664d1b4366 test: Change "make test-stem" so it only runs the stem tests that use tor
This change makes test-stem faster and more reliable.

Use "make test-stem-full" to run all of stem's tests.

Closes ticket 31554.
2019-08-29 21:56:16 +10:00
Nick Mathewson
5b3741e05a Document new practracker violation types, and add a practracker readme
Closes ticket 31476.
2019-08-21 10:17:26 -04:00
Nick Mathewson
cc48eff2d3 Merge branch 'ticket31176' into ticket31176_merged 2019-08-21 09:46:20 -04:00
George Kadianakis
d7afdb3b0f Merge branch 'tor-github/pr/1195' 2019-08-06 14:51:47 +03:00
Nick Mathewson
6fb74753c2 Move checkIncludes inside practracker
Update the makefile accordingly.
2019-08-05 14:10:40 -04:00
Nick Mathewson
30da1b61c6 Distribute practracker unit and integration tests. 2019-08-01 13:59:26 -04:00
Nick Mathewson
49c696fb46 Merge branch 'ticket31311_041' into ticket31304 2019-08-01 13:48:58 -04:00
Nick Mathewson
3945282419 make dist: only include files from practracker dir intentionally.
Previously, we included temporary files and whatnot, which is not
good.

Fixes bug 31311; bugfix on 0.4.1.1-alpha.
2019-08-01 13:47:05 -04:00
Nick Mathewson
223afc2d8f practracker: add envvar TOR_PRACTRACKER_OPTIONS
We have Makefile.am use this to decide how to invoke practracker on
the Tor source.
2019-08-01 12:57:26 -04:00
David Goulet
c4864de573 Merge branch 'tor-github/pr/1177' 2019-08-01 10:18:10 -04:00
Nick Mathewson
3221dc1b32 Lower check of TOR_DISABLE_PRACTRACKER
Since we sometimes call practracker directly, that's where we should
check the TOR_DISABLE_PRACTRACKER envvar.
2019-08-01 08:40:56 -04:00
David Goulet
ef2dd1ba96 Merge branch 'tor-github/pr/1116' 2019-07-23 09:46:29 -04:00
Nick Mathewson
d6a3636cdc Add a TOR_DISABLE_PRACTRACKER envvar for use by folks who don't care
Fixes part of bug 30752
2019-07-18 09:28:08 -04:00
George Kadianakis
7edd01a29b Merge branch 'tor-github/pr/1109' 2019-06-26 10:56:08 +03:00
Nick Mathewson
c60a85d22a Add a "typed_var" abstraction to implement lvalue access in C.
Right now, this has been done at a high level by confparse.c, but it
makes more sense to lower it.

This API is radically un-typesafe as it stands; we'll be wrapping it
in a safer API as we do #30914 and lower the struct manipulation
code as well.

Closes ticket 30864.
2019-06-24 17:50:43 -04:00
Nick Mathewson
458da8a80d Move unit-parsing code to src/lib/confmgt
lib/confmgt is at a higher level than lib/conf, since it needs to
call down to logging and similar modules.
2019-06-24 15:11:57 -04:00
Nick Mathewson
a87700633c Don't try to shellcheck src/rust/registry
Fixes bug 30963; bug not in any released Tor.
2019-06-24 13:45:05 -04:00
Nick Mathewson
4ecd09cfb7 remove practracker from check-local (0.4.1 only) 2019-06-19 14:29:08 -04:00
rl1987
19dbd431c5 Shellcheck all the scripts 2019-06-17 08:56:02 -04:00
teor
e218da1722
make: Improve the documentation for test-network-all
"make test-network-all" shows the warnings from each test-network.sh
run on the console, so developers see new warnings early.

Improve the documentation for this feature, and rename a Makefile
variable so the code is self-documenting.

Fixes bug 30455; bugfix on 0.3.0.4-rc.
2019-06-14 11:44:26 +10:00
Nick Mathewson
e2d3d44496 Add a new "autostyle" make target to run all of our reformatting
Closes ticket 30539.
2019-05-20 12:08:30 -04:00
Nick Mathewson
206d28ff15 Merge branch 'maint-0.4.0' 2019-04-29 10:15:11 -04:00
teor
1788343aff
Stop looking for scripts in the build directory during "make shellcheck"
Fixes bug 30263; bugfix on 0.4.0.1-alpha.
2019-04-23 12:31:14 +10:00
George Kadianakis
76f1763976 Merge branch 'maint-0.4.0' 2019-04-05 14:55:22 +03:00
George Kadianakis
7fe169a500 Merge branch 'tor-github/pr/879' into maint-0.4.0 2019-04-05 14:55:09 +03:00
teor
db71bceb40
Merge branch 'bug29036-29962-034' into bug29036-29962-035 2019-04-05 12:58:32 +10:00
teor
a514e02476
Merge branch 'bug29036-029' into bug29036-29962-034 2019-04-05 12:58:16 +10:00
teor
f0cd8f804f
Makefile: actually, don't delete the gcno files
We need to keep the gcno files, because they are created at compile time.
2019-04-05 12:56:29 +10:00
teor
7014e57f4a
Merge branch 'bug29036-29962-034' into bug29036-29962-035
Merge the moved coverage line from 29036 with the stem changes in
maint-0.3.5.
2019-04-01 14:11:20 +10:00
teor
ac28e56ccb
Merge branch 'bug29036-029' into bug29036-29962-034 2019-04-01 14:07:58 +10:00
teor
57e9fe2bba
Makefile: delete all the gcov-related files in reset-gcov
And fix a comment.

See:
https://gcc.gnu.org/onlinedocs/gcc/Gcov-Data-Files.html#Gcov-Data-Files
2019-04-01 14:06:52 +10:00
Nick Mathewson
a47b61f329 Merge branch 'messaging_v3' into messaging_v3_merged 2019-03-26 20:13:49 -04:00
Nick Mathewson
271a671822 pubsub: relationship checking functionality
This code tries to prevent a large number of possible errors by
enforcing different restrictions on the messages that different
modules publish and subscribe to.

Some of these rules are probably too strict, and some too lax: we
should feel free to change them as needed as we move forward and
learn more.
2019-03-25 16:35:33 -04:00
Nick Mathewson
e4d3098d4d Low-level dispatch module for publish-subscribe mechanism
This module implements a way to send messages from one module to
another, with associated data types.  It does not yet do anything to
ensure that messages are correct, that types match, or that other
forms of consistency are preserved.
2019-03-25 16:35:33 -04:00
Nick Mathewson
2c8af79de5 Add a practracker-regen make target 2019-03-25 16:09:11 -04:00
George Kadianakis
58de565988 Call practracker as part of check-local.
- Introduce 'make check-best-practices'.
- Fix up Tor topdir etc to work with the way 'make check-local' gets called.
- Make practracker less likely to print useless stuff.
2019-03-13 09:27:24 -04:00
Nick Mathewson
00bc18b847 Merge remote-tracking branch 'tor-github/pr/653' 2019-01-22 08:13:14 -05:00
Nick Mathewson
2f683465d4 Bump copyright date to 2019 2019-01-16 12:33:22 -05:00
Nick Mathewson
efe55b8898 Bump copyright date to 2019. 2019-01-16 12:32:32 -05:00
Nick Mathewson
c281e587bb Merge branch 'ticket28058_squashed' 2019-01-15 08:08:41 -05:00
rl1987
136e6e7ceb Run shellcheck for stuff in scripts/ as part of 'make check' 2019-01-15 08:08:29 -05:00
Nick Mathewson
9c6283732a Merge branch 'maint-0.3.5' 2018-12-20 07:50:04 -05:00
Nick Mathewson
ef97543270 Merge remote-tracking branch 'tor-github/pr/607' into maint-0.3.5 2018-12-20 07:49:59 -05:00
teor
02009c66c0
Stop running stem's unit tests as part of "make test-stem"
But continue to run stem's unit and online tests during
"make test-stem-full".

Fixes bug 28568; bugfix on 0.2.6.3-alpha.
2018-12-20 13:01:18 +10:00
Nick Mathewson
b915b6cd21 Merge remote-tracking branch 'github/prop297' 2018-12-11 09:44:57 -05:00
Nick Mathewson
ca4b86f90a Merge remote-tracking branch 'tor-github/pr/508' 2018-12-05 08:19:02 -05:00
Nick Mathewson
b16d6453ad Rewrite updateVersions script in Python, add datestamp functionality.
This updateVersions.pl script was one of the only essential perl
scripts left in out maint system, and was the only one that used
autoconf to fill in the script.

This script adds a feature to define an APPROX_RELEASE_DATE macro
that is updated when the version changes.  We'll use this to
implement prop297, so that we have an accurate view of when a
release date happens.
2018-11-24 20:44:37 -05:00
Nick Mathewson
a4f2075170 Merge remote-tracking branch 'isis/bug25341' into ticket25341_merged_v2 2018-11-19 09:22:30 -05:00
Nick Mathewson
f6b8c7da66 Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
Nick Mathewson
6e7ff8cba0 Move the code that knows our tor version into a lowest-level lib 2018-11-05 09:22:02 -05:00
Taylor Yu
36ba506508 report origin of mystery core file
Report what program produced the mysterious core file that we
occasionally see on Travis CI during make distcheck.  Closes ticket
28024.
2018-10-12 15:55:15 -05:00
Nick Mathewson
c8f2a6d2fe Extract the non-stats part of geoip into a new src/lib/geoip. 2018-09-27 10:26:01 -04:00
teor
3eafa61f63 check-changes: Warn about bugfixes on future releases
Warn when bugfix changes files say that the bug is in a future release.

Closes ticket 27761.
2018-09-18 20:40:50 +10:00
Nick Mathewson
0db5c54957 Merge branch 'nss_squashed' into nss_merge 2018-09-04 20:21:07 -04:00
Nick Mathewson
0ea622aa3a Merge branch 'maint-0.3.3' into maint-0.3.4 2018-08-29 11:17:31 -04:00
Nick Mathewson
810152b20f Merge branch 'maint-0.3.4' 2018-08-29 11:17:31 -04:00
Nick Mathewson
a28c14aad5 Merge branch 'maint-0.3.2' into maint-0.3.3 2018-08-29 11:17:31 -04:00
Nick Mathewson
b40f9967fa Merge branch 'maint-0.2.9' into maint-0.3.2 2018-08-29 11:17:31 -04:00
teor
541b89b061
Test: avoid spurious failures in make test-network-all
Before running make test-network-all, delete old logs and test result
files, to avoid spurious failures.

Fixes bug 27295; bugfix on 0.2.7.3-rc.
2018-08-29 10:47:20 +10:00
teor
3e298633ca
Test: consistently use $(TEST_NETWORK_ALL_LOG_DIR) in Makefile.am
Part of 27295.
2018-08-29 10:47:05 +10:00
cypherpunks
32ad8e9919 add make check-rustfmt 2018-08-16 08:42:57 -04:00
Nick Mathewson
fdaa483098 Merge branch 'nss_dh_squashed' into nss_dh_squashed_merged 2018-07-31 19:56:23 -04:00
Nick Mathewson
de4d7c3837 Merge branch 'ticket26447' 2018-07-31 08:21:10 -04:00
Nick Mathewson
aeffbe5101 Run check-includes.py script with detected python path. 2018-07-30 09:07:19 -04:00
rl1987
d663ef9858 Fix build to work with --disable-unittests again 2018-07-16 10:49:40 +00:00
Nick Mathewson
79267bad65 Add a configure switch to build with NSS.
When it is set, include the NSS headers and libraries as
appropriate.  Doesn't actually use them yet, though.
2018-07-11 13:22:20 -04:00
Nick Mathewson
92db96d80f Make our crypto library symbolic in the makefiles. 2018-07-11 12:51:36 -04:00
Nick Mathewson
cade65fd2e Add "check-includes" to check-local. 2018-07-09 15:55:03 -04:00
Nick Mathewson
4ff93dd94f Merge remote-tracking branch 'rl1987/doc26638' 2018-07-09 09:40:04 -04:00
Nick Mathewson
5f51c2de8b Fix our build system to know the new locations of the src/or stuff 2018-07-05 17:15:50 -04:00
Nick Mathewson
81cb0afb2b Start splitting src/or
This is a very gentle commit that just lays the groundwork in the
build system: it puts the include files to build libtor-app.a into
src/core, and to build the tor executable into src/app.  The
executable is now "src/app/tor".
2018-07-05 17:15:50 -04:00
Nick Mathewson
1e417b7275 All remaining files in src/common belong to the event loop. 2018-07-05 15:22:17 -04:00
rl1987
287b64ee10 Add CODE_OF_CONDUCT file 2018-07-05 11:22:33 +03:00
Nick Mathewson
7b1832d011 Add make targets to show static libraries.
These might make it easier for people to link our stuff, and keep
their scripts more robust.
2018-07-01 10:08:54 -04:00
Nick Mathewson
43dc92441d Tabify all of the .am files. 2018-07-01 09:37:28 -04:00
Nick Mathewson
028523c801 Merge branch 'maint-0.3.4' 2018-06-30 09:15:39 -04:00
Nick Mathewson
4e11c2ca6c Extract getpass to a new lib/term library
(Term is short for terminal)
2018-06-29 12:21:52 -04:00
Nick Mathewson
e0957022bd Extract get_uname to lib/osinfo. 2018-06-29 12:21:52 -04:00
Nick Mathewson
0362cdc169 Move fd and memory-info functions. 2018-06-29 12:21:52 -04:00
Nick Mathewson
0f02d2c041 Fix windows compilation in compat_time
We need to use lib/fs/winlib.h here so that we can use
GetTickCount64.

I would love to declare that XP is dead, and everybody has
GetTickCount64.
2018-06-28 13:40:21 -04:00
Nick Mathewson
a097ddb4f5 Extract time functionality into lib/wallclock and lib/time 2018-06-28 13:01:54 -04:00
Nick Mathewson
bdea94a665 Move floating-point math functions into a new lib/math 2018-06-28 12:24:45 -04:00
Nick Mathewson
315e6b59dd Extract process-management functionality into a new lib/process
Note that procmon does *not* go here, since procmon needs to
integrate with the event loop.
2018-06-28 11:18:13 -04:00
Nick Mathewson
eee86e627b Extract memarea into its own library 2018-06-28 09:25:18 -04:00
Nick Mathewson
9cf335c9a5 Extract threading code into a new library.
Note that the workqueue code does *not* go here: it is logically at
a higher level, since it needs to use libevent and the networking
stack.
2018-06-28 09:14:42 -04:00
Nick Mathewson
235ddb15a0 Move util_format into a new libtor-encoding library
libtor-encoding is about various ways to transform data to and from
character sequences.
2018-06-27 16:18:42 -04:00
Alex Xu (Hello71)
614a78ddaa Fix Rust cross compilation. 2018-06-27 14:42:06 -05:00
Nick Mathewson
000de2f2ac Merge branch 'fs_refactor' 2018-06-27 14:45:17 -04:00
Nick Mathewson
2113603718 Merge branch 'sandbox_refactor' 2018-06-27 14:45:14 -04:00
Nick Mathewson
b9b05e437d Merge branch 'net_refactor' 2018-06-27 12:52:31 -04:00
Nick Mathewson
1e2e0f7e46 Extract functions from compat.c and util.h into a new fs library 2018-06-27 12:30:11 -04:00
Nick Mathewson
bee580ddba Move sandbox code into a new library. 2018-06-27 10:04:17 -04:00
Nick Mathewson
42b3caa6ad Move network code to libtor-net.
There are some additional changes to come: those points are marked
by XXXX.
2018-06-27 09:08:35 -04:00
Nick Mathewson
b1de1e7a77 Extract core part of smartlist code into its own library.
The smartlist_core library now contains only the parts of smartlists
that are needed for the logging library.  This resolves the
circularity between "container" and "log".

The "containers" library still uses the logging code, and has the
higher-level smartlist functions.
2018-06-26 12:13:23 -04:00
Nick Mathewson
79f73ab330 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.
2018-06-22 11:40:20 -04:00
Nick Mathewson
97b15a1d7c 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. :)
2018-06-22 10:31:51 -04:00
Nick Mathewson
2cf033f238 Extract simple integer math into its own module 2018-06-22 09:49:13 -04:00
Nick Mathewson
1abadee3fd Extract key string manipulation functions into a new library. 2018-06-22 09:49:13 -04:00
Nick Mathewson
9426751b72 Extract our code for answering "what time is it right now".
The other time stuff is higher-level
2018-06-22 09:49:13 -04:00