From 012c50329b8549f50275da36673d7aaaced6085e Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 28 Jun 2009 18:07:58 +0100 Subject: [PATCH] Ensure that $HOME is reset by sudo --- 0store-secure-add | 4 ++++ zeroinstall/zerostore/__init__.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/0store-secure-add b/0store-secure-add index cff307d..f742801 100755 --- a/0store-secure-add +++ b/0store-secure-add @@ -3,9 +3,13 @@ import sys, os from zeroinstall import zerostore, SafeException from zeroinstall.zerostore import cli, manifest +# import logging; logging.getLogger().setLevel(logging.DEBUG) + try: if 'ENV_NOT_CLEARED' in os.environ: raise SafeException("Environment not cleared. Check your sudoers file.") + if os.environ['HOME'] == 'Unclean': + raise SafeException("$HOME not set. Check your sudoers file has 'always_set_home' turned on for zeroinst.") if len(sys.argv) != 2: raise cli.UsageError('Usage: %s DIGEST' % sys.argv[0]) diff --git a/zeroinstall/zerostore/__init__.py b/zeroinstall/zerostore/__init__.py index 83a6d2f..8e1f1fe 100644 --- a/zeroinstall/zerostore/__init__.py +++ b/zeroinstall/zerostore/__init__.py @@ -146,6 +146,7 @@ class Store: import subprocess env = os.environ.copy() env['ENV_NOT_CLEARED'] = 'Unclean' # (warn about insecure configurations) + env['HOME'] = 'Unclean' # (warn about insecure configurations) dev_null = os.open('/dev/null', os.O_RDONLY) try: info("Trying to add to system cache using %s", helper) @@ -156,7 +157,7 @@ class Store: exit_code = child.wait() finally: os.close(dev_null) - + if exit_code: warn("0store-secure-add-helper failed.") return False -- 2.11.4.GIT