Blob Blame History Raw
From 27968f52eb57391ae64df57d29cf9911fc59d161 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina@redhat.com>
Date: Thu, 22 Oct 2020 13:34:52 +0200
Subject: [PATCH 08/19] kcm: add json suffix to existing searialization
 functions

---
 Makefile.am                                   | 10 ++---
 src/responder/kcm/kcmsrv_ccache.h             | 18 ++++-----
 src/responder/kcm/kcmsrv_ccache_json.c        | 18 ++++-----
 src/responder/kcm/kcmsrv_ccache_secdb.c       | 14 +++----
 src/responder/kcm/kcmsrv_ccache_secrets.c     |  9 ++---
 ...n_marshalling.c => test_kcm_marshalling.c} | 39 ++++++-------------
 6 files changed, 44 insertions(+), 64 deletions(-)
 rename src/tests/cmocka/{test_kcm_json_marshalling.c => test_kcm_marshalling.c} (90%)

diff --git a/Makefile.am b/Makefile.am
index 97aa1ec661268aaa7a3f09b5022c5677df19d9da..8ca46bf2f9add08155bfb824444437532c97909c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -311,7 +311,7 @@ endif   # HAVE_INOTIFY
 
 if BUILD_KCM
 non_interactive_cmocka_based_tests += \
-	test_kcm_json \
+	test_kcm_marshalling \
 	test_kcm_queue \
         $(NULL)
 endif   # BUILD_KCM
@@ -3927,18 +3927,18 @@ test_sssd_krb5_locator_plugin_LDADD = \
     $(NULL)
 
 if BUILD_KCM
-test_kcm_json_SOURCES = \
-    src/tests/cmocka/test_kcm_json_marshalling.c \
+test_kcm_marshalling_SOURCES = \
+    src/tests/cmocka/test_kcm_marshalling.c \
     src/responder/kcm/kcmsrv_ccache_json.c \
     src/responder/kcm/kcmsrv_ccache.c \
     src/util/sss_krb5.c \
     src/util/sss_iobuf.c \
     $(NULL)
-test_kcm_json_CFLAGS = \
+test_kcm_marshalling_CFLAGS = \
     $(AM_CFLAGS) \
     $(UUID_CFLAGS) \
     $(NULL)
-test_kcm_json_LDADD = \
+test_kcm_marshalling_LDADD = \
     $(JANSSON_LIBS) \
     $(UUID_LIBS) \
     $(KRB5_LIBS) \
diff --git a/src/responder/kcm/kcmsrv_ccache.h b/src/responder/kcm/kcmsrv_ccache.h
index d629923fa140bd30d8a59f56443dea7ce101c33e..5aaded0524d0765dea6bfb962a83cf625f0e85f4 100644
--- a/src/responder/kcm/kcmsrv_ccache.h
+++ b/src/responder/kcm/kcmsrv_ccache.h
@@ -333,16 +333,16 @@ const char *sec_key_create(TALLOC_CTX *mem_ctx,
  * sec_key is a concatenation of the ccache's UUID and name
  * sec_value is the JSON dump of the ccache contents
  */
-errno_t sec_kv_to_ccache(TALLOC_CTX *mem_ctx,
-                         const char *sec_key,
-                         const char *sec_value,
-                         struct cli_creds *client,
-                         struct kcm_ccache **_cc);
+errno_t sec_kv_to_ccache_json(TALLOC_CTX *mem_ctx,
+                              const char *sec_key,
+                              const char *sec_value,
+                              struct cli_creds *client,
+                              struct kcm_ccache **_cc);
 
 /* Convert a kcm_ccache to a key-value pair to be stored in secrets */
-errno_t kcm_ccache_to_sec_input(TALLOC_CTX *mem_ctx,
-                                struct kcm_ccache *cc,
-                                struct cli_creds *client,
-                                struct sss_iobuf **_payload);
+errno_t kcm_ccache_to_sec_input_json(TALLOC_CTX *mem_ctx,
+                                     struct kcm_ccache *cc,
+                                     struct cli_creds *client,
+                                     struct sss_iobuf **_payload);
 
 #endif /* _KCMSRV_CCACHE_H_ */
diff --git a/src/responder/kcm/kcmsrv_ccache_json.c b/src/responder/kcm/kcmsrv_ccache_json.c
index 38ec53c408c3b9d44f37d102c4a0c976ef32bdfe..8101f5ddc148bfff83cc02cf9b19a3566209e781 100644
--- a/src/responder/kcm/kcmsrv_ccache_json.c
+++ b/src/responder/kcm/kcmsrv_ccache_json.c
@@ -460,10 +460,10 @@ static errno_t ccache_to_sec_val(TALLOC_CTX *mem_ctx,
     return EOK;
 }
 
-errno_t kcm_ccache_to_sec_input(TALLOC_CTX *mem_ctx,
-                                struct kcm_ccache *cc,
-                                struct cli_creds *client,
-                                struct sss_iobuf **_payload)
+errno_t kcm_ccache_to_sec_input_json(TALLOC_CTX *mem_ctx,
+                                     struct kcm_ccache *cc,
+                                     struct cli_creds *client,
+                                     struct sss_iobuf **_payload)
 {
     errno_t ret;
     const char *value;
@@ -897,11 +897,11 @@ static errno_t sec_json_value_to_ccache(struct kcm_ccache *cc,
  * sec_key is a concatenation of the ccache's UUID and name
  * sec_value is the JSON dump of the ccache contents
  */
-errno_t sec_kv_to_ccache(TALLOC_CTX *mem_ctx,
-                         const char *sec_key,
-                         const char *sec_value,
-                         struct cli_creds *client,
-                         struct kcm_ccache **_cc)
+errno_t sec_kv_to_ccache_json(TALLOC_CTX *mem_ctx,
+                              const char *sec_key,
+                              const char *sec_value,
+                              struct cli_creds *client,
+                              struct kcm_ccache **_cc)
 {
     errno_t ret;
     json_t *root = NULL;
diff --git a/src/responder/kcm/kcmsrv_ccache_secdb.c b/src/responder/kcm/kcmsrv_ccache_secdb.c
index f0143e686826e3bf637619efc799e0d2f0715ba4..f5cfe47a7c6deac17031788105ac4235a6aaa9ff 100644
--- a/src/responder/kcm/kcmsrv_ccache_secdb.c
+++ b/src/responder/kcm/kcmsrv_ccache_secdb.c
@@ -160,7 +160,7 @@ static errno_t kcm_ccache_to_secdb_kv(TALLOC_CTX *mem_ctx,
         goto done;
     }
 
-    ret = kcm_ccache_to_sec_input(mem_ctx, cc, client, &payload);
+    ret = kcm_ccache_to_sec_input_json(mem_ctx, cc, client, &payload);
     if (ret != EOK) {
         DEBUG(SSSDBG_CRIT_FAILURE,
               "Cannot convert ccache to a secret [%d][%s]\n", ret, sss_strerror(ret));
@@ -454,11 +454,9 @@ static errno_t secdb_get_cc(TALLOC_CTX *mem_ctx,
         goto done;
     }
 
-    ret = sec_kv_to_ccache(tmp_ctx,
-                           secdb_key,
-                           (const char *) sss_iobuf_get_data(ccbuf),
-                           client,
-                           &cc);
+    ret = sec_kv_to_ccache_json(tmp_ctx, secdb_key,
+                                (const char *)sss_iobuf_get_data(ccbuf),
+                                client, &cc);
     if (ret != EOK) {
         DEBUG(SSSDBG_OP_FAILURE,
               "Cannot convert JSON keyval to ccache blob [%d]: %s\n",
@@ -1251,7 +1249,7 @@ static struct tevent_req *ccdb_secdb_mod_send(TALLOC_CTX *mem_ctx,
         goto immediate;
     }
 
-    ret = kcm_ccache_to_sec_input(state, cc, client, &payload);
+    ret = kcm_ccache_to_sec_input_json(state, cc, client, &payload);
     if (ret != EOK) {
         goto immediate;
     }
@@ -1327,7 +1325,7 @@ static struct tevent_req *ccdb_secdb_store_cred_send(TALLOC_CTX *mem_ctx,
         goto immediate;
     }
 
-    ret = kcm_ccache_to_sec_input(state, cc, client, &payload);
+    ret = kcm_ccache_to_sec_input_json(state, cc, client, &payload);
     if (ret != EOK) {
         goto immediate;
     }
diff --git a/src/responder/kcm/kcmsrv_ccache_secrets.c b/src/responder/kcm/kcmsrv_ccache_secrets.c
index 440ab3bb99dd983ba0343f371c0c6470bbd53afc..9d1fe8cad2dc6ed3ab43e181d0db52673d4759cc 100644
--- a/src/responder/kcm/kcmsrv_ccache_secrets.c
+++ b/src/responder/kcm/kcmsrv_ccache_secrets.c
@@ -195,7 +195,7 @@ static errno_t kcm_ccache_to_sec_kv(TALLOC_CTX *mem_ctx,
         goto done;
     }
 
-    ret = kcm_ccache_to_sec_input(mem_ctx, cc, client, &payload);
+    ret = kcm_ccache_to_sec_input_json(mem_ctx, cc, client, &payload);
     if (ret != EOK) {
         goto done;
     }
@@ -489,11 +489,8 @@ static void sec_get_done(struct tevent_req *subreq)
         return;
     }
 
-    ret = sec_kv_to_ccache(state,
-                           state->sec_key,
-                           sec_value,
-                           state->client,
-                           &state->cc);
+    ret = sec_kv_to_ccache_json(state, state->sec_key, sec_value, state->client,
+                                &state->cc);
     if (ret != EOK) {
         DEBUG(SSSDBG_OP_FAILURE,
               "Cannot convert JSON keyval to ccache blob [%d]: %s\n",
diff --git a/src/tests/cmocka/test_kcm_json_marshalling.c b/src/tests/cmocka/test_kcm_marshalling.c
similarity index 90%
rename from src/tests/cmocka/test_kcm_json_marshalling.c
rename to src/tests/cmocka/test_kcm_marshalling.c
index 48ee92bd675780b023b5c8275e5713b91388d06a..f82129974787bba6883662a732311f3370bcc4f1 100644
--- a/src/tests/cmocka/test_kcm_json_marshalling.c
+++ b/src/tests/cmocka/test_kcm_marshalling.c
@@ -154,7 +154,7 @@ static void assert_cc_equal(struct kcm_ccache *cc1,
     assert_cc_offset_equal(cc1, cc2);
 }
 
-static void test_kcm_ccache_marshall_unmarshall(void **state)
+static void test_kcm_ccache_marshall_unmarshall_json(void **state)
 {
     struct kcm_marshalling_test_ctx *test_ctx = talloc_get_type(*state,
                                         struct kcm_marshalling_test_ctx);
@@ -182,10 +182,7 @@ static void test_kcm_ccache_marshall_unmarshall(void **state)
                      &cc);
     assert_int_equal(ret, EOK);
 
-    ret = kcm_ccache_to_sec_input(test_ctx,
-                                  cc,
-                                  &owner,
-                                  &payload);
+    ret = kcm_ccache_to_sec_input_json(test_ctx, cc, &owner, &payload);
     assert_int_equal(ret, EOK);
 
     data = sss_iobuf_get_data(payload);
@@ -196,25 +193,19 @@ static void test_kcm_ccache_marshall_unmarshall(void **state)
     key = sec_key_create(test_ctx, name, uuid);
     assert_non_null(key);
 
-    ret = sec_kv_to_ccache(test_ctx,
-                           key,
-                           (const char *) data,
-                           &owner,
-                           &cc2);
+    ret = sec_kv_to_ccache_json(test_ctx, key, (const char *)data, &owner,
+                                &cc2);
     assert_int_equal(ret, EOK);
 
     assert_cc_equal(cc, cc2);
 
     /* This key is exactly one byte shorter than it should be */
-    ret = sec_kv_to_ccache(test_ctx,
-                           TEST_UUID_STR"-",
-                           (const char *) data,
-                           &owner,
-                           &cc2);
+    ret = sec_kv_to_ccache_json(test_ctx, TEST_UUID_STR "-", (const char *)data,
+                                &owner, &cc2);
     assert_int_equal(ret, EINVAL);
 }
 
-static void test_kcm_ccache_no_princ(void **state)
+static void test_kcm_ccache_no_princ_json(void **state)
 {
     struct kcm_marshalling_test_ctx *test_ctx = talloc_get_type(*state,
                                         struct kcm_marshalling_test_ctx);
@@ -246,10 +237,7 @@ static void test_kcm_ccache_no_princ(void **state)
     princ = kcm_cc_get_client_principal(cc);
     assert_null(princ);
 
-    ret = kcm_ccache_to_sec_input(test_ctx,
-                                  cc,
-                                  &owner,
-                                  &payload);
+    ret = kcm_ccache_to_sec_input_json(test_ctx, cc, &owner, &payload);
     assert_int_equal(ret, EOK);
 
     data = sss_iobuf_get_data(payload);
@@ -260,11 +248,8 @@ static void test_kcm_ccache_no_princ(void **state)
     key = sec_key_create(test_ctx, name, uuid);
     assert_non_null(key);
 
-    ret = sec_kv_to_ccache(test_ctx,
-                           key,
-                           (const char *) data,
-                           &owner,
-                           &cc2);
+    ret = sec_kv_to_ccache_json(test_ctx, key, (const char *)data, &owner,
+                                &cc2);
     assert_int_equal(ret, EOK);
 
     assert_cc_equal(cc, cc2);
@@ -340,10 +325,10 @@ int main(int argc, const char *argv[])
     };
 
     const struct CMUnitTest tests[] = {
-        cmocka_unit_test_setup_teardown(test_kcm_ccache_marshall_unmarshall,
+        cmocka_unit_test_setup_teardown(test_kcm_ccache_marshall_unmarshall_json,
                                         setup_kcm_marshalling,
                                         teardown_kcm_marshalling),
-        cmocka_unit_test_setup_teardown(test_kcm_ccache_no_princ,
+        cmocka_unit_test_setup_teardown(test_kcm_ccache_no_princ_json,
                                         setup_kcm_marshalling,
                                         teardown_kcm_marshalling),
         cmocka_unit_test(test_sec_key_get_uuid),
-- 
2.25.4