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,
|
denom_pubs,
|
||||||
coin_count,
|
coin_count,
|
||||||
coin_public_infos);
|
coin_public_infos);
|
||||||
|
// FIXME: free memory
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -696,8 +696,7 @@ helper_refresh_reveal_send_response (struct MHD_Connection *connection,
|
|||||||
int res;
|
int res;
|
||||||
int newcoin_index;
|
int newcoin_index;
|
||||||
struct RefreshSession refresh_session;
|
struct RefreshSession refresh_session;
|
||||||
json_t *root;
|
struct TALER_RSA_Signature *sigs;
|
||||||
json_t *list;
|
|
||||||
|
|
||||||
res = TALER_MINT_DB_get_refresh_session (db_conn,
|
res = TALER_MINT_DB_get_refresh_session (db_conn,
|
||||||
refresh_session_pub,
|
refresh_session_pub,
|
||||||
@ -710,32 +709,27 @@ helper_refresh_reveal_send_response (struct MHD_Connection *connection,
|
|||||||
}
|
}
|
||||||
|
|
||||||
GNUNET_assert (0 != refresh_session.reveal_ok);
|
GNUNET_assert (0 != refresh_session.reveal_ok);
|
||||||
|
sigs = GNUNET_malloc (refresh_session.num_newcoins *
|
||||||
root = json_object ();
|
sizeof (struct TALER_RSA_Signature));
|
||||||
list = json_array ();
|
|
||||||
json_object_set_new (root, "ev_sigs", list);
|
|
||||||
|
|
||||||
for (newcoin_index = 0; newcoin_index < refresh_session.num_newcoins; newcoin_index++)
|
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,
|
res = TALER_MINT_DB_get_refresh_collectable (db_conn,
|
||||||
newcoin_index,
|
newcoin_index,
|
||||||
refresh_session_pub,
|
refresh_session_pub,
|
||||||
&ev_sig);
|
&sigs[newcoin_index]);
|
||||||
if (GNUNET_OK != res)
|
if (GNUNET_OK != res)
|
||||||
{
|
{
|
||||||
// FIXME: return 'internal error'
|
// FIXME: return 'internal error'
|
||||||
GNUNET_break (0);
|
GNUNET_break (0);
|
||||||
|
GNUNET_free (sigs);
|
||||||
return MHD_NO;
|
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,
|
res = TALER_MINT_reply_refresh_reveal_success (connection,
|
||||||
root,
|
refresh_session.num_newcoins,
|
||||||
MHD_HTTP_OK);
|
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".
|
* Send a response for "/refresh/melt".
|
||||||
*
|
*
|
||||||
* @param connection the connection to send the response to
|
* @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.
|
* @param session_pub the refresh session public key.
|
||||||
* @return a MHD result code
|
* @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);
|
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
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user