exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 6f89492bbf6b4f0ab4bd0e7997a30600a59cd81f
parent aacfd9e56fa39ce6a63c521d3341d5865a7bdba6
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue, 30 Jun 2026 00:08:53 +0200

fix use of suppressed on table that lacks it

Diffstat:
Msrc/auditordb/get_exchange_signkeys.c | 65++++++++++++++++++++++++++---------------------------------------
Msrc/include/auditor-database/get_exchange_signkeys.h | 26++++++--------------------
2 files changed, 32 insertions(+), 59 deletions(-)

diff --git a/src/auditordb/get_exchange_signkeys.c b/src/auditordb/get_exchange_signkeys.c @@ -66,23 +66,20 @@ exchange_signkeys_cb (void *cls, for (unsigned int i = 0; i < num_results; i++) { uint64_t serial_id; - struct TALER_AUDITORDB_ExchangeSignkeys dc; - struct GNUNET_PQ_ResultSpec rs[] = { - - GNUNET_PQ_result_spec_uint64 ("row_id", &serial_id), - - GNUNET_PQ_result_spec_auto_from_type ("exchange_pub", &dc.exchange_pub), - GNUNET_PQ_result_spec_auto_from_type ("master_sig", &dc.master_sig), - GNUNET_PQ_result_spec_absolute_time ("ep_valid_from", &dc.ep_valid_from), + GNUNET_PQ_result_spec_uint64 ("row_id", + &serial_id), + GNUNET_PQ_result_spec_auto_from_type ("exchange_pub", + &dc.exchange_pub), + GNUNET_PQ_result_spec_auto_from_type ("master_sig", + &dc.master_sig), + GNUNET_PQ_result_spec_absolute_time ("ep_valid_from", + &dc.ep_valid_from), GNUNET_PQ_result_spec_absolute_time ("ep_expire_sign", &dc.ep_expire_sign), GNUNET_PQ_result_spec_absolute_time ("ep_expire_legal", &dc.ep_expire_legal), - GNUNET_PQ_result_spec_bool ("suppressed", &dc.suppressed), - - GNUNET_PQ_result_spec_end }; enum GNUNET_GenericReturnValue rval; @@ -110,20 +107,16 @@ exchange_signkeys_cb (void *cls, enum GNUNET_DB_QueryStatus -TALER_AUDITORDB_get_exchange_signkeys (struct TALER_AUDITORDB_PostgresContext * - pg, - int64_t limit, - uint64_t offset, - bool return_suppressed, // maybe not needed - TALER_AUDITORDB_ExchangeSignkeysCallback - cb, - void *cb_cls) +TALER_AUDITORDB_get_exchange_signkeys ( + struct TALER_AUDITORDB_PostgresContext *pg, + int64_t limit, + uint64_t offset, + TALER_AUDITORDB_ExchangeSignkeysCallback cb, + void *cb_cls) { - uint64_t plimit = (uint64_t) ((limit < 0) ? -limit : limit); struct GNUNET_PQ_QueryParam params[] = { GNUNET_PQ_query_param_uint64 (&offset), - GNUNET_PQ_query_param_bool (return_suppressed), GNUNET_PQ_query_param_uint64 (&plimit), GNUNET_PQ_query_param_end }; @@ -142,13 +135,11 @@ TALER_AUDITORDB_get_exchange_signkeys (struct TALER_AUDITORDB_PostgresContext * " master_sig," " ep_valid_from," " ep_expire_sign," - " ep_expire_legal," - " suppressed" + " ep_expire_legal" " FROM auditor_exchange_signkeys" " WHERE (row_id < $1)" - " AND ($2 OR suppressed is false)" " ORDER BY row_id DESC" - " LIMIT $3" + " LIMIT $2" ); PREPARE (pg, "auditor_exchange_signkeys_get_asc", @@ -158,24 +149,20 @@ TALER_AUDITORDB_get_exchange_signkeys (struct TALER_AUDITORDB_PostgresContext * " master_sig," " ep_valid_from," " ep_expire_sign," - " ep_expire_legal," - " suppressed" + " ep_expire_legal" " FROM auditor_exchange_signkeys" " WHERE (row_id > $1)" - " AND ($2 OR suppressed is false)" " ORDER BY row_id ASC" - " LIMIT $3" + " LIMIT $2" ); - qs = GNUNET_PQ_eval_prepared_multi_select (pg->conn, - (limit > 0) - ? - "auditor_exchange_signkeys_get_asc" - : - "auditor_exchange_signkeys_get_desc", - params, - &exchange_signkeys_cb, - &dcc); - + qs = GNUNET_PQ_eval_prepared_multi_select ( + pg->conn, + (limit > 0) + ? "auditor_exchange_signkeys_get_asc" + : "auditor_exchange_signkeys_get_desc", + params, + &exchange_signkeys_cb, + &dcc); if (qs > 0) return dcc.qs; GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR != qs); diff --git a/src/include/auditor-database/get_exchange_signkeys.h b/src/include/auditor-database/get_exchange_signkeys.h @@ -13,8 +13,6 @@ You should have received a copy of the GNU General Public License along with TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ - - #ifndef AUDITOR_DATABASE_GET_EXCHANGE_SIGNKEYS_H #define AUDITOR_DATABASE_GET_EXCHANGE_SIGNKEYS_H @@ -31,8 +29,6 @@ struct TALER_AUDITORDB_ExchangeSignkeys struct GNUNET_TIME_Absolute ep_valid_from; struct GNUNET_TIME_Absolute ep_expire_sign; struct GNUNET_TIME_Absolute ep_expire_legal; - bool suppressed; - }; typedef enum GNUNET_GenericReturnValue @@ -42,32 +38,22 @@ typedef enum GNUNET_GenericReturnValue const struct TALER_AUDITORDB_ExchangeSignkeys *dc); -/* Callback typedefs */ -typedef enum GNUNET_GenericReturnValue -(*TALER_AUDITORDB_ExchangeSignkeysCallback)( - void *cls, - uint64_t serial_id, - const struct TALER_AUDITORDB_ExchangeSignkeys *dc); - /** * Get information about exchange-signkeys from the database. * * @param pg the database context * @param limit number of records to return, negative for descending * @param offset table row to start from, exclusive, direction determined by @a limit - * @param return_suppressed should suppressed rows be returned anyway? * @param cb function to call with results * @param cb_cls closure for @a cb * @return query result status */ enum GNUNET_DB_QueryStatus -TALER_AUDITORDB_get_exchange_signkeys (struct TALER_AUDITORDB_PostgresContext * - pg, - int64_t limit, - uint64_t offset, - bool return_suppressed, - TALER_AUDITORDB_ExchangeSignkeysCallback - cb, - void *cb_cls); +TALER_AUDITORDB_get_exchange_signkeys ( + struct TALER_AUDITORDB_PostgresContext *pg, + int64_t limit, + uint64_t offset, + TALER_AUDITORDB_ExchangeSignkeysCallback cb, + void *cb_cls); #endif