aboutsummaryrefslogtreecommitdiff
path: root/src/exchangedb
diff options
context:
space:
mode:
authorChristian Grothoff <grothoff@gnunet.org>2024-03-08 18:43:54 +0100
committerChristian Grothoff <grothoff@gnunet.org>2024-03-08 18:43:54 +0100
commit9a5a961622c22e26d0378279c1b5fdaa886c6063 (patch)
tree1767051f4154eeea2aa8c6058ec245948746f0f1 /src/exchangedb
parent2c3d548b4850b96275d73a9703b076d37551a706 (diff)
downloadexchange-9a5a961622c22e26d0378279c1b5fdaa886c6063.tar.xz
fix account update failing to persist wire signature and then breaking that wire account for good
Diffstat (limited to 'src/exchangedb')
-rw-r--r--src/exchangedb/pg_update_wire.c5
-rw-r--r--src/exchangedb/pg_update_wire.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/exchangedb/pg_update_wire.c b/src/exchangedb/pg_update_wire.c
index f3b074686..439c92d4f 100644
--- a/src/exchangedb/pg_update_wire.c
+++ b/src/exchangedb/pg_update_wire.c
@@ -33,6 +33,7 @@ TEH_PG_update_wire (void *cls,
const json_t *debit_restrictions,
const json_t *credit_restrictions,
struct GNUNET_TIME_Timestamp change_date,
+ const struct TALER_MasterSignatureP *master_sig,
bool enabled)
{
struct PostgresClosure *pg = cls;
@@ -49,6 +50,9 @@ TEH_PG_update_wire (void *cls,
? TALER_PQ_query_param_json (credit_restrictions)
: GNUNET_PQ_query_param_null (),
GNUNET_PQ_query_param_timestamp (&change_date),
+ NULL == master_sig
+ ? GNUNET_PQ_query_param_null ()
+ : GNUNET_PQ_query_param_auto_from_type (master_sig),
GNUNET_PQ_query_param_end
};
@@ -61,6 +65,7 @@ TEH_PG_update_wire (void *cls,
" ,debit_restrictions=$4"
" ,credit_restrictions=$5"
" ,last_change=$6"
+ " ,master_sig=$7"
" WHERE payto_uri=$1");
return GNUNET_PQ_eval_prepared_non_select (pg->conn,
"update_wire",
diff --git a/src/exchangedb/pg_update_wire.h b/src/exchangedb/pg_update_wire.h
index ecdbc405a..9c30816e6 100644
--- a/src/exchangedb/pg_update_wire.h
+++ b/src/exchangedb/pg_update_wire.h
@@ -36,6 +36,7 @@
* @param credit_restrictions JSON array with credit restrictions on the account; NULL allowed if not @a enabled
* @param change_date date when the account status was last changed
* (only to be used for replay detection)
+ * @param master_sig master signature to store, can be NULL (if @a enabled is false)
* @param enabled true to enable, false to disable (the actual change)
* @return transaction status code
*/
@@ -46,6 +47,7 @@ TEH_PG_update_wire (void *cls,
const json_t *debit_restrictions,
const json_t *credit_restrictions,
struct GNUNET_TIME_Timestamp change_date,
+ const struct TALER_MasterSignatureP *master_sig,
bool enabled);
#endif