New function ksba_cms_add_attribute.
* src/visibility.c (ksba_cms_add_attribute): New. * src/visibility.h (ksba_cms_add_attribute): New mapping. * src/libksba.def: Add new function. * src/libksba.vers: Ditto. * src/ksba.h.in: Ditto. * src/asn1-constants.h (TYPE_PRE_SET_OF): New. * src/asn1-func.c (_ksba_asn_is_primitive): Add TYPE_PRE_SET_OF. (_ksba_asn_node_dump): Ditto. * src/cms.h (struct oidparmlist_s): Add fields 'unprotected' and 'signeridx'. (struct ksba_cms_s): Add field attribute_list. * src/cms.c (ksba_cms_release): Free attribute_list. (ksba_cms_add_smime_capability): Clear new fields. (ksba_cms_add_attribute): New. (build_signed_data_attributes): Implement attribute output. * src/der-encoder.c (_ksba_der_store_set_of): New. (set_nhdr_and_len): Handle TYPE_PRE_SET_OF. (copy_nhdr_and_len): Ditto. (_ksba_der_encode_tree): Encode TYPE_PRE_SET_OF.
The new PRE_SET_OF thing is actually a verbatim copying of DER into
the tree.
- GnuPG-bug-id: T4537