move /refresh/reveal response generation to taler-mint-httpd_responses.c
This commit is contained in:
parent
4d8f4903db
commit
53a7140a0b
@ -436,7 +436,7 @@ TALER_MINT_handler_refresh_melt (struct RequestHandler *rh,
|
||||
denom_pubs,
|
||||
coin_count,
|
||||
coin_public_infos);
|
||||
|
||||
// FIXME: free memory
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -696,8 +696,7 @@ helper_refresh_reveal_send_response (struct MHD_Connection *connection,
|
||||
int res;
|
||||
int newcoin_index;
|
||||
struct RefreshSession refresh_session;
|
||||
json_t *root;
|
||||
json_t *list;
|
||||
struct TALER_RSA_Signature *sigs;
|
||||
|
||||
res = TALER_MINT_DB_get_refresh_session (db_conn,
|
||||
refresh_session_pub,
|
||||
@ -710,32 +709,27 @@ helper_refresh_reveal_send_response (struct MHD_Connection *connection,
|
||||
}
|
||||
|
||||
GNUNET_assert (0 != refresh_session.reveal_ok);
|
||||
|
||||
root = json_object ();
|
||||
list = json_array ();
|
||||
json_object_set_new (root, "ev_sigs", list);
|
||||
|
||||
sigs = GNUNET_malloc (refresh_session.num_newcoins *
|
||||
sizeof (struct TALER_RSA_Signature));
|
||||
for (newcoin_index = 0; newcoin_index < refresh_session.num_newcoins; newcoin_index++)
|
||||
{
|
||||
struct TALER_RSA_Signature ev_sig;
|
||||
|
||||
res = TALER_MINT_DB_get_refresh_collectable (db_conn,
|
||||
newcoin_index,
|
||||
refresh_session_pub,
|
||||
&ev_sig);
|
||||
&sigs[newcoin_index]);
|
||||
if (GNUNET_OK != res)
|
||||
{
|
||||
// FIXME: return 'internal error'
|
||||
GNUNET_break (0);
|
||||
GNUNET_free (sigs);
|
||||
return MHD_NO;
|
||||
}
|
||||
json_array_append_new (list,
|
||||
TALER_JSON_from_data (&ev_sig,
|
||||
sizeof (struct TALER_RSA_Signature)));
|
||||
}
|
||||
return TALER_MINT_reply_json (connection,
|
||||
root,
|
||||
MHD_HTTP_OK);
|
||||
res = TALER_MINT_reply_refresh_reveal_success (connection,
|
||||
refresh_session.num_newcoins,
|
||||
sigs);
|
||||
GNUNET_free (sigs);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
@ -362,6 +362,35 @@ TALER_MINT_reply_refresh_commit_success (struct MHD_Connection *connection,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send a response for "/refresh/reveal".
|
||||
*
|
||||
* @param connection the connection to send the response to
|
||||
* @param num_newcoins number of new coins for which we reveal data
|
||||
* @param sigs array of @a num_newcoins signatures revealed
|
||||
* @return a MHD result code
|
||||
*/
|
||||
int
|
||||
TALER_MINT_reply_refresh_reveal_success (struct MHD_Connection *connection,
|
||||
unsigned int num_newcoins,
|
||||
const struct TALER_RSA_Signature *sigs)
|
||||
{
|
||||
int newcoin_index;
|
||||
json_t *root;
|
||||
json_t *list;
|
||||
|
||||
root = json_object ();
|
||||
list = json_array ();
|
||||
json_object_set_new (root, "ev_sigs", list);
|
||||
for (newcoin_index = 0; newcoin_index < num_newcoins; newcoin_index++)
|
||||
json_array_append_new (list,
|
||||
TALER_JSON_from_data (&sigs[newcoin_index],
|
||||
sizeof (struct TALER_RSA_Signature)));
|
||||
return TALER_MINT_reply_json (connection,
|
||||
root,
|
||||
MHD_HTTP_OK);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -177,7 +177,7 @@ TALER_MINT_reply_refresh_commit_success (struct MHD_Connection *connection,
|
||||
* Send a response for "/refresh/melt".
|
||||
*
|
||||
* @param connection the connection to send the response to
|
||||
* @param db_conn the database connection to fetch values from
|
||||
* @param session session data to generate reply from
|
||||
* @param session_pub the refresh session public key.
|
||||
* @return a MHD result code
|
||||
*/
|
||||
@ -187,5 +187,19 @@ TALER_MINT_reply_refresh_melt_success (struct MHD_Connection *connection,
|
||||
const struct GNUNET_CRYPTO_EddsaPublicKey *session_pub);
|
||||
|
||||
|
||||
/**
|
||||
* Send a response for "/refresh/reveal".
|
||||
*
|
||||
* @param connection the connection to send the response to
|
||||
* @param num_newcoins number of new coins for which we reveal data
|
||||
* @param sigs array of @a num_newcoins signatures revealed
|
||||
* @return a MHD result code
|
||||
*/
|
||||
int
|
||||
TALER_MINT_reply_refresh_reveal_success (struct MHD_Connection *connection,
|
||||
unsigned int num_newcoins,
|
||||
const struct TALER_RSA_Signature *sigs);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user