]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - gcrypt.c
crypto: Simplify asymetric key handling.
[paraslash.git] / gcrypt.c
index ba8aadc68e6ce7f7faf4822f186c6c5d22d1718c..8bbc82f3595c5da93c37bb44e72c09080d6f27db 100644 (file)
--- a/gcrypt.c
+++ b/gcrypt.c
@@ -659,8 +659,7 @@ free_blob:
        return ret;
 }
 
-int get_asymmetric_key(const char *key_file, int private,
-               struct asymmetric_key **result)
+int get_public_key(const char *key_file, struct asymmetric_key **result)
 {
        int ret, ret2;
        void *map;
@@ -669,8 +668,6 @@ int get_asymmetric_key(const char *key_file, int private,
        gcry_sexp_t sexp;
        struct asymmetric_key *key;
 
-       if (private)
-               return get_private_key(key_file, result);
        ret = mmap_full_file(key_file, O_RDONLY, &map, &map_size, NULL);
        if (ret < 0)
                return ret;
@@ -700,7 +697,7 @@ unmap:
        return ret;
 }
 
-void free_asymmetric_key(struct asymmetric_key *key)
+void free_public_key(struct asymmetric_key *key)
 {
        if (!key)
                return;
@@ -832,7 +829,8 @@ in_mpi_release:
 key_release:
        gcry_sexp_release(priv_key);
 free_key:
-       free_asymmetric_key(priv);
+       gcry_sexp_release(priv->sexp);
+       free(priv);
        return ret;
 }