teor
25c5322dfe
log: Define count, boundary, and all macros for domains and flags
...
And do static checks on those macro definitions.
Part of 31854.
2019-09-30 22:04:03 +10:00
teor
4c88ebcf47
log: Remove duplicate code and an outdated comment
...
Preparation for 31854.
2019-09-30 22:03:59 +10:00
George Kadianakis
de66bed604
Merge branch 'tor-github/pr/1366'
2019-09-30 14:01:01 +03:00
George Kadianakis
9318682109
Merge branch 'tor-github/pr/1346'
2019-09-30 13:56:51 +03:00
George Kadianakis
ae8d36db31
Merge branch 'tor-github/pr/1302'
2019-09-30 13:47:53 +03:00
George Kadianakis
fc760c5088
Merge branch 'tor-github/pr/1356'
2019-09-30 13:47:06 +03:00
George Kadianakis
4673cb8168
Merge branch 'tor-github/pr/1339'
2019-09-30 13:44:59 +03:00
teor
b186418792
Appveyor: Avoid spurious errors in Appveyor CI builds
...
When Appveyor fails before the install step, some of the finish step's
functions were not defined.
Fixes bug 31884; bugfix on 0.3.4.2-alpha.
2019-09-30 15:14:21 +10:00
teor
2420c8c936
test: Avoid a map_anon_nofork test failure on SunOS
...
This test failure happened due to a signed/unsigned integer
comparison.
This bug occurred on SunOS, it may also occur on other systems that
use signed char as the default. (And cast 1-byte integer constants
to an unsigned integer.)
Fixes bug 31897; bugfix on 0.4.1.1-alpha.
2019-09-30 14:54:56 +10:00
Nick Mathewson
fc1134e3e5
annotate_ifdef_directives: test edge-case of 80-char line
...
An 80-character line (79 characters if you don't count the newline)
should not be truncated, and should not have a "..." insterted.
2019-09-27 21:04:22 -04:00
Nick Mathewson
21c9f7c85e
Annotate_ifdef_directives: doctest for 80-column lines.
2019-09-27 21:04:22 -04:00
Nick Mathewson
f1e0665c93
Rename annotate_ifdef_directives to end with .py.
...
This allows the python doctest module to process it correctly
when invoked as:
python -m doctest -v annotate_ifdef_directives.py
2019-09-27 21:04:22 -04:00
Nick Mathewson
d229399e77
annotate_ifdef_directives: Allow it to be imported as a module.
2019-09-27 21:04:22 -04:00
Nick Mathewson
6f0e697e41
Use Doctests to test the behavior of annotate_ifdef_directives.
2019-09-27 21:04:22 -04:00
Nick Mathewson
195aa2f5f7
annotate_ifdef_directives: generate paren-balanced expressions
...
This algorithm is not fully general, but it strikes a balance
between efficiency, simplicity, and correctness.
2019-09-27 21:04:22 -04:00
Nick Mathewson
21cc9d13f3
annotate_ifdef_directives: clarify situation with newlines
...
Our line limit is 80 characters, assuming that there is a single
terminating newline character that counts towards the limit. On
Windows, this might go as high as 81 characters, if we count CRLF as
two characters.
2019-09-26 15:52:45 -04:00
Nick Mathewson
194dbea24d
Run "make autostyle" with new "annotate_ifdef_directives"
2019-09-26 15:52:45 -04:00
Nick Mathewson
3283fd7e79
Changes file for 31759 and 31779
2019-09-26 15:52:45 -04:00
Nick Mathewson
65e63e7461
annotate_ifdef_directives: remove some cases of double negation
...
This change should reduce the number of cases where we say
"/* !(!defined(foo)) */" .
This only does cases where we can use a regex to make sure that the
simplification is guaranteed to be correct. Full boolean
simplification would require this script to parse C, and nobody
wants that.
2019-09-26 15:52:45 -04:00
Nick Mathewson
ffd857bbe1
Merge remote-tracking branch 'tor-github/pr/1308'
2019-09-26 14:36:37 -04:00
teor
d1eab05834
lock: Avoid some undefined behaviour when freeing mutexes.
...
Fixes bug 31736; bugfix on 0.0.7.
2019-09-26 12:37:25 +10:00
teor
749c2e1761
log: explain why it is safe to leave the log mutex initialized
...
The log mutex is dynamically initialized, guarded by log_mutex_initialized.
We don't want to destroy it, because after it is destroyed, we won't see
any more logs.
If tor is re-initialized, log_mutex_initialized will still be 1. So we
won't trigger any undefined behaviour by trying to re-initialize the
log mutex.
Part of 31736, but committed in this branch to avoid merge conflicts.
2019-09-26 12:22:34 +10:00
teor
2f8a9a2db6
sandbox: Allow backtrace signals to be disabled
...
Part of 31614.
2019-09-26 12:22:30 +10:00
teor
c9c046c365
changes: file for 31614
2019-09-26 12:22:21 +10:00
teor
315f14c709
backtrace: avoid undefined behaviour on re-initialisation
...
cb_buf_mutex is statically initialised, so we can not destroy it when
we are shutting down the err subsystem. If we destroy it, and then
re-initialise tor, all our backtraces will fail.
Part of 31736, but committed in this branch to avoid merge conflicts.
2019-09-26 12:07:25 +10:00
Nick Mathewson
40a22fb707
Merge remote-tracking branch 'tor-github/pr/1349'
2019-09-25 13:07:19 -04:00
George Kadianakis
7157d80c6f
Merge branch 'tor-github/pr/1337'
2019-09-25 14:19:49 +03:00
George Kadianakis
01a797be4e
Merge branch 'tor-github/pr/1334'
2019-09-25 14:19:02 +03:00
George Kadianakis
0a77e5f1c2
Merge branch 'tor-github/pr/1341'
2019-09-25 14:18:15 +03:00
George Kadianakis
09769779a0
Merge branch 'tor-github/pr/1357'
2019-09-25 14:17:35 +03:00
George Kadianakis
6677eae579
Merge branch 'tor-github/pr/1355'
2019-09-25 14:17:03 +03:00
George Kadianakis
6712fb9e27
Merge branch 'tor-github/pr/1353'
2019-09-25 14:16:28 +03:00
George Kadianakis
2199629648
Merge branch 'tor-github/pr/1345'
2019-09-25 14:14:30 +03:00
George Kadianakis
e77ad795c6
Merge branch 'tor-github/pr/1322'
2019-09-25 14:13:44 +03:00
George Kadianakis
99f75373de
Merge branch 'tor-github/pr/1309'
2019-09-25 14:12:42 +03:00
teor
d30a042fa8
test: Use SEVERITY_MASK_IDX() to find the LOG_* mask indexes
...
In the unit tests and fuzzers.
Fixes bug 31334; bugfix on 0.2.5.2-alpha.
2019-09-25 16:40:09 +10:00
teor
1ad1e84b17
log: Move SEVERITY_MASK_IDX() to log.h
...
Move SEVERITY_MASK_IDX() to log.h private/unit tests section, so that
we can use it in log.c, the unit tests, and the fuzzers.
(The test and fuzzer code changes are in a subsequent commit.)
Preparation for bug 31334.
2019-09-25 16:37:07 +10:00
Nick Mathewson
b03cb0cc26
Add a changes file about the introduction of doc/HACKING/design.
2019-09-24 19:35:42 -04:00
Nick Mathewson
469051f650
Copy architectural documentation from tor-guts.git repository
...
I started this repository a while ago to work on documentation for
Tor's internals. It needs substantial revision, but first, let's
get it copied into Tor's repository.
These files are copied, "warts and all", from the tor-guts.git repo,
commit de1e34259178b09861c0dea319c760fa80d0099a.
Part of 31819.
2019-09-24 19:26:04 -04:00
Nick Mathewson
7071144859
Merge branch 'ticket31372_041' into ticket31372_042
2019-09-24 08:04:41 -04:00
Nick Mathewson
836b7a538e
Merge branch 'ticket31372_040' into ticket31372_041
2019-09-24 08:04:20 -04:00
Nick Mathewson
246fdd8742
Merge branch 'ticket31372_035' into ticket31372_040
2019-09-24 08:02:44 -04:00
Nick Mathewson
da5c8277ea
Merge branch 'ticket31372_029' into ticket31372_035
2019-09-24 08:01:43 -04:00
teor
0c07cd24d4
changes: file for 31839
2019-09-24 15:22:57 +10:00
teor
0cb57a4908
feature/control: add a missing word to the send_control_done() comment
2019-09-24 15:08:37 +10:00
teor
dfea789203
log: Improve the documentation for tor_log_update_sigsafe_err_fds()
...
Part of 31839.
2019-09-24 15:04:03 +10:00
teor
102546f99f
doc: Document the signal-safe log behaviour in the tor man page
...
Part of 31389.
2019-09-24 15:03:17 +10:00
teor
22c33ea7f7
practracker: Fix a typo in the usage message
...
Fixes bug 31828; bugfix on 0.4.2.1-alpha.
2019-09-24 14:37:43 +10:00
teor
ab7bfdf404
backtrace: Add a missing check for HAVE_PTHREAD_H before using mutexes
...
Fixes bug 31614; bugfix on 0.2.5.2-alpha.
2019-09-24 13:35:55 +10:00
teor
6b97a5a843
backtrace: Disable signal handlers in remove_bt_handler()
...
Fixes bug 31614; bugfix on 0.2.5.2-alpha.
2019-09-24 13:35:48 +10:00