[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-exchange] branch master updated: fix issue in wire a
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-exchange] branch master updated: fix issue in wire auditor's history processing |
Date: |
Mon, 20 Nov 2017 21:55:29 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
The following commit(s) were added to refs/heads/master by this push:
new 7749a68 fix issue in wire auditor's history processing
7749a68 is described below
commit 7749a683ba602cf13ed160c6ed63d668adbf4b1c
Author: Christian Grothoff <address@hidden>
AuthorDate: Mon Nov 20 21:55:24 2017 +0100
fix issue in wire auditor's history processing
---
src/auditor/taler-wire-auditor.c | 45 ++++++++++++++++++++++++++--------------
src/wire/plugin_wire_test.c | 3 +--
2 files changed, 31 insertions(+), 17 deletions(-)
diff --git a/src/auditor/taler-wire-auditor.c b/src/auditor/taler-wire-auditor.c
index 9f16794..1b514a0 100644
--- a/src/auditor/taler-wire-auditor.c
+++ b/src/auditor/taler-wire-auditor.c
@@ -874,7 +874,7 @@ history_debit_cb (void *cls,
"wire_offset_hash", GNUNET_JSON_from_data_auto (&rowh),
"diagnostic", diagnostic));
GNUNET_free (diagnostic);
- return GNUNET_SYSERR;
+ return GNUNET_OK;
}
roi = GNUNET_new (struct ReserveOutInfo);
GNUNET_CRYPTO_hash (&details->wtid,
@@ -908,14 +908,14 @@ history_debit_cb (void *cls,
"wire_offset_hash", GNUNET_JSON_from_data_auto (&rowh),
"diagnostic", diagnostic));
GNUNET_free (diagnostic);
- return GNUNET_SYSERR;
+ return GNUNET_OK;
}
return GNUNET_OK;
}
/**
- * Main functin for processing 'reserves_out' data.
+ * Main function for processing 'reserves_out' data.
* We start by going over the DEBIT transactions this
* time, and then verify that all of them are justified
* by 'reserves_out'.
@@ -1044,6 +1044,27 @@ complain_in_not_found (void *cls,
/**
+ * Conclude the credit history check by logging entries that
+ * were not found and freeing resources. Then move on to
+ * processing debits.
+ */
+static void
+conclude_credit_history ()
+{
+ GNUNET_CONTAINER_multihashmap_iterate (in_map,
+ &complain_in_not_found,
+ NULL);
+ /* clean up before 2nd phase */
+ GNUNET_CONTAINER_multihashmap_iterate (in_map,
+ &free_rii,
+ NULL);
+ GNUNET_CONTAINER_multihashmap_destroy (in_map);
+ in_map = NULL;
+ process_debits ();
+}
+
+
+/**
* This function is called for all transactions that
* are credited to the exchange's account (incoming
* transactions).
@@ -1069,17 +1090,8 @@ history_credit_cb (void *cls,
{
/* end of operation */
hh = NULL;
- GNUNET_CONTAINER_multihashmap_iterate (in_map,
- &complain_in_not_found,
- NULL);
- /* clean up before 2nd phase */
- GNUNET_CONTAINER_multihashmap_iterate (in_map,
- &free_rii,
- NULL);
- GNUNET_CONTAINER_multihashmap_destroy (in_map);
- in_map = NULL;
- process_debits ();
- return GNUNET_SYSERR;
+ conclude_credit_history ();
+ return GNUNET_OK;
}
GNUNET_CRYPTO_hash (row_off,
row_off_size,
@@ -1091,7 +1103,9 @@ history_credit_cb (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Failed to find wire transfer at `%s' in exchange database.
Audit ends at this point in time.\n",
GNUNET_STRINGS_absolute_time_to_string
(details->execution_date));
- return GNUNET_SYSERR;
+ hh = NULL;
+ conclude_credit_history ();
+ return GNUNET_SYSERR; /* not an error, just end of processing */
}
/* Update offset */
@@ -1105,6 +1119,7 @@ history_credit_cb (void *cls,
GNUNET_break (0);
commit (GNUNET_DB_STATUS_HARD_ERROR);
GNUNET_SCHEDULER_shutdown ();
+ hh = NULL;
return GNUNET_SYSERR;
}
memcpy (in_wire_off,
diff --git a/src/wire/plugin_wire_test.c b/src/wire/plugin_wire_test.c
index e9d5ad0..1a7443b 100644
--- a/src/wire/plugin_wire_test.c
+++ b/src/wire/plugin_wire_test.c
@@ -872,7 +872,6 @@ bhist_cb (void *cls,
NULL,
0,
NULL);
- whh->hh = NULL;
GNUNET_free (whh);
break;
default:
@@ -885,7 +884,6 @@ bhist_cb (void *cls,
NULL,
0,
NULL);
- whh->hh = NULL;
GNUNET_free (whh);
break;
}
@@ -970,6 +968,7 @@ test_get_history (void *cls,
GNUNET_free (whh);
return NULL;
}
+
return whh;
}
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-exchange] branch master updated: fix issue in wire auditor's history processing,
gnunet <=