| typedef struct chunk_t chunk_t; |
| struct chunk_t |
| { |
| unsigned char *ptr; |
| long unsigned int len; |
| }; |
| extern chunk_t asn1_wrap (chunk_t c, ...); |
| typedef struct linked_list_t linked_list_t; |
| chunk_t ietfAttr_list_encode (linked_list_t * list); |
| extern linked_list_t *groups; |
| static unsigned char ASN1_group_oid_str[] = { |
| 0x06 |
| }; |
| static const chunk_t ASN1_group_oid = { |
| ASN1_group_oid_str, sizeof (ASN1_group_oid_str) |
| }; |
| static chunk_t |
| build_attribute_type (const chunk_t type, chunk_t content) |
| { |
| return type; |
| } |
| static chunk_t |
| build_attributes (void) |
| { |
| return asn1_wrap (build_attribute_type (ASN1_group_oid, |
| ietfAttr_list_encode (groups))); |
| } |
| void build_attr_cert (void) |
| { |
| asn1_wrap (build_attributes ()); |
| } |