diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/taler-merchant-httpd.c | 3 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd.h | 2 | ||||
-rw-r--r-- | src/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 index d259d5cb..b6d3af42 100644 --- 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 index 060fd26e..ffb075ac 100644 --- 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 index d2e95e51..ed1eea19 100644 --- 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", |