From 91704f12f85626efd7ffad0b05c83befbd72ef4d Mon Sep 17 00:00:00 2001 From: Jonathan Maw Date: Fri, 3 Aug 2012 14:09:06 +0100 Subject: Make legacy app handler refuse invalid shutdown modes Added code to the register signal handler to refuse any register signal which is not a combination of NSM_SHUTDOWN_TYPE_NORMAL and NSM_SHUTDOWN_TYPE_FAST and log an error. --- node-startup-controller/la-handler-service.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/node-startup-controller/la-handler-service.c b/node-startup-controller/la-handler-service.c index 32aa007..85769eb 100644 --- a/node-startup-controller/la-handler-service.c +++ b/node-startup-controller/la-handler-service.c @@ -310,6 +310,17 @@ la_handler_service_handle_register (LAHandler *interface, g_return_val_if_fail (unit != NULL && *unit != '\0', FALSE); g_return_val_if_fail (LA_HANDLER_IS_SERVICE (service), FALSE); + if (shutdown_mode != NSM_SHUTDOWN_TYPE_NORMAL + && shutdown_mode != NSM_SHUTDOWN_TYPE_FAST + && shutdown_mode != NSM_SHUTDOWN_TYPE_NORMAL | NSM_SHUTDOWN_TYPE_FAST) + { + /* the shutdown mode is invalid */ + DLT_LOG (la_handler_context, DLT_LOG_ERROR, + DLT_STRING ("Register called with invalid shutdown mode")); + la_handler_complete_register (interface, invocation); + return TRUE; + } + /* find out if we have a shutdown client for this unit already */ client = g_hash_table_lookup (service->units_to_clients, unit); if (client != NULL) -- cgit v1.2.1