aboutsummaryrefslogtreecommitdiff
path: root/src/util/crypto_abe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/crypto_abe.c')
-rw-r--r--src/util/crypto_abe.c19
1 files changed, 17 insertions, 2 deletions
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
151void
152GNUNET_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
151struct GNUNET_CRYPTO_AbeKey* 159struct GNUNET_CRYPTO_AbeKey*
152GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *key, 160GNUNET_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
182void
183GNUNET_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
174ssize_t 190ssize_t
175write_cpabe (void **result, GByteArray* cph_buf, 191write_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,
198ssize_t 214ssize_t
199read_cpabe (const void *data, GByteArray** cph_buf, GByteArray** aes_buf) 215read_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;