document TODOs

This commit is contained in:
Christian Grothoff 2015-01-19 21:09:47 +01:00
parent a1f20a92a0
commit f9347d2395
4 changed files with 26 additions and 5 deletions

View File

@ -13,11 +13,16 @@
You should have received a copy of the GNU General Public License along with You should have received a copy of the GNU General Public License along with
TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/>
*/ */
/** /**
* @file taler-mint-httpd_db.c * @file taler-mint-httpd_db.c
* @brief Database access abstraction for the mint. * @brief Database access abstraction for the mint.
* @author Christian Grothoff * @author Christian Grothoff
*
* TODO:
* - actually abstract DB implementation (i.e. via plugin logic)
* - /deposit: properly check existing deposits
* - /deposit: properly perform commit (check return value)
* - /deposit: check for leaks
*/ */
#include "platform.h" #include "platform.h"
#include "taler-mint-httpd_db.h" #include "taler-mint-httpd_db.h"
@ -61,6 +66,7 @@ TALER_MINT_db_execute_deposit (struct MHD_Connection *connection,
if (GNUNET_YES == res) if (GNUNET_YES == res)
{ {
// FIXME: memory leak // FIXME: memory leak
// FIXME: memcmp will not actually work here
if (0 == memcmp (existing_deposit, deposit, sizeof (struct Deposit))) if (0 == memcmp (existing_deposit, deposit, sizeof (struct Deposit)))
return TALER_MINT_reply_deposit_success (connection, deposit); return TALER_MINT_reply_deposit_success (connection, deposit);
// FIXME: in the future, check if there's enough credits // FIXME: in the future, check if there's enough credits

View File

@ -13,11 +13,13 @@
You should have received a copy of the GNU General Public License along with You should have received a copy of the GNU General Public License along with
TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/>
*/ */
/** /**
* @file mint/taler-mint_httpd_db.h * @file mint/taler-mint_httpd_db.h
* @brief Mint-specific database access * @brief Mint-specific database access
* @author Chrisitan Grothoff * @author Chrisitan Grothoff
*
* TODO:
* - revisit and document `struct Deposit` members.
*/ */
#ifndef TALER_MINT_HTTPD_DB_H #ifndef TALER_MINT_HTTPD_DB_H
#define TALER_MINT_HTTPD_DB_H #define TALER_MINT_HTTPD_DB_H
@ -28,7 +30,6 @@
#include "taler_util.h" #include "taler_util.h"
#include "taler_rsa.h" #include "taler_rsa.h"
GNUNET_NETWORK_STRUCT_BEGIN
/** /**
* Specification for a /deposit operation. * Specification for a /deposit operation.
@ -37,7 +38,9 @@ struct Deposit
{ {
/* FIXME: should be TALER_CoinPublicInfo */ /* FIXME: should be TALER_CoinPublicInfo */
struct GNUNET_CRYPTO_EddsaPublicKey coin_pub; struct GNUNET_CRYPTO_EddsaPublicKey coin_pub;
struct TALER_RSA_PublicKeyBinaryEncoded denom_pub; struct TALER_RSA_PublicKeyBinaryEncoded denom_pub;
struct TALER_RSA_Signature coin_sig; struct TALER_RSA_Signature coin_sig;
struct TALER_RSA_Signature ubsig; struct TALER_RSA_Signature ubsig;
@ -47,10 +50,15 @@ struct Deposit
* #TALER_SIGNATURE_DEPOSIT or #TALER_SIGNATURE_INCREMENTAL_DEPOSIT. * #TALER_SIGNATURE_DEPOSIT or #TALER_SIGNATURE_INCREMENTAL_DEPOSIT.
*/ */
struct TALER_RSA_SignaturePurpose purpose; struct TALER_RSA_SignaturePurpose purpose;
uint64_t transaction_id; uint64_t transaction_id;
struct TALER_AmountNBO amount; struct TALER_AmountNBO amount;
struct GNUNET_CRYPTO_EddsaPublicKey merchant_pub; struct GNUNET_CRYPTO_EddsaPublicKey merchant_pub;
struct GNUNET_HashCode h_contract; struct GNUNET_HashCode h_contract;
struct GNUNET_HashCode h_wire; struct GNUNET_HashCode h_wire;
/* TODO: uint16_t wire_size */ /* TODO: uint16_t wire_size */
@ -58,8 +66,6 @@ struct Deposit
}; };
GNUNET_NETWORK_STRUCT_END
/** /**
* Execute a deposit. The validity of the coin and signature * Execute a deposit. The validity of the coin and signature

View File

@ -21,6 +21,11 @@
* @author Florian Dold * @author Florian Dold
* @author Benedikt Mueller * @author Benedikt Mueller
* @author Christian Grothoff * @author Christian Grothoff
*
* TODO:
* - actually verify coin signature
* - revisit `struct Deposit` parsing once the struct
* has been finalized
*/ */
#include "platform.h" #include "platform.h"
#include <gnunet/gnunet_util_lib.h> #include <gnunet/gnunet_util_lib.h>

View File

@ -22,6 +22,10 @@
* @author Florian Dold * @author Florian Dold
* @author Benedikt Mueller * @author Benedikt Mueller
* @author Christian Grothoff * @author Christian Grothoff
*
* TODO:
* - when generating /deposit reply, do include signature of mint
* to say that we accepted it (check reply format)
*/ */
#include "platform.h" #include "platform.h"
#include "taler-mint-httpd_responses.h" #include "taler-mint-httpd_responses.h"