diff options
author | Christian Grothoff <christian@grothoff.org> | 2024-01-16 14:39:27 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2024-01-16 14:44:32 +0100 |
commit | ec522a445a2a00e9000c937e61940c7ac9c4b79d (patch) | |
tree | 297171853aeccb4e0ce22a7c1b4a25a2df0e2f46 | |
parent | 6bfc96f4cefceb5735e3bbccbe8f2e0fa6f51b6d (diff) |
fix #8071
-rw-r--r-- | src/exchange/taler-exchange-httpd_keys.c | 8 | ||||
-rw-r--r-- | src/exchangedb/test_exchangedb.c | 20 | ||||
-rw-r--r-- | src/include/taler_crypto_lib.h | 30 | ||||
-rw-r--r-- | src/include/taler_pq_lib.h | 4 | ||||
-rw-r--r-- | src/include/taler_util.h | 5 | ||||
-rw-r--r-- | src/lib/exchange_api_age_withdraw.c | 40 | ||||
-rw-r--r-- | src/lib/exchange_api_batch_withdraw.c | 12 | ||||
-rw-r--r-- | src/lib/exchange_api_handle.c | 8 | ||||
-rw-r--r-- | src/lib/exchange_api_link.c | 4 | ||||
-rw-r--r-- | src/lib/exchange_api_melt.c | 8 | ||||
-rw-r--r-- | src/lib/exchange_api_refresh_common.c | 12 | ||||
-rw-r--r-- | src/lib/exchange_api_refreshes_reveal.c | 4 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_batch_withdraw.c | 8 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_refresh.c | 12 | ||||
-rw-r--r-- | src/testing/testing_api_cmd_withdraw.c | 8 | ||||
-rw-r--r-- | src/util/Makefile.am | 2 | ||||
-rw-r--r-- | src/util/denom.c | 14 |
17 files changed, 102 insertions, 97 deletions
diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c index 8ec11cff9..92892cb6d 100644 --- a/src/exchange/taler-exchange-httpd_keys.c +++ b/src/exchange/taler-exchange-httpd_keys.c @@ -1919,8 +1919,8 @@ denomination_info_cb ( return; } dk = GNUNET_new (struct TEH_DenominationKey); - TALER_denom_pub_deep_copy (&dk->denom_pub, - denom_pub); + TALER_denom_pub_copy (&dk->denom_pub, + denom_pub); dk->h_denom_pub = *h_denom_pub; dk->meta = *meta; dk->master_sig = *master_sig; @@ -4078,8 +4078,8 @@ TEH_keys_load_fees (struct TEH_KeyStateHandle *ksh, { GNUNET_assert (GNUNET_CRYPTO_BSA_INVALID != hd->denom_pub.bsign_pub_key->cipher); - TALER_denom_pub_deep_copy (denom_pub, - &hd->denom_pub); + TALER_denom_pub_copy (denom_pub, + &hd->denom_pub); } else { diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c index f96e81da7..d333a7ea0 100644 --- a/src/exchangedb/test_exchangedb.c +++ b/src/exchangedb/test_exchangedb.c @@ -34,25 +34,25 @@ static int result; * Report line of error if @a cond is true, and jump to label "drop". */ #define FAILIF(cond) \ - do { \ - if (! (cond)) { break;} \ - GNUNET_break (0); \ - goto drop; \ - } while (0) + do { \ + if (! (cond)) { break;} \ + GNUNET_break (0); \ + goto drop; \ + } while (0) /** * Initializes @a ptr with random data. */ #define RND_BLK(ptr) \ - GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, ptr, \ - sizeof (*ptr)) + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, ptr, \ + sizeof (*ptr)) /** * Initializes @a ptr with zeros. */ #define ZR_BLK(ptr) \ - memset (ptr, 0, sizeof (*ptr)) + memset (ptr, 0, sizeof (*ptr)) /** @@ -1680,8 +1680,8 @@ run (void *cls) rsa->blinded_msg_size); TALER_denom_pub_hash (&new_dkp[cnt]->pub, &ccoin->h_denom_pub); - TALER_denom_ewv_deep_copy (&ccoin->exchange_vals, - alg_values); + TALER_denom_ewv_copy (&ccoin->exchange_vals, + alg_values); TALER_coin_ev_hash (bp, &ccoin->h_denom_pub, &ccoin->coin_envelope_hash); diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h index 9e074a0c4..b872af08d 100644 --- a/src/include/taler_crypto_lib.h +++ b/src/include/taler_crypto_lib.h @@ -1363,7 +1363,7 @@ TALER_denom_ewv_rsa_singleton (void); * @param bi_src blinding input values to copy */ void -TALER_denom_ewv_deep_copy ( +TALER_denom_ewv_copy ( struct TALER_ExchangeWithdrawValues *bi_dst, const struct TALER_ExchangeWithdrawValues *bi_src); @@ -1559,8 +1559,8 @@ TALER_denom_pub_hash (const struct TALER_DenominationPublicKey *denom_pub, * @param denom_src public key to copy */ void -TALER_denom_pub_deep_copy (struct TALER_DenominationPublicKey *denom_dst, - const struct TALER_DenominationPublicKey *denom_src); +TALER_denom_pub_copy (struct TALER_DenominationPublicKey *denom_dst, + const struct TALER_DenominationPublicKey *denom_src); /** @@ -1571,8 +1571,8 @@ TALER_denom_pub_deep_copy (struct TALER_DenominationPublicKey *denom_dst, * @param denom_src public key to copy */ void -TALER_denom_sig_deep_copy (struct TALER_DenominationSignature *denom_dst, - const struct TALER_DenominationSignature *denom_src); +TALER_denom_sig_copy (struct TALER_DenominationSignature *denom_dst, + const struct TALER_DenominationSignature *denom_src); /** @@ -1583,7 +1583,7 @@ TALER_denom_sig_deep_copy (struct TALER_DenominationSignature *denom_dst, * @param denom_src public key to copy */ void -TALER_blinded_denom_sig_deep_copy ( +TALER_blinded_denom_sig_copy ( struct TALER_BlindedDenominationSignature *denom_dst, const struct TALER_BlindedDenominationSignature *denom_src); @@ -2804,15 +2804,15 @@ TALER_CRYPTO_helper_esign_sign_ ( * @return the error code (or #TALER_EC_NONE on success) */ #define TALER_CRYPTO_helper_esign_sign(esh,ps,epub,esig) ( \ - /* check size is set correctly */ \ - GNUNET_assert (ntohl ((ps)->purpose.size) == sizeof (*ps)), \ - /* check 'ps' begins with the purpose */ \ - GNUNET_static_assert (((void*) (ps)) == \ - ((void*) &(ps)->purpose)), \ - TALER_CRYPTO_helper_esign_sign_ (esh, \ - &(ps)->purpose, \ - epub, \ - esig) ) + /* check size is set correctly */ \ + GNUNET_assert (ntohl ((ps)->purpose.size) == sizeof (*ps)), \ + /* check 'ps' begins with the purpose */ \ + GNUNET_static_assert (((void*) (ps)) == \ + ((void*) &(ps)->purpose)), \ + TALER_CRYPTO_helper_esign_sign_ (esh, \ + &(ps)->purpose, \ + epub, \ + esig) ) /** diff --git a/src/include/taler_pq_lib.h b/src/include/taler_pq_lib.h index cf9f7c02f..6fae8562a 100644 --- a/src/include/taler_pq_lib.h +++ b/src/include/taler_pq_lib.h @@ -30,6 +30,10 @@ #include <gnunet/gnunet_pq_lib.h> #include "taler_util.h" +/** + * API version. Bump on every change. + */ +#define TALER_PQ_VERSION 0x09040000 /** * Generate query parameter (as record tuple) for an amount, consisting diff --git a/src/include/taler_util.h b/src/include/taler_util.h index 7d5542a1b..e895c3445 100644 --- a/src/include/taler_util.h +++ b/src/include/taler_util.h @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014-2023 Taler Systems SA + Copyright (C) 2014-2024 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -17,6 +17,7 @@ * @file include/taler_util.h * @brief Interface for common utility functions * @author Sree Harsha Totakura <sreeharsha@totakura.in> + * @author Christian Grothoff */ #ifndef TALER_UTIL_H #define TALER_UTIL_H @@ -33,7 +34,7 @@ * Version of the Taler API, in hex. * Thus 0.8.4-1 = 0x00080401. */ -#define TALER_API_VERSION 0x00090200 +#define TALER_API_VERSION 0x00090400 /** * Stringify operator. diff --git a/src/lib/exchange_api_age_withdraw.c b/src/lib/exchange_api_age_withdraw.c index 8f8d2b2b0..ca1a11cb8 100644 --- a/src/lib/exchange_api_age_withdraw.c +++ b/src/lib/exchange_api_age_withdraw.c @@ -500,13 +500,13 @@ perform_protocol ( struct TALER_EXCHANGE_AgeWithdrawBlindedHandle *awbh) { #define FAIL_IF(cond) \ - do { \ - if ((cond)) \ - { \ - GNUNET_break (! (cond)); \ - goto ERROR; \ - } \ - } while (0) + do { \ + if ((cond)) \ + { \ + GNUNET_break (! (cond)); \ + goto ERROR; \ + } \ + } while (0) struct GNUNET_HashContext *coins_hctx = NULL; json_t *j_denoms = NULL; @@ -813,8 +813,8 @@ csr_withdraw_done ( bool success = false; /* Complete the initialization of the coin with CS denomination */ - TALER_denom_ewv_deep_copy (&can->details.alg_values, - &csrr->details.ok.alg_values); + TALER_denom_ewv_copy (&can->details.alg_values, + &csrr->details.ok.alg_values); GNUNET_assert (can->details.alg_values.blinding_inputs->cipher == GNUNET_CRYPTO_BSA_CS); TALER_planchet_setup_coin_priv (&can->secret, @@ -882,13 +882,13 @@ prepare_coins ( static num_coins]) { #define FAIL_IF(cond) \ - do { \ - if ((cond)) \ - { \ - GNUNET_break (! (cond)); \ - goto ERROR; \ - } \ - } while (0) + do { \ + if ((cond)) \ + { \ + GNUNET_break (! (cond)); \ + goto ERROR; \ + } \ + } while (0) GNUNET_assert (0 < num_coins); awh->age_mask = coin_inputs[0].denom_pub->key.age_mask; @@ -904,8 +904,8 @@ prepare_coins ( cd->denom_pub = *input->denom_pub; /* The mask must be the same for all coins */ FAIL_IF (awh->age_mask.bits != input->denom_pub->key.age_mask.bits); - TALER_denom_pub_deep_copy (&cd->denom_pub.key, - &input->denom_pub->key); + TALER_denom_pub_copy (&cd->denom_pub.key, + &input->denom_pub->key); for (uint8_t k = 0; k < TALER_CNC_KAPPA; k++) { @@ -927,8 +927,8 @@ prepare_coins ( switch (input->denom_pub->key.bsign_pub_key->cipher) { case GNUNET_CRYPTO_BSA_RSA: - TALER_denom_ewv_deep_copy (&can->details.alg_values, - TALER_denom_ewv_rsa_singleton ()); + TALER_denom_ewv_copy (&can->details.alg_values, + TALER_denom_ewv_rsa_singleton ()); TALER_planchet_setup_coin_priv (&can->secret, &can->details.alg_values, &can->details.coin_priv); diff --git a/src/lib/exchange_api_batch_withdraw.c b/src/lib/exchange_api_batch_withdraw.c index bc5abd539..a1b21f347 100644 --- a/src/lib/exchange_api_batch_withdraw.c +++ b/src/lib/exchange_api_batch_withdraw.c @@ -306,8 +306,8 @@ withdraw_cs_stage_two_callback ( case MHD_HTTP_OK: GNUNET_assert (NULL == cd->alg_values.blinding_inputs); - TALER_denom_ewv_deep_copy (&cd->alg_values, - &csrr->details.ok.alg_values); + TALER_denom_ewv_copy (&cd->alg_values, + &csrr->details.ok.alg_values); TALER_planchet_setup_coin_priv (&cd->ps, &cd->alg_values, &cd->priv); @@ -377,13 +377,13 @@ TALER_EXCHANGE_batch_withdraw ( cd->ps = *wci->ps; cd->ach = wci->ach; cd->pk = *wci->pk; - TALER_denom_pub_deep_copy (&cd->pk.key, - &wci->pk->key); + TALER_denom_pub_copy (&cd->pk.key, + &wci->pk->key); switch (wci->pk->key.bsign_pub_key->cipher) { case GNUNET_CRYPTO_BSA_RSA: - TALER_denom_ewv_deep_copy (&cd->alg_values, - TALER_denom_ewv_rsa_singleton ()); + TALER_denom_ewv_copy (&cd->alg_values, + TALER_denom_ewv_rsa_singleton ()); TALER_planchet_setup_coin_priv (&cd->ps, &cd->alg_values, &cd->priv); diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c index 27ce85060..7db89933b 100644 --- a/src/lib/exchange_api_handle.c +++ b/src/lib/exchange_api_handle.c @@ -1386,8 +1386,8 @@ keys_completed_cb (void *cls, kd_old->num_denom_keys * sizeof (struct TALER_EXCHANGE_DenomPublicKey)); for (unsigned int i = 0; i<kd_old->num_denom_keys; i++) - TALER_denom_pub_deep_copy (&kd->denom_keys[i].key, - &kd_old->denom_keys[i].key); + TALER_denom_pub_copy (&kd->denom_keys[i].key, + &kd_old->denom_keys[i].key); kd->num_auditors = kd_old->num_auditors; kd->auditors = GNUNET_new_array (kd->num_auditors, struct TALER_EXCHANGE_AuditorInformation); @@ -1796,8 +1796,8 @@ TALER_EXCHANGE_copy_denomination_key ( copy = GNUNET_new (struct TALER_EXCHANGE_DenomPublicKey); *copy = *key; - TALER_denom_pub_deep_copy (©->key, - &key->key); + TALER_denom_pub_copy (©->key, + &key->key); return copy; } diff --git a/src/lib/exchange_api_link.c b/src/lib/exchange_api_link.c index 2d56ec915..4b1adc723 100644 --- a/src/lib/exchange_api_link.c +++ b/src/lib/exchange_api_link.c @@ -214,8 +214,8 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh, } /* clean up */ - TALER_denom_pub_deep_copy (&lci->pub, - &rpub); + TALER_denom_pub_copy (&lci->pub, + &rpub); GNUNET_JSON_parse_free (spec); return GNUNET_OK; } diff --git a/src/lib/exchange_api_melt.c b/src/lib/exchange_api_melt.c index 24b064476..c2f8cefb7 100644 --- a/src/lib/exchange_api_melt.c +++ b/src/lib/exchange_api_melt.c @@ -476,8 +476,8 @@ csr_cb (void *cls, case GNUNET_CRYPTO_BSA_RSA: break; case GNUNET_CRYPTO_BSA_CS: - TALER_denom_ewv_deep_copy (wv, - &csrr->details.ok.alg_values[nks_off]); + TALER_denom_ewv_copy (wv, + &csrr->details.ok.alg_values[nks_off]); nks_off++; break; } @@ -535,8 +535,8 @@ TALER_EXCHANGE_melt ( GNUNET_free (mh); return NULL; case GNUNET_CRYPTO_BSA_RSA: - TALER_denom_ewv_deep_copy (&mh->mbds[i].alg_value, - TALER_denom_ewv_rsa_singleton ()); + TALER_denom_ewv_copy (&mh->mbds[i].alg_value, + TALER_denom_ewv_rsa_singleton ()); break; case GNUNET_CRYPTO_BSA_CS: nks[nks_off].pk = fresh_pk; diff --git a/src/lib/exchange_api_refresh_common.c b/src/lib/exchange_api_refresh_common.c index 652581d8e..4369367e4 100644 --- a/src/lib/exchange_api_refresh_common.c +++ b/src/lib/exchange_api_refresh_common.c @@ -89,18 +89,18 @@ TALER_EXCHANGE_get_melt_data_ ( GNUNET_assert (GNUNET_OK == TALER_amount_set_zero (rd->melt_amount.currency, &total)); - TALER_denom_pub_deep_copy (&md->melted_coin.pub_key, - &rd->melt_pk.key); - TALER_denom_sig_deep_copy (&md->melted_coin.sig, - &rd->melt_sig); + TALER_denom_pub_copy (&md->melted_coin.pub_key, + &rd->melt_pk.key); + TALER_denom_sig_copy (&md->melted_coin.sig, + &rd->melt_sig); md->fcds = GNUNET_new_array (md->num_fresh_coins, struct FreshCoinData); for (unsigned int j = 0; j<rd->fresh_pks_len; j++) { struct FreshCoinData *fcd = &md->fcds[j]; - TALER_denom_pub_deep_copy (&fcd->fresh_pk, - &rd->fresh_pks[j].key); + TALER_denom_pub_copy (&fcd->fresh_pk, + &rd->fresh_pks[j].key); GNUNET_assert (NULL != fcd->fresh_pk.bsign_pub_key); if (alg_values[j].blinding_inputs->cipher != fcd->fresh_pk.bsign_pub_key->cipher) diff --git a/src/lib/exchange_api_refreshes_reveal.c b/src/lib/exchange_api_refreshes_reveal.c index 7eadab228..69c53a6c9 100644 --- a/src/lib/exchange_api_refreshes_reveal.c +++ b/src/lib/exchange_api_refreshes_reveal.c @@ -470,8 +470,8 @@ TALER_EXCHANGE_refreshes_reveal ( = GNUNET_new_array (md.num_fresh_coins, struct TALER_ExchangeWithdrawValues); for (unsigned int i = 0; i<md.num_fresh_coins; i++) - TALER_denom_ewv_deep_copy (&rrh->alg_values[i], - &alg_values[i]); + TALER_denom_ewv_copy (&rrh->alg_values[i], + &alg_values[i]); rrh->url = TALER_url_join (url, arg_str, NULL); diff --git a/src/testing/testing_api_cmd_batch_withdraw.c b/src/testing/testing_api_cmd_batch_withdraw.c index 98bbb7e26..1b056bdbb 100644 --- a/src/testing/testing_api_cmd_batch_withdraw.c +++ b/src/testing/testing_api_cmd_batch_withdraw.c @@ -215,15 +215,15 @@ reserve_batch_withdraw_cb (void *cls, const struct TALER_EXCHANGE_PrivateCoinDetails *pcd = &wr->details.ok.coins[i]; - TALER_denom_sig_deep_copy (&cs->sig, - &pcd->sig); + TALER_denom_sig_copy (&cs->sig, + &pcd->sig); cs->coin_priv = pcd->coin_priv; GNUNET_CRYPTO_eddsa_key_get_public (&cs->coin_priv.eddsa_priv, &cs->coin_pub.eddsa_pub); cs->bks = pcd->bks; - TALER_denom_ewv_deep_copy (&cs->exchange_vals, - &pcd->exchange_vals); + TALER_denom_ewv_copy (&cs->exchange_vals, + &pcd->exchange_vals); } break; case MHD_HTTP_FORBIDDEN: diff --git a/src/testing/testing_api_cmd_refresh.c b/src/testing/testing_api_cmd_refresh.c index c1555a901..111e9118f 100644 --- a/src/testing/testing_api_cmd_refresh.c +++ b/src/testing/testing_api_cmd_refresh.c @@ -459,8 +459,8 @@ reveal_cb (void *cls, fc->h_age_commitment = coin->h_age_commitment; } - TALER_denom_sig_deep_copy (&fc->sig, - &coin->sig); + TALER_denom_sig_copy (&fc->sig, + &coin->sig); } if (0 != rrs->total_backoff.rel_value_us) { @@ -979,8 +979,8 @@ melt_cb (void *cls, mr->details.ok.num_mbds, struct TALER_EXCHANGE_MeltBlindingDetail); for (unsigned int i = 0; i<mr->details.ok.num_mbds; i++) - TALER_denom_ewv_deep_copy (&rms->mbds[i].alg_value, - &mr->details.ok.mbds[i].alg_value); + TALER_denom_ewv_copy (&rms->mbds[i].alg_value, + &mr->details.ok.mbds[i].alg_value); } if (0 != rms->total_backoff.rel_value_us) { @@ -1153,8 +1153,8 @@ melt_run (void *cls, &fresh_pk->fees.withdraw)); rms->fresh_pks[i] = *fresh_pk; /* Make a deep copy of the RSA key */ - TALER_denom_pub_deep_copy (&rms->fresh_pks[i].key, - &fresh_pk->key); + TALER_denom_pub_copy (&rms->fresh_pks[i].key, + &fresh_pk->key); } /* end for */ rms->refresh_data.melt_priv = *rms->melt_priv; diff --git a/src/testing/testing_api_cmd_withdraw.c b/src/testing/testing_api_cmd_withdraw.c index a98e69521..f8ff0205b 100644 --- a/src/testing/testing_api_cmd_withdraw.c +++ b/src/testing/testing_api_cmd_withdraw.c @@ -293,12 +293,12 @@ reserve_withdraw_cb (void *cls, { case MHD_HTTP_OK: GNUNET_assert (1 == wr->details.ok.num_coins); - TALER_denom_sig_deep_copy (&ws->sig, - &wr->details.ok.coins[0].sig); + TALER_denom_sig_copy (&ws->sig, + &wr->details.ok.coins[0].sig); ws->coin_priv = wr->details.ok.coins[0].coin_priv; ws->bks = wr->details.ok.coins[0].bks; - TALER_denom_ewv_deep_copy (&ws->exchange_vals, - &wr->details.ok.coins[0].exchange_vals); + TALER_denom_ewv_copy (&ws->exchange_vals, + &wr->details.ok.coins[0].exchange_vals); if (0 != ws->total_backoff.rel_value_us) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, diff --git a/src/util/Makefile.am b/src/util/Makefile.am index 2a0304e03..478f75cfe 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -120,7 +120,7 @@ libtalerutil_la_LIBADD = \ -lm libtalerutil_la_LDFLAGS = \ - -version-info 0:0:0 \ + -version-info 1:0:0 \ -no-undefined diff --git a/src/util/denom.c b/src/util/denom.c index 928c46328..cb232c4a3 100644 --- a/src/util/denom.c +++ b/src/util/denom.c @@ -252,8 +252,8 @@ TALER_denom_ewv_free (struct TALER_ExchangeWithdrawValues *ewv) void -TALER_denom_ewv_deep_copy (struct TALER_ExchangeWithdrawValues *bi_dst, - const struct TALER_ExchangeWithdrawValues *bi_src) +TALER_denom_ewv_copy (struct TALER_ExchangeWithdrawValues *bi_dst, + const struct TALER_ExchangeWithdrawValues *bi_src) { if (bi_src == TALER_denom_ewv_rsa_singleton ()) { @@ -266,8 +266,8 @@ TALER_denom_ewv_deep_copy (struct TALER_ExchangeWithdrawValues *bi_dst, void -TALER_denom_pub_deep_copy (struct TALER_DenominationPublicKey *denom_dst, - const struct TALER_DenominationPublicKey *denom_src) +TALER_denom_pub_copy (struct TALER_DenominationPublicKey *denom_dst, + const struct TALER_DenominationPublicKey *denom_src) { denom_dst->age_mask = denom_src->age_mask; denom_dst->bsign_pub_key @@ -276,8 +276,8 @@ TALER_denom_pub_deep_copy (struct TALER_DenominationPublicKey *denom_dst, void -TALER_denom_sig_deep_copy (struct TALER_DenominationSignature *denom_dst, - const struct TALER_DenominationSignature *denom_src) +TALER_denom_sig_copy (struct TALER_DenominationSignature *denom_dst, + const struct TALER_DenominationSignature *denom_src) { denom_dst->unblinded_sig = GNUNET_CRYPTO_ub_sig_incref (denom_src->unblinded_sig); @@ -285,7 +285,7 @@ TALER_denom_sig_deep_copy (struct TALER_DenominationSignature *denom_dst, void -TALER_blinded_denom_sig_deep_copy ( +TALER_blinded_denom_sig_copy ( struct TALER_BlindedDenominationSignature *denom_dst, const struct TALER_BlindedDenominationSignature *denom_src) { |