diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-03-09 13:21:55 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-03-09 13:21:55 +0100 |
commit | 8eaeda99589fe5d0b43818033fc8871b62f50090 (patch) | |
tree | 237ea2a4dbb8470cde40f56efdb7d3e183119c27 /src/mint/taler-mint-httpd_responses.c | |
parent | ce8272446eebebb73cbab8ab4e388a2ec7e164fd (diff) | |
download | exchange-8eaeda99589fe5d0b43818033fc8871b62f50090.tar.xz |
fix use of signature for noreveal index, needs to be tied to session hash
Diffstat (limited to 'src/mint/taler-mint-httpd_responses.c')
-rw-r--r-- | src/mint/taler-mint-httpd_responses.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mint/taler-mint-httpd_responses.c b/src/mint/taler-mint-httpd_responses.c index 995f46bb8..21e208115 100644 --- a/src/mint/taler-mint-httpd_responses.c +++ b/src/mint/taler-mint-httpd_responses.c @@ -631,15 +631,15 @@ TALER_MINT_reply_refresh_melt_success (struct MHD_Connection *connection, /** * Send a response to a "/refresh/commit" request. * - * FIXME: maybe not the ideal argument type for @a refresh_session here. - * * @param connection the connection to send the response to - * @param refresh_session the refresh session + * @param session_hash hash of the refresh session + * @param noreveal_index which index will the client not have to reveal * @return a MHD status code */ int TALER_MINT_reply_refresh_commit_success (struct MHD_Connection *connection, - const struct RefreshSession *refresh_session) + const struct GNUNET_HashCode *session_hash, + uint16_t noreveal_index) { struct RefreshCommitResponseSignatureBody body; struct GNUNET_CRYPTO_EddsaSignature sig; @@ -648,15 +648,17 @@ TALER_MINT_reply_refresh_commit_success (struct MHD_Connection *connection, body.purpose.size = htonl (sizeof (struct RefreshCommitResponseSignatureBody)); body.purpose.purpose = htonl (TALER_SIGNATURE_REFRESH_COMMIT_RESPONSE); - body.noreveal_index = htons (refresh_session->noreveal_index); + body.session_hash = *session_hash; + body.noreveal_index = htons (noreveal_index); TALER_MINT_keys_sign (&body.purpose, &sig); - sig_json = TALER_JSON_from_eddsa_sig (&body.purpose, &sig); + sig_json = TALER_JSON_from_eddsa_sig (&body.purpose, + &sig); GNUNET_assert (NULL != sig_json); ret = TALER_MINT_reply_json_pack (connection, MHD_HTTP_OK, "{s:i, s:o}", - "noreveal_index", (int) refresh_session->noreveal_index, + "noreveal_index", (int) noreveal_index, "signature", sig_json); json_decref (sig_json); return ret; |