From f7101b7368dfe41dbc8b7203e06133cccb589c01 Mon Sep 17 00:00:00 2001 From: Jan Synacek Date: Tue, 7 Oct 2014 13:35:41 +0200 Subject: [PATCH] core: don't allow enabling if unit is masked --- src/shared/install.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/shared/install.c b/src/shared/install.c index fa064c230f..945bb2748d 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1516,6 +1516,19 @@ int unit_file_enable( return r; STRV_FOREACH(i, files) { + UnitFileState state; + + state = unit_file_get_state(scope, root_dir, *i); + if (state < 0) { + log_error("Failed to get unit file state for %s: %s", *i, strerror(-state)); + return state; + } + + if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) { + log_error("Failed to enable unit: Unit %s is masked", *i); + return -ENOTSUP; + } + r = install_info_add_auto(&c, *i); if (r < 0) return r;