gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: add logic to report generation f


From: gnunet
Subject: [taler-exchange] branch master updated: add logic to report generation for missing auditor signatures
Date: Tue, 22 Dec 2020 18:38:17 +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 0e74fbef add logic to report generation for missing auditor signatures
0e74fbef is described below

commit 0e74fbef8dff6b0ab8dde4619c74366ae55267a5
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue Dec 22 18:38:14 2020 +0100

    add logic to report generation for missing auditor signatures
---
 contrib/auditor-report.tex.j2            | 33 ++++++++++++++++++++++++++++++++
 src/auditor/taler-helper-auditor-coins.c | 32 +++++++++++++++++++++++++------
 2 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/contrib/auditor-report.tex.j2 b/contrib/auditor-report.tex.j2
index 5aade17d..d9604051 100644
--- a/contrib/auditor-report.tex.j2
+++ b/contrib/auditor-report.tex.j2
@@ -967,6 +967,39 @@ with respect to outgoing wire transfers.
 
 \section{Minor irregularities}
 
+\subsection{Denominations without auditor signature}
+
+This section highlights denomination keys that lack a proper
+signature from the {\t taler-auditor-offline} tool. This may be
+legitimate, say in case where the auditor's involvement in the
+exchange business is ending and a new auditor is responsible for
+future denomnations. So this must be read with a keen eye on the
+business situation.
+
+
+{% if coins.unsigned_denominations() == 0 %}
+  {\bf All denominations officially audited by this auditor.}
+{% else %}
+  \begin{longtable}{p{6cm}|r|r|r}
+  {\bf Denomination} & {\bf Value} & {\bf Start} & {\bf End} \\ \hline \hline
+\endfirsthead
+  {\bf Denomination} & {\bf Value} & {\bf Start} & {\bf End} \\ \hline \hline
+\endhead
+  \hline \hline
+  {\bf Denomination} & {\bf Value} & {\bf Start} & {\bf End} \\ \hline \hline
+\endfoot
+  \caption{Denominations not officially audited by this auditor.}
+  \label{table:denominations:denoms_without_signatures}
+\endlastfoot
+{% for item in coins.unsigned_denominations %}
+ {\tt \tiny {{ item.denomination }} } &
+  {{ item.value }} &
+  {{ item.start_time }} &
+  {{ item.end_time }} \\ \hline
+{% endfor %}
+  \end{longtable}
+{% endif %}
+
 \subsection{Incorrect reserve balance summary in database}
 
 This section highlights cases where the reserve balance summary
diff --git a/src/auditor/taler-helper-auditor-coins.c 
b/src/auditor/taler-helper-auditor-coins.c
index fe9cf774..a63426f7 100644
--- a/src/auditor/taler-helper-auditor-coins.c
+++ b/src/auditor/taler-helper-auditor-coins.c
@@ -74,6 +74,11 @@ static json_t *report_emergencies_by_count;
  */
 static json_t *report_row_inconsistencies;
 
+/**
+ * Array of reports about denominations not counter-signed by the auditor.
+ */
+static json_t *report_denominations_without_sigs;
+
 /**
  * Report about amount calculation differences (causing profit
  * or loss at the exchange).
@@ -2262,10 +2267,19 @@ check_denomination (
           &TALER_ARL_auditor_pub,
           &auditor_sig))
     {
-      // FIXME: add properly to audit report!
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                  "Exchange has invalid signature from this auditor for 
denomination `%s' in its database!\n",
-                  GNUNET_h2s (&issue->denom_hash));
+      TALER_ARL_report (report_denominations_without_sigs,
+                        json_pack ("{s:o, s:o, s:o, s:o}",
+                                   "denomination",
+                                   GNUNET_JSON_from_data_auto (
+                                     &issue->denom_hash),
+                                   "value",
+                                   TALER_JSON_from_amount (&coin_value),
+                                   "start_time",
+                                   TALER_ARL_json_from_time_abs_nbo (
+                                     issue->start),
+                                   "end_time",
+                                   TALER_ARL_json_from_time_abs_nbo (
+                                     issue->expire_legal)));
     }
   }
 }
@@ -2580,6 +2594,8 @@ run (void *cls,
                  (report_emergencies_by_count = json_array ()));
   GNUNET_assert (NULL !=
                  (report_row_inconsistencies = json_array ()));
+  GNUNET_assert (NULL !=
+                 (report_denominations_without_sigs = json_array ()));
   GNUNET_assert (NULL !=
                  (report_amount_arithmetic_inconsistencies =
                     json_array ()));
@@ -2602,7 +2618,8 @@ run (void *cls,
                       " s:o, s:o, s:o, s:o, s:o,"
                       " s:I, s:I, s:I, s:I, s:I,"
                       " s:I, s:I, s:I, s:I, s:I,"
-                      " s:I, s:I, s:o, s:o, s:o}",
+                      " s:I, s:I, s:o, s:o, s:o,"
+                      " s:o}",
                       /* Block #1 */
                       "total_escrow_balance",
                       TALER_JSON_from_amount (&total_escrow_balance),
@@ -2703,7 +2720,10 @@ run (void *cls,
                         GNUNET_TIME_absolute_get ()),
                       "total_irregular_recoups",
                       TALER_JSON_from_amount (
-                        &total_irregular_recoups)
+                        &total_irregular_recoups),
+                      /* Block #8 */
+                      "unsigned_denominations",
+                      report_denominations_without_sigs
                       );
   GNUNET_break (NULL != report);
   TALER_ARL_done (report);

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]