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
Nick Mathewson
f7949a440f
Add a CONTRIBUTING file
...
This file contains pointers to other important top-level resources,
and some info about acceptable licenses. Also, add that info to
CodingStandards.md
2018-05-11 13:19:37 -04:00
Nick Mathewson
be5b4415c2
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-05-03 13:38:54 -04:00
Nick Mathewson
7f629f7fd9
Merge branch 'maint-0.3.3'
2018-05-03 13:38:54 -04:00
David Goulet
43bba89656
build: Always compile module support for tests
...
The --disable-module-* configure option removes code from the final binary but
we still build the unit tests with the disable module(s) so we can actually
test that code path all the time and not forget about it.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-05-01 10:07:09 -04:00
Taylor Yu
f0dc6c8e2a
Merge branch 'bug25936-032' into bug25936-033
2018-04-26 16:07:56 -05:00
Taylor Yu
2edc9cd484
Merge branch 'bug25936-031' into bug25936-032
2018-04-26 15:58:39 -05:00
Taylor Yu
5982105098
Merge branch 'bug25936-029' into bug25936-031
2018-04-26 15:46:57 -05:00
Taylor Yu
31865b5029
Show test-suite.log for distcheck on Travis CI
...
When Travis CI runs make distcheck, test-suite.log doesn't exist in
the expected place. Add a new make target to show this file and use
it when DISTCHECK=yes in .travis.yml. Fixes bug 25814; bug not in any
released Tor.
2018-04-26 15:35:47 -05:00
Deepesh Pathak
72bfcb37f1
add changes file and update check-typos in makefile
2018-04-22 20:48:48 -04:00
Deepesh Pathak
48092540d0
Add spell check to makefile to check for typos ticket#25024
...
- Use misspell to check for typos in codebase
- Add `make check-typos` to run the checks
- Add `check-typos` to `make check`
2018-04-22 20:48:44 -04:00
Isis Lovecruft
af3e5bed10
build: Fix Makefile.am TOR_RUST_STATIC_NAME variable name after revert.
...
* FIXES #25341 : https://bugs.torproject.org/25341
2018-02-24 02:17:36 +00:00
Isis Lovecruft
a9733a32d3
build: Revert "Use -lresolv in LIBS with rust on OSX."
...
This reverts commit 2ac9734bd2
.
* FIXES #25341 : https://bugs.torproject.org/25341
Signed-off-by: Isis Lovecruft <isis@torproject.org>
2018-02-24 02:16:28 +00:00
Nick Mathewson
f470756cf4
Merge branch 'maint-0.3.2'
2018-01-16 13:36:48 -05:00
Nick Mathewson
2ac9734bd2
Use -lresolv in LIBS with rust on OSX.
...
This fixes issue #24652 , and is a workaround for Rust issue
https://github.com/rust-lang/rust/issues/46797 .
2018-01-04 14:02:24 -05:00
Nick Mathewson
5051cfe9bd
Merge remote-tracking branch 'ffmancera/github/bug24677'
2018-01-02 09:37:23 -05:00
Fernando Fernandez Mancera
3871c102a6
Use ping -6 ::1 on Linux when ping6 ::1 fails on tests.
...
Tor test now checks if "ping -6 -c 1 -W 1 ::1" works when "ping6 -c 1 -W 1 ::1"
fails on tests.
Fixes #24677 ; bugfix in 0.2.9.3-alpha.
Signed-off-by: Fernando Fernandez Mancera <ffernandezmancera@gmail.com>
2018-01-02 15:18:36 +01:00
Nick Mathewson
3a364529a4
Make distcleancheck pass with --enable-rust
2017-10-27 12:35:13 -04:00
Chelsea Holland Komlo
0c4d535972
refactor build infrastructure for single rust binary
2017-10-27 10:02:08 -04:00