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
Nick Mathewson
77dff00b18
Refactor container into a library.
2018-06-22 09:49:13 -04:00
Nick Mathewson
e066966bf4
Extract tor_malloc and friends to a new module.
2018-06-21 15:20:01 -04:00
Nick Mathewson
7f2dbbe585
Make sure check-spaces applies in lib and dirauth.
2018-06-21 14:22:15 -04:00
Nick Mathewson
946428d273
Run checkIncludes.py from "make check-includes"
2018-06-21 14:20:43 -04:00
Nick Mathewson
25ccfff86a
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.
2018-06-21 13:14:14 -04:00
Nick Mathewson
4bdda6d05f
Move trace into its own library in libs.
...
Apparently it has no testing variant.
2018-06-21 13:14:14 -04:00
Nick Mathewson
2d20cbf837
Extract compression functions into a new library.
2018-06-21 13:08:25 -04:00
Nick Mathewson
ad7776f66d
Rename libtor.a to libtor-app.a
2018-06-21 11:03:39 -04:00
Nick Mathewson
a403ee6bb3
Move consttime library code into its own directory.
2018-06-21 11:03:39 -04:00
Nick Mathewson
2cfcb7b364
Extract error functionality into a new lowest-level library.
2018-06-21 10:47:11 -04:00
Nick Mathewson
b2346b1201
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.
2018-06-21 10:35:30 -04:00
Nick Mathewson
0dab29ce10
Run rectify_include_paths.py
2018-06-20 09:35:05 -04:00
Nick Mathewson
257b280776
Simplify AM_CPPFLAGS include setup
...
We had accumulated a bunch of cruft here. Now let's only include
src and src/ext. (exception: src/trunnel is autogenerated code, and
need to include src/trunnel.)
This commit will break the build hard. The next commit will fix it.
2018-06-20 09:27:04 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Isis Lovecruft
5f3a4e14e3
build: Add make clippy
option for Rust linting.
...
Note that clippy is quite loud/obnoxious, as its name would imply.
This target isn't meant to run on CI, or even necessarily exit
cleanly. It's merely a way for developers to check if they've made
any glaring mistakes, or done awkward things they might not have
otherwise realised. We *can* configure it to be quieter in the
future, but it's probably not worth rabbitholing on.
* CLOSES #22156 : https://bugs.torproject.org/22156
2018-06-11 19:16:56 +00:00