-gana merge

This commit is contained in:
Christian Grothoff 2022-07-01 07:22:39 +02:00
commit 9e3fb2302d
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
7 changed files with 42 additions and 17 deletions

@ -1 +1 @@
Subproject commit 75c838e74c41bf9a6c02cdfe8109a444056bf26d Subproject commit cf9e9f70ae04da02be8d11fde5668e2ef72adc57

View File

@ -17,13 +17,14 @@ ensure ()
# $2 -- src dir under contrib/ # $2 -- src dir under contrib/
# $3 -- dst dir under ./ # $3 -- dst dir under ./
fn="$1" fn="$1"
src="contrib/$2" src="contrib/$2/$fn"
dst="./$3" dst="./$3/$fn"
if ! diff $src/$fn $dst/$fn > /dev/null if ! diff $src $dst > /dev/null
then then
cp $src/$fn $dst/$fn test ! -f $dst || chmod +w $dst
chmod -w $dst/$fn cp $src $dst
chmod -w $dst
fi fi
} }

View File

@ -1,11 +1,8 @@
[auditor] [auditor]
DB = postgres PUBLIC_KEY = CK4P6P5VXR82B1A4C3PY5DCHG8HDZA1HSZR76Z8D6FD57MASFT70
TINY_AMOUNT = TESTKUDOS:0.01 TINY_AMOUNT = TESTKUDOS:0.01
BASE_URL = http://localhost:8083/ BASE_URL = http://localhost:8083/
# Where do we store the auditor's private key?
AUDITOR_PRIV_FILE = ${TALER_DATA_HOME}/auditor/offline-keys/auditor.priv
[exchange-account-1] [exchange-account-1]
PAYTO_URI = payto://x-taler-bank/localhost/Exchange PAYTO_URI = payto://x-taler-bank/localhost/Exchange
enable_debit = yes enable_debit = yes

View File

@ -224,13 +224,13 @@ TEH_common_deposit_check_purse_deposit (
GNUNET_break_op (0); GNUNET_break_op (0);
return TALER_MHD_reply_with_error (connection, return TALER_MHD_reply_with_error (connection,
MHD_HTTP_BAD_REQUEST, MHD_HTTP_BAD_REQUEST,
/* FIXME: other error code? */ TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_CONFLICTING_ATTEST_VS_AGE_COMMITMENT,
TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_AGE_HASH,
"mismatch of attest and age_commitment"); "mismatch of attest and age_commitment");
} }
if (coin->cpi.no_age_commitment) if (coin->cpi.no_age_commitment)
return GNUNET_OK; /* unrestricted coin */ return GNUNET_OK; /* unrestricted coin */
/* age attestation must be valid */ /* age attestation must be valid */
if (GNUNET_OK != if (GNUNET_OK !=
TALER_age_commitment_verify (&coin->age_commitment, TALER_age_commitment_verify (&coin->age_commitment,
@ -241,7 +241,7 @@ TEH_common_deposit_check_purse_deposit (
return TALER_MHD_reply_with_error (connection, return TALER_MHD_reply_with_error (connection,
MHD_HTTP_BAD_REQUEST, MHD_HTTP_BAD_REQUEST,
/* FIXME: other error code? */ /* FIXME: other error code? */
TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_AGE_HASH, TALER_EC_EXCHANGE_PURSE_DEPOSIT_COIN_AGE_ATTESTATION_FAILURE,
"invalid attest for minimum age"); "invalid attest for minimum age");
} }
return GNUNET_OK; return GNUNET_OK;
@ -259,7 +259,7 @@ TEH_common_purse_deposit_free_coin (struct TEH_PurseDepositedCoin *coin)
{ {
TALER_denom_sig_free (&coin->cpi.denom_sig); TALER_denom_sig_free (&coin->cpi.denom_sig);
if (! coin->cpi.no_age_commitment) if (! coin->cpi.no_age_commitment)
TALER_age_commitment_free (&coin->age_commitment); GNUNET_free (coin->age_commitment.keys); /* Only the keys have been allocated */
} }

View File

@ -61,7 +61,8 @@ TEH_make_coin_known (const struct TALER_CoinPublicInfo *coin,
NULL); NULL);
return GNUNET_DB_STATUS_HARD_ERROR; return GNUNET_DB_STATUS_HARD_ERROR;
case TALER_EXCHANGEDB_CKS_DENOM_CONFLICT: case TALER_EXCHANGEDB_CKS_DENOM_CONFLICT:
/* FIXME-Oec: insufficient_funds != denom conflict! */ /* FIXME: insufficient_funds != denom conflict! See issue 0007267, need new
* strategy for evidence gathering */
*mhd_ret = TEH_RESPONSE_reply_coin_insufficient_funds ( *mhd_ret = TEH_RESPONSE_reply_coin_insufficient_funds (
connection, connection,
TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY, TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY,
@ -69,7 +70,8 @@ TEH_make_coin_known (const struct TALER_CoinPublicInfo *coin,
&coin->coin_pub); &coin->coin_pub);
return GNUNET_DB_STATUS_HARD_ERROR; return GNUNET_DB_STATUS_HARD_ERROR;
case TALER_EXCHANGEDB_CKS_AGE_CONFLICT: case TALER_EXCHANGEDB_CKS_AGE_CONFLICT:
/* FIXME-Oec: insufficient_funds != Age conflict! */ /* FIXME: insufficient_funds != Age conflict! See issue 0007267, need new
* strategy for evidence gathering */
*mhd_ret = TEH_RESPONSE_reply_coin_insufficient_funds ( *mhd_ret = TEH_RESPONSE_reply_coin_insufficient_funds (
connection, connection,
TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_AGE_HASH, TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_AGE_HASH,

View File

@ -482,7 +482,6 @@ build_wire_state (void)
MHD_HTTP_HEADER_EXPIRES, MHD_HTTP_HEADER_EXPIRES,
wsh->dat)); wsh->dat));
} }
TALER_MHD_add_global_headers (wsh->wire_reply);
/* Set cache control headers: our response varies depending on these headers */ /* Set cache control headers: our response varies depending on these headers */
GNUNET_break (MHD_YES == GNUNET_break (MHD_YES ==
MHD_add_response_header (wsh->wire_reply, MHD_add_response_header (wsh->wire_reply,

View File

@ -1614,6 +1614,32 @@ TALER_TESTING_cmd_deposit_replay (const char *label,
unsigned int expected_response_code); unsigned int expected_response_code);
/**
* Create a "batch deposit" command.
*
* @param label command label.
* @param target_account_payto target account for the "deposit"
* request.
* @param contract_terms contract terms to be signed over by the
* coin.
* @param refund_deadline refund deadline, zero means 'no refunds'.
* @param amount how much is going to be deposited.
* @param expected_response_code expected HTTP response code.
* @param ... NULL-terminated list with an even number of
* strings that alternate referring to coins
* (possibly with index using label#index notation)
* and the amount of that coin to deposit
* @return the command.
*/
struct TALER_TESTING_Command
TALER_TESTING_cmd_batch_deposit (const char *label,
const char *target_account_payto,
const char *contract_terms,
struct GNUNET_TIME_Relative refund_deadline,
unsigned int expected_response_code,
...);
/** /**
* Create a "refresh melt" command. * Create a "refresh melt" command.
* *