diff options
Diffstat (limited to 'src/core/gnunet-service-core.c')
-rw-r--r-- | src/core/gnunet-service-core.c | 26 |
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; |