add logic to report generation for missing auditor signatures
This commit is contained in:
parent
fe232f1fed
commit
0e74fbef8d
@ -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
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user