diff options
author | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2017-07-09 19:25:54 +0200 |
---|---|---|
committer | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2017-07-09 19:25:54 +0200 |
commit | 0e13b88e8f727543317f80757646606bf8269983 (patch) | |
tree | c7f620bfaf2ce02307f55afe61f2c17c8158a83d | |
parent | 32b2ebbdc17d168f3ab60ff72b6b5ea64951422c (diff) | |
parent | cfc492f5d6c7c5786bd5d033892238a6889b5d7d (diff) | |
download | gnunet-0e13b88e8f727543317f80757646606bf8269983.tar.gz gnunet-0e13b88e8f727543317f80757646606bf8269983.zip |
-merge
-rw-r--r-- | src/include/gnunet_crypto_lib.h | 4 | ||||
-rw-r--r-- | src/util/crypto_abe.c | 19 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/include/gnunet_crypto_lib.h b/src/include/gnunet_crypto_lib.h index 4d00103ab..69f6ce5d4 100644 --- a/src/include/gnunet_crypto_lib.h +++ b/src/include/gnunet_crypto_lib.h | |||
@@ -2138,6 +2138,8 @@ GNUNET_CRYPTO_rsa_verify (const struct GNUNET_HashCode *hash, | |||
2138 | */ | 2138 | */ |
2139 | struct GNUNET_CRYPTO_AbeMasterKey * | 2139 | struct GNUNET_CRYPTO_AbeMasterKey * |
2140 | GNUNET_CRYPTO_cpabe_create_master_key (void); | 2140 | GNUNET_CRYPTO_cpabe_create_master_key (void); |
2141 | void | ||
2142 | GNUNET_CRYPTO_cpabe_delete_master_key (struct GNUNET_CRYPTO_AbeMasterKey *key); | ||
2141 | 2143 | ||
2142 | /** | 2144 | /** |
2143 | * @ingroup crypto | 2145 | * @ingroup crypto |
@@ -2148,6 +2150,8 @@ GNUNET_CRYPTO_cpabe_create_master_key (void); | |||
2148 | struct GNUNET_CRYPTO_AbeKey * | 2150 | struct GNUNET_CRYPTO_AbeKey * |
2149 | GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *msk, | 2151 | GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *msk, |
2150 | char **attrs); | 2152 | char **attrs); |
2153 | void | ||
2154 | GNUNET_CRYPTO_cpabe_delete_key (struct GNUNET_CRYPTO_AbeKey *key); | ||
2151 | 2155 | ||
2152 | 2156 | ||
2153 | /** | 2157 | /** |
diff --git a/src/util/crypto_abe.c b/src/util/crypto_abe.c index f835a38dd..ddaec83eb 100644 --- a/src/util/crypto_abe.c +++ b/src/util/crypto_abe.c | |||
@@ -148,6 +148,14 @@ GNUNET_CRYPTO_cpabe_create_master_key (void) | |||
148 | return key; | 148 | return key; |
149 | } | 149 | } |
150 | 150 | ||
151 | void | ||
152 | GNUNET_CRYPTO_cpabe_delete_master_key (struct GNUNET_CRYPTO_AbeMasterKey *key) | ||
153 | { | ||
154 | g_byte_array_unref (key->msk); | ||
155 | g_byte_array_unref (key->pub); | ||
156 | GNUNET_free (key); | ||
157 | } | ||
158 | |||
151 | struct GNUNET_CRYPTO_AbeKey* | 159 | struct GNUNET_CRYPTO_AbeKey* |
152 | GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *key, | 160 | GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *key, |
153 | char **attrs) | 161 | char **attrs) |
@@ -171,13 +179,21 @@ GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *key, | |||
171 | return prv_key; | 179 | return prv_key; |
172 | } | 180 | } |
173 | 181 | ||
182 | void | ||
183 | GNUNET_CRYPTO_cpabe_delete_key (struct GNUNET_CRYPTO_AbeKey *key) | ||
184 | { | ||
185 | g_byte_array_unref (key->prv); | ||
186 | g_byte_array_unref (key->pub); | ||
187 | GNUNET_free (key); | ||
188 | } | ||
189 | |||
174 | ssize_t | 190 | ssize_t |
175 | write_cpabe (void **result, GByteArray* cph_buf, | 191 | write_cpabe (void **result, GByteArray* cph_buf, |
176 | uint32_t file_len, GByteArray* aes_buf) | 192 | uint32_t file_len, GByteArray* aes_buf) |
177 | { | 193 | { |
178 | char *ptr; | 194 | char *ptr; |
179 | uint32_t *len; | 195 | uint32_t *len; |
180 | int i; | 196 | |
181 | *result = GNUNET_malloc (12 + cph_buf->len + aes_buf->len); | 197 | *result = GNUNET_malloc (12 + cph_buf->len + aes_buf->len); |
182 | ptr = *result; | 198 | ptr = *result; |
183 | len = (uint32_t*) ptr; | 199 | len = (uint32_t*) ptr; |
@@ -198,7 +214,6 @@ write_cpabe (void **result, GByteArray* cph_buf, | |||
198 | ssize_t | 214 | ssize_t |
199 | read_cpabe (const void *data, GByteArray** cph_buf, GByteArray** aes_buf) | 215 | read_cpabe (const void *data, GByteArray** cph_buf, GByteArray** aes_buf) |
200 | { | 216 | { |
201 | int i; | ||
202 | int buf_len; | 217 | int buf_len; |
203 | int tmp_len; | 218 | int tmp_len; |
204 | char *ptr; | 219 | char *ptr; |