]> granicus.if.org Git - graphviz/commit
remove $GV_FILE_PATH support
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Tue, 16 Aug 2022 02:19:29 +0000 (19:19 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 20 Aug 2022 16:33:44 +0000 (09:33 -0700)
commit1e45fd838a7308f0a8e9712d8dbc2e486c265455
tree09d090320534f1d8b4a14305a93bfb21437965b5
parent912537dbb728a9624c5e38400d9fabec7c9c0194
remove $GV_FILE_PATH support

The `$GV_FILE_PATH` environment variable could be set to sandbox Graphviz’
ability to read and write to the file system. This made sense once upon a time,
but the world around Graphviz has shifted. Sandboxing yourself is no longer as
valuable a proposition as an external sandboxer that can be more easily audited.
Platforms’ ecosystems have matured to support this use case (Capsicum on
FreeBSD, Seccomp on Linux, App Sandbox on macOS, Pledge on OpenBSD, …).

This change makes any attempt to use `$GV_FILE_PATH` “fail-closed,” in the
sense that execution will be aborted. This may be surprising and not what the
user intended, but this conservatively guarantees safety: you can never think
you have enabled `$GV_FILE_PATH`-based sandboxing and be instead running
unguarded.

Gitlab: closes #2257
CHANGELOG.md
lib/common/globals.h
lib/common/input.c
lib/common/utils.c
tests/test_regression.py