Nick Mathewson
471104eaa5
Remove needless includes from or.h
...
or.h should really include only the minimum of stuff from or/*,
common/*, and lib/*.
2018-07-01 15:20:37 -04:00
Nick Mathewson
7a61a92870
Combine DH_BYTES and DH_KEY_LEN; put them in a lib/defs header.
2018-07-01 11:25:29 -04:00
Nick Mathewson
cf8c3abff1
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-07-01 10:22:21 -04:00
Nick Mathewson
adcd1d8b9a
Merge branch 'maint-0.3.4'
2018-07-01 10:22:21 -04:00
Nick Mathewson
9aeef05f8f
Merge remote-tracking branch 'dgoulet/bug26523_033_01' into maint-0.3.3
2018-07-01 10:22:18 -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
e042727cf0
Merge remote-tracking branch 'catalyst-github/bug25895_034-squashed' into maint-0.3.4
2018-06-30 09:15:34 -04:00
Nick Mathewson
57155d38a3
Merge branch 'maint-0.3.4'
2018-06-29 23:12:03 -04:00
Nick Mathewson
8093a63f95
Restor EOL@EOF in routerlist.c
2018-06-29 23:08:45 -04:00
Nick Mathewson
ce940c8c09
Add another winsock2 include, for timeval in procmon.
2018-06-29 19:17:24 -04:00
Nick Mathewson
5921b23e15
add an include to fix macos, and probably bsd too
2018-06-29 14:03:13 -04:00
Nick Mathewson
ed84dab8b4
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-29 13:49:43 -04:00
Nick Mathewson
36c372581f
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:49:43 -04:00
Nick Mathewson
75a6e7e256
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:49:43 -04:00
Nick Mathewson
cd3f957219
Merge branch 'maint-0.3.4'
2018-06-29 13:49:43 -04:00
Nick Mathewson
a3ec89a4f8
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-06-29 13:49:43 -04:00
Nick Mathewson
3c0a63c40f
Fix a memory error in test_shared_random
...
Bug not in any released Tor.
2018-06-29 13:49:02 -04:00
Nick Mathewson
d583459d58
Fix some memory errors in the recent coverity fixes.
...
Found by asan on travis :/
2018-06-29 13:48:36 -04:00
Nick Mathewson
92b4996b23
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:07:13 -04:00
Nick Mathewson
d3ecb3a8d6
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:07:13 -04:00
Nick Mathewson
1f389dadd0
Merge branch 'maint-0.3.4'
2018-06-29 13:07:13 -04:00
Nick Mathewson
6e9d5fc4ec
Merge remote-tracking branch 'ahf-github/maint-0.3.2' into maint-0.3.2
2018-06-29 13:07:07 -04:00
Nick Mathewson
7a47379f25
Merge branch 'maint-0.3.4'
2018-06-29 13:06:16 -04:00
Nick Mathewson
f82f8179e6
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:06:15 -04:00
Nick Mathewson
f6b30a97a9
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:06:15 -04:00
Nick Mathewson
68dfbd5ef4
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-29 13:06:15 -04:00
Nick Mathewson
b89a66e997
Merge remote-tracking branch 'ahf-github/maint-0.3.0' into maint-0.3.1
2018-06-29 13:06:11 -04:00
Nick Mathewson
419077c26d
Merge remote-tracking branch 'ahf-github/maint-0.3.1' into maint-0.3.1
2018-06-29 13:06:08 -04:00
Nick Mathewson
1a5be3c5e7
Merge branch 'maint-0.3.4'
2018-06-29 13:03:00 -04:00
Nick Mathewson
5ab23e03fa
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:02:56 -04:00
Nick Mathewson
df896ed632
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:00:56 -04:00
Nick Mathewson
fe2588a5a8
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-29 13:00:56 -04:00
Nick Mathewson
1385a5118d
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-06-29 13:00:56 -04:00
Nick Mathewson
9d5b815dca
Add a missing include to timers, to make windows happier
2018-06-29 12:59:43 -04:00
Nick Mathewson
6ac64e16ed
Eliminate compat.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
077176a34c
Stop using util.h and compat.h in src/trunnel/
2018-06-29 12:21:52 -04:00
Nick Mathewson
666e3e5ec6
Stop using util.h and compat.h in src/tools
2018-06-29 12:21:52 -04:00
Nick Mathewson
4212a135e1
Remove util.h and compat.h includes from src/common
2018-06-29 12:21:52 -04:00
Nick Mathewson
35e1c497aa
Combine compat.h into util.h
...
This is now just a collection of frequently-used headers.
2018-06-29 12:21:52 -04:00
Nick Mathewson
714788b195
Remove non-windows system includes from compat.h and util.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
71e56c70e9
Remove windows libraries from util.h and compat.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
31897a256c
Extract socks5_status_t
...
I'm not sure of the best place to put this header long-term, since
both or/*.c and tools/tor-resolve.c use it.
2018-06-29 12:21:52 -04:00
Nick Mathewson
080069c7b3
Move SIO_IDEAL_SEND_BACKLOG_QUERY into socket.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
b21108f839
Remove an errant (and unused) include permission in lib/tls
2018-06-29 12:21:52 -04:00
Nick Mathewson
e269044ce0
Remove compat.c and util.c
2018-06-29 12:21:52 -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
207fc4cffe
Move SUBTYPE_P into compat_compiler.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
77bc65bbc4
Move bool_eq and bool_neq to lib/intmath
2018-06-29 12:21:52 -04:00
Nick Mathewson
40199b180e
Remove read_all and write_all
...
These had become wrappers around their fd and socket variants; there
were only a few users of the original functions still remaining.
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
973afcc40b
Move tor_get_avail_disk_space() to lib/fs
2018-06-29 09:43:00 -04:00
Nick Mathewson
f0319fcbde
Merge remote-tracking branch 'catalyst-github/fix-macos-includes'
2018-06-28 18:19:53 -04:00
Taylor Yu
f9e22c68a0
Fix macOS includes
...
Recent code movement from refactoring missed some includes that seem
to be necessary on macOS.
2018-06-28 17:15:53 -05:00
Nick Mathewson
365179cd16
Fix a bogus n in a comment
2018-06-28 17:21:15 -04:00
Nick Mathewson
c84ab36eff
A couple of includes to make windows compile again
2018-06-28 16:37:59 -04:00
Nick Mathewson
935ba02565
Fix paths for buffers.h; automated.
2018-06-28 16:29:35 -04:00
Nick Mathewson
d8b34e0886
Move buffers into container
...
Split the network-only and compression-only parts of buffers into
the appropriate modules.
2018-06-28 16:28:08 -04:00
Nick Mathewson
be40ad51b6
Add sys/capability.h and sys/prctl.h includes in setuid.c
2018-06-28 15:34:51 -04:00
Nick Mathewson
b67754cd64
compat_threads.c needs string.h for memset.
2018-06-28 15:20:26 -04:00
Nick Mathewson
a742a826f6
Remove all include common/ uses in crypto_ops and tls.
2018-06-28 14:40:25 -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
7d7af19f1b
Use tor_ntohs in compress.c; avoid a winsocks dependency
2018-06-28 13:39:49 -04:00
Nick Mathewson
326c473b79
fixup! Extract time functionality into lib/wallclock and lib/time
2018-06-28 13:39:09 -04:00
Nick Mathewson
02bb701bba
Move DLL support to lib/fs
2018-06-28 13:37:51 -04:00
Nick Mathewson
8fc15e4861
Add ntohs and htons to lib/arch/bytes.h
2018-06-28 13:26:27 -04:00
Nick Mathewson
4dda026f0d
Update lib/compress to not require common/*.h
2018-06-28 13:19:58 -04:00
Nick Mathewson
3d1e99d01b
Move MIN and MAX into lib/intmath/cmp.h
2018-06-28 13:19:42 -04:00
Nick Mathewson
8736892679
Remove a pair of windows flags used nowhere in our code
2018-06-28 13:02:33 -04:00
Nick Mathewson
57f4b83852
Fix up the include path of compat_time.h (automated)
2018-06-28 13:01:54 -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
6178a9f758
Move compute_num_cpus to lib/thread
2018-06-28 12:08:18 -04:00
Nick Mathewson
042df08693
Move network_init to lib/net
2018-06-28 11:59:16 -04:00
Nick Mathewson
db1a420c4e
Move tor_gethostname to lib/net
2018-06-28 11:57:01 -04:00
Nick Mathewson
8c6ff9fec2
Move tor_escape_str_for_pt_args into or/transports.c
2018-06-28 11:49:27 -04:00
Nick Mathewson
30166261bb
Move string_is_key_value to lib/encoding
2018-06-28 11:46:32 -04:00
Nick Mathewson
48ebd9bf76
Move weakrng into lib/intmath
2018-06-28 11:39:49 -04:00
Nick Mathewson
aa3edfd205
Move lockfile code into lib/fs
2018-06-28 11:33:50 -04:00
Nick Mathewson
84b8dfe635
Move socket-errno code into lib/net
2018-06-28 11:20:31 -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
ec4eee6356
Fix the include paths for storagedir,conffile (automated)
2018-06-28 09:42:33 -04:00
Nick Mathewson
a1f3ece16d
Move conffile and storagedir to lib/fs
2018-06-28 09:38:17 -04:00
Nick Mathewson
38fd3e0df0
Fix up the modules that include memarea.h (automated)
2018-06-28 09:25:58 -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
544ab27a94
Extract the alert-socket code into lib/net.
...
This code was in compat_threads, since it was _used_ for efficiently
notifying the main libevent thread from another thread. But in
spite of its usage, it's fundamentally a part of the network code.
2018-06-28 08:49:07 -04:00
Nick Mathewson
0b7452eeb2
rectify include paths (automatic) for confline.h
2018-06-27 16:59:56 -04:00
Nick Mathewson
b9b44bf000
Move confline.c to lib/encoding: it is about encoding key-value pairs
...
Also, move "unescape_string()" to encoding too, since it's about
encoding data as C strings.
2018-06-27 16:59:56 -04:00
Nick Mathewson
696f6f1569
Split confline into confline and conffile.
...
The "conffile" module knows about includes and filesystem access,
whereas confline doesn't. This will make it possible to put these
functions into libraries without introducing a cycle.
2018-06-27 16:59:56 -04:00
Nick Mathewson
0a9d8dcf2b
Move hex_str to binascii.c
2018-06-27 16:59:56 -04:00
Nick Mathewson
194a34cdc2
Extract time encoding functions into lib/encoding
2018-06-27 16:59:56 -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
Nick Mathewson
3cff3e825a
Move several address-string-testing functions to address.c
2018-06-27 16:18:42 -04:00
Nick Mathewson
e165c9c304
Move various mem* functions to lib/string
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
9e592d1dec
Move tor_strtok_r to libtor-string
2018-06-27 15:28:55 -04:00
Nick Mathewson
4d81f5211b
Move set/get_uint*() to inline functions in arch/bytes.h
...
Also move our ntohll/htonll functions.
2018-06-27 15:28:44 -04: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
300e3bebd1
Merge branch 'ticket26494'
2018-06-27 12:47:08 -04:00
Nick Mathewson
3d606dddb9
fixup! Move format_win32_error into lib/log/
2018-06-27 12:35:48 -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
3246c114a2
Move format_win32_error into lib/log/
2018-06-27 12:30:11 -04:00
David Goulet
3f8a12a63a
control: Make HSPOST properly parse HSADDRESS= param
...
For HSv3, the HSADDRESS= wasn't properly parsed for the HSPOST command. It now
correctly use it and furthermore sends back a "200 OK" in case the command is
successful for a v3 descriptor.
Fixes #26523
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-06-27 12:25:24 -04:00
Nick Mathewson
356f59b1bd
Move read/write_all_to_socket into lib/net.
2018-06-27 12:01:11 -04:00
Nick Mathewson
67135ca8e0
Split read_all and write_all into separate functions
2018-06-27 10:47:42 -04:00
Nick Mathewson
05040a9e84
Minimize and permit sandbox includes from crypto_ops.
2018-06-27 10:12:39 -04:00
Nick Mathewson
ad24ccd472
Minimize includes from sandbox.c
2018-06-27 10:11:27 -04:00
Nick Mathewson
55b7939367
Fix up include paths for sandbox.h (automated)
2018-06-27 10:04:41 -04:00
Nick Mathewson
bee580ddba
Move sandbox code into a new library.
2018-06-27 10:04:17 -04:00
Nick Mathewson
0742b38725
Revert "Use the "commands" argument of AC_CONFIG_FILES to make scripts +x"
...
This reverts commit 56c1fbf33f
.
2018-06-27 09:53:46 -04:00
Nick Mathewson
d893be190f
rectify include paths (automatic) for address.h
2018-06-27 09:13:04 -04:00
Nick Mathewson
3930416dec
Link GetAdaptersAddresses, rather than loading it on-demand.
...
This function has been present since Windows XP.
2018-06-27 09:12:57 -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
80730c45e0
Move tor_parse_long and friends into parse_int.h in libtor-string
2018-06-26 21:02:29 -04:00
Nick Mathewson
7159edf909
Move the escape-for-log code into src/lib/log
...
It doesn't need anything higher-level, and everything that needs the
logs potentially needs this.
2018-06-26 20:51:17 -04:00
Nick Mathewson
5f41bc91c6
Merge branch 'ticket26439'
2018-06-26 17:02:06 -04:00
Nick Mathewson
ebbb0348dc
Finish renaming digestset_contains to digestset_probably_contains
...
Since bloom filters are probabilistic, it's nice to make it clear
that the "contains" operation can have false positives.
2018-06-26 13:27:50 -04:00
Nick Mathewson
bf89278c79
Refactor bloom filter logic not to be digest-specific.
...
Now the address-set code and the digest-set code share the same
backend.
Closes ticket 26510
2018-06-26 13:27:23 -04:00
Nick Mathewson
82a7343b06
fixup! Extract core part of smartlist code into its own library.
2018-06-26 12:21:35 -04:00
Nick Mathewson
6e2b6a6685
fixup! Extract core part of smartlist code into its own library.
2018-06-26 12:18:49 -04:00
Nick Mathewson
d7bd8cf3b6
Use raw_assert directly in smartlist_core
...
I had previously added a "#define tor_assert raw_assert" here, to
make code movement in the previous commit more clear.
2018-06-26 12:16:04 -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
58fc42fdce
Fix comments in lib/container/*.c
2018-06-26 11:33:53 -04:00
Nick Mathewson
92d8284a97
Merge branch 'log_dependencies'
2018-06-26 11:27:33 -04:00
Nick Mathewson
cf0597c3b2
Bump version to 0.3.4.3-alpha-dev
2018-06-26 09:12:23 -04:00
rl1987
240f33e327
Generate trunnel impls and include into build
2018-06-26 12:37:33 +03:00
rl1987
adbe6a2521
Copy socks5.trunnel from trunnel examples dir
2018-06-26 12:37:33 +03:00
Nick Mathewson
b556894ef2
Include stdio.h in torerr.c.
2018-06-25 16:52:14 -04:00
Nick Mathewson
6c836b9e8c
Bump to 0.3.4.3-alpha.
2018-06-25 14:07:23 -04:00
Nick Mathewson
b059c38d8a
Merge branch 'maint-0.3.4'
2018-06-25 13:50:37 -04:00
Corey Farwell
e62582e9fe
Run rustfmt on 'src/rust/protover/ffi.rs'.
2018-06-25 08:03:04 -04:00
Corey Farwell
6d2e4dea10
Utilize type param in method invocation.
2018-06-24 22:45:07 -04:00
Corey Farwell
59d4505749
Utilize if..else
for switching on boolean values.
2018-06-24 22:44:36 -04:00
Roger Dingledine
04b350b476
better log line for debugging #26485
2018-06-24 18:14:24 -04:00
Roger Dingledine
73ae92dc52
we've never been good at using "directory" well as a noun
2018-06-24 18:08:24 -04:00
Nick Mathewson
d85fbc9a58
Add some casts to get test_dir.c compiling on windows.
...
Fixed bug 26479. Bug introduced by 0a6f4627a4292e4; bug not in any
released version.
2018-06-24 14:06:39 -04:00
Nick Mathewson
3cc0a145bd
Fix test_geoip failures on windows by writing file in binary mode.
...
Fixes bug 26480; bug appeared when we re-enabled the geoip tests on
windows. Bug originally introduced by our fix to 25787; bug not in
any released Tor.
2018-06-24 14:06:05 -04:00
Corey Farwell
94880b2db7
Utilize if let
construct instead of explicit unwrapping.
2018-06-24 10:16:11 -04:00
Corey Farwell
7e9c37f9cb
Change allocate_and_copy_string
to take a &str
instead of &String
.
2018-06-24 08:58:26 -04:00
Alexander Færøy
8ec6b36dca
Fix memory leak in test_sr_setup_commits().
...
This patch fixes a memory leak in test_sr_setup_commits() where the
place_holder is allocated, but never freed again.
See: Coverity CID 1437440.
2018-06-23 13:11:03 +02:00
Alexander Færøy
3395de51a0
Fix memory leak in disk_state_parse_commits().
...
This patch fixes a memory leak in disk_state_parse_commits() where if
commit is NULL, we continue the internal loop, but without ever freeing
the args variable.
See: Coverity CID 1437441.
2018-06-23 13:10:57 +02:00
Alexander Færøy
dcbfee246f
Fix memory leak in frac_nodes_with_descriptors().
...
This patch fixes a memory leak in frac_nodes_with_descriptors() where
we might return without free'ing the bandwidths variable.
See: Coverity CID 1437451.
2018-06-23 13:10:29 +02:00
Alexander Færøy
a2e623f631
Fix memory leak in helper_add_hsdir_to_networkstatus().
...
This patch fixes a memory leak in helper_add_hsdir_to_networkstatus()
where the rs object might not get properly freed.
See: Coverity CID 1437427.
2018-06-23 13:07:56 +02:00
Alexander Færøy
8e805bf0f6
Fix memory leak in new_establish_intro_cell().
...
This patch fixes a memory leak in new_establish_intro_cell() that could
happen if a test assertion fails and the *cell_out value isn't properly
free'd.
See: Coverity CID 1437445
2018-06-23 13:07:56 +02:00
Alexander Færøy
8550016e6f
Fix memory leak in test_channelpadding_consensus().
...
The relay variable is always allocated, but might not be freed before we
return from this function.
See: Coverity CID 1437431
2018-06-23 12:52:04 +02:00
Alexander Færøy
c997d49ad6
Fix memory link in test_link_specifier().
...
This patch fixes a memory leak in test_link_specifier() where ls might
not get freed in case one of the test macros fails.
See: Coverity CID 1437434.
2018-06-23 12:39:20 +02:00
Alexander Færøy
3d80c086be
Fix memory leak in decode_link_specifiers().
...
This patch fixes a memory leak in decode_link_specifiers() where the
hs_spec variable might leak if the default label is taken in the
switch/case expression.
See: Coverity CID 1437437.
2018-06-23 11:54:36 +02:00
Alexander Færøy
d86c45bf5c
Fix memory leak in client_likes_consensus().
...
This patches fixes a memory leak in client_likes_consensus() where if
consensus_cache_entry_get_voter_id_digests() would fail we would return
without having free'd the voters list.
See: Coverity CID 1437447
2018-06-23 10:33:40 +02:00
Alexander Færøy
dc2384da30
Fix potential memory leak in hs_helper_build_hs_desc_impl().
...
This patch fixes a memory leak in hs_helper_build_hs_desc_impl() where
if a test assertion would fail we would leak the storage that `desc`
points to.
See: Coverity CID 1437448
2018-06-23 10:27:10 +02:00
Alexander Færøy
ce5d055ed7
Fix memory leak in pick_hsdir_v3().
...
This patch fixes a memory leak in pick_hsdir_v3() where we might return
early, but forgot to free the responsible_hsdirs variable. We solve this
by not allocating storage for responsible_hsdirs until it's actually
needed.
See: Coverity CID 1437449
2018-06-23 03:40:32 +02:00
Alexander Færøy
1724f995c7
Fix potential memory leak in test_hs_auth_cookies().
...
This patch fixes a potential memory leak in test_hs_auth_cookies() if a
test-case fails and we goto the done label where no memory clean up is
done.
See: Coverity CID 1437453
2018-06-23 03:17:09 +02:00
Alexander Færøy
8c8941eb29
Fix potential memory leak in hs_helper_build_intro_point().
...
This patch fixes a potential memory leak in
hs_helper_build_intro_point() where a `goto done` is called before the
`intro_point` variable have been assigned to the value of the `ip`
variable.
See: Coverity CID 1437460
See: Coverity CID 1437456
2018-06-23 02:29:54 +02:00
Nick Mathewson
1b93b065fc
Make an inline static so we can build with coverage enabled.
2018-06-22 14:11:37 -04:00
Nick Mathewson
405fa42e8a
Another windows include
2018-06-22 13:52:30 -04:00
Nick Mathewson
4b32446a4c
We also need torerr in tm_cvt.
2018-06-22 13:34:35 -04:00
Nick Mathewson
145665abcb
Add another include for windows, and change a log to a raw_assert
2018-06-22 13:33:48 -04:00
Nick Mathewson
76a717890e
Remove an "m" that did not belong.
2018-06-22 13:32:47 -04:00
Nick Mathewson
4118ba67db
Update the micro-revision.i dependencies, and add a stdlib.h
2018-06-22 13:25:58 -04:00
Nick Mathewson
cf66544941
Two more small changes for CI.
2018-06-22 13:10:52 -04:00
Nick Mathewson
7aecea79cb
A pair of missing includes.
2018-06-22 12:53:57 -04:00
Nick Mathewson
b0adf2fc9b
Fix up the rust build script library list.
2018-06-22 12:04:11 -04:00
Nick Mathewson
bcf3e546d1
Move util_bug into libtor-log
2018-06-22 11:54:38 -04:00
Nick Mathewson
6fc2d53227
Remove util_bug dependency on compat.h
2018-06-22 11:51:58 -04:00
Nick Mathewson
7a93ce8f63
Update .gitignore and .may_include files
2018-06-22 11:46:44 -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
90a09df5ba
Extract strlcpy and strlcmp to libtor-string
2018-06-22 11:18:19 -04:00
Nick Mathewson
bfb39164ce
Extract core part of gmtime_r, localtime_r (without logging)
2018-06-22 11:17:11 -04:00
Nick Mathewson
b2d4e786b7
Remove the util_bug.h include from smartlist.h.
...
This change makes a whole bunch of things in torlog.c break, since
apparently I did not find all the fd dependencies.
2018-06-22 10:50:14 -04:00
Nick Mathewson
da4ae8a6b6
Automated fixup of include paths after torlog.h movement.
2018-06-22 10:32:10 -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
3883338c81
Move smartlist_add_{v,}asprintf into smartlist.[ch]
...
Now that I know that "strings" nests below "container", I know this
is safe.
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
1e07b4031e
Move ARRAY_LENGTH to compiler_compat.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
0932f32291
Remove compat.h as unneeded from log.c and torlog.h
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
d1cada5a8a
Update permissible includes
2018-06-22 09:49:13 -04:00
Nick Mathewson
c2a558a346
Expunge container.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
de508c5f50
Extract smartlist.h from container.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
9cf6fc91b1
Remove map from container.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
50a5954003
Remove bloom filters, order statistics, and bitarrays from container.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
932b4d0a43
Remove container->crypto dependency
...
Containers were using crypto_digest.h, just to see the value of
DIGEST_LEN. Moved those constants into a new defs module.
2018-06-22 09:49:13 -04:00
Nick Mathewson
479c2ab503
Move STRUCT_VAR_P to compat_compiler.
2018-06-22 09:49:13 -04:00
Nick Mathewson
657ff55408
Split container.c based on container types, and minimize includes
...
Minimizing includes revealed other places includes were necessary.
2018-06-22 09:49:13 -04:00
Nick Mathewson
b8be8265b6
Rectify include paths after container split (automatic)
2018-06-22 09:49:13 -04:00
Nick Mathewson
77dff00b18
Refactor container into a library.
2018-06-22 09:49:13 -04:00
Taylor Yu
d935aceb2b
Use correct CARGO_HOME in test_rust.sh
...
Out-of-tree builds could fail to run the rust tests if built in
offline mode. cargo expects CARGO_HOME to point to the .cargo
directory, not the directory containing .cargo.
Fixes bug 26455; bug not in any released tor.
2018-06-21 18:20:03 -05:00
Nick Mathewson
f95e3bf5fc
Simplify include structure of container.[ch]
2018-06-21 15:33:25 -04:00
Nick Mathewson
e066966bf4
Extract tor_malloc and friends to a new module.
2018-06-21 15:20:01 -04:00
Nick Mathewson
56c1fbf33f
Use the "commands" argument of AC_CONFIG_FILES to make scripts +x
...
Closes ticket 26439.
2018-06-21 14:26:47 -04:00
Nick Mathewson
8dcc015975
Fix wide lines in dirauth/dirvote.*
2018-06-21 14:23:32 -04:00
Nick Mathewson
999f7984e1
New script to check includes for modularity violations
...
Includes configuration files to enforce these rules on lib and
common. Of course, "common" *is* a modularity violation right now,
so these rules aren't as strict as I would like them to be.
2018-06-21 14:05:33 -04:00
Nick Mathewson
8918bd90e9
Merge branch 'extract_easy_common_libs'
2018-06-21 13:57:13 -04:00
Nick Mathewson
3305ae5044
Rectify include paths (automated).
...
You have no idea how glad I am that this is automated.
2018-06-21 13:20:07 -04:00
Nick Mathewson
5b8f4769dc
Move testsupport.h to its own directory
2018-06-21 13:20:07 -04:00
Nick Mathewson
e9943d5459
Move responsibility for libdonna out of src/common
2018-06-21 13:19:00 -04:00
Nick Mathewson
71571e3428
Additional non-automated change to trunnel-local.h
2018-06-21 13:19:00 -04:00
Nick Mathewson
accf239fa3
Rectify include paths (automated)
2018-06-21 13:19:00 -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
49d7c9ce53
Move more compiler-compatibility stuff into compat_compiler.h
2018-06-21 13:14:14 -04:00
Nick Mathewson
68bbe915d9
di_ops.c does not actually log anything.
2018-06-21 13:14:14 -04:00
Nick Mathewson
fa5fda5bbf
Rectify include paths (automated)
2018-06-21 13:14:14 -04:00
Nick Mathewson
cd8f919553
Move compiler-compatibility headers into their own module
...
This one has no generated code.
2018-06-21 13:14:14 -04:00
Nick Mathewson
d2f4a716e8
Remove unused pubsub module.
2018-06-21 13:14:14 -04:00
Nick Mathewson
209a285166
Rectify include paths (automated)
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
03d7812615
Make sure liberr-testing is build with testing flags.
2018-06-21 13:14:14 -04:00
Nick Mathewson
b420da4cf8
Rectify include paths (automated)
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
Roger Dingledine
471418befb
tiny comment and whitespace fixes
2018-06-21 13:07:51 -04:00
Nick Mathewson
ad7776f66d
Rename libtor.a to libtor-app.a
2018-06-21 11:03:39 -04:00
Nick Mathewson
727db7aeb9
Rectify include paths (automated)
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
275aff6917
Rectify include paths (automated)
2018-06-21 10:47:11 -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
da728e36f4
Rectify include paths (automated)
2018-06-21 09:55:16 -04:00
Nick Mathewson
874ba6861a
Fix distcheck by naming header properly.
2018-06-21 09:37:32 -04:00
Nick Mathewson
2ad062ee60
Merge branch 'mikeperry_bug26214-rebased_squashed'
2018-06-21 09:20:03 -04:00
Mike Perry
46b06cd699
Bug 26214: Test updates.
2018-06-21 09:18:51 -04:00
Mike Perry
dc397f9a61
Bug 26214: Check stream SENDME against max.
2018-06-21 09:18:51 -04:00
Nick Mathewson
92ae9bb95b
Hang on; this branch is supposed to be 0.3.4.2-alpha-dev.
2018-06-21 09:01:00 -04:00
Nick Mathewson
c42071f750
Merge branch 'maint-0.3.4'
2018-06-21 08:59:58 -04:00
Nick Mathewson
e845bd17f8
Merge branch 'bug25787_squashed' into maint-0.3.4
2018-06-21 08:56:27 -04:00
Nick Mathewson
cacf326e78
Revise geoip tests to not require paths of actual geoip config
...
When I wrote the first one of these, it needed the path of the geoip
file. But that doesn't translate well in at least two cases:
- Mingw, where the compile-time path is /c/foo/bar and the
run-time path is c:\foo\bar.
- Various CI weirdnesses, where we cross-compile a test binary,
then copy it into limbo and expect it to work.
Together, these problems precluded these tests running on windows.
So, instead let's just generate some minimal files ourselves, and
test against them.
Fixes bug 25787
2018-06-21 08:56:20 -04:00
Nick Mathewson
27e456cd72
Merge remote-tracking branch 'rl1987/ticket19979_2'
2018-06-21 08:53:48 -04:00
Nick Mathewson
72a5ae8c66
Merge branch 'maint-0.3.4'
2018-06-21 08:38:21 -04:00
Nick Mathewson
73bc863822
Merge branch 'additional_rust_test_fixes' into maint-0.3.4
2018-06-21 08:38:17 -04:00
Nick Mathewson
683776bfab
Merge branch 'maint-0.3.4'
2018-06-21 08:36:48 -04:00
Nick Mathewson
c389c41292
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-21 08:36:48 -04:00
Nick Mathewson
599b53f046
add a bn.h include to crypto_dh.c
2018-06-21 08:34:27 -04:00
Roger Dingledine
7b1a3c5164
fix memory leak in protover.c
...
Fix a memory leak where directory authorities would leak a chunk of
memory for every router descriptor every time they considered voting.
This bug was taking down directory authorities in the live network due
to out-of-memory issues.
Fixes bug 26435; bugfix on 0.3.3.6.
2018-06-20 19:43:58 -04:00
Nick Mathewson
01d0bf1803
add build.rs to EXTRA_DIST
2018-06-20 19:32:01 -04:00
Nick Mathewson
8f3712cf6e
eol@eof is still the law in 0.3.4 :(
2018-06-20 19:05:11 -04:00
Nick Mathewson
d110f9c9a6
Add a leak suppression for backtrace_alloc
...
This appears to be an internal rust thing: I don't know why it's
leaking. We should investigate further.
2018-06-20 18:02:49 -04:00
Nick Mathewson
3b606ff787
Merge branch 'maint-0.3.4' into additional_rust_test_fixes
2018-06-20 17:53:51 -04:00
Nick Mathewson
f24797a587
Merge branch 'maint-0.3.4'
2018-06-20 17:49:56 -04:00
Nick Mathewson
f91ea506f0
Fix clang warnings introduced by 9f2b887c5d
2018-06-20 17:49:06 -04:00
Nick Mathewson
3a64052099
Fix memory leak in CryptoDigest type
...
If you're owning a C pointer, you need to implement Drop.
2018-06-20 17:28:28 -04:00
Nick Mathewson
592e8ac395
Disable doctests in src/rust/crypto module.
...
These all need C linking to work, and so far, rustdoc does not seem
to respect cargo setting about build scripts or RUSTOPTIONS.
2018-06-20 17:16:44 -04:00
Nick Mathewson
901ada7e5f
Fix bugs in rust digest tests
2018-06-20 17:08:00 -04:00
Nick Mathewson
e99ecf9399
Merge branch 'rust_build_script_v3' into additional_rust_test_fixes
2018-06-20 17:07:47 -04:00
Nick Mathewson
398f15bdf1
Merge branch 'maint-0.3.4'
2018-06-20 16:37:39 -04:00
Isis Lovecruft
7589fd6d40
rust: Remove --all-features flag from cargo test
call in test_rust.sh.
...
We'd like to feature gate code that calls C from Rust, as a workaround
to several linker issues when running `cargo test` (#25386 ), and we
can't feature gate anything out of test code if `cargo test` is called
with `--all-features`.
* FIXES #26400 : https://bugs.torproject.org/26400
2018-06-20 16:37:33 -04:00
Nick Mathewson
c86850c4c9
Don't use any asserts(), even raw, in format_number_sigsafe().
...
Also explain why.
2018-06-20 16:16:45 -04:00
Nick Mathewson
057d838409
Use raw_assert() in write_all().
...
This makes tor_log() finally non-circular.
2018-06-20 16:16:45 -04:00
Nick Mathewson
7a2dce9006
Use raw_assert() in central allocation functions.
...
This is, again, to avoid circularity in the log code.
2018-06-20 16:16:45 -04:00
Nick Mathewson
17ba51a30a
Use raw_assert in mutex functions to avoid circularity in logs.
2018-06-20 16:16:45 -04:00
Nick Mathewson
bb15dc1ebd
Allow raw_assert() to dump stack traces.
...
It doesn't do this as beautifully as tor_assert(), but it doesn't
depend on any higher-level code.
2018-06-20 16:16:45 -04:00
Nick Mathewson
a969ce464d
Remove log dependency from backtrace.[ch]
2018-06-20 16:16:45 -04:00
Nick Mathewson
3246c9648c
Use compat_compiler to restore macros in torerr.h
2018-06-20 15:08:06 -04:00
Nick Mathewson
aa490e971b
Split compiler-compatibility parts of compat.h
2018-06-20 15:08:06 -04:00
Nick Mathewson
5ecd1fec15
Move horrible-emergency handling into torerr.[ch]
...
Previously we had code like this for bad things happening from
signal handlers, but it makes sense to use the same logic to handle
cases when something is happening at a level too low for log.c to be
involved.
My raw_assert*() stuff now uses this code.
2018-06-20 15:08:06 -04:00
Nick Mathewson
8865972a0b
Use raw_assert in tor_gettimeofday
...
We don't want to actually be calling logs when gettimeofday() fails,
since we need gettimeofday() to log.
2018-06-20 10:42:06 -04:00
Nick Mathewson
90aeaa53cd
Remove all use of the assert.h header
...
Nothing in Tor has actually called assert() for some while.
2018-06-20 10:39:07 -04:00
Nick Mathewson
ae01864b5d
Add raw_assert() variants for cases where we cannot log.
...
Remove a different raw_assert() macro declared in log.c
2018-06-20 10:36:14 -04:00
Nick Mathewson
9fa73003fc
Remove dmalloc support; closes #26426
...
Dmalloc hasn't seen a release in over a decade, and there are much
better tools to use these days.
2018-06-20 10:21:34 -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
d7301a456a
Merge remote-tracking branch 'neel/b25886c'
2018-06-20 08:32:34 -04:00
Nick Mathewson
e9c93a3415
Merge branch 'maint-0.3.4'
2018-06-20 08:29:52 -04:00
Nick Mathewson
0a6f4627a4
eol@eof in test-dir.c
2018-06-20 08:29:38 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Nick Mathewson
11a76b903b
Merge branch 'maint-0.3.4'
2018-06-20 08:05:07 -04:00
Nick Mathewson
7b9cd5cca5
Merge branch 'asn_bug24977_final_squashed' into maint-0.3.4
2018-06-20 08:02:27 -04:00
George Kadianakis
b7b7dab00d
Recreate nodelist before use if it's outdated.
...
We currently only do the check when we are about to use the HSDir indices.
2018-06-20 08:01:02 -04:00
George Kadianakis
a686464420
Recreate voting schedule before use if it's outdated.
2018-06-20 08:01:02 -04:00
Nick Mathewson
334edc22d1
Merge branch 'maint-0.3.4'
2018-06-20 07:55:15 -04:00
Isis Lovecruft
4971d7afa6
rust: Remove redundant "testing" feature from tor_log crate.
...
It was synonymous with the builtin "test" feature.
* FIXES #26399 : https://bugs.torproject.org/26399
2018-06-20 07:55:12 -04:00
Nick Mathewson
5acbcf150e
Merge branch 'maint-0.3.4'
2018-06-20 07:53:22 -04:00
rl1987
9054ccb36b
Enable DEBUG_SMARTLIST in unit tests
2018-06-20 07:49:41 -04:00
rl1987
7bb3777dfb
Refrain from accessing empty smartlist in test_bridges_clear_bridge_list
...
Just check that smartlist length is zero instead
2018-06-20 07:49:41 -04:00
Nick Mathewson
152e4a1e50
Merge branch 'maint-0.3.4'
2018-06-20 07:35:17 -04:00
Nick Mathewson
ac1747e47f
Merge remote-tracking branch 'catalyst-github/bug26415_034' into maint-0.3.4
2018-06-20 07:35:13 -04:00
Nick Mathewson
b63d6984a6
Merge branch 'maint-0.3.4'
2018-06-19 19:10:28 -04:00
Alexander Færøy
e309aa4c8c
Fix linker errors when building Tor.
...
This patch fixes linking errors when compiling Tor with the dirauth
module disabled.
See: https://bugs.torproject.org/26418
2018-06-19 23:10:12 +02:00
Taylor Yu
bfd36177c4
Fix compilation of Rust crypto doctests
...
The doctests for src/rust/crypto don't compile for multiple reasons,
including some missing exports and incorrect identifier paths. Fixes
bug 26415; bugfix on 0.3.4.1-alpha.
2018-06-19 13:53:26 -05:00
rl1987
5af29fbb63
When possible, use RFC5869 HKDF implementation from OpenSSL
...
Also, stop supporting empty HKDF input key material
2018-06-19 19:26:31 +03:00
Nick Mathewson
bd9ebb3763
Use a rust build script to set linker options correctly for tests.
...
We need this trick because some of our Rust tests depend on our C
code, which in turn depend on other native libraries, which thereby
pulls a whole mess of our build system into "cargo test".
To solve this, we add a build script (build.rs) to set most of the
options that we want based on the contents of config.rust. Some
options can't be set, and need to go to the linker directly: we use
a linker replacement (link_rust.sh) for these. Both config.rust and
link_rust.sh are generated by autoconf for us.
This patch on its own should enough to make the crypto test build,
but not necessarily enough to make it pass.
2018-06-19 12:01:13 -04:00
Nick Mathewson
f3267741e4
Merge branch 'maint-0.3.4'
2018-06-18 17:09:03 -04:00
Nick Mathewson
d27745d81d
Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a
...
This was already added to LIBTOR_A_SOURCES; it doesn't need to get
added again.
Fixes bug 26402. Bugfix on 0.3.4.1-alpha.
2018-06-18 17:07:27 -04:00
Nick Mathewson
5879909826
Revert "Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a"
...
This reverts commit 70d91bd059
.
2018-06-18 17:06:18 -04:00
Nick Mathewson
70d91bd059
Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a
...
This was already added to LIBTOR_A_SOURCES; it doesn't need to get
added again.
Fixes bug 26402. Bugfix on 0.3.4.1-alpha.
2018-06-18 17:03:52 -04:00
Nick Mathewson
29982e5190
Remove redundant typedefs from _st.h files
...
The typedefs are already in or.h
2018-06-18 16:05:36 -04:00
David Goulet
a8e76f3824
test: Add missing headers in test_controller.c
...
After the big or.h refactoring, one single unit test file was missing two
headers for node_t and microdesc_t.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-06-18 15:07:30 -04:00
Isis Lovecruft
508332feaf
rust: Add "test-c-from-rust" feature-gate.
...
Due to linker issues (#25386 ) when testing Rust code which calls C,
all tests which touch FFI code should now be feature-gated behind the
"test-c-from-rust" flag. To run this test code, cargo must be called
with `cargo test --features="test-c-from-rust"`.
* FIXES #26398 : https://bugs.torproject.org/26398
2018-06-18 18:57:38 +00:00
Nick Mathewson
104c2e9e7e
Merge branch 'split_or_h'
2018-06-18 14:18:34 -04:00
Nick Mathewson
bcc1368c77
Merge branch 'maint-0.3.4'
2018-06-18 13:10:47 -04:00
Nick Mathewson
3640c63498
Merge remote-tracking branch 'ffmancera-1/bug24658-dh_stream'
2018-06-17 20:39:13 -04:00
Nick Mathewson
16dd2f7bb0
Merge remote-tracking branch 'rl1987/bug25477'
2018-06-17 20:25:40 -04:00
Nick Mathewson
5746e210b8
Merge remote-tracking branch 'rl1987/feature8323_squashed2'
2018-06-17 20:20:15 -04:00
Nick Mathewson
d5e4b6983f
Merge remote-tracking branch 'rl1987/bug26282'
2018-06-17 19:32:08 -04:00
Nick Mathewson
987174cc6f
Merge remote-tracking branch 'github/bug26152_035'
2018-06-17 19:28:59 -04:00
Nick Mathewson
e6aa2d526e
Changes to make the rust crypto::mod tests compile
...
The digest tests don't link yet, though.
2018-06-16 13:22:44 -04:00
Nick Mathewson
8184f45ad9
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-16 13:10:19 -04:00
Nick Mathewson
ccf1eb3164
Fix a bug in my fix for #26258
...
The fix here is use a different bourne shell subsitution for
CARGO_ONLINE, so that an empty string counts as set.
2018-06-16 13:08:40 -04:00