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}
|
\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}
|
\subsection{Incorrect reserve balance summary in database}
|
||||||
|
|
||||||
This section highlights cases where the reserve balance summary
|
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;
|
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
|
* Report about amount calculation differences (causing profit
|
||||||
* or loss at the exchange).
|
* or loss at the exchange).
|
||||||
@ -2262,10 +2267,19 @@ check_denomination (
|
|||||||
&TALER_ARL_auditor_pub,
|
&TALER_ARL_auditor_pub,
|
||||||
&auditor_sig))
|
&auditor_sig))
|
||||||
{
|
{
|
||||||
// FIXME: add properly to audit report!
|
TALER_ARL_report (report_denominations_without_sigs,
|
||||||
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
|
json_pack ("{s:o, s:o, s:o, s:o}",
|
||||||
"Exchange has invalid signature from this auditor for denomination `%s' in its database!\n",
|
"denomination",
|
||||||
GNUNET_h2s (&issue->denom_hash));
|
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 ()));
|
(report_emergencies_by_count = json_array ()));
|
||||||
GNUNET_assert (NULL !=
|
GNUNET_assert (NULL !=
|
||||||
(report_row_inconsistencies = json_array ()));
|
(report_row_inconsistencies = json_array ()));
|
||||||
|
GNUNET_assert (NULL !=
|
||||||
|
(report_denominations_without_sigs = json_array ()));
|
||||||
GNUNET_assert (NULL !=
|
GNUNET_assert (NULL !=
|
||||||
(report_amount_arithmetic_inconsistencies =
|
(report_amount_arithmetic_inconsistencies =
|
||||||
json_array ()));
|
json_array ()));
|
||||||
@ -2602,7 +2618,8 @@ run (void *cls,
|
|||||||
" s:o, s:o, s:o, s:o, s:o,"
|
" 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: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 */
|
/* Block #1 */
|
||||||
"total_escrow_balance",
|
"total_escrow_balance",
|
||||||
TALER_JSON_from_amount (&total_escrow_balance),
|
TALER_JSON_from_amount (&total_escrow_balance),
|
||||||
@ -2703,7 +2720,10 @@ run (void *cls,
|
|||||||
GNUNET_TIME_absolute_get ()),
|
GNUNET_TIME_absolute_get ()),
|
||||||
"total_irregular_recoups",
|
"total_irregular_recoups",
|
||||||
TALER_JSON_from_amount (
|
TALER_JSON_from_amount (
|
||||||
&total_irregular_recoups)
|
&total_irregular_recoups),
|
||||||
|
/* Block #8 */
|
||||||
|
"unsigned_denominations",
|
||||||
|
report_denominations_without_sigs
|
||||||
);
|
);
|
||||||
GNUNET_break (NULL != report);
|
GNUNET_break (NULL != report);
|
||||||
TALER_ARL_done (report);
|
TALER_ARL_done (report);
|
||||||
|
Loading…
Reference in New Issue
Block a user