Home | History | Annotate | Download | only in asn1

Lines Matching full:len

68 static int asn1_check_eoc(const unsigned char **in, long len);
69 static int asn1_find_end(const unsigned char **in, long len, char inf);
71 static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len,
78 const unsigned char **in, long len,
83 const unsigned char **in, long len,
87 const unsigned char **in, long len,
91 const unsigned char **in, long len,
127 const unsigned char **in, long len, const ASN1_ITEM *it)
134 if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0)
140 const unsigned char **in, long len, const ASN1_TEMPLATE *tt)
144 return asn1_template_ex_d2i(pval, in, len, tt, 0, &c);
152 int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
193 return asn1_template_ex_d2i(pval, in, len,
196 return asn1_d2i_ex_primitive(pval, in, len, it,
204 &p, len, -1, 0, 1, ctx);
231 return asn1_d2i_ex_primitive(pval, in, len,
237 return ef->asn1_ex_d2i(pval, in, len,
256 &p, len, exptag, aclass, 1, ctx);
296 ptmpval = cf->asn1_d2i(pval, in, len);
328 ret = asn1_template_ex_d2i(pchptr, &p, len, tt, 1, ctx);
366 tmplen = len;
374 /* Get SEQUENCE length and update len, p */
375 ret = asn1_check_tlen(&len, NULL, NULL, &seq_eoc, &cst,
376 &p, len, tag, aclass, opt, ctx);
387 len = tmplen - (p - *in);
419 if (!len)
422 if (asn1_check_eoc(&p, len))
430 len -= p - q;
447 ret = asn1_template_ex_d2i(pseqval, &p, len,
463 len -= p - q;
467 if (seq_eoc && !asn1_check_eoc(&p, len))
473 if (!seq_nolen && len)
538 long len;
556 ret = asn1_check_tlen(&len, NULL, NULL, &exp_eoc, &cst,
574 ret = asn1_template_noexp_d2i(val, &p, len, tt, 0, ctx);
582 len -= p - q;
586 if (!asn1_check_eoc(&p, len))
597 if (len)
618 const unsigned char **in, long len,
653 ret = asn1_check_tlen(&len, NULL, NULL, &sk_eoc, NULL,
654 &p, len, sktag, skaclass, opt, ctx);
686 while(len > 0)
691 if (asn1_check_eoc(&p, len))
699 len -= p - q;
704 if (!ASN1_item_ex_d2i(&skfield, &p, len,
712 len -= p - q;
729 ret = ASN1_item_ex_d2i(val, &p, len,
743 ret = ASN1_item_ex_d2i(val, &p, len, ASN1_ITEM_ptr(tt->item),
774 long len;
859 len = p - cont;
863 len = p - cont + plen;
884 len = buf.length;
886 if (!BUF_MEM_grow_clean(&buf, len + 1))
892 buf.data[len] = 0;
899 len = plen;
904 if (!asn1_ex_c2i(pval, cont, len, utype, &free_cont, it))
916 int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
928 return pf->prim_c2i(pval, cont, len, utype, free_cont, it);
950 if (!c2i_ASN1_OBJECT((ASN1_OBJECT **)pval, &cont, len))
955 if (len)
965 if (len != 1)
980 if (!c2i_ASN1_BIT_STRING((ASN1_BIT_STRING **)pval, &cont, len))
989 if (!c2i_ASN1_INTEGER(tint, &cont, len))
1013 if (utype == V_ASN1_BMPSTRING && (len & 1))
1019 if (utype == V_ASN1_UNIVERSALSTRING && (len & 3))
1048 stmp->length = len;
1053 if (!ASN1_STRING_set(stmp, cont, len))
1086 static int asn1_find_end(const unsigned char **in, long len, char inf)
1094 *in += len;
1103 while (len > 0)
1105 if(asn1_check_eoc(&p, len))
1110 len -= 2;
1115 if(!asn1_check_tlen(&plen, NULL, NULL, &inf, NULL, &p, len,
1125 len -= p - q;
1136 * type into a buffer. The values of 'in' and 'len' should refer
1151 static int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len,
1163 *in += len;
1166 while(len > 0)
1170 if (asn1_check_eoc(&p, len))
1185 len, tag, aclass, 0, NULL))
1206 len -= p - q;
1219 int len;
1222 len = buf->length;
1223 if (!BUF_MEM_grow_clean(buf, len + plen))
1228 memcpy(buf->data + len, *p, plen);
1236 static int asn1_check_eoc(const unsigned char **in, long len)
1239 if (len < 2) return 0;
1258 const unsigned char **in, long len,
1279 i = ASN1_get_object(&p, &plen, &ptag, &pclass, len);
1291 if (!(i & 0x81) && ((plen + ctx->hdrlen) > len))
1325 plen = len - (p - q);