Blame SOURCES/0015-TOOLS-fixed-handling-of-init-error.patch

0034f4
From bd16242ef6780fd2808bf03f79eda5d940094bc5 Mon Sep 17 00:00:00 2001
0034f4
From: Alexey Tikhonov <atikhono@redhat.com>
0034f4
Date: Sun, 6 Nov 2022 12:25:37 +0100
0034f4
Subject: [PATCH 15/16] TOOLS: fixed handling of init error
0034f4
MIME-Version: 1.0
0034f4
Content-Type: text/plain; charset=UTF-8
0034f4
Content-Transfer-Encoding: 8bit
0034f4
0034f4
Before execution of `tool_cmd_init()` `init_err` wasn't set,
0034f4
so `sss_tools_handles_init_error()` check was a no-op.
0034f4
0034f4
Consequently, a proper check after `tool_cmd_init()` was missing.
0034f4
0034f4
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
0034f4
Reviewed-by: Justin Stephenson <jstephen@redhat.com>
0034f4
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
0034f4
(cherry picked from commit 7af46ba0e925da61b7b4003c3fa6d51c05c1116e)
0034f4
0034f4
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
0034f4
Reviewed-by: Justin Stephenson <jstephen@redhat.com>
0034f4
---
0034f4
 src/tools/common/sss_tools.c | 17 ++++-------------
0034f4
 src/tools/common/sss_tools.h |  1 -
0034f4
 2 files changed, 4 insertions(+), 14 deletions(-)
0034f4
0034f4
diff --git a/src/tools/common/sss_tools.c b/src/tools/common/sss_tools.c
0034f4
index 47b85bdd2..38ae88306 100644
0034f4
--- a/src/tools/common/sss_tools.c
0034f4
+++ b/src/tools/common/sss_tools.c
0034f4
@@ -336,22 +336,13 @@ static errno_t sss_tool_route(int argc, const char **argv,
0034f4
             cmdline.argc = argc - 2;
0034f4
             cmdline.argv = argv + 2;
0034f4
 
0034f4
-            if (!sss_tools_handles_init_error(&commands[i], tool_ctx->init_err)) {
0034f4
-                DEBUG(SSSDBG_FATAL_FAILURE,
0034f4
-                      "Command %s does not handle initialization error [%d] %s\n",
0034f4
-                      cmdline.command, tool_ctx->init_err,
0034f4
-                      sss_strerror(tool_ctx->init_err));
0034f4
-                return tool_ctx->init_err;
0034f4
-            }
0034f4
-
0034f4
             if (!tool_ctx->print_help) {
0034f4
                 ret = tool_cmd_init(tool_ctx, &commands[i]);
0034f4
-                if (ret == ERR_SYSDB_VERSION_TOO_OLD) {
0034f4
-                    tool_ctx->init_err = ret;
0034f4
-                } else if (ret != EOK) {
0034f4
+
0034f4
+                if (!sss_tools_handles_init_error(&commands[i], ret)) {
0034f4
                     DEBUG(SSSDBG_FATAL_FAILURE,
0034f4
-                          "Command initialization failed [%d] %s\n",
0034f4
-                          ret, sss_strerror(ret));
0034f4
+                          "Command %s does not handle initialization error [%d] %s\n",
0034f4
+                          cmdline.command, ret, sss_strerror(ret));
0034f4
                     return ret;
0034f4
                 }
0034f4
             }
0034f4
diff --git a/src/tools/common/sss_tools.h b/src/tools/common/sss_tools.h
0034f4
index 578186633..75dc15391 100644
0034f4
--- a/src/tools/common/sss_tools.h
0034f4
+++ b/src/tools/common/sss_tools.h
0034f4
@@ -30,7 +30,6 @@ struct sss_tool_ctx {
0034f4
     struct confdb_ctx *confdb;
0034f4
 
0034f4
     bool print_help;
0034f4
-    errno_t init_err;
0034f4
     char *default_domain;
0034f4
     struct sss_domain_info *domains;
0034f4
 };
0034f4
-- 
0034f4
2.37.3
0034f4