diff options
author | Stef Walter <stefw@gnome.org> | 2013-05-21 21:46:27 +0200 |
---|---|---|
committer | Stef Walter <stefw@gnome.org> | 2013-05-27 10:46:11 +0200 |
commit | 96771f49dc945800ae28c77ff407753cbb995c7f (patch) | |
tree | 595d2bc1779c55b12912c32bd05920bff8d41e36 /trust/parser.c | |
parent | daf63f2cf66669b3555f2f15498a0aa2db234b2f (diff) | |
download | p11-kit-96771f49dc945800ae28c77ff407753cbb995c7f.tar.gz |
persist: Support for writing out p11-kit persist files
Diffstat (limited to 'trust/parser.c')
-rw-r--r-- | trust/parser.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/trust/parser.c b/trust/parser.c index 7690d6a..21b693b 100644 --- a/trust/parser.c +++ b/trust/parser.c @@ -675,10 +675,14 @@ parse_p11_kit_persist (p11_parser *parser, const unsigned char *data, size_t length) { + CK_BBOOL modifiablev = CK_FALSE; + CK_ATTRIBUTE *attrs; p11_array *objects; bool ret; int i; + CK_ATTRIBUTE modifiable = { CKA_MODIFIABLE, &modifiablev, sizeof (modifiablev) }; + if (!p11_persist_magic (data, length)) return P11_PARSE_UNRECOGNIZED; @@ -692,8 +696,10 @@ parse_p11_kit_persist (p11_parser *parser, ret = p11_persist_read (parser->persist, parser->basename, data, length, objects); if (ret) { - for (i = 0; i < objects->num; i++) - sink_object (parser, objects->elem[i]); + for (i = 0; i < objects->num; i++) { + attrs = p11_attrs_build (objects->elem[i], &modifiable, NULL); + sink_object (parser, attrs); + } } p11_array_free (objects); |