]> Kevux Git Server - fll/commitdiff
Cleanup: Controller program return codes should be more generalized.
authorKevin Day <thekevinday@gmail.com>
Thu, 28 Apr 2022 03:05:15 +0000 (22:05 -0500)
committerKevin Day <thekevinday@gmail.com>
Thu, 28 Apr 2022 03:05:15 +0000 (22:05 -0500)
It turns out that when agetty returns on access denied while trying to login, it returns access denied to the controller program.
The controller program has no way of distinguishing that this is access denied while trying execute the program to this is access denied because the program returned access denied.
Change the error messages to be more generalized so that they are less misleading.

level_3/controller/c/rule/private-rule_print.c

index a8a90884cbd522c38cc4c93b5bc254adfd4e1f28..eb36a42b5f9dac0176f38a7622108e27f5b9af2b 100644 (file)
@@ -110,10 +110,10 @@ extern "C" {
         const uint8_t code = WIFEXITED(process->result) ? WEXITSTATUS(process->result) : 0;
 
         if (code == F_execute_access) {
-          fl_print_format("%[' cannot be executed, access is denied.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
+          fl_print_format("%[' failed, access is denied.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
         }
         else if (code == F_execute_bad) {
-          fl_print_format("%[' cannot execute, unsupported format.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
+          fl_print_format("%[' failed, unsupported format.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
         }
         else if (code == F_execute_buffer) {
           fl_print_format("%[' invalid memory access in arguments buffer.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
@@ -137,7 +137,7 @@ extern "C" {
           fl_print_format("%[' failed during execution.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
         }
         else if (code == F_execute_file_found_not) {
-          fl_print_format("%[' could not be executed, unable to find file.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
+          fl_print_format("%[' failed, unable to find file.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);
         }
         else if (code == F_execute_file_type_directory) {
           fl_print_format("%[' ELF interpreter is a directory.%]%r", print->to.stream, print->context, print->context, f_string_eol_s);