more comments

This commit is contained in:
Christian Grothoff 2015-01-29 18:46:34 +01:00
parent 681702aff9
commit 2b663f33c0
3 changed files with 69 additions and 24 deletions

View File

@ -205,7 +205,8 @@ TALER_MINT_db_execute_deposit (struct MHD_Connection *connection,
/** /**
* Execute a /withdraw/status. * Execute a /withdraw/status. Given the public key of a reserve,
* return the associated transaction history.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param reserve_pub public key of the reserve to check * @param reserve_pub public key of the reserve to check
@ -239,7 +240,10 @@ TALER_MINT_db_execute_withdraw_status (struct MHD_Connection *connection,
/** /**
* Execute a /withdraw/sign. * Execute a "/withdraw/sign". Given a reserve and a properly signed
* request to withdraw a coin, check the balance of the reserve and
* if it is sufficient, store the request and return the signed
* blinded envelope.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param reserve public key of the reserve * @param reserve public key of the reserve
@ -603,12 +607,16 @@ refresh_accept_melts (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/melt. * Execute a "/refresh/melt". We have been given a list of valid
* coins and a request to melt them into the given
* @a refresh_session_pub. Check that the coins all have the
* required value left and if so, store that they have been
* melted and confirm the melting operation to the client.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param refresh_session_pub public key of the refresh session * @param refresh_session_pub public key of the refresh session
* @param num_new_denoms number of entries in @a denom_pubs * @param num_new_denoms number of entries in @a denom_pubs
* @param denum_pubs ??? * @param denum_pubs public keys of the coins we want to withdraw in the end
* @param coin_count number of entries in @a coin_public_infos * @param coin_count number of entries in @a coin_public_infos
* @param coin_public_infos information about the coins to melt * @param coin_public_infos information about the coins to melt
* @return MHD result code * @return MHD result code
@ -752,14 +760,22 @@ TALER_MINT_db_execute_refresh_melt (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/commit. * Execute a "/refresh/commit". The client is committing to @a kappa
* sets of transfer keys, and linkage information for a refresh
* operation. Confirm that the commit matches the melts of an
* existing @a refresh_session_pub, store the refresh session commit
* data and then return the client a challenge specifying which of the
* @a kappa sets of private transfer keys should not be revealed.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param kappa size of x-dimension of @commit_coin and @commit_link arrays * @param kappa size of x-dimension of @commit_coin and @commit_link arrays
* @param num_oldcoins size of y-dimension of @commit_link array * @param num_oldcoins size of y-dimension of @commit_link array
* @param num_newcoins size of y-dimension of @commit_coin array * @param num_newcoins size of y-dimension of @commit_coin array
* @param commit_coin * @param commit_coin 2d array of coin commitments (what the mint is to sign
* @param commit_link * once the "/refres/reveal" of cut and choose is done)
* @param commit_link 2d array of coin link commitments (what the mint is
* to return via "/refresh/link" to enable linkage in the
* future)
* @return MHD result code * @return MHD result code
*/ */
int int
@ -920,7 +936,11 @@ helper_refresh_reveal_send_response (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/reveal. * Execute a "/refresh/reveal". The client is revealing to us the
* transfer keys for @a kappa-1 sets of coins. Verify that the
* revealed transfer keys would allow linkage to the blinded coins,
* and if so, return the signed coins for corresponding to the set of
* coins that was not chosen.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param refresh_session_pub public key of the refresh session * @param refresh_session_pub public key of the refresh session
@ -1276,7 +1296,9 @@ link_iter (void *cls,
/** /**
* Execute a /refresh/link. * Execute a "/refresh/link". Returns the linkage information that
* will allow the owner of a coin to follow the refresh trail to
* the refreshed coin.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param coin_pub public key of the coin to link * @param coin_pub public key of the coin to link

View File

@ -1,6 +1,6 @@
/* /*
This file is part of TALER This file is part of TALER
(C) 2014 Christian Grothoff (and other contributing authors) (C) 2014, 2015 Christian Grothoff (and other contributing authors)
TALER is free software; you can redistribute it and/or modify it under the TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software terms of the GNU General Public License as published by the Free Software
@ -31,7 +31,7 @@
/** /**
* Execute a /deposit. The validity of the coin and signature * Execute a "/deposit". The validity of the coin and signature
* have already been checked. The database must now check that * have already been checked. The database must now check that
* the coin is not (double or over) spent, and execute the * the coin is not (double or over) spent, and execute the
* transaction (record details, generate success or failure response). * transaction (record details, generate success or failure response).
@ -46,7 +46,8 @@ TALER_MINT_db_execute_deposit (struct MHD_Connection *connection,
/** /**
* Execute a /withdraw/status. * Execute a "/withdraw/status". Given the public key of a reserve,
* return the associated transaction history.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param reserve_pub public key of the reserve to check * @param reserve_pub public key of the reserve to check
@ -58,7 +59,10 @@ TALER_MINT_db_execute_withdraw_status (struct MHD_Connection *connection,
/** /**
* Execute a /withdraw/sign. * Execute a "/withdraw/sign". Given a reserve and a properly signed
* request to withdraw a coin, check the balance of the reserve and
* if it is sufficient, store the request and return the signed
* blinded envelope.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param reserve public key of the reserve * @param reserve public key of the reserve
@ -79,7 +83,11 @@ TALER_MINT_db_execute_withdraw_sign (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/melt. * Execute a "/refresh/melt". We have been given a list of valid
* coins and a request to melt them into the given
* @a refresh_session_pub. Check that the coins all have the
* required value left and if so, store that they have been
* melted and confirm the melting operation to the client.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param refresh_session_pub public key of the refresh session * @param refresh_session_pub public key of the refresh session
@ -99,16 +107,25 @@ TALER_MINT_db_execute_refresh_melt (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/commit. * Execute a "/refresh/commit". The client is committing to @a kappa
* sets of transfer keys, and linkage information for a refresh
* operation. Confirm that the commit matches the melts of an
* existing @a refresh_session_pub, store the refresh session commit
* data and then return the client a challenge specifying which of the
* @a kappa sets of private transfer keys should not be revealed.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param kappa size of x-dimension of @commit_coin and @commit_link arrays * @param kappa size of x-dimension of @commit_coin and @commit_link arrays
* @param num_oldcoins size of y-dimension of @commit_coin array * @param num_oldcoins size of y-dimension of @commit_coin array
* @param num_newcoins size of y-dimension of @commit_link array * @param num_newcoins size of y-dimension of @commit_link array
* @param commit_coin * @param commit_coin 2d array of coin commitments (what the mint is to sign
* @param commit_link * once the "/refres/reveal" of cut and choose is done)
* @param commit_link 2d array of coin link commitments (what the mint is
* to return via "/refresh/link" to enable linkage in the
* future)
* @return MHD result code * @return MHD result code
*/ */
// FIXME: see #3635.
int int
TALER_MINT_db_execute_refresh_commit (struct MHD_Connection *connection, TALER_MINT_db_execute_refresh_commit (struct MHD_Connection *connection,
const struct GNUNET_CRYPTO_EddsaPublicKey *refresh_session_pub, const struct GNUNET_CRYPTO_EddsaPublicKey *refresh_session_pub,
@ -120,7 +137,11 @@ TALER_MINT_db_execute_refresh_commit (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/reveal. * Execute a "/refresh/reveal". The client is revealing to us the
* transfer keys for @a kappa-1 sets of coins. Verify that the
* revealed transfer keys would allow linkage to the blinded coins,
* and if so, return the signed coins for corresponding to the set of
* coins that was not chosen.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param refresh_session_pub public key of the refresh session * @param refresh_session_pub public key of the refresh session
@ -138,7 +159,9 @@ TALER_MINT_db_execute_refresh_reveal (struct MHD_Connection *connection,
/** /**
* Execute a /refresh/link. * Execute a "/refresh/link". Returns the linkage information that
* will allow the owner of a coin to follow the refresh trail to the
* refreshed coin.
* *
* @param connection the MHD connection to handle * @param connection the MHD connection to handle
* @param coin_pub public key of the coin to link * @param coin_pub public key of the coin to link
@ -149,4 +172,5 @@ TALER_MINT_db_execute_refresh_link (struct MHD_Connection *connection,
const struct GNUNET_CRYPTO_EcdsaPublicKey *coin_pub); const struct GNUNET_CRYPTO_EcdsaPublicKey *coin_pub);
#endif /* _NEURO_MINT_DB_H */ #endif
/* TALER_MINT_HTTPD_DB_H */

View File

@ -1,6 +1,6 @@
/* /*
This file is part of TALER This file is part of TALER
(C) 2014 GNUnet e.V. (C) 2014, 2015 GNUnet e.V.
TALER is free software; you can redistribute it and/or modify it under the TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software terms of the GNU Affero General Public License as published by the Free Software
@ -24,8 +24,6 @@
#include <gnunet/gnunet_util_lib.h> #include <gnunet/gnunet_util_lib.h>
#include <jansson.h> #include <jansson.h>
#include <microhttpd.h> #include <microhttpd.h>
#include <libpq-fe.h>
#include <pthread.h>
#include "mint.h" #include "mint.h"
#include "mint_db.h" #include "mint_db.h"
#include "taler_signatures.h" #include "taler_signatures.h"
@ -250,7 +248,8 @@ get_and_verify_coin_public_info (struct MHD_Connection *connection,
spec); spec);
if (GNUNET_OK != ret) if (GNUNET_OK != ret)
return ret; return ret;
/* TODO: include amount of coin value to be melted here!? */ /* FIXME: include amount of coin value to be melted here (#3636!) and
in what we return!? */
body.purpose.size = htonl (sizeof (struct RefreshMeltConfirmSignRequestBody)); body.purpose.size = htonl (sizeof (struct RefreshMeltConfirmSignRequestBody));
body.purpose.purpose = htonl (TALER_SIGNATURE_REFRESH_MELT_CONFIRM); body.purpose.purpose = htonl (TALER_SIGNATURE_REFRESH_MELT_CONFIRM);
body.session_pub = *session_pub; body.session_pub = *session_pub;