diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/exchange_api_csr.c | 6 | ||||
-rw-r--r-- | src/lib/exchange_api_withdraw.c | 25 |
2 files changed, 21 insertions, 10 deletions
diff --git a/src/lib/exchange_api_csr.c b/src/lib/exchange_api_csr.c index bc58c040e..1716bbb5e 100644 --- a/src/lib/exchange_api_csr.c +++ b/src/lib/exchange_api_csr.c @@ -94,7 +94,7 @@ csr_ok (struct TALER_EXCHANGE_CsRHandle *csrh, struct TALER_ExchangeWithdrawValues alg_values[GNUNET_NZL (alen)]; struct TALER_EXCHANGE_CsRResponse csrr = { .hr = hr, - .details.success.alg_values_len = alen, + .details.success.arg_values_len = alen, .details.success.alg_values = alg_values }; @@ -105,11 +105,11 @@ csr_ok (struct TALER_EXCHANGE_CsRHandle *csrh, struct GNUNET_JSON_Specification spec[] = { GNUNET_JSON_spec_fixed ( "r_pub_0", - &alg_values[i].r_pub.r_pub[0], + &alg_values[i].details.cs_values.r_pub.r_pub[0], sizeof (struct GNUNET_CRYPTO_CsRPublic)), GNUNET_JSON_spec_fixed ( "r_pub_1", - &alg_values[i].r_pub.r_pub[1], + &alg_values[i].details.cs_values.r_pub.r_pub[1], sizeof (struct GNUNET_CRYPTO_CsRPublic)), GNUNET_JSON_spec_end () }; diff --git a/src/lib/exchange_api_withdraw.c b/src/lib/exchange_api_withdraw.c index 477af5446..024cc5020 100644 --- a/src/lib/exchange_api_withdraw.c +++ b/src/lib/exchange_api_withdraw.c @@ -64,11 +64,21 @@ struct TALER_EXCHANGE_WithdrawHandle const struct TALER_ReservePrivateKeyP *reserve_priv; /** - * Secrets of the planchet. + * Seed of the planchet. */ struct TALER_PlanchetSecretsP ps; /** + * blinding secret + */ + union DenominationBlindingKeyP bks; + + /** + * + */ + struct TALER_CoinSpendPrivateKeyP priv; + + /** * Details of the planchet. */ struct TALER_PlanchetDetail pd; @@ -125,8 +135,8 @@ handle_reserve_withdraw_finished ( if (GNUNET_OK != TALER_planchet_to_coin (&wh->pk.key, blind_sig, - &wh->ps, - &wh->c_hash, + &wh-> + & wh->c_hash, &wh->alg_values, &fc)) { @@ -246,15 +256,16 @@ TALER_EXCHANGE_withdraw ( switch (pk->key.cipher) { case TALER_DENOMINATION_RSA: - struct TALER_CoinSpendPrivateKeyP priv; - alg_values.cipher = TALER_DENOMINATION_RSA; + wh->alg_values.cipher = TALER_DENOMINATION_RSA; - TALER_planchet_setup_coin_priv (ps, &wh->alg_values, &priv); + TALER_planchet_setup_coin_priv (ps, &wh->alg_values, &wh->priv); + TALER_planchet_blinding_secret_create (ps, &wh->alg_values, &wh->bks); if (GNUNET_OK != TALER_planchet_prepare (&pk->key, &wh->alg_values, - ps, + &bks, + &priv, &wh->c_hash, &wh->pd)) { |