fixed src util and other stuff
This commit is contained in:
parent
9fc3b7a278
commit
34a7f59060
@ -94,6 +94,7 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
|
||||
struct TALER_BlindedDenominationSignature bsig;
|
||||
struct TALER_DenominationPublicKey rpub;
|
||||
struct TALER_CoinSpendSignatureP link_sig;
|
||||
union TALER_DenominationBlindingKeyP bks;
|
||||
struct GNUNET_JSON_Specification spec[] = {
|
||||
TALER_JSON_spec_denom_pub ("denom_pub",
|
||||
&rpub),
|
||||
@ -104,7 +105,6 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
|
||||
GNUNET_JSON_spec_end ()
|
||||
};
|
||||
struct TALER_TransferSecretP secret;
|
||||
struct TALER_PlanchetSecretsP fc;
|
||||
|
||||
/* parse reply */
|
||||
if (GNUNET_OK !=
|
||||
@ -120,19 +120,19 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
|
||||
&secret);
|
||||
TALER_planchet_setup_refresh (&secret,
|
||||
coin_num,
|
||||
&fc);
|
||||
coin_priv,
|
||||
&bks);
|
||||
|
||||
/* extract coin and signature */
|
||||
if (GNUNET_OK !=
|
||||
TALER_denom_sig_unblind (sig,
|
||||
&bsig,
|
||||
&fc.blinding_key,
|
||||
&bks,
|
||||
&rpub))
|
||||
{
|
||||
GNUNET_break_op (0);
|
||||
return GNUNET_SYSERR;
|
||||
}
|
||||
*coin_priv = fc.coin_priv;
|
||||
/* verify link_sig */
|
||||
{
|
||||
struct TALER_ExchangeWithdrawValues alg_values;
|
||||
@ -148,7 +148,8 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
|
||||
if (GNUNET_OK !=
|
||||
TALER_planchet_prepare (&rpub,
|
||||
&alg_values,
|
||||
&fc,
|
||||
&bks,
|
||||
coin_priv,
|
||||
&c_hash,
|
||||
&pd))
|
||||
{
|
||||
|
@ -162,7 +162,7 @@ verify_melt_signature_ok (struct TALER_EXCHANGE_MeltHandle *mh,
|
||||
confirm.purpose.purpose = htonl (TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT);
|
||||
confirm.purpose.size
|
||||
= htonl (sizeof (struct TALER_RefreshMeltConfirmationPS));
|
||||
confirm.rc = mh->md->rc;
|
||||
confirm.rc = mh->md.rc;
|
||||
confirm.noreveal_index = htonl (*noreveal_index);
|
||||
if (GNUNET_OK !=
|
||||
GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT,
|
||||
@ -253,7 +253,7 @@ verify_melt_signature_spend_conflict (struct TALER_EXCHANGE_MeltHandle *mh,
|
||||
}
|
||||
|
||||
/* Find out which coin was deemed problematic by the exchange */
|
||||
mc = &mh->md->melted_coin;
|
||||
mc = &mh->md.melted_coin;
|
||||
/* verify coin history */
|
||||
memset (&h_denom_pub,
|
||||
0,
|
||||
@ -476,25 +476,25 @@ start_melt (struct TALER_EXCHANGE_MeltHandle *mh)
|
||||
}
|
||||
TALER_denom_pub_hash (&mh->md.melted_coin.pub_key,
|
||||
&h_denom_pub);
|
||||
TALER_wallet_melt_sign (&md->melted_coin.melt_amount_with_fee,
|
||||
&md->melted_coin.fee_melt,
|
||||
&md->rc,
|
||||
TALER_wallet_melt_sign (&mh->md.melted_coin.melt_amount_with_fee,
|
||||
&mh->md.melted_coin.fee_melt,
|
||||
&mh->md.rc,
|
||||
&h_denom_pub,
|
||||
&md->melted_coin.coin_priv,
|
||||
&mh->md.melted_coin.coin_priv,
|
||||
&confirm_sig);
|
||||
GNUNET_CRYPTO_eddsa_key_get_public (&md->melted_coin.coin_priv.eddsa_priv,
|
||||
GNUNET_CRYPTO_eddsa_key_get_public (&mh->md.melted_coin.coin_priv.eddsa_priv,
|
||||
&coin_pub.eddsa_pub);
|
||||
melt_obj = GNUNET_JSON_PACK (
|
||||
GNUNET_JSON_pack_data_auto ("denom_pub_hash",
|
||||
&h_denom_pub),
|
||||
TALER_JSON_pack_denom_sig ("denom_sig",
|
||||
&md->melted_coin.sig),
|
||||
&mh->md.melted_coin.sig),
|
||||
GNUNET_JSON_pack_data_auto ("confirm_sig",
|
||||
&confirm_sig),
|
||||
TALER_JSON_pack_amount ("value_with_fee",
|
||||
&md->melted_coin.melt_amount_with_fee),
|
||||
&mh->md.melted_coin.melt_amount_with_fee),
|
||||
GNUNET_JSON_pack_data_auto ("rc",
|
||||
&md->rc));
|
||||
&mh->md.rc));
|
||||
{
|
||||
char pub_str[sizeof (struct TALER_CoinSpendPublicKeyP) * 2];
|
||||
char *end;
|
||||
@ -577,16 +577,18 @@ csr_cb (void *cls,
|
||||
struct TALER_EXCHANGE_MeltHandle *mh = cls;
|
||||
unsigned int nks_off = 0;
|
||||
|
||||
for (unsigned int i = 0; i<rd->fresh_pks_len; i++)
|
||||
for (unsigned int i = 0; i<mh->rd->fresh_pks_len; i++)
|
||||
{
|
||||
const struct TALER_EXCHANGE_DenomPublicKey *fresh_pk = &rd->fresh_pks[i];
|
||||
const struct TALER_EXCHANGE_DenomPublicKey *fresh_pk =
|
||||
&mh->rd->fresh_pks[i];
|
||||
struct TALER_ExchangeWithdrawValues *wv = &mh->alg_values[i];
|
||||
|
||||
switch (fresh_pk->cipher)
|
||||
switch (fresh_pk->key.cipher)
|
||||
{
|
||||
case TALER_DENOMINATION_INVALID:
|
||||
GNUNET_break (0);
|
||||
fail_mh (mh).
|
||||
// FIXME:
|
||||
// fail_mh (mh).
|
||||
return;
|
||||
case TALER_DENOMINATION_RSA:
|
||||
GNUNET_assert (TALER_DENOMINATION_RSA == wv->cipher);
|
||||
@ -614,7 +616,6 @@ TALER_EXCHANGE_melt (struct TALER_EXCHANGE_Handle *exchange,
|
||||
const struct TALER_EXCHANGE_RefreshData *rd,
|
||||
TALER_EXCHANGE_MeltCallback melt_cb,
|
||||
void *melt_cb_cls)
|
||||
s
|
||||
{
|
||||
const struct TALER_EXCHANGE_NonceKey *nks[GNUNET_NZL (rd->refresh_pks_len)];
|
||||
unsigned int nks_off = 0;
|
||||
|
@ -127,7 +127,7 @@ struct MeltData
|
||||
enum GNUNET_GenericReturnValue
|
||||
TALER_EXCHANGE_get_melt_data_ (
|
||||
const struct TALER_PlanchetSecretsP *ps,
|
||||
const struct struct TALER_EXCHANGE_RefreshData *rd,
|
||||
const struct TALER_EXCHANGE_RefreshData *rd,
|
||||
const struct TALER_ExchangeWithdrawValues *alg_values,
|
||||
struct MeltData *md);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user