summaryrefslogtreecommitdiff
path: root/0022-2159-use-macros-to-isolate-the-password-option-of-lo.patch
blob: 3306ba52e31b95a79a3b38d03cd0c9f212460390 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
From 0c0bc7a873cb5377aa0d5587c28d711a09f00811 Mon Sep 17 00:00:00 2001
From: zhongtao <zhongtao17@huawei.com>
Date: Wed, 30 Aug 2023 09:56:29 +0000
Subject: [PATCH 22/33] !2159 use macros to isolate the password option of
 login and the plugin module * use macros to isolate the password option of
 login and the plugin module

---
 cmake/options.cmake                           | 14 ++++++++++
 src/cmd/isula/images/login.h                  | 28 +++++++++++++------
 src/cmd/isulad/main.c                         |  2 ++
 .../executor/container_cb/execution_create.c  |  2 ++
 src/daemon/modules/CMakeLists.txt             | 13 +++++++--
 src/daemon/modules/api/CMakeLists.txt         |  3 ++
 .../container/container_events_handler.c      |  2 ++
 .../modules/service/service_container.c       |  4 +++
 8 files changed, 57 insertions(+), 11 deletions(-)

diff --git a/cmake/options.cmake b/cmake/options.cmake
index 5fc5c221..e733fd1c 100644
--- a/cmake/options.cmake
+++ b/cmake/options.cmake
@@ -138,6 +138,20 @@ if (ENABLE_NATIVE_NETWORK OR ENABLE_GRPC)
     set(ENABLE_NETWORK 1)
 endif()
 
+option(ENABLE_PLUGIN "enable plugin module" OFF)
+if (ENABLE_PLUGIN STREQUAL "ON")
+	add_definitions(-DENABLE_PLUGIN=1)
+	set(ENABLE_PLUGIN 1)
+    message("${Green}--  Enable plugin module${ColourReset}")
+endif()
+
+option(ENABLE_LOGIN_PASSWORD_OPTION "enable login password option" ON)
+if (ENABLE_LOGIN_PASSWORD_OPTION STREQUAL "ON")
+	add_definitions(-DENABLE_LOGIN_PASSWORD_OPTION=1)
+	set(ENABLE_LOGIN_PASSWORD_OPTION 1)
+    message("${Green}--  Enable login password option${ColourReset}")
+endif()
+
 option(EANBLE_IMAGE_LIBARAY "create libisulad_image.so" ON)
 if (EANBLE_IMAGE_LIBARAY STREQUAL "ON")
     add_definitions(-DEANBLE_IMAGE_LIBARAY)
diff --git a/src/cmd/isula/images/login.h b/src/cmd/isula/images/login.h
index 5f9a676c..38829cba 100644
--- a/src/cmd/isula/images/login.h
+++ b/src/cmd/isula/images/login.h
@@ -24,16 +24,28 @@
 extern "C" {
 #endif
 
+#ifdef ENABLE_LOGIN_PASSWORD_OPTION
 #define LOGIN_OPTIONS(cmdargs)                                                                      \
-    { CMD_OPT_TYPE_STRING_DUP, false, "username", 'u', &(cmdargs).username, "Username", NULL },         \
-    { CMD_OPT_TYPE_STRING_DUP, false, "password", 'p', &(cmdargs).password, "Password", NULL }, \
-    { CMD_OPT_TYPE_BOOL,                                                                    \
-      false,                                                                                \
-      "password-stdin",                                                                     \
-      0,                                                                                    \
-      &(cmdargs).password_stdin,                                                            \
-      "Take the password from stdin",                                                       \
+    { CMD_OPT_TYPE_STRING_DUP, false, "username", 'u', &(cmdargs).username, "Username", NULL },     \
+    { CMD_OPT_TYPE_STRING_DUP, false, "password", 'p', &(cmdargs).password, "Password", NULL },     \
+    { CMD_OPT_TYPE_BOOL,                                                                            \
+      false,                                                                                        \
+      "password-stdin",                                                                             \
+      0,                                                                                            \
+      &(cmdargs).password_stdin,                                                                    \
+      "Take the password from stdin",                                                               \
       NULL },
+#else
+#define LOGIN_OPTIONS(cmdargs)                                                                      \
+    { CMD_OPT_TYPE_STRING_DUP, false, "username", 'u', &(cmdargs).username, "Username", NULL },     \
+    { CMD_OPT_TYPE_BOOL,                                                                            \
+      false,                                                                                        \
+      "password-stdin",                                                                             \
+      0,                                                                                            \
+      &(cmdargs).password_stdin,                                                                    \
+      "Take the password from stdin",                                                               \
+      NULL },
+#endif
 
 extern const char g_cmd_login_desc[];
 extern const char g_cmd_login_usage[];
diff --git a/src/cmd/isulad/main.c b/src/cmd/isulad/main.c
index 8369f9e2..4740f91a 100644
--- a/src/cmd/isulad/main.c
+++ b/src/cmd/isulad/main.c
@@ -1685,10 +1685,12 @@ int main(int argc, char **argv)
         goto failure;
     }
 
+#ifdef ENABLE_PLUGIN
     if (start_plugin_manager()) {
         ERROR("Failed to init plugin_manager");
         goto failure;
     }
+#endif 
 
     clock_gettime(CLOCK_MONOTONIC, &t_end);
     use_time = (double)(t_end.tv_sec - t_start.tv_sec) * (double)1000000000 + (double)(t_end.tv_nsec - t_start.tv_nsec);
diff --git a/src/daemon/executor/container_cb/execution_create.c b/src/daemon/executor/container_cb/execution_create.c
index 9c097121..377aa1aa 100644
--- a/src/daemon/executor/container_cb/execution_create.c
+++ b/src/daemon/executor/container_cb/execution_create.c
@@ -1499,6 +1499,7 @@ int container_create_cb(const container_create_request *request, container_creat
         goto clean_netns;
     }
 
+#ifdef ENABLE_PLUGIN
     /* modify oci_spec by plugin. */
     if (plugin_event_container_pre_create(id, oci_spec) != 0) {
         ERROR("Plugin event pre create failed");
@@ -1506,6 +1507,7 @@ int container_create_cb(const container_create_request *request, container_creat
         cc = ISULAD_ERR_EXEC;
         goto clean_netns;
     }
+#endif
 
     host_channel = dup_host_channel(host_spec->host_channel);
     if (prepare_host_channel(host_channel, host_spec->user_remap)) {
diff --git a/src/daemon/modules/CMakeLists.txt b/src/daemon/modules/CMakeLists.txt
index 5d13412b..a70c094f 100644
--- a/src/daemon/modules/CMakeLists.txt
+++ b/src/daemon/modules/CMakeLists.txt
@@ -3,7 +3,6 @@
 aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} modules_top_srcs)
 add_subdirectory(runtime)
 add_subdirectory(image)
-add_subdirectory(plugin)
 add_subdirectory(spec)
 add_subdirectory(container)
 add_subdirectory(log)
@@ -17,7 +16,6 @@ set(local_modules_srcs
     ${modules_top_srcs}
     ${RUNTIME_SRCS}
     ${IMAGE_SRCS}
-    ${PLUGIN_SRCS}
     ${SPEC_SRCS}
     ${MANAGER_SRCS}
     ${LOG_GATHER_SRCS}
@@ -31,7 +29,6 @@ set(local_modules_incs
     ${CMAKE_CURRENT_SOURCE_DIR}
     ${RUNTIME_INCS}
     ${IMAGE_INCS}
-    ${PLUGIN_INCS}
     ${SPEC_INCS}
     ${MANAGER_INCS}
     ${LOG_GATHER_INCS}
@@ -42,6 +39,16 @@ set(local_modules_incs
     ${VOLUME_INCS}
     )
 
+if (ENABLE_PLUGIN)
+    add_subdirectory(plugin)
+    list(APPEND local_modules_srcs
+        ${PLUGIN_SRCS}
+        )
+    list(APPEND local_modules_incs
+        ${PLUGIN_INCS}
+        )
+endif()
+
 set(MODULES_SRCS
     ${local_modules_srcs}
     PARENT_SCOPE
diff --git a/src/daemon/modules/api/CMakeLists.txt b/src/daemon/modules/api/CMakeLists.txt
index f577c45f..0735b25a 100644
--- a/src/daemon/modules/api/CMakeLists.txt
+++ b/src/daemon/modules/api/CMakeLists.txt
@@ -9,3 +9,6 @@ set(MODULES_API_INCS
     PARENT_SCOPE
     )
 
+if (NOT ENABLE_PLUGIN)
+    list(REMOVE_ITEM MODULES_API_INCS "${CMAKE_CURRENT_SOURCE_DIR}/plugin_api.h")
+endif()
diff --git a/src/daemon/modules/container/container_events_handler.c b/src/daemon/modules/container/container_events_handler.c
index d78e6fc1..d56c2ee0 100644
--- a/src/daemon/modules/container/container_events_handler.c
+++ b/src/daemon/modules/container/container_events_handler.c
@@ -155,7 +155,9 @@ static int container_state_changed(container_t *cont, const struct isulad_events
             } else {
                 container_state_set_stopped(cont->state, (int)events->exit_status);
                 container_wait_stop_cond_broadcast(cont);
+#ifdef ENABLE_PLUGIN
                 plugin_event_container_post_stop(cont);
+#endif 
             }
 
             auto_remove = !should_restart && cont->hostconfig != NULL && cont->hostconfig->auto_remove;
diff --git a/src/daemon/modules/service/service_container.c b/src/daemon/modules/service/service_container.c
index 1fa2559d..2d393f62 100644
--- a/src/daemon/modules/service/service_container.c
+++ b/src/daemon/modules/service/service_container.c
@@ -807,12 +807,14 @@ static int do_start_container(container_t *cont, const char *console_fifos[], bo
         open_stdin = cont->common_config->config->open_stdin;
     }
 
+#ifdef ENABLE_PLUGIN
     if (plugin_event_container_pre_start(cont)) {
         ERROR("Plugin event pre start failed ");
         plugin_event_container_post_stop(cont); /* ignore error */
         ret = -1;
         goto close_exit_fd;
     }
+#endif
 
 #ifdef ENABLE_CRI_API_V1
     if (cont->common_config->sandbox_info != NULL &&
@@ -1370,7 +1372,9 @@ int delete_container(container_t *cont, bool force)
         }
     }
 
+#ifdef ENABLE_PLUGIN
     plugin_event_container_post_remove(cont);
+#endif
 
     ret = do_delete_container(cont);
     if (ret != 0) {
-- 
2.40.1