aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-04-15 12:20:00 +0200
committerChristian Grothoff <christian@grothoff.org>2018-04-15 12:20:00 +0200
commit202827ebdaafdf33b78c202bcbb6917dd65dd1c1 (patch)
treeb5689b28c58e1698dff0f296dbe78ec432430512
parentaea82d3dcde94b68a70a65be8736cf7ad437b0c7 (diff)
parent1b3bf1a00126baffd016676ad1d668637b8b2efe (diff)
merging Florian's changes with my wire changes
-rw-r--r--ChangeLog3
-rw-r--r--configure.ac2
-rw-r--r--src/bank-lib/bank_api_history.c2
-rw-r--r--src/bank-lib/testing_api_cmd_history.c3
-rw-r--r--src/exchange-lib/exchange_api_handle.c4
-rw-r--r--src/exchange-lib/test_exchange_api_keys_cherry_picking.c4
-rw-r--r--src/exchange-lib/test_exchange_api_keys_cherry_picking_new.c7
-rw-r--r--src/exchange-lib/testing_api_cmd_track.c11
-rw-r--r--src/exchange/taler-exchange-wirewatch.c11
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c8
-rw-r--r--src/include/taler_exchange_service.h7
-rw-r--r--src/wire-plugins/plugin_wire_taler-bank.c6
12 files changed, 50 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index e5d3eaf16..506ad357f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+Tue Apr 3 23:29:06 CEST 2018
+ Releasing Taler v0.5.0
+
Thu Jan 4 11:55:41 CET 2018
Fix issue #5234 (aggregator ignoring refunds).
Misc. minor fixes to the auditor. -CG
diff --git a/configure.ac b/configure.ac
index fedc2cd5a..d28aca89a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@
#
#
AC_PREREQ([2.69])
-AC_INIT([taler-exchange], [0.4.0], [taler-bug@gnunet.org])
+AC_INIT([taler-exchange], [0.5.0], [taler-bug@gnunet.org])
AC_CONFIG_SRCDIR([src/util/util.c])
AC_CONFIG_HEADERS([taler_config.h])
# support for non-recursive builds
diff --git a/src/bank-lib/bank_api_history.c b/src/bank-lib/bank_api_history.c
index 17cd9fd07..902165def 100644
--- a/src/bank-lib/bank_api_history.c
+++ b/src/bank-lib/bank_api_history.c
@@ -158,7 +158,7 @@ parse_account_history (struct TALER_BANK_HistoryHandle *hh,
/**
* Function called when we're done processing the
- * HTTP /admin/add/incoming request.
+ * HTTP /history request.
*
* @param cls the `struct TALER_BANK_HistoryHandle`
* @param response_code HTTP response code, 0 on error
diff --git a/src/bank-lib/testing_api_cmd_history.c b/src/bank-lib/testing_api_cmd_history.c
index e94009fb3..6f005360f 100644
--- a/src/bank-lib/testing_api_cmd_history.c
+++ b/src/bank-lib/testing_api_cmd_history.c
@@ -123,7 +123,8 @@ test_cancelled (struct TALER_TESTING_Interpreter *is,
const struct TALER_TESTING_Command *c = &is->commands[i];
- #warning "Errors reported here are NOT fatal"
+ /* XXX: Errors reported here are NOT fatal */
+
/* Rejected wire transfers have hold a reference to a
* reject command to mark them as rejected. So errors
* about "reject traits" not found are NOT fatal here */
diff --git a/src/exchange-lib/exchange_api_handle.c b/src/exchange-lib/exchange_api_handle.c
index e3f8314f4..026fa87aa 100644
--- a/src/exchange-lib/exchange_api_handle.c
+++ b/src/exchange-lib/exchange_api_handle.c
@@ -867,7 +867,7 @@ keys_completed_cb (void *cls,
{
/* offsets will map 1:1 */
unsigned int off = aold->denom_keys[j] - kd_old.denom_keys;
-
+ /* FIXME(#5315): this should not be an assert! */
GNUNET_assert (off < kd_old.num_denom_keys);
anew->denom_keys[j] = &kd.denom_keys[off];
}
@@ -1127,7 +1127,7 @@ request_keys (struct TALER_EXCHANGE_Handle *exchange)
GNUNET_assert (NULL == exchange->kr);
kr = GNUNET_new (struct KeysRequest);
kr->exchange = exchange;
- if (GNUNET_YES == MAH_handle_is_ready (exchange))
+ if (GNUNET_YES == MAH_handle_is_ready (exchange) && !TALER_EXCHANGE_API_DISABLE_CHERRYPICKING)
{
char *arg;
diff --git a/src/exchange-lib/test_exchange_api_keys_cherry_picking.c b/src/exchange-lib/test_exchange_api_keys_cherry_picking.c
index 0fbf1729a..e5fd22a1a 100644
--- a/src/exchange-lib/test_exchange_api_keys_cherry_picking.c
+++ b/src/exchange-lib/test_exchange_api_keys_cherry_picking.c
@@ -579,7 +579,11 @@ run (void *cls)
/* Re-download and check /keys */
{ .oc = OC_CHECK_KEYS,
.details.check_keys.generation = 2,
+#if TALER_EXCHANGE_API_DISABLE_CHERRYPICKING
+ .details.check_keys.num_denom_keys = 12
+#else
.details.check_keys.num_denom_keys = 8
+#endif
},
{ .oc = OC_END }
};
diff --git a/src/exchange-lib/test_exchange_api_keys_cherry_picking_new.c b/src/exchange-lib/test_exchange_api_keys_cherry_picking_new.c
index 41d5dac84..aa711436a 100644
--- a/src/exchange-lib/test_exchange_api_keys_cherry_picking_new.c
+++ b/src/exchange-lib/test_exchange_api_keys_cherry_picking_new.c
@@ -84,7 +84,12 @@ run (void *cls,
SIGUSR1),
TALER_TESTING_cmd_check_keys ("check-keys-2",
- 2, 8,
+ 2,
+#if TALER_EXCHANGE_API_DISABLE_CHERRYPICKING
+ 12,
+#else
+ 8,
+#endif
is->exchange),
diff --git a/src/exchange-lib/testing_api_cmd_track.c b/src/exchange-lib/testing_api_cmd_track.c
index 638329d69..d4f9805a5 100644
--- a/src/exchange-lib/testing_api_cmd_track.c
+++ b/src/exchange-lib/testing_api_cmd_track.c
@@ -518,16 +518,15 @@ track_transfer_cb
return;
}
- switch (http_status)
- {
-
- if (
- (NULL == tts->expected_total_amount) ||
- (NULL == tts->expected_wire_fee))
+ if ( (NULL == tts->expected_total_amount) ||
+ (NULL == tts->expected_wire_fee) )
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
"Expected amount and fee not specified, "
"likely to segfault...\n");
+
+ switch (http_status)
+ {
case MHD_HTTP_OK:
if (GNUNET_OK !=
TALER_string_to_amount (tts->expected_total_amount,
diff --git a/src/exchange/taler-exchange-wirewatch.c b/src/exchange/taler-exchange-wirewatch.c
index 67fab85ca..a48634eb9 100644
--- a/src/exchange/taler-exchange-wirewatch.c
+++ b/src/exchange/taler-exchange-wirewatch.c
@@ -328,10 +328,10 @@ reject_cb (void *cls,
rt = NULL;
if (TALER_EC_NONE != ec)
{
- fprintf (stderr,
- "Failed to wire back transfer `%s': %d\n",
- rtc->wtid_s,
- ec);
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed to wire back transfer `%s': %d\n",
+ rtc->wtid_s,
+ ec);
GNUNET_free (rtc->wtid_s);
db_plugin->rollback (db_plugin->cls,
rtc->session);
@@ -389,10 +389,13 @@ history_cb (void *cls,
"End of list. Committing progress!\n");
qs = db_plugin->commit (db_plugin->cls,
session);
+ GNUNET_break (0 <= qs);
if ( (GNUNET_YES == delay) &&
(test_mode) &&
(NULL == wa_pos->next) )
{
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Shutdown due to test mode!\n");
GNUNET_SCHEDULER_shutdown ();
return GNUNET_OK;
}
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index 1b625a7a3..e72e96cc9 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -1953,7 +1953,10 @@ postgres_reserves_in_insert (void *cls,
"reserve_create",
params);
if (0 > qs)
+ {
+ GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR != qs);
return qs;
+ }
if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
{
/* Maybe DB did not detect serializiability error already,
@@ -1980,7 +1983,10 @@ postgres_reserves_in_insert (void *cls,
"reserves_in_add_transaction",
params);
if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs)
+ {
+ GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR != qs);
return qs;
+ }
}
if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == reserve_exists)
@@ -1999,7 +2005,7 @@ postgres_reserves_in_insert (void *cls,
balance))
{
/* currency overflow or incompatible currency */
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Attempt to deposit incompatible amount into reserve\n");
return GNUNET_DB_STATUS_HARD_ERROR;
}
diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h
index 22ca049eb..e5a26e29c 100644
--- a/src/include/taler_exchange_service.h
+++ b/src/include/taler_exchange_service.h
@@ -32,6 +32,13 @@
/**
+ * Temporarily disable cherrypicking until it's fixed.
+ * See #5315.
+ */
+#define TALER_EXCHANGE_API_DISABLE_CHERRYPICKING 1
+
+
+/**
* List of possible options to be passed to
* #TALER_EXCHANGE_connect().
*/
diff --git a/src/wire-plugins/plugin_wire_taler-bank.c b/src/wire-plugins/plugin_wire_taler-bank.c
index 2d2235343..743d85b2f 100644
--- a/src/wire-plugins/plugin_wire_taler-bank.c
+++ b/src/wire-plugins/plugin_wire_taler-bank.c
@@ -905,7 +905,11 @@ bhist_cb (void *cls,
sizeof (bserial_id),
&wd)) )
whh->hres_cb = NULL;
- return; /* do NOT yet clean up! */
+ GNUNET_break (NULL != whh->hh);
+ /* Once we get the sentinel element, the handle becomes invalid. */
+ if (TALER_BANK_DIRECTION_NONE == dir)
+ whh->hh = NULL;
+ return;
}
case MHD_HTTP_NO_CONTENT:
if (NULL != whh->hres_cb)