aboutsummaryrefslogtreecommitdiff
path: root/src/rc/rc-applets.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rc/rc-applets.c')
-rw-r--r--src/rc/rc-applets.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rc/rc-applets.c b/src/rc/rc-applets.c
index 64b6e888..8431eea3 100644
--- a/src/rc/rc-applets.c
+++ b/src/rc/rc-applets.c
@@ -533,11 +533,18 @@ run_applets(int argc, char **argv)
{
size_t i;
+ /*
+ * The "rc" applet is deprecated and should be referred to as
+ * "openrc", so output a warning.
+ */
+ if (strcmp(applet, "rc") == 0)
+ ewarn("The 'rc' applet is deprecated; please use 'openrc' instead.");
/* Bug 351712: We need an extra way to explicitly select an applet OTHER
* than trusting argv[0], as argv[0] is not going to be the applet value if
* we are doing SELinux context switching. For this, we allow calls such as
* 'rc --applet APPLET', and shift ALL of argv down by two array items. */
- if (strcmp(applet, "rc") == 0 && argc >= 3 &&
+ if ((strcmp(applet, "rc") == 0 || strcmp(applet, "openrc") == 0) &&
+ argc >= 3 &&
(strcmp(argv[1],"--applet") == 0 || strcmp(argv[1], "-a") == 0)) {
applet = argv[2];
argv += 2;
@@ -557,6 +564,6 @@ run_applets(int argc, char **argv)
if (strncmp(applet, "mark_service_", strlen("mark_service_")) == 0)
exit(do_mark_service(argc, argv));
- if (strcmp(applet, "rc") != 0)
+ if (strcmp(applet, "rc") != 0 && strcmp(applet, "openrc") != 0)
eerrorx("%s: unknown applet", applet);
}