merchant

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

commit 84bd5a2f569516ed9c8617b25da17cac7adeac44
parent 361f28341a7585acf6c4eb5c7e9db8b116993ae1
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun,  2 Aug 2026 20:53:06 +0200

avoid doubly URI-encoding arguments: TALER_url_join() already does URI-encoding

Diffstat:
Msrc/lib/merchant_api_get-private-orders.c | 24+++---------------------
Msrc/lib/merchant_api_get-private-products.c | 24+++---------------------
Msrc/lib/merchant_api_get-private-transfers.c | 2+-
3 files changed, 7 insertions(+), 43 deletions(-)

diff --git a/src/lib/merchant_api_get-private-orders.c b/src/lib/merchant_api_get-private-orders.c @@ -401,9 +401,6 @@ TALER_MERCHANT_get_private_orders_start ( / GNUNET_TIME_UNIT_MILLISECONDS.rel_value_us); { char dstr[30]; - char *fec = NULL; - char *sid = NULL; - char *sfilt = NULL; bool have_date; bool have_srow; char cbuf[30]; @@ -430,18 +427,6 @@ TALER_MERCHANT_get_private_orders_start ( sizeof (cbuf), "%llu", (unsigned long long) oph->offset); - if (NULL != oph->session_id) - (void) GNUNET_STRINGS_urlencode (strlen (oph->session_id), - oph->session_id, - &sid); - if (NULL != oph->fulfillment_url) - (void) GNUNET_STRINGS_urlencode (strlen (oph->fulfillment_url), - oph->fulfillment_url, - &fec); - if (NULL != oph->summary_filter) - (void) GNUNET_STRINGS_urlencode (strlen (oph->summary_filter), - oph->summary_filter, - &sfilt); GNUNET_snprintf (dstr, sizeof (dstr), "%llu", @@ -492,19 +477,16 @@ TALER_MERCHANT_get_private_orders_start ( ? tbuf : NULL, "session_id", - sid, + oph->session_id, "fulfillment_url", - fec, + oph->fulfillment_url, "summary_filter", - sfilt, + oph->summary_filter, "max_age_s", oph->have_max_age ? mabuf : NULL, NULL); - GNUNET_free (sid); - GNUNET_free (fec); - GNUNET_free (sfilt); } if (NULL == oph->url) return TALER_EC_GENERIC_CONFIGURATION_INVALID; diff --git a/src/lib/merchant_api_get-private-products.c b/src/lib/merchant_api_get-private-products.c @@ -328,9 +328,6 @@ TALER_MERCHANT_get_private_products_start ( gpph->cb = cb; gpph->cb_cls = cb_cls; { - char *cfilt = NULL; - char *nfilt = NULL; - char *dfilt = NULL; char lbuf[30]; char obuf[30]; char pgsbuf[30]; @@ -359,18 +356,6 @@ TALER_MERCHANT_get_private_products_start ( have_offset = gpph->have_offset && (INT64_MAX != gpph->offset); } - if (NULL != gpph->category_filter) - (void) GNUNET_STRINGS_urlencode (strlen (gpph->category_filter), - gpph->category_filter, - &cfilt); - if (NULL != gpph->name_filter) - (void) GNUNET_STRINGS_urlencode (strlen (gpph->name_filter), - gpph->name_filter, - &nfilt); - if (NULL != gpph->description_filter) - (void) GNUNET_STRINGS_urlencode (strlen (gpph->description_filter), - gpph->description_filter, - &dfilt); gpph->url = TALER_url_join (gpph->base_url, "private/products", "limit", @@ -382,19 +367,16 @@ TALER_MERCHANT_get_private_products_start ( ? obuf : NULL, "category_filter", - cfilt, + gpph->category_filter, "name_filter", - nfilt, + gpph->name_filter, "description_filter", - dfilt, + gpph->description_filter, "product_group_serial", gpph->have_product_group_serial ? pgsbuf : NULL, NULL); - GNUNET_free (cfilt); - GNUNET_free (nfilt); - GNUNET_free (dfilt); } if (NULL == gpph->url) { diff --git a/src/lib/merchant_api_get-private-transfers.c b/src/lib/merchant_api_get-private-transfers.c @@ -298,7 +298,7 @@ TALER_MERCHANT_get_private_transfers_set_options_ ( return GNUNET_OK; case TALER_MERCHANT_GET_PRIVATE_TRANSFERS_OPTION_PAYTO_URI: GNUNET_free (gth->payto_uri_enc); - gth->payto_uri_enc = TALER_urlencode ( + gth->payto_uri_enc = GNUNET_strdup ( opt->details.payto_uri.full_payto); break; case TALER_MERCHANT_GET_PRIVATE_TRANSFERS_OPTION_BEFORE: