merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit fe526b04be90d67d0623dcf9e05b0705cc236b44
parent c3d513011bbe09a154289abd2cf6d4d238fa2a07
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 21 Dec 2025 20:23:11 +0100

fix #10765: do not require MFA if the admin is deleting an instance

Diffstat:
Msrc/backend/taler-merchant-httpd_private-delete-instances-ID.c | 24++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-delete-instances-ID.c b/src/backend/taler-merchant-httpd_private-delete-instances-ID.c @@ -28,20 +28,22 @@ * Handle a DELETE "/instances/$ID" request. * * @param[in,out] hc http request context + * @param mfa_check true if a MFA check is required * @param mi instance to delete * @param connection the MHD connection to handle * @return MHD result code */ static MHD_RESULT delete_instances_ID (struct TMH_HandlerContext *hc, + bool mfa_check, struct TMH_MerchantInstance *mi, struct MHD_Connection *connection) { - const char *purge_s; bool purge; enum GNUNET_DB_QueryStatus qs; GNUNET_assert (NULL != mi); + if (mfa_check) { enum GNUNET_GenericReturnValue ret = TMH_mfa_check_simple (hc, @@ -56,13 +58,17 @@ delete_instances_ID (struct TMH_HandlerContext *hc, } } - purge_s = MHD_lookup_connection_value (connection, - MHD_GET_ARGUMENT_KIND, - "purge"); - if (NULL == purge_s) - purge_s = "no"; - purge = (0 == strcasecmp (purge_s, - "yes")); + { + const char *purge_s; + + purge_s = MHD_lookup_connection_value (connection, + MHD_GET_ARGUMENT_KIND, + "purge"); + if (NULL == purge_s) + purge_s = "no"; + purge = (0 == strcasecmp (purge_s, + "yes")); + } if (purge) qs = TMH_db->purge_instance (TMH_db->cls, mi->settings.id); @@ -123,6 +129,7 @@ TMH_private_delete_instances_ID ( (void) rh; return delete_instances_ID (hc, + true, mi, connection); } @@ -147,6 +154,7 @@ TMH_private_delete_instances_default_ID ( hc->infix); } return delete_instances_ID (hc, + false, mi, connection); }