From 0fb9d07643a9e9e84c61a6a62f4c2b7d52e4d96f Mon Sep 17 00:00:00 2001 From: Jan Synacek Date: Tue, 7 Oct 2014 13:27:38 +0200 Subject: [PATCH] core: don't allow enabling if unit is masked (cherry-picked from f7101b7368dfe41dbc8b7203e06133cccb589c01) Resolves: #1149299 --- src/shared/install.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/shared/install.c b/src/shared/install.c index 1662c5f..7a29798 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1520,6 +1520,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;