Nick Mathewson
1e98d56617
sandbox: Do not require M_SYSCALL.
...
M_SYSCALL is used to report information about a sandbox violation,
but when we don't have a definition for it, it still makes sense to
compile.
Closes ticket 34382.
2020-06-04 12:08:02 -04:00
Nick Mathewson
1557e73c82
Merge branch 'bug34130_035'
2020-05-12 12:58:19 -04:00
Daniel Pinto
2913dbd6d9
Fix crash when tor is compiled with NSS and seccomp sandbox is enabled
...
Adds seccomp rules for socket and getpeername used by NSS
2020-05-12 12:56:06 -04:00
Nick Mathewson
c4da0a5094
Add fsync to list of syscalls permitted by sandbox
...
(Our fix for 33087 requires this, I believe.)
2020-04-09 08:33:19 -04:00
Nick Mathewson
4f02812242
It's 2020. Update the copyright dates with "make update-copyright"
2020-01-08 18:39:17 -05:00
Nick Mathewson
13216f848a
Merge branch 'maint-0.4.2'
2020-01-06 08:08:59 -05:00
Nick Mathewson
16e94dc7a7
Merge branch 'maint-0.4.1' into maint-0.4.2
2020-01-06 08:06:54 -05:00
Peter Gerber
b9d81282e0
Fix sandbox crash during reload of logging configuration
...
Allow calls to dup() which was introduced in commit a22fbab986 .
From a security perspective, I don't think this should impact the
security of the sandbox significantly. As far as I can tell, there
is nothing an adversary can do with a duplicated FD that can't be
done with the original.
2020-01-05 15:24:45 +00:00
Nick Mathewson
33a0f15b21
Merge branch 'bug29819_035'
2019-12-20 07:37:47 -05:00
teor
8c23ac4ae7
Replace several C identifiers.
...
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
EXPOSE_CLEAN_BACKTRACE BACKTRACE_PRIVATE \
TOR_CHANNEL_INTERNAL_ CHANNEL_OBJECT_PRIVATE \
CHANNEL_PRIVATE_ CHANNEL_FILE_PRIVATE \
EXPOSE_ROUTERDESC_TOKEN_TABLE ROUTERDESC_TOKEN_TABLE_PRIVATE \
SCHEDULER_PRIVATE_ SCHEDULER_PRIVATE
2019-12-20 13:27:58 +10:00
Peter Gerber
0d64bafcfe
Correct how we use libseccomp
...
This fixes a startup crash with libseccomp v2.4.0 if Sandbox is
set to 1.
2019-12-17 09:47:28 -05:00
teor
c34fb3413d
Merge remote-tracking branch 'tor-github/pr/1517'
2019-11-18 11:21:37 +10:00
Nick Mathewson
8b91680d5c
Doxygen: rename all .dox files to end with .md
...
Using a standard ending here will let other tools that expect
markdown understand our output here.
This commit was automatically generated with:
for fn in $(find src -name '*.dox'); do \
git mv "$fn" "${fn%.dox}.md"; \
done
2019-11-15 09:28:12 -05:00
Nick Mathewson
3a7369d0cf
Doxygen: remove /** and **/ from all .dox files
...
This is an automatically generated commit, made with:
find src -name '*.dox' | \
xargs perl -i -ne 'print unless (m#^\s*/?\*\*/?\s*$#);'
2019-11-15 09:23:51 -05:00
Nick Mathewson
4845ab53f0
Make all our struct names end with "_t".
...
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
address_ttl_s address_ttl_t \
aes_cnt_cipher aes_cnt_cipher_t \
authchallenge_data_s authchallenge_data_t \
authenticate_data_s authenticate_data_t \
cached_bw_event_s cached_bw_event_t \
cbuf cbuf_t \
cell_ewma_s cell_ewma_t \
certs_data_s certs_data_t \
channel_idmap_entry_s channel_idmap_entry_t \
channel_listener_s channel_listener_t \
channel_s channel_t \
channel_tls_s channel_tls_t \
circuit_build_times_s circuit_build_times_t \
circuit_muxinfo_s circuit_muxinfo_t \
circuitmux_policy_circ_data_s circuitmux_policy_circ_data_t \
circuitmux_policy_data_s circuitmux_policy_data_t \
circuitmux_policy_s circuitmux_policy_t \
circuitmux_s circuitmux_t \
coord coord_t \
cpuworker_job_u cpuworker_job_u_t \
cv_testinfo_s cv_testinfo_t \
ddmap_entry_s ddmap_entry_t \
dircollator_s dircollator_t \
dist_ops dist_ops_t \
ecdh_work_s ecdh_work_t \
ewma_policy_circ_data_s ewma_policy_circ_data_t \
ewma_policy_data_s ewma_policy_data_t \
fp_pair_map_entry_s fp_pair_map_entry_t \
fp_pair_map_s fp_pair_map_t \
guard_selection_s guard_selection_t \
mbw_cache_entry_s mbw_cache_entry_t \
outbuf_table_ent_s outbuf_table_ent_t \
queued_event_s queued_event_t \
replyqueue_s replyqueue_t \
rsa_work_s rsa_work_t \
sandbox_cfg_elem sandbox_cfg_elem_t \
scheduler_s scheduler_t \
smp_param smp_param_t \
socket_table_ent_s socket_table_ent_t \
state_s state_t \
threadpool_s threadpool_t \
timeout_cb timeout_cb_t \
tor_libevent_cfg tor_libevent_cfg_t \
tor_threadlocal_s tor_threadlocal_t \
url_table_ent_s url_table_ent_t \
worker_state_s worker_state_t \
workerthread_s workerthread_t \
workqueue_entry_s workqueue_entry_t
2019-11-07 08:41:22 -05:00
Nick Mathewson
76e8effc7b
Doxygen: document the rest of the directories in lib.
...
(This copies documentation from doc/HACKING/design, and edits for
concisensess and clarity.)
2019-11-04 11:51:38 -05:00
Nick Mathewson
62a473debf
Doxygen: Avoid ambiguity in @dir directives
...
This commit was automatically generated with:
find src -name '*.dox' |xargs perl -i -pe 's{\@dir ([^/])}{\@dir /$1};'
2019-11-04 10:23:36 -05:00
Nick Mathewson
51a9892914
doxygen: Take "lib" descriptions from doc/HACKING/design.
...
This commit takes descriptions for src/lib and moves them into our
doxygen hierarchy. I've covered everything from lib/cc through
lib/sandbox here.
2019-11-04 10:21:10 -05:00
Nick Mathewson
7fc077ed25
Add stub directory-level documentation for most source directories
...
This includes app, core, feature, lib, and tools, but excludes
ext, test, and trunnel.
This was generated by the following shell script:
cd src
for dname in $(find lib core feature app tools -type d |grep -v \\.deps$); do
keyword="$(echo "$dname" |sed -e "s/\//_/" )"
target="${dname}/${keyword}.dox"
echo "$target"
cat <<EOF >"$target"
/**
@dir ${dname}
@brief ${dname}
**/
EOF
git add "$target"
done
2019-11-04 07:40:14 -05:00
Nick Mathewson
c1bf4260b6
Merge remote-tracking branch 'tor-github/pr/1302' into maint-0.4.1
2019-10-22 12:13:47 -04:00
Nick Mathewson
53116ca0b7
Re-run "make autostyle" with improved annotate_ifdef_directives
2019-09-30 08:57:37 -04:00
George Kadianakis
ae8d36db31
Merge branch 'tor-github/pr/1302'
2019-09-30 13:47:53 +03:00
teor
2f8a9a2db6
sandbox: Allow backtrace signals to be disabled
...
Part of 31614.
2019-09-26 12:22:30 +10:00
Nick Mathewson
721e65a1d5
Add comments to include.am files to note where new sources go
...
This mechanism isn't perfect, and sometimes it will guess wrong,
but it will help our automation.
2019-05-02 09:37:18 -04:00
Peter Gerber
db3ee1d862
Allow getsockopt(…, SOL_SOCKET, SO_ACCEPTCONN, …) in sandbox
...
SO_ACCEPTCONN checks whether socket listening is enabled and is
used ever since 9369152aae has been merged.
Closes ticket #29150
2019-01-22 21:51:25 +00: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
eaff47352a
Make sure sandbox-related getaddrinfo() functions always exist.
2018-11-14 16:12:29 -05:00
Nick Mathewson
e429e31ad1
Normalize .may_include to always have paths, and paths to include
2018-11-14 16:07:35 -05:00
Nick Mathewson
c0a7527eb8
Remove dependency on lib/net from lib/sandbox.
...
This was trivial, and the easiest way to remove the remaining
.may_include circularities.
2018-11-14 16:07:03 -05:00
Nick Mathewson
021187f915
Merge branch 'bug28183_029' into maint-0.3.5
2018-11-13 16:48:21 -05:00
Nick Mathewson
7787150521
Merge branch 'maint-0.3.4'
2018-08-08 09:26:23 -04:00
Nick Mathewson
e7f5f48d68
Rename torlog.[ch] to log.[ch]
...
Fun fact: these files used to be called log.[ch] until we ran into
conflicts with systems having a log.h file. But now that we always
include "lib/log/log.h", we should be fine.
2018-07-10 15:20:30 -04:00
Nick Mathewson
41640b6573
Rename util_malloc to malloc.
2018-07-10 15:16:57 -04:00
rl1987
439b528f25
Rename sandbox_getaddrinfo() et. al.
2018-07-03 15:53:39 +03: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