From da4772c4e54467920d642e2a792c5d16d3b7bf33 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Thu, 29 Dec 2022 02:18:55 +0100 Subject: [PATCH] tools: Remove umask 0 Try to remove old permissions on upgrade --- tools/__init__.py | 1 - tools/actions/upgrader.py | 14 ++++++++++++++ tools/helpers/logging.py | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/tools/__init__.py b/tools/__init__.py index 9a4701b..d317414 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -24,7 +24,6 @@ def main(): # Wrap everything to display nice error messages args = None try: - os.umask(0o000) # Parse arguments, set up logging args = helpers.arguments() args.cache = {} diff --git a/tools/actions/upgrader.py b/tools/actions/upgrader.py index 2181971..605de44 100644 --- a/tools/actions/upgrader.py +++ b/tools/actions/upgrader.py @@ -15,8 +15,22 @@ def get_config(args): args.vendor_ota = cfg["waydroid"]["vendor_ota"] args.session = None +def migration(args): + def versiontuple(v): + return tuple(map(int, (v.split(".")))) + + try: + old_ver = tools.helpers.props.file_get(args, args.work + "/waydroid_base.prop", "waydroid.tools_version") + if versiontuple(old_ver) <= versiontuple("1.3.4"): + chmod_paths = ["cache_http", "host-permissions", "lxc", "images", "waydroid_base.prop", "waydroid.prop", "waydroid.cfg"] + tools.helpers.run.user(args, ["chmod", "-R", "g-w,o-w"] + [os.path.join(args.work, f) for f in chmod_paths], check=False) + tools.helpers.run.user(args, ["chmod", "g-w,o-w", args.work], check=False) + except: + pass + def upgrade(args): get_config(args) + migration(args) status = "STOPPED" if os.path.exists(tools.config.defaults["lxc"] + "/waydroid"): status = helpers.lxc.status(args) diff --git a/tools/helpers/logging.py b/tools/helpers/logging.py index 094bf82..768f2bf 100644 --- a/tools/helpers/logging.py +++ b/tools/helpers/logging.py @@ -69,6 +69,10 @@ def init(args): dir = os.path.dirname(args.log) if os.path.exists(dir): setattr(args, "logfd", open(args.log, "a+")) + try: + os.chmod(args.log, 0o666) + except PermissionError: + pass else: setattr(args, "logfd", open(os.devnull, "a+")) if args.action != "init": -- 2.47.3