Lines Matching +defs:t +defs:e +defs:p

37  * All decoding functions take a pointer `p' to first position in
45 der_get_unsigned (const unsigned char *p, size_t len,
51 if (len == sizeof(val) + 1 && p[0] == 0)
57 val = val * 256 + *p++;
64 der_get_unsigned64 (const unsigned char *p, size_t len,
70 if (len == sizeof(val) + 1 && p[0] == 0)
76 val = val * 256 + *p++;
83 der_get_integer (const unsigned char *p, size_t len,
93 val = (signed char)*p++;
95 val = val * 256 + *p++;
103 der_get_integer64 (const unsigned char *p, size_t len,
113 val = (signed char)*p++;
115 val = val * 256 + *p++;
123 der_get_length (const unsigned char *p, size_t len,
131 v = *p++;
136 int e;
148 e = der_get_unsigned (p, v, &tmp, &l);
149 if(e) return e;
157 der_get_boolean(const unsigned char *p, size_t len, int *data, size_t *size)
161 if(*p != 0)
170 der_get_general_string (const unsigned char *p, size_t len,
176 p1 = memchr(p, 0, len);
183 while ((size_t)(p1 - p) < len && *p1 == '\0')
185 if ((size_t)(p1 - p) != len)
194 memcpy (s, p, len);
202 der_get_utf8string (const unsigned char *p, size_t len,
205 return der_get_general_string(p, len, str, size);
209 der_get_printable_string(const unsigned char *p, size_t len,
216 memcpy(str->data, p, len);
223 der_get_ia5_string(const unsigned char *p, size_t len,
226 return der_get_printable_string(p, len, str, size);
230 der_get_bmp_string (const unsigned char *p, size_t len,
245 data->data[i] = (p[0] << 8) | p[1];
246 p += 2;
261 der_get_universal_string (const unsigned char *p, size_t len,
276 data->data[i] = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
277 p += 4;
291 der_get_visible_string (const unsigned char *p, size_t len,
294 return der_get_general_string(p, len, str, size);
298 der_get_octet_string (const unsigned char *p, size_t len,
305 memcpy (data->data, p, len);
311 der_get_octet_string_ber (const unsigned char *p, size_t len,
314 int e;
324 e = der_get_tag (p, len, &class, &type, &tag, &l);
325 if (e) goto out;
327 e = ASN1_BAD_ID;
336 e = ASN1_BAD_ID;
340 p += l;
342 e = der_get_length (p, len, &datalen, &l);
343 if (e) goto out;
344 p += l;
355 e = ENOMEM;
359 memcpy(((unsigned char *)data->data) + data->length, p, datalen);
364 p += datalen;
375 return e;
380 der_get_heim_integer (const unsigned char *p, size_t len,
392 if (p[0] & 0x80) {
399 if (p[0] == 0xff) {
400 p++;
411 p += data->length - 1;
413 *q = *p ^ 0xff;
416 p--;
423 if (p[0] == 0) {
424 p++;
434 memcpy(data->data, p, data->length);
442 generalizedtime2time (const char *s, time_t *t)
461 *t = _der_timegm (&tm);
466 der_get_time (const unsigned char *p, size_t len,
470 int e;
478 memcpy(times, p, len);
480 e = generalizedtime2time(times, data);
483 return e;
487 der_get_generalized_time (const unsigned char *p, size_t len,
490 return der_get_time(p, len, data, size);
494 der_get_utctime (const unsigned char *p, size_t len,
497 return der_get_time(p, len, data, size);
501 der_get_oid (const unsigned char *p, size_t len,
519 data->components[0] = (*p) / 40;
520 data->components[1] = (*p) % 40;
522 ++p;
528 u1 = u * 128 + (*p++ % 128);
529 /* check that we don't overflow the element */
535 } while (len > 0 && p[-1] & 0x80);
538 if (n > 2 && p[-1] & 0x80) {
549 der_get_tag (const unsigned char *p, size_t len,
556 *class = (Der_class)(((*p) >> 6) & 0x03);
557 *type = (Der_type)(((*p) >> 5) & 0x01);
558 *tag = (*p) & 0x1f;
559 p++; len--; ret++;
567 continuation = *p & 128;
568 tag1 = *tag * 128 + (*p % 128);
569 /* check that we don't overflow the tag */
573 p++; len--; ret++;
581 der_match_tag (const unsigned char *p, size_t len,
586 int e;
588 e = der_match_tag2(p, len, class, &thistype, tag, size);
589 if (e) return e;
595 der_match_tag2 (const unsigned char *p, size_t len,
602 int e;
604 e = der_get_tag (p, len, &thisclass, type, &thistag, &l);
605 if (e) return e;
617 der_match_tag_and_length (const unsigned char *p, size_t len,
622 int e;
624 e = der_match_tag2 (p, len, class, type, tag, &l);
625 if (e) return e;
626 p += l;
629 e = der_get_length (p, len, length_ret, &l);
630 if (e) return e;
647 * unfortunately this feature wasn't used with Kerberos.
662 der_get_bit_string (const unsigned char *p, size_t len,
667 if (p[0] > 7)
669 if (len - 1 == 0 && p[0] != 0)
681 memcpy (data->data, p + 1, len - 1);
682 data->length -= p[0];