From b8ccad96cd8f6c4888cca01162ec7536bb8cc7d3 Mon Sep 17 00:00:00 2001 From: Christian Blättler Date: Thu, 18 Apr 2024 08:46:48 +0200 Subject: move query & result helpers to gnunet --- src/include/taler_pq_lib.h | 25 ------ src/pq/pq_query_helper.c | 200 --------------------------------------------- src/pq/pq_result_helper.c | 5 -- 3 files changed, 230 deletions(-) diff --git a/src/include/taler_pq_lib.h b/src/include/taler_pq_lib.h index 6fae8562a..f45de61d9 100644 --- a/src/include/taler_pq_lib.h +++ b/src/include/taler_pq_lib.h @@ -422,31 +422,6 @@ TALER_PQ_result_spec_array_amount ( struct TALER_Amount **amounts); -/** - * Blind sign public key expected. - * - * @param name name of the field in the table - * @param[out] public_key where to store the denomination signature - * @return array entry for the result specification to use - */ -struct GNUNET_PQ_ResultSpec -TALER_PQ_result_spec_blind_sign_pub ( - const char *name, - struct GNUNET_CRYPTO_BlindSignPublicKey *public_key); - - -/** - * Blind sign private key expected. - * - * @param name name of the field in the table - * @param[out] private_key where to store the denomination signature - * @return array entry for the result specification to use - */ -struct GNUNET_PQ_ResultSpec -TALER_PQ_result_spec_blind_sign_priv ( - const char *name, - struct GNUNET_CRYPTO_BlindSignPrivateKey *private_key); - #endif /* TALER_PQ_LIB_H_ */ /* end of include/taler_pq_lib.h */ diff --git a/src/pq/pq_query_helper.c b/src/pq/pq_query_helper.c index d25b3223e..b1dfd4cf1 100644 --- a/src/pq/pq_query_helper.c +++ b/src/pq/pq_query_helper.c @@ -1336,204 +1336,4 @@ TALER_PQ_query_param_array_amount_with_currency ( } -/** - * Function called to convert input argument into SQL parameters. - * - * @param cls closure - * @param data pointer to input argument - * @param data_len number of bytes in @a data (if applicable) - * @param[out] param_values SQL data to set - * @param[out] param_lengths SQL length data to set - * @param[out] param_formats SQL format data to set - * @param param_length number of entries available in the @a param_values, @a param_lengths and @a param_formats arrays - * @param[out] scratch buffer for dynamic allocations (to be done via #GNUNET_malloc() - * @param scratch_length number of entries left in @a scratch - * @return -1 on error, number of offsets used in @a scratch otherwise - */ -static int -qconv_blind_sign_pub (void *cls, - const void *data, - size_t data_len, - void *param_values[], - int param_lengths[], - int param_formats[], - unsigned int param_length, - void *scratch[], - unsigned int scratch_length) -{ - const struct GNUNET_CRYPTO_BlindSignPublicKey *public_key = data; - size_t tlen; - size_t len; - uint32_t be; - char *buf; - void *tbuf; - - (void) cls; - (void) data_len; - GNUNET_assert (1 == param_length); - GNUNET_assert (scratch_length > 0); - GNUNET_break (NULL == cls); - be = htonl ((uint32_t) public_key->cipher); - switch (public_key->cipher) - { - case GNUNET_CRYPTO_BSA_RSA: - tlen = GNUNET_CRYPTO_rsa_public_key_encode ( - public_key->details.rsa_public_key, - &tbuf); - break; - case GNUNET_CRYPTO_BSA_CS: - tlen = sizeof (public_key->details.cs_public_key); - break; - default: - GNUNET_assert (0); - } - len = tlen + sizeof (be); - buf = GNUNET_malloc (len); - GNUNET_memcpy (buf, - &be, - sizeof (be)); - switch (public_key->cipher) - { - case GNUNET_CRYPTO_BSA_RSA: - GNUNET_memcpy (&buf[sizeof (be)], - tbuf, - tlen); - GNUNET_free (tbuf); - break; - case GNUNET_CRYPTO_BSA_CS: - GNUNET_memcpy (&buf[sizeof (be)], - &public_key->details.cs_public_key, - tlen); - break; - default: - GNUNET_assert (0); - } - - scratch[0] = buf; - param_values[0] = (void *) buf; - param_lengths[0] = len; - param_formats[0] = 1; - return 1; -} - - -/** - * Generate query parameter for a blind sign public key of variable size. - * - * @param public_key pointer to the query parameter to pass - */ -struct GNUNET_PQ_QueryParam -TALER_PQ_query_param_blind_sign_pub ( - const struct GNUNET_CRYPTO_BlindSignPublicKey *public_key) -{ - struct GNUNET_PQ_QueryParam res = { - .conv = &qconv_blind_sign_pub, - .data = public_key, - .num_params = 1 - }; - - return res; -} - - -/** - * Function called to convert input argument into SQL parameters. - * - * @param cls closure - * @param data pointer to input argument - * @param data_len number of bytes in @a data (if applicable) - * @param[out] param_values SQL data to set - * @param[out] param_lengths SQL length data to set - * @param[out] param_formats SQL format data to set - * @param param_length number of entries available in the @a param_values, @a param_lengths and @a param_formats arrays - * @param[out] scratch buffer for dynamic allocations (to be done via #GNUNET_malloc() - * @param scratch_length number of entries left in @a scratch - * @return -1 on error, number of offsets used in @a scratch otherwise - */ -static int -qconv_blind_sign_priv (void *cls, - const void *data, - size_t data_len, - void *param_values[], - int param_lengths[], - int param_formats[], - unsigned int param_length, - void *scratch[], - unsigned int scratch_length) -{ - const struct GNUNET_CRYPTO_BlindSignPrivateKey *private_key = data; - size_t tlen; - size_t len; - uint32_t be; - char *buf; - void *tbuf; - - (void) cls; - (void) data_len; - GNUNET_assert (1 == param_length); - GNUNET_assert (scratch_length > 0); - GNUNET_break (NULL == cls); - be = htonl ((uint32_t) private_key->cipher); - switch (private_key->cipher) - { - case GNUNET_CRYPTO_BSA_RSA: - tlen = GNUNET_CRYPTO_rsa_private_key_encode ( - private_key->details.rsa_private_key, - &tbuf); - break; - case GNUNET_CRYPTO_BSA_CS: - tlen = sizeof (private_key->details.cs_private_key); - break; - default: - GNUNET_assert (0); - } - len = tlen + sizeof (be); - buf = GNUNET_malloc (len); - GNUNET_memcpy (buf, - &be, - sizeof (be)); - switch (private_key->cipher) - { - case GNUNET_CRYPTO_BSA_RSA: - GNUNET_memcpy (&buf[sizeof (be)], - tbuf, - tlen); - GNUNET_free (tbuf); - break; - case GNUNET_CRYPTO_BSA_CS: - GNUNET_memcpy (&buf[sizeof (be)], - &private_key->details.cs_private_key, - tlen); - break; - default: - GNUNET_assert (0); - } - - scratch[0] = buf; - param_values[0] = (void *) buf; - param_lengths[0] = len; - param_formats[0] = 1; - return 1; -} - - -/** - * Generate query parameter for a blind sign private key of variable size. - * - * @param private_key pointer to the query parameter to pass - */ -struct GNUNET_PQ_QueryParam -TALER_PQ_query_param_blind_sign_priv ( - const struct GNUNET_CRYPTO_BlindSignPrivateKey *private_key) -{ - struct GNUNET_PQ_QueryParam res = { - .conv = &qconv_blind_sign_priv, - .data = private_key, - .num_params = 1 - }; - - return res; -} - - /* end of pq/pq_query_helper.c */ diff --git a/src/pq/pq_result_helper.c b/src/pq/pq_result_helper.c index e81c78302..384200cfb 100644 --- a/src/pq/pq_result_helper.c +++ b/src/pq/pq_result_helper.c @@ -1544,8 +1544,6 @@ TALER_PQ_result_spec_array_amount ( .cls = info, }; return res; - - } @@ -1574,9 +1572,6 @@ TALER_PQ_result_spec_array_hash_code ( .cls = info, }; return res; - - } - /* end of pq_result_helper.c */ -- cgit v1.2.3