This commit is contained in:
Christian Grothoff 2020-03-31 20:57:11 +02:00
parent 73d107b53d
commit 3404fda463
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
53 changed files with 93 additions and 93 deletions

2
README
View File

@ -106,7 +106,7 @@ how to set up PostgreSQL. On debian, the two packages needed are:
For other operating systems, please refer to the relevant documentation. For other operating systems, please refer to the relevant documentation.
In this settlement, the exchange wll use a database called 'talercheck' and will In this settlement, the exchange will use a database called 'talercheck' and will
run under the username through which 'taler-exchange-httpd' is launched. Thus assuming run under the username through which 'taler-exchange-httpd' is launched. Thus assuming
that this user is 'demo', we need to create a 'demo' role for postgresql and make that this user is 'demo', we need to create a 'demo' role for postgresql and make
him the owner of 'talercheck' database. him the owner of 'talercheck' database.

View File

@ -468,7 +468,7 @@ the financial damage done to the customer).
Note that the deltas only sum up the issues where $P \not= 0$ as only Note that the deltas only sum up the issues where $P \not= 0$ as only
then we can tell if the problem lead to a profit or loss. then we can tell if the problem lead to a profit or loss.
The {\bf P} colum is set to "1" if the arithmetic problem was be determined to be The {\bf P} column is set to "1" if the arithmetic problem was be determined to be
profitable for the exchange, "-1" if the problem resulted in a net loss for profitable for the exchange, "-1" if the problem resulted in a net loss for
the exchange, and "0" if this is unclear or at least the gain/loss is not the exchange, and "0" if this is unclear or at least the gain/loss is not
easily determined from the amounts and thus not included in the totals. easily determined from the amounts and thus not included in the totals.

View File

@ -31,7 +31,7 @@ BASEDB=${1:-"auditor-basedb"}
# elsewhere # elsewhere
TARGET_DB=taler-auditor-basedb TARGET_DB=taler-auditor-basedb
# Configuation file will be edited, so we create one # Configuration file will be edited, so we create one
# from the template. # from the template.
CONF=generate-auditor-basedb-prod.conf CONF=generate-auditor-basedb-prod.conf
cp generate-auditor-basedb-template.conf $CONF cp generate-auditor-basedb-template.conf $CONF

View File

@ -27,7 +27,7 @@ TMP_DIR=`mktemp -d revocation-tmp-XXXXXX`
export WALLET_DB=wallet-revocation.json export WALLET_DB=wallet-revocation.json
rm -f $WALLET_DB rm -f $WALLET_DB
# Configuation file will be edited, so we create one # Configuration file will be edited, so we create one
# from the template. # from the template.
export CONF=generate-auditor-basedb-revocation.conf export CONF=generate-auditor-basedb-revocation.conf
cp generate-auditor-basedb-template.conf $CONF cp generate-auditor-basedb-template.conf $CONF

View File

@ -125,7 +125,7 @@ handle_signal (int signal_number)
1); 1);
/* While one might like to "handle errors" here, even logging via fprintf() /* While one might like to "handle errors" here, even logging via fprintf()
isn't safe inside of a signal handler. So there is nothing we safely CAN isn't safe inside of a signal handler. So there is nothing we safely CAN
do. OTOH, also very little that can go wrong in pratice. Calling _exit() do. OTOH, also very little that can go wrong in practice. Calling _exit()
on errors might be a possibility, but that might do more harm than good. */// on errors might be a possibility, but that might do more harm than good. *///
} }

View File

@ -1578,9 +1578,9 @@ refresh_session_cb (void *cls,
* @param coin_sig signature from the coin * @param coin_sig signature from the coin
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param refund_deadline by which the merchant adviced that he might want * @param refund_deadline by which the merchant advised that he might want
* to get a refund * to get a refund
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param receiver_wire_account wire details for the merchant, NULL from iterate_matching_deposits() * @param receiver_wire_account wire details for the merchant, NULL from iterate_matching_deposits()
* @param done flag set if the deposit was already executed (or not) * @param done flag set if the deposit was already executed (or not)

View File

@ -222,18 +222,18 @@ static json_t *report_reserve_in_inconsistencies;
static json_t *report_missattribution_in_inconsistencies; static json_t *report_missattribution_in_inconsistencies;
/** /**
* Array of reports about row inconcistencies. * Array of reports about row inconsistencies.
*/ */
static json_t *report_row_inconsistencies; static json_t *report_row_inconsistencies;
/** /**
* Array of reports about inconcistencies in the database about * Array of reports about inconsistencies in the database about
* the incoming wire transfers (exchange is not exactly to blame). * the incoming wire transfers (exchange is not exactly to blame).
*/ */
static json_t *report_wire_format_inconsistencies; static json_t *report_wire_format_inconsistencies;
/** /**
* Array of reports about minor row inconcistencies. * Array of reports about minor row inconsistencies.
*/ */
static json_t *report_row_minor_inconsistencies; static json_t *report_row_minor_inconsistencies;

View File

@ -150,7 +150,7 @@ BEGIN;
-- It requires that PL/pgSQL is already loaded - will raise exception otherwise. -- It requires that PL/pgSQL is already loaded - will raise exception otherwise.
-- All versioning "stuff" (tables, functions) is in "_v" schema. -- All versioning "stuff" (tables, functions) is in "_v" schema.
-- All functions are defined as 'RETURNS SETOF INT4' to be able to make them to RETURN literaly nothing (0 rows). -- All functions are defined as 'RETURNS SETOF INT4' to be able to make them to RETURN literally nothing (0 rows).
-- >> RETURNS VOID<< IS similar, but it still outputs "empty line" in psql when calling. -- >> RETURNS VOID<< IS similar, but it still outputs "empty line" in psql when calling.
CREATE SCHEMA IF NOT EXISTS _v; CREATE SCHEMA IF NOT EXISTS _v;
COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.'; COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.';

View File

@ -3192,7 +3192,7 @@ libtaler_plugin_auditordb_postgres_init (void *cls)
if (0 != pthread_key_create (&pg->db_conn_threadlocal, if (0 != pthread_key_create (&pg->db_conn_threadlocal,
&db_conn_destroy)) &db_conn_destroy))
{ {
TALER_LOG_ERROR ("Cannnot create pthread key.\n"); TALER_LOG_ERROR ("Cannot create pthread key.\n");
GNUNET_free (pg); GNUNET_free (pg);
return NULL; return NULL;
} }

View File

@ -369,7 +369,7 @@ TALER_BANK_transfer (
* succeed. * succeed.
* *
* The caller MUST run #TALER_BANK_transfer() again for the same request as * The caller MUST run #TALER_BANK_transfer() again for the same request as
* soon as possilbe, to ensure that the request either ultimately succeeds or * soon as possible, to ensure that the request either ultimately succeeds or
* ultimately fails. Until this has been done, the transaction is in limbo * ultimately fails. Until this has been done, the transaction is in limbo
* (i.e. may or may not have been committed). * (i.e. may or may not have been committed).
* *

View File

@ -867,7 +867,7 @@ struct HistoryArgs
* *
* @param connection MHD connection. * @param connection MHD connection.
* @param[out] ha will contain the parsed values. * @param[out] ha will contain the parsed values.
* @return #GNUNET_OK only if the parsing succeedes. * @return #GNUNET_OK only if the parsing succeeds.
*/ */
static int static int
parse_history_common_args (struct MHD_Connection *connection, parse_history_common_args (struct MHD_Connection *connection,

View File

@ -484,7 +484,7 @@ res_cb (void *cls,
break; break;
default: default:
fprintf (stderr, fprintf (stderr,
"Operation failed with staus code %u/%u\n", "Operation failed with status code %u/%u\n",
(unsigned int) ec, (unsigned int) ec,
http_status); http_status);
if (NULL != json) if (NULL != json)

View File

@ -1,7 +1,7 @@
# This file is in the public domain. # This file is in the public domain.
# #
[paths] [paths]
# Persistant data storage for the testcase # Persistent data storage for the testcase
# This value is a default for `taler_config_home' # This value is a default for `taler_config_home'
taler_test_home = exchange_benchmark_home/ taler_test_home = exchange_benchmark_home/
@ -69,7 +69,7 @@ enable_credit = YES
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
wire-fee-2018 = EUR:0.01 wire-fee-2018 = EUR:0.01
wire-fee-2019 = EUR:0.01 wire-fee-2019 = EUR:0.01

View File

@ -235,7 +235,7 @@ static struct GNUNET_TIME_Relative max_duration_spend;
static struct GNUNET_HashCode revoke_dkh; static struct GNUNET_HashCode revoke_dkh;
/** /**
* Which RSA key size should we use for replacment keys after revocation? * Which RSA key size should we use for replacement keys after revocation?
* (Useful because maybe that's the one option one might usefully want to * (Useful because maybe that's the one option one might usefully want to
* change when replacing a key.) * change when replacing a key.)
*/ */
@ -1151,7 +1151,7 @@ check_revocation_regeneration (
if (now.abs_value_us >= withdraw_end.abs_value_us) if (now.abs_value_us >= withdraw_end.abs_value_us)
{ {
GNUNET_log (GNUNET_ERROR_TYPE_INFO, GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Revoked denomination key has expired, no need to create a replacment\n"); "Revoked denomination key has expired, no need to create a replacement\n");
return GNUNET_NO; return GNUNET_NO;
} }

View File

@ -1,5 +1,5 @@
[PATHS] [PATHS]
# Persistant data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_taler_exchange_httpd_home/ TALER_TEST_HOME = test_taler_exchange_httpd_home/
[taler] [taler]
@ -70,7 +70,7 @@ TALER_BANK_AUTH_METHOD = NONE
# Wire fees are specified by wire method # Wire fees are specified by wire method
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2018, update to match the next 10 years... # If you see this after 2018, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01

View File

@ -18,7 +18,7 @@ REVOCATION_DIR = ${TALER_DATA_HOME}/exchange/revocations/
# How long do we allow /keys to be cached at most? The actual # How long do we allow /keys to be cached at most? The actual
# limit is the minimum of this value and the first expected # limit is the minimum of this value and the first expected
# significant change in /keys based on the expiration times. # significant change in /keys based on the expiration times.
# Used to artifically reduce caching (addresses #5747). # Used to artificially reduce caching (addresses #5747).
MAX_KEYS_CACHING = forever MAX_KEYS_CACHING = forever
# After how many requests should the exchange auto-restart # After how many requests should the exchange auto-restart

View File

@ -156,7 +156,7 @@ static struct GNUNET_SCHEDULER_Task *task;
static struct GNUNET_TIME_Relative aggregator_idle_sleep_interval; static struct GNUNET_TIME_Relative aggregator_idle_sleep_interval;
/** /**
* Value to return from main(). 0 on success, non-zero on erorrs. * Value to return from main(). 0 on success, non-zero on errors.
*/ */
static enum static enum
{ {
@ -193,7 +193,7 @@ run_aggregation (void *cls);
/** /**
* Free data stored in @a au, but not @a au itself (stack allocated). * Free data stored in @a au, but not @a au itself (stack allocated).
* *
* @param au aggreation unit to clean up * @param au aggregation unit to clean up
*/ */
static void static void
cleanup_au (struct AggregationUnit *au) cleanup_au (struct AggregationUnit *au)
@ -335,7 +335,7 @@ refund_by_coin_cb (void *cls,
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param deposit_fee amount the exchange gets to keep as transaction fees * @param deposit_fee amount the exchange gets to keep as transaction fees
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param wire wire details for the merchant * @param wire wire details for the merchant
* @return transaction status code, #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT to continue to iterate * @return transaction status code, #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT to continue to iterate
@ -506,7 +506,7 @@ deposit_cb (void *cls,
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param deposit_fee amount the exchange gets to keep as transaction fees * @param deposit_fee amount the exchange gets to keep as transaction fees
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param wire wire details for the merchant * @param wire wire details for the merchant
* @return transaction status code * @return transaction status code

View File

@ -476,7 +476,7 @@ handle_signal (int signal_number)
1); 1);
/* While one might like to "handle errors" here, even logging via fprintf() /* While one might like to "handle errors" here, even logging via fprintf()
isn't safe inside of a signal handler. So there is nothing we safely CAN isn't safe inside of a signal handler. So there is nothing we safely CAN
do. OTOH, also very little that can go wrong in pratice. Calling _exit() do. OTOH, also very little that can go wrong in practice. Calling _exit()
on errors might be a possibility, but that might do more harm than good. */// on errors might be a possibility, but that might do more harm than good. *///
} }
@ -489,7 +489,7 @@ handle_signal (int signal_number)
* *
* @param pk public key of the denomination * @param pk public key of the denomination
* @param dki the denomination key issue information * @param dki the denomination key issue information
* @return a JSON object describing the denomination key isue (public part) * @return a JSON object describing the denomination key issue (public part)
*/ */
static json_t * static json_t *
denom_key_issue_to_json ( denom_key_issue_to_json (
@ -560,7 +560,7 @@ store_in_map (struct GNUNET_CONTAINER_MultiHashMap *map,
const struct TALER_EXCHANGEDB_DenominationKey *dki) const struct TALER_EXCHANGEDB_DenominationKey *dki)
{ {
/* First, we verify that the @a dki is actually well-formed. While it comes /* First, we verify that the @a dki is actually well-formed. While it comes
from our own hard disk, there is the possibility of missconfiguration from our own hard disk, there is the possibility of misconfiguration
(i.e. bogus file in the directory), or that the administrator used the (i.e. bogus file in the directory), or that the administrator used the
wrong master public key, and we should not accept entries that are not wrong master public key, and we should not accept entries that are not
well-formed. */// well-formed. *///
@ -2554,7 +2554,7 @@ TEH_handler_keys (const struct TEH_RequestHandler *rh,
if (NULL == key_state) if (NULL == key_state)
{ {
/* Maybe client picked time stamp too far in the future? In that case, /* Maybe client picked time stamp too far in the future? In that case,
#MHD_HTTP_INTERNAL_SERVER_ERROR might be missleading, could be more like a #MHD_HTTP_INTERNAL_SERVER_ERROR might be misleading, could be more like a
NOT_FOUND situation. But, OTOH, for 'sane' clients it is more likely NOT_FOUND situation. But, OTOH, for 'sane' clients it is more likely
to be our fault, so let's speculatively assume we are to blame ;-) */ to be our fault, so let's speculatively assume we are to blame ;-) */
return TALER_MHD_reply_with_error (connection, return TALER_MHD_reply_with_error (connection,
@ -2584,7 +2584,7 @@ TEH_handler_keys (const struct TEH_RequestHandler *rh,
if (NULL == krd) if (NULL == krd)
{ {
/* Maybe client picked time stamp too far in the future? In that case, /* Maybe client picked time stamp too far in the future? In that case,
"INTERNAL_SERVER_ERROR" might be missleading, could be more like a "INTERNAL_SERVER_ERROR" might be misleading, could be more like a
NOT_FOUND situation. But, OTOH, for 'sane' clients it is more likely NOT_FOUND situation. But, OTOH, for 'sane' clients it is more likely
to be our fault, so let's speculatively assume we are to blame ;-) */// to be our fault, so let's speculatively assume we are to blame ;-) *///
GNUNET_break (0); GNUNET_break (0);

View File

@ -90,7 +90,7 @@ reply_melt_insufficient_funds (
* Send a response to a "melt" request. * Send a response to a "melt" request.
* *
* @param connection the connection to send the response to * @param connection the connection to send the response to
* @param rc value the client commited to * @param rc value the client committed to
* @param noreveal_index which index will the client not have to reveal * @param noreveal_index which index will the client not have to reveal
* @return a MHD status code * @return a MHD status code
*/ */

View File

@ -115,7 +115,7 @@ struct RevealContext
{ {
/** /**
* Commitment of the refresh operaton. * Commitment of the refresh operation.
*/ */
struct TALER_RefreshCommitmentP rc; struct TALER_RefreshCommitmentP rc;

View File

@ -15,7 +15,7 @@
*/ */
/** /**
* @file taler-exchange-httpd_responses.c * @file taler-exchange-httpd_responses.c
* @brief API for generating genric replies of the exchange; these * @brief API for generating generic replies of the exchange; these
* functions are called TEH_RESPONSE_reply_ and they generate * functions are called TEH_RESPONSE_reply_ and they generate
* and queue MHD response objects for a given connection. * and queue MHD response objects for a given connection.
* @author Florian Dold * @author Florian Dold

View File

@ -634,7 +634,7 @@ main (int argc,
GNUNET_PROGRAM_run (argc, argv, GNUNET_PROGRAM_run (argc, argv,
"taler-exchange-wirewatch", "taler-exchange-wirewatch",
gettext_noop ( gettext_noop (
"background process that watches for incomming wire transfers from customers"), "background process that watches for incoming wire transfers from customers"),
options, options,
&run, NULL)) &run, NULL))
{ {

View File

@ -1,5 +1,5 @@
[PATHS] [PATHS]
# Persistant data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_taler_exchange_httpd_home/ TALER_TEST_HOME = test_taler_exchange_httpd_home/
[taler] [taler]
@ -74,7 +74,7 @@ TALER_BANK_AUTH_METHOD = NONE
# Wire fees are specified by wire method # Wire fees are specified by wire method
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2018, update to match the next 10 years... # If you see this after 2018, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01

View File

@ -150,7 +150,7 @@ BEGIN;
-- It requires that PL/pgSQL is already loaded - will raise exception otherwise. -- It requires that PL/pgSQL is already loaded - will raise exception otherwise.
-- All versioning "stuff" (tables, functions) is in "_v" schema. -- All versioning "stuff" (tables, functions) is in "_v" schema.
-- All functions are defined as 'RETURNS SETOF INT4' to be able to make them to RETURN literaly nothing (0 rows). -- All functions are defined as 'RETURNS SETOF INT4' to be able to make them to RETURN literally nothing (0 rows).
-- >> RETURNS VOID<< IS similar, but it still outputs "empty line" in psql when calling. -- >> RETURNS VOID<< IS similar, but it still outputs "empty line" in psql when calling.
CREATE SCHEMA IF NOT EXISTS _v; CREATE SCHEMA IF NOT EXISTS _v;
COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.'; COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.';

View File

@ -39,7 +39,7 @@ static struct TALER_EXCHANGEDB_WireAccount *wa_tail;
struct FindAccountContext struct FindAccountContext
{ {
/** /**
* Configuration we are usign. * Configuration we are using.
*/ */
const struct GNUNET_CONFIGURATION_Handle *cfg; const struct GNUNET_CONFIGURATION_Handle *cfg;

View File

@ -108,7 +108,7 @@ auditor_iter (void *cls,
GNUNET_YES)) GNUNET_YES))
{ {
GNUNET_log (GNUNET_ERROR_TYPE_WARNING, GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Skipping inaccessable auditor information file `%s'\n", "Skipping inaccessible auditor information file `%s'\n",
filename); filename);
return GNUNET_OK; return GNUNET_OK;
} }

View File

@ -124,7 +124,7 @@ TALER_EXCHANGEDB_denomination_key_read (
GNUNET_YES)) GNUNET_YES))
{ {
GNUNET_log (GNUNET_ERROR_TYPE_INFO, GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Skipping inaccessable denomination key file `%s'\n", "Skipping inaccessible denomination key file `%s'\n",
filename); filename);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }

View File

@ -2570,7 +2570,7 @@ postgres_get_reserve_history (void *cls,
* @param cls the `struct PostgresClosure` with the plugin-specific state * @param cls the `struct PostgresClosure` with the plugin-specific state
* @param session database connection * @param session database connection
* @param deposit deposit to search for * @param deposit deposit to search for
* @param check_extras wether to check extra fields match or not * @param check_extras whether to check extra fields match or not
* @return 1 if we know this operation, * @return 1 if we know this operation,
* 0 if this exact deposit is unknown to us, * 0 if this exact deposit is unknown to us,
* otherwise transaction error status * otherwise transaction error status
@ -7226,7 +7226,7 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)
if (0 != pthread_key_create (&pg->db_conn_threadlocal, if (0 != pthread_key_create (&pg->db_conn_threadlocal,
&db_conn_destroy)) &db_conn_destroy))
{ {
TALER_LOG_ERROR ("Cannnot create pthread key.\n"); TALER_LOG_ERROR ("Cannot create pthread key.\n");
GNUNET_free (pg->sql_dir); GNUNET_free (pg->sql_dir);
GNUNET_free (pg); GNUNET_free (pg);
return NULL; return NULL;

View File

@ -838,7 +838,7 @@ static uint64_t deposit_rowid;
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param deposit_fee amount the exchange gets to keep as transaction fees * @param deposit_fee amount the exchange gets to keep as transaction fees
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param wire wire details for the merchant, NULL from iterate_matching_deposits() * @param wire wire details for the merchant, NULL from iterate_matching_deposits()
* @return transaction status code, #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT to continue to iterate * @return transaction status code, #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT to continue to iterate
@ -897,9 +897,9 @@ deposit_cb (void *cls,
* @param coin_sig signature from the coin * @param coin_sig signature from the coin
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param refund_deadline by which the merchant adviced that he might want * @param refund_deadline by which the merchant advised that he might want
* to get a refund * to get a refund
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param receiver_wire_account wire details for the merchant, NULL from iterate_matching_deposits() * @param receiver_wire_account wire details for the merchant, NULL from iterate_matching_deposits()
* @param done flag set if the deposit was already executed (or not) * @param done flag set if the deposit was already executed (or not)
@ -1785,7 +1785,7 @@ run (void *cls)
FAILIF (0 != memcmp (&bt->reserve_pub, FAILIF (0 != memcmp (&bt->reserve_pub,
&reserve_pub, &reserve_pub,
sizeof (reserve_pub))); sizeof (reserve_pub)));
/* this is the amount we trasferred twice*/ /* this is the amount we transferred twice*/
FAILIF (1 != bt->amount.value); FAILIF (1 != bt->amount.value);
FAILIF (1000 != bt->amount.fraction); FAILIF (1000 != bt->amount.fraction);
FAILIF (0 != strcmp (CURRENCY, bt->amount.currency)); FAILIF (0 != strcmp (CURRENCY, bt->amount.currency));

View File

@ -34,7 +34,7 @@ extern "C"
* @brief Number of characters (plus 1 for 0-termination) we use to * @brief Number of characters (plus 1 for 0-termination) we use to
* represent currency names (i.e. EUR, USD, etc.). We use 8+4 for * represent currency names (i.e. EUR, USD, etc.). We use 8+4 for
* alignment in the `struct TALER_Amount`. The amount is typically an * alignment in the `struct TALER_Amount`. The amount is typically an
* ISO 4217 currency code when an alpha-numeric 3-digit code is used. * ISO 4217 currency code when an alphanumeric 3-digit code is used.
* For regional currencies, the first character should be a "*" followed * For regional currencies, the first character should be a "*" followed
* by a region-specific name (i.e. "*BRETAGNEFR"). * by a region-specific name (i.e. "*BRETAGNEFR").
*/ */

View File

@ -232,7 +232,7 @@ TALER_BANK_transfer (struct GNUNET_CURL_Context *ctx,
* succeed. * succeed.
* *
* The caller MUST run #TALER_BANK_transfer() again for the same request as * The caller MUST run #TALER_BANK_transfer() again for the same request as
* soon as possilbe, to ensure that the request either ultimately succeeds or * soon as possible, to ensure that the request either ultimately succeeds or
* ultimately fails. Until this has been done, the transaction is in limbo * ultimately fails. Until this has been done, the transaction is in limbo
* (i.e. may or may not have been committed). * (i.e. may or may not have been committed).
* *

View File

@ -398,7 +398,7 @@ struct TALER_TrackTransferDetails
* @param denom_pub denomination key, must match @a coin_public_info's `denom_pub_hash` * @param denom_pub denomination key, must match @a coin_public_info's `denom_pub_hash`
* @return #GNUNET_YES if the coin is valid, * @return #GNUNET_YES if the coin is valid,
* #GNUNET_NO if it is invalid * #GNUNET_NO if it is invalid
* #GNUNET_SYSERR if an internal error occured * #GNUNET_SYSERR if an internal error occurred
*/ */
int int
TALER_test_coin_valid (const struct TALER_CoinPublicInfo *coin_public_info, TALER_test_coin_valid (const struct TALER_CoinPublicInfo *coin_public_info,

View File

@ -1086,20 +1086,20 @@ enum TALER_ErrorCode
TALER_EC_RECOUP_REPLY_MALFORMED = 1861, TALER_EC_RECOUP_REPLY_MALFORMED = 1861,
/** /**
* The "have" parameter was not a natural number. This reponse is * The "have" parameter was not a natural number. This response is
* provied with an HTTP status code of #MHD_HTTP_BAD_REQUEST. * provied with an HTTP status code of #MHD_HTTP_BAD_REQUEST.
*/ */
TALER_EC_KEYS_HAVE_NOT_NUMERIC = 1900, TALER_EC_KEYS_HAVE_NOT_NUMERIC = 1900,
/** /**
* We currently cannot find any keys. This reponse is provied with an * We currently cannot find any keys. This response is provied with an
* HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR. * HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR.
*/ */
TALER_EC_KEYS_MISSING = 1901, TALER_EC_KEYS_MISSING = 1901,
/** /**
* This exchange does not allow clients to request /keys for times * This exchange does not allow clients to request /keys for times
* other than the current (exchange) time. This reponse is provied * other than the current (exchange) time. This response is provied
* with an HTTP status code of #MHD_HTTP_FORBIDDEN. * with an HTTP status code of #MHD_HTTP_FORBIDDEN.
*/ */
TALER_EC_KEYS_TIMETRAVEL_FORBIDDEN = 1902, TALER_EC_KEYS_TIMETRAVEL_FORBIDDEN = 1902,
@ -1295,7 +1295,7 @@ enum TALER_ErrorCode
TALER_EC_PAY_WRONG_INSTANCE = 2127, TALER_EC_PAY_WRONG_INSTANCE = 2127,
/** /**
* Integer overflow with sepcified timestamp argument detected. This * Integer overflow with specified timestamp argument detected. This
* response is provided with HTTP status code #MHD_HTTP_BAD_REQUEST. * response is provided with HTTP status code #MHD_HTTP_BAD_REQUEST.
*/ */
TALER_EC_HISTORY_TIMESTAMP_OVERFLOW = 2200, TALER_EC_HISTORY_TIMESTAMP_OVERFLOW = 2200,
@ -1836,7 +1836,7 @@ enum TALER_ErrorCode
TALER_EC_SERVER_SIGNATURE_INVALID = 5001, TALER_EC_SERVER_SIGNATURE_INVALID = 5001,
/** /**
* Wire tranfer attempted with credit and debit party being the same * Wire transfer attempted with credit and debit party being the same
* bank account. * bank account.
*/ */
TALER_EC_BANK_SAME_ACCOUNT = 5102, TALER_EC_BANK_SAME_ACCOUNT = 5102,

View File

@ -243,7 +243,7 @@ struct TALER_EXCHANGEDB_CollectableBlindcoin
struct TALER_Amount amount_with_fee; struct TALER_Amount amount_with_fee;
/** /**
* Withdrawl fee charged by the exchange. This must match the Exchange's * Withdrawal fee charged by the exchange. This must match the Exchange's
* denomination key's withdrawal fee. If the client puts in an * denomination key's withdrawal fee. If the client puts in an
* invalid withdrawal fee (too high or too low) that does not match * invalid withdrawal fee (too high or too low) that does not match
* the Exchange's denomination key, the withdraw operation is invalid * the Exchange's denomination key, the withdraw operation is invalid
@ -441,7 +441,7 @@ struct TALER_EXCHANGEDB_ReserveHistory
struct TALER_EXCHANGEDB_ReserveHistory *next; struct TALER_EXCHANGEDB_ReserveHistory *next;
/** /**
* Type of the event, determins @e details. * Type of the event, determines @e details.
*/ */
enum TALER_EXCHANGEDB_ReserveOperation type; enum TALER_EXCHANGEDB_ReserveOperation type;
@ -980,7 +980,7 @@ struct TALER_EXCHANGEDB_Session;
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param deposit_fee amount the exchange gets to keep as transaction fees * @param deposit_fee amount the exchange gets to keep as transaction fees
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param receiver_wire_account wire details for the merchant, includes * @param receiver_wire_account wire details for the merchant, includes
* 'url' in payto://-format; NULL from iterate_matching_deposits() * 'url' in payto://-format; NULL from iterate_matching_deposits()
@ -1029,9 +1029,9 @@ typedef void
* @param coin_sig signature from the coin * @param coin_sig signature from the coin
* @param amount_with_fee amount that was deposited including fee * @param amount_with_fee amount that was deposited including fee
* @param h_contract_terms hash of the proposal data known to merchant and customer * @param h_contract_terms hash of the proposal data known to merchant and customer
* @param refund_deadline by which the merchant adviced that he might want * @param refund_deadline by which the merchant advised that he might want
* to get a refund * to get a refund
* @param wire_deadline by which the merchant adviced that he would like the * @param wire_deadline by which the merchant advised that he would like the
* wire transfer to be executed * wire transfer to be executed
* @param receiver_wire_account wire details for the merchant including 'url' in payto://-format; * @param receiver_wire_account wire details for the merchant including 'url' in payto://-format;
* NULL from iterate_matching_deposits() * NULL from iterate_matching_deposits()
@ -1840,7 +1840,7 @@ struct TALER_EXCHANGEDB_Plugin
* @param cls the @e cls of this struct with the plugin-specific state * @param cls the @e cls of this struct with the plugin-specific state
* @param session database connection * @param session database connection
* @param deposit deposit to search for * @param deposit deposit to search for
* @param check_extras wether to check extra fields or not * @param check_extras whether to check extra fields or not
* @return 1 if we know this operation, * @return 1 if we know this operation,
* 0 if this exact deposit is unknown to us, * 0 if this exact deposit is unknown to us,
* otherwise transaction error status * otherwise transaction error status

View File

@ -322,7 +322,7 @@ struct TALER_WithdrawRequestPS
struct TALER_AmountNBO amount_with_fee; struct TALER_AmountNBO amount_with_fee;
/** /**
* Withdrawl fee charged by the exchange. This must match the Exchange's * Withdrawal fee charged by the exchange. This must match the Exchange's
* denomination key's withdrawal fee. If the client puts in an * denomination key's withdrawal fee. If the client puts in an
* invalid withdrawal fee (too high or too low) that does not match * invalid withdrawal fee (too high or too low) that does not match
* the Exchange's denomination key, the withdraw operation is invalid * the Exchange's denomination key, the withdraw operation is invalid

View File

@ -295,7 +295,7 @@ struct TALER_TESTING_BankConfiguration
/** /**
* Prepare launching a fakebank. Check that the configuration * Prepare launching a fakebank. Check that the configuration
* file has the right option, and that the port is avaiable. * file has the right option, and that the port is available.
* If everything is OK, return the configuration data of the fakebank. * If everything is OK, return the configuration data of the fakebank.
* *
* @param config_filename configuration file to use * @param config_filename configuration file to use
@ -1605,7 +1605,7 @@ TALER_TESTING_cmd_check_bank_transfer_with_ref (const char *label,
/** /**
* Checks wheter all the wire transfers got "checked" * Checks whether all the wire transfers got "checked"
* by the "bank check" CMD. * by the "bank check" CMD.
* *
* @param label command label. * @param label command label.
@ -1727,7 +1727,7 @@ TALER_TESTING_cmd_sleep (const char *label,
/** /**
* This CMD simply tries to connect via HTTP to the * This CMD simply tries to connect via HTTP to the
* service addressed by @a url. It attemps 10 times * service addressed by @a url. It attempts 10 times
* before giving up and make the test fail. * before giving up and make the test fail.
* *
* @param label label for the command. * @param label label for the command.

View File

@ -783,7 +783,7 @@ denoms_cmp (struct TALER_EXCHANGE_DenomPublicKey *denom1,
denom1->key.rsa_public_key = NULL; denom1->key.rsa_public_key = NULL;
denom2->key.rsa_public_key = NULL; denom2->key.rsa_public_key = NULL;
/* Then procede with the rest of the object. */ /* Then proceed with the rest of the object. */
ret = GNUNET_memcmp (denom1, ret = GNUNET_memcmp (denom1,
denom2); denom2);
denom1->revoked = r1; denom1->revoked = r1;

View File

@ -95,7 +95,7 @@ struct TALER_EXCHANGE_RefreshesRevealHandle
* *
* @param rrh operation handle * @param rrh operation handle
* @param json reply from the exchange * @param json reply from the exchange
* @param[out] sigs array of length `num_fresh_coins`, initialized to cointain RSA signatures * @param[out] sigs array of length `num_fresh_coins`, initialized to contain RSA signatures
* @return #GNUNET_OK on success, #GNUNET_SYSERR on errors * @return #GNUNET_OK on success, #GNUNET_SYSERR on errors
*/ */
static int static int
@ -248,7 +248,7 @@ handle_refresh_reveal_finished (void *cls,
ec = TALER_JSON_get_error_code (j); ec = TALER_JSON_get_error_code (j);
break; break;
case MHD_HTTP_CONFLICT: case MHD_HTTP_CONFLICT:
/* Nothing really to verify, exchange says our reveal is inconsitent /* Nothing really to verify, exchange says our reveal is inconsistent
with our commitment, so either side is buggy; we with our commitment, so either side is buggy; we
should pass the JSON reply to the application */ should pass the JSON reply to the application */
ec = TALER_JSON_get_error_code (j); ec = TALER_JSON_get_error_code (j);

View File

@ -1,5 +1,5 @@
[PATHS] [PATHS]
# Persistant data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_taler_exchange_httpd_home/ TALER_TEST_HOME = test_taler_exchange_httpd_home/
[taler] [taler]
@ -73,7 +73,7 @@ HTTP_PORT = 8082
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2018, update to match the next 10 years... # If you see this after 2018, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01

View File

@ -1,5 +1,5 @@
[PATHS] [PATHS]
# Persistant data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_taler_exchange_httpd_home/ TALER_TEST_HOME = test_taler_exchange_httpd_home/
[taler] [taler]
@ -65,7 +65,7 @@ HTTP_PORT = 8082
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2018, update to match the next 10 years... # If you see this after 2018, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01

View File

@ -411,7 +411,7 @@ run (void *cls,
MHD_HTTP_OK), MHD_HTTP_OK),
/** /**
* These commands should close the reserve because the aggregator * These commands should close the reserve because the aggregator
* is given a config file that ovverrides the reserve expiration * is given a config file that overrides the reserve expiration
* time (making it now-ish) * time (making it now-ish)
*/CMD_TRANSFER_TO_EXCHANGE ("short-lived-reserve", */CMD_TRANSFER_TO_EXCHANGE ("short-lived-reserve",
"EUR:5.01"), "EUR:5.01"),

View File

@ -2,7 +2,7 @@
# This file is in the public domain. # This file is in the public domain.
# #
[PATHS] [PATHS]
# Persistant data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_exchange_api_home/ TALER_TEST_HOME = test_exchange_api_home/
[taler] [taler]
@ -93,7 +93,7 @@ ENABLE_CREDIT = YES
# Sections starting with "fee-" configure the wire fee for the # Sections starting with "fee-" configure the wire fee for the
# respective wire method. # respective wire method.
[fees-iban] [fees-iban]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01
@ -118,7 +118,7 @@ CLOSING-FEE-2026 = EUR:0.01
CLOSING-FEE-2027 = EUR:0.01 CLOSING-FEE-2027 = EUR:0.01
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01

View File

@ -201,7 +201,7 @@ run (void *cls,
* is currently the case because of the "timestamp" field, * is currently the case because of the "timestamp" field,
* which is set automatically by #TALER_TESTING_cmd_deposit(). * which is set automatically by #TALER_TESTING_cmd_deposit().
* This could theoretically fail if at some point a deposit * This could theoretically fail if at some point a deposit
* command executs in less than 1 ms. */// * command executes in less than 1 ms. *///
TALER_TESTING_cmd_deposit ("deposit-double-1", TALER_TESTING_cmd_deposit ("deposit-double-1",
"withdraw-coin-1", "withdraw-coin-1",
0, 0,
@ -676,7 +676,7 @@ run (void *cls,
"EUR:3.99", "EUR:3.99",
MHD_HTTP_OK), MHD_HTTP_OK),
/* These commands should close the reserve because /* These commands should close the reserve because
* the aggregator is given a config file that ovverrides * the aggregator is given a config file that overrides
* the reserve expiration time (making it now-ish) */ * the reserve expiration time (making it now-ish) */
CMD_TRANSFER_TO_EXCHANGE ("short-lived-reserve", CMD_TRANSFER_TO_EXCHANGE ("short-lived-reserve",
"EUR:5.01"), "EUR:5.01"),

View File

@ -2,7 +2,7 @@
# #
[PATHS] [PATHS]
# Persistant data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_exchange_api_home/ TALER_TEST_HOME = test_exchange_api_home/
@ -95,7 +95,7 @@ HTTP_PORT = 9081
# Sections starting with "fee-" configure the wire fee for the # Sections starting with "fee-" configure the wire fee for the
# respective wire method. # respective wire method.
[fees-iban] [fees-iban]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01
@ -120,7 +120,7 @@ CLOSING-FEE-2026 = EUR:0.01
CLOSING-FEE-2027 = EUR:0.01 CLOSING-FEE-2027 = EUR:0.01
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
WIRE-FEE-2019 = EUR:0.01 WIRE-FEE-2019 = EUR:0.01

View File

@ -4,7 +4,7 @@
# Persistent data storage for the testcase # Persistent data storage for the testcase
TALER_TEST_HOME = test_exchange_api_keys_cherry_picking_home/ TALER_TEST_HOME = test_exchange_api_keys_cherry_picking_home/
# Persistant data storage # Persistent data storage
TALER_DATA_HOME = $TALER_HOME/.local/share/taler/ TALER_DATA_HOME = $TALER_HOME/.local/share/taler/
# Configuration files # Configuration files
@ -33,7 +33,7 @@ signkey_duration = 5 seconds
# how long are the signatures with the signkey valid? # how long are the signatures with the signkey valid?
legal_duration = 2 years legal_duration = 2 years
# This vaule causes keys to be *RETURNED* in a /keys response. # This value causes keys to be *RETURNED* in a /keys response.
# It's a relative time that materializes always in now+itsvalue. # It's a relative time that materializes always in now+itsvalue.
# We keep it very high, so as to not introduce divergencies between # We keep it very high, so as to not introduce divergencies between
# keys that have been created and keys that are returned along /keys. # keys that have been created and keys that are returned along /keys.
@ -99,7 +99,7 @@ ENABLE_CREDIT = YES
HTTP_PORT=8082 HTTP_PORT=8082
[fees-x-taler-bank] [fees-x-taler-bank]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
WIRE-FEE-2017 = EUR:0.01 WIRE-FEE-2017 = EUR:0.01
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01
@ -143,7 +143,7 @@ CLOSING-FEE-2035 = EUR:0.01
[fees-iban] [fees-iban]
# Fees for the forseeable future... # Fees for the foreseeable future...
# If you see this after 2017, update to match the next 10 years... # If you see this after 2017, update to match the next 10 years...
WIRE-FEE-2017 = EUR:0.01 WIRE-FEE-2017 = EUR:0.01
WIRE-FEE-2018 = EUR:0.01 WIRE-FEE-2018 = EUR:0.01

View File

@ -89,7 +89,7 @@ check_bank_empty_traits (void *cls,
/** /**
* Checks wheter all the wire transfers got "checked" * Checks whether all the wire transfers got "checked"
* by the "bank check" CMD. * by the "bank check" CMD.
* *
* @param label command label. * @param label command label.

View File

@ -109,7 +109,7 @@ wait_service_run (void *cls,
/** /**
* This CMD simply tries to connect via HTTP to the * This CMD simply tries to connect via HTTP to the
* service addressed by @a url. It attemps 10 times * service addressed by @a url. It attempts 10 times
* before giving up and make the test fail. * before giving up and make the test fail.
* *
* @param label label for the command. * @param label label for the command.

View File

@ -380,7 +380,7 @@ struct SignInfo
* Sign the keys for an exchange given configuration @a cfg. * Sign the keys for an exchange given configuration @a cfg.
* The information to be signed must be in a file "auditor.in". * The information to be signed must be in a file "auditor.in".
* *
* @param[in,out] cls a `struct SignInfo` with further paramters * @param[in,out] cls a `struct SignInfo` with further parameters
* @param cfg configuration to use * @param cfg configuration to use
* @return #GNUNET_OK on success * @return #GNUNET_OK on success
*/ */

View File

@ -176,7 +176,7 @@ TALER_TESTING_interpreter_next (struct TALER_TESTING_Interpreter *is)
struct TALER_TESTING_Command *cmd = &is->commands[is->ip]; struct TALER_TESTING_Command *cmd = &is->commands[is->ip];
if (GNUNET_SYSERR == is->result) if (GNUNET_SYSERR == is->result)
return; /* ignore, we already failled! */ return; /* ignore, we already failed! */
if (TALER_TESTING_cmd_is_batch (cmd)) if (TALER_TESTING_cmd_is_batch (cmd))
{ {
TALER_TESTING_cmd_batch_next (is); TALER_TESTING_cmd_batch_next (is);

View File

@ -556,7 +556,7 @@ TALER_amount_normalize (struct TALER_Amount *amount)
* Convert the fraction of @a amount to a string in decimals. * Convert the fraction of @a amount to a string in decimals.
* *
* @param amount value to convert * @param amount value to convert
* @param[out] tail where to write the reesult * @param[out] tail where to write the result
*/ */
static void static void
amount_to_tail (const struct TALER_Amount *amount, amount_to_tail (const struct TALER_Amount *amount,

View File

@ -77,7 +77,7 @@ TALER_gcrypt_init ()
* @param denom_pub denomination key, must match @a coin_public_info's `denom_pub_hash` * @param denom_pub denomination key, must match @a coin_public_info's `denom_pub_hash`
* @return #GNUNET_YES if the coin is valid, * @return #GNUNET_YES if the coin is valid,
* #GNUNET_NO if it is invalid * #GNUNET_NO if it is invalid
* #GNUNET_SYSERR if an internal error occured * #GNUNET_SYSERR if an internal error occurred
*/ */
int int
TALER_test_coin_valid (const struct TALER_CoinPublicInfo *coin_public_info, TALER_test_coin_valid (const struct TALER_CoinPublicInfo *coin_public_info,

View File

@ -16,7 +16,7 @@ TALER_HOME = ${TALER_TEST_HOME:-${HOME:-${USERPROFILE}}}
# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html # http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
# for how these should be used. # for how these should be used.
# Persistant data storage # Persistent data storage
TALER_DATA_HOME = ${XDG_DATA_HOME:-$TALER_HOME/.local/share}/taler/ TALER_DATA_HOME = ${XDG_DATA_HOME:-$TALER_HOME/.local/share}/taler/
# Configuration files # Configuration files

View File

@ -213,7 +213,7 @@ serialize_arguments (struct GNUNET_Buffer *buf,
* @param ... NULL-terminated key-value pairs (char *) for query parameters, * @param ... NULL-terminated key-value pairs (char *) for query parameters,
* the value will be url-encoded * the value will be url-encoded
* @returns the URL (must be freed with #GNUNET_free) or * @returns the URL (must be freed with #GNUNET_free) or
* NULL if an error occured. * NULL if an error occurred.
*/ */
char * char *
TALER_url_join (const char *base_url, TALER_url_join (const char *base_url,