static int generate_spc_pe_image_data(cms_context *cms, SECItem *spidp) { SpcPeImageData spid; SECITEM_AllocItem(cms->arena, &spid.flags, 1); if (!spid.flags.data) return -1; spid.flags.data[0] = 0; char obsolete[28] = ""; int rc; rc = generate_spc_link(cms, &spid.link, SpcLinkTypeFile, obsolete, 0); if (rc < 0) return rc; if (SEC_ASN1EncodeItem(cms->arena, spidp, &spid, SpcPeImageDataTemplate) == NULL) { cms->log(cms, LOG_ERR, "could not encode SpcPeImageData: %s", PORT_ErrorToString(PORT_GetError())); return -1; } /* XXX OMG FIX THIS */ /* manually bang it from NULL to BIT STRING because I can't figure out * how to make the f*****g templates work right for the bitstring size */ spidp->data[2] = DER_BIT_STRING; return 0; }
static int generate_spc_pe_image_data(PRArenaPool *arena, SECItem *spidp) { SpcPeImageData spid; SECITEM_AllocItem(arena, &spid.flags, 1); if (!spid.flags.data) return -1; spid.flags.data[0] = 0; char obsolete[28] = "\0<\0<\0<\0O\0b\0s\0o\0l\0e\0t\0e\0>\0>\0>"; if (generate_spc_link(arena, &spid.link, SpcLinkTypeFile, obsolete, 28) < 0) { fprintf(stderr, "got here %s:%d\n",__func__,__LINE__); return -1; } if (SEC_ASN1EncodeItem(arena, spidp, &spid, SpcPeImageDataTemplate) == NULL) { fprintf(stderr, "Could not encode SpcPeImageData: %s\n", PORT_ErrorToString(PORT_GetError())); return -1; } /* XXX OMG FIX THIS */ /* manually bang it from NULL to BIT STRING because I can't figure out * how to make the f*****g templates work right for the bitstring size */ spidp->data[2] = DER_BIT_STRING; return 0; }