aboutsummaryrefslogtreecommitdiff
path: root/src/core/gnunet-service-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/gnunet-service-core.c')
-rw-r--r--src/core/gnunet-service-core.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c
index 04e6d0141..34f8440ae 100644
--- a/src/core/gnunet-service-core.c
+++ b/src/core/gnunet-service-core.c
@@ -912,14 +912,15 @@ run (void *cls,
912 const struct GNUNET_CONFIGURATION_Handle *c, 912 const struct GNUNET_CONFIGURATION_Handle *c,
913 struct GNUNET_SERVICE_Handle *service) 913 struct GNUNET_SERVICE_Handle *service)
914{ 914{
915 struct GNUNET_CRYPTO_EddsaPrivateKey *pk; 915 struct GNUNET_CRYPTO_EddsaPrivateKey pk;
916 char *keyfile; 916 char *keyfile;
917 917
918 GSC_cfg = c; 918 GSC_cfg = c;
919 if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (GSC_cfg, 919 if (GNUNET_OK !=
920 "PEER", 920 GNUNET_CONFIGURATION_get_value_filename (GSC_cfg,
921 "PRIVATE_KEY", 921 "PEER",
922 &keyfile)) 922 "PRIVATE_KEY",
923 &keyfile))
923 { 924 {
924 GNUNET_log ( 925 GNUNET_log (
925 GNUNET_ERROR_TYPE_ERROR, 926 GNUNET_ERROR_TYPE_ERROR,
@@ -931,10 +932,19 @@ run (void *cls,
931 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); 932 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL);
932 GNUNET_SERVICE_suspend (service); 933 GNUNET_SERVICE_suspend (service);
933 GSC_TYPEMAP_init (); 934 GSC_TYPEMAP_init ();
934 pk = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); 935 if (GNUNET_SYSERR ==
936 GNUNET_CRYPTO_eddsa_key_from_file (keyfile,
937 GNUNET_YES,
938 &pk))
939 {
940 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
941 "Failed to setup peer's private key\n");
942 GNUNET_SCHEDULER_shutdown ();
943 GNUNET_free (keyfile);
944 return;
945 }
935 GNUNET_free (keyfile); 946 GNUNET_free (keyfile);
936 GNUNET_assert (NULL != pk); 947 if (GNUNET_OK != GSC_KX_init (&pk))
937 if (GNUNET_OK != GSC_KX_init (pk))
938 { 948 {
939 GNUNET_SCHEDULER_shutdown (); 949 GNUNET_SCHEDULER_shutdown ();
940 return; 950 return;