aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2016-12-02 10:23:30 -0500
committerDrew DeVault <sir@cmpwn.com>2016-12-02 10:23:30 -0500
commita4e92ad2723a9c33c029f90f8a2af054bf74e1ce (patch)
tree1fbfcc200c3b9dab244e0b2227327b1fdc7c66b1
parent1a143e601bdc5a199d1573cbf5213091404868d7 (diff)
Deal with LD_LIBRARY_PATH
-rw-r--r--CMakeLists.txt3
-rw-r--r--sway/main.c4
-rw-r--r--sway/sway-security.7.txt3
3 files changed, 9 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83989ecd..cd816e9b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,6 +48,9 @@ option(enable-gdk-pixbuf "Use Pixbuf to support more image formats" YES)
option(enable-binding-event "Enables binding event subscription" YES)
option(zsh-completions "Zsh shell completions" NO)
option(default-wallpaper "Installs the default wallpaper" YES)
+option(ld-library-path "Configures sway's default LD_LIBRARY_PATH" "/usr/lib")
+
+add_definitions(-D_LD_LIBRARY_PATH="${ld-library-path}")
find_package(JsonC REQUIRED)
find_package(PCRE REQUIRED)
diff --git a/sway/main.c b/sway/main.c
index 1db88da2..9746cfb2 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -220,7 +220,9 @@ int main(int argc, char **argv) {
" --get-socketpath Gets the IPC socket path and prints it, then exits.\n"
"\n";
- unsetenv("LD_PRELOAD"); // Security
+ // Security:
+ unsetenv("LD_PRELOAD");
+ setenv("LD_LIBRARY_PATH", _LD_LIBRARY_PATH, 1);
int c;
while (1) {
diff --git a/sway/sway-security.7.txt b/sway/sway-security.7.txt
index 451f7b88..b6f18e80 100644
--- a/sway/sway-security.7.txt
+++ b/sway/sway-security.7.txt
@@ -62,6 +62,9 @@ compromised by LD_PRELOAD. It probably isn't, but you can be sure by setting
permit LD_PRELOAD for it (and will also run it as root, which sway will shortly
drop). You could also statically link sway itself.
+Note that LD_LIBRARY_PATH has all of the same problems, and all of the same
+solutions.
+
Read your log
-------------