merchant

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

commit 07b1256ee50440dd7034b1c41cbaada5aa59fc1a
parent 8f8d1a202d46c4315affbecdc683d9a3013be0c7
Author: Marcello Stanisci <marcello.stanisci@inria.fr>
Date:   Fri, 24 Jun 2016 13:53:14 +0200

- strdup'ing instance id
- fetching receiver's name from /track request

Diffstat:
Msrc/backend/taler-merchant-httpd.c | 3++-
Msrc/backend/taler-merchant-httpd.h | 2+-
Msrc/backend/taler-merchant-httpd_track-transaction.c | 7+++++++
3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c @@ -258,6 +258,7 @@ do_shutdown (void *cls) for (i=0; NULL != instances[i]; i++) { json_decref (instances[i]->j_wire); + GNUNET_free (instances[i]->id); GNUNET_free (instances[i]); } } @@ -455,7 +456,7 @@ instances_iterator_cb (void *cls, GNUNET_free (pk); /** To free or not to free **/ - mi->id = token + 1; + mi->id = GNUNET_strdup (token + 1); if (0 == strcmp ("default", mi->id)) iic->default_instance = GNUNET_YES; diff --git a/src/backend/taler-merchant-httpd.h b/src/backend/taler-merchant-httpd.h @@ -81,7 +81,7 @@ struct MerchantInstance { * the configuration is kept in memory, as it's as substring of * a section name */ - const char *id; + char *id; /** * File holding the merchant's private key diff --git a/src/backend/taler-merchant-httpd_track-transaction.c b/src/backend/taler-merchant-httpd_track-transaction.c @@ -773,6 +773,7 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh, struct TrackTransactionContext *tctx; unsigned long long transaction_id; const char *str; + const char *receiver; int ret; if (NULL == *connection_cls) @@ -824,6 +825,12 @@ MH_handler_track_transaction (struct TMH_RequestHandler *rh, if (NULL == str) return TMH_RESPONSE_reply_bad_request (connection, "id argument missing"); + receiver = MHD_lookup_connection_value (connection, + MHD_GET_ARGUMENT_KIND, + "receiver"); + if (NULL == receiver) + return TMH_RESPONSE_reply_bad_request (connection, + "receiver argument missing"); if (1 != sscanf (str, "%llu",