summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/taler-merchant-httpd.c')
-rw-r--r--src/backend/taler-merchant-httpd.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c
index 5f0a887c..afff8285 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -60,7 +60,7 @@ struct GNUNET_HashCode h_wire;
/**
* Merchant's private key
*/
-struct GNUNET_CRYPTO_EddsaPrivateKey *privkey;
+struct TALER_MerchantPrivateKeyP privkey;
/**
* Merchant's public key
@@ -276,8 +276,6 @@ do_shutdown (void *cls)
}
TMH_EXCHANGES_done ();
TMH_AUDITORS_done ();
- if (NULL != keyfile)
- GNUNET_free (privkey);
if (NULL != j_wire)
{
json_decref (j_wire);
@@ -491,6 +489,7 @@ run (void *cls,
{
char *wireformat;
int fh;
+ struct GNUNET_CRYPTO_EddsaPrivateKey *pk;
wireformat = NULL;
result = GNUNET_SYSERR;
@@ -575,15 +574,17 @@ run (void *cls,
"Merchant private key `%s' does not exist yet, creating it!\n",
keyfile);
if (NULL ==
- (privkey =
+ (pk =
GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile)))
{
GNUNET_break (0);
GNUNET_SCHEDULER_shutdown ();
return;
}
- GNUNET_CRYPTO_eddsa_key_get_public (privkey,
+ privkey.eddsa_priv = *pk;
+ GNUNET_CRYPTO_eddsa_key_get_public (pk,
&pubkey.eddsa_pub);
+ GNUNET_free (pk);
if (NULL ==
(db = TALER_MERCHANTDB_plugin_load (config)))
{