Home | History | Annotate | Download | only in lib

Lines Matching refs:end

112                                 const char *beg, const char *end)
119 ending at `end'.
122 if(!beg || !end || beg >= end || !*beg ||
123 (size_t)(end - beg) > CURL_ASN1_MAX)
137 if(beg >= end)
144 effective length by skipping element until an end element is found. */
148 while(beg < end && *beg) {
149 beg = Curl_getASN1Element(&lelem, beg, end);
153 if(beg >= end)
155 elem->end = beg;
158 else if((unsigned)b > (size_t)(end - beg))
169 if(len > (size_t)(end - beg))
172 elem->end = beg + len;
173 return elem->end;
190 static const char *bool2str(const char *beg, const char *end)
196 if(end - beg != 1)
201 static const char *octet2str(const char *beg, const char *end)
203 size_t n = end - beg;
212 for(n = 0; beg < end; n += 3)
218 static const char *bit2str(const char *beg, const char *end)
223 if(++beg > end)
225 return octet2str(beg, end);
228 static const char *int2str(const char *beg, const char *end)
231 size_t n = end - beg;
241 return octet2str(beg, end);
249 while(beg < end);
254 utf8asn1str(char **to, int type, const char *from, const char *end)
256 size_t inlength = end - from;
303 for(outlength = 0; from < end;) {
345 static const char *string2str(int type, const char *beg, const char *end)
352 if(utf8asn1str(&buf, type, beg, end) < 0)
377 static int encodeOID(char *buf, int n, const char *beg, const char *end)
398 while(beg < end) {
416 static const char *OID2str(const char *beg, const char *end, bool symbolic)
425 if(beg < end) {
426 n = encodeOID((char *) NULL, -1, beg, end);
430 encodeOID(buf, n, beg, end);
446 static const char *GTime2str(const char *beg, const char *end)
458 for(fracp = beg; fracp < end && *fracp >= '0' && *fracp <= '9'; fracp++)
480 if(fracp < end && (*fracp == '.' || *fracp == ',')) {
484 while(tzp < end && *tzp >= '0' && *tzp <= '9');
491 if(tzp >= end)
495 end = tzp + 4;
502 tzl = end - tzp;
510 static const char *UTime2str(const char *beg, const char *end)
519 for(tzp = beg; tzp < end && *tzp >= '0' && *tzp <= '9'; tzp++)
533 if(tzp >= end)
537 end = tzp + 3;
542 tzl = end - tzp;
562 return bool2str(elem->beg, elem->end);
565 return int2str(elem->beg, elem->end);
567 return bit2str(elem->beg, elem->end);
569 end);
573 return OID2str(elem->beg, elem->end, TRUE);
575 return UTime2str(elem->beg, elem->end);
577 return GTime2str(elem->beg, elem->end);
586 return string2str(type, elem->beg, elem->end);
607 for(p1 = dn->beg; p1 < dn->end;) {
608 p1 = Curl_getASN1Element(&rdn, p1, dn->end);
609 for(p2 = rdn.beg; p2 < rdn.end;) {
610 p2 = Curl_getASN1Element(&atv, p2, rdn.end);
611 p3 = Curl_getASN1Element(&oid, atv.beg, atv.end);
612 Curl_getASN1Element(&value, p3, atv.end);
681 const char *beg, const char *end)
694 cert->certificate.end = end;
697 if(!Curl_getASN1Element(&elem, beg, end))
700 end = elem.end;
703 beg = Curl_getASN1Element(&tbsCertificate, beg, end);
705 beg = Curl_getASN1Element(&cert->signatureAlgorithm, beg, end);
707 Curl_getASN1Element(&cert->signature, beg, end);
711 end = tbsCertificate.end;
715 cert->version.end = &defaultVersion + sizeof defaultVersion;;
716 beg = Curl_getASN1Element(&elem, beg, end);
718 Curl_getASN1Element(&cert->version, elem.beg, elem.end);
719 beg = Curl_getASN1Element(&elem, beg, end);
723 beg = Curl_getASN1Element(&cert->signatureAlgorithm, beg, end);
725 beg = Curl_getASN1Element(&cert->issuer, beg, end);
727 beg = Curl_getASN1Element(&elem, beg, end);
728 ccp = Curl_getASN1Element(&cert->notBefore, elem.beg, elem.end);
729 Curl_getASN1Element(&cert->notAfter, ccp, elem.end);
731 beg = Curl_getASN1Element(&cert->subject, beg, end);
733 beg = Curl_getASN1Element(&cert->subjectPublicKeyInfo, beg, end);
736 cert->subjectPublicKeyInfo.end);
738 cert->subjectPublicKeyInfo.end);
743 cert->issuerUniqueID.beg = cert->issuerUniqueID.end = "";
744 cert->subjectUniqueID.beg = cert->subjectUniqueID.end = "";
746 cert->extensions.beg = cert->extensions.end = "";
747 if(beg < end)
748 beg = Curl_getASN1Element(&elem, beg, end);
751 if(beg < end)
752 beg = Curl_getASN1Element(&elem, beg, end);
756 if(beg < end)
757 beg = Curl_getASN1Element(&elem, beg, end);
760 Curl_getASN1Element(&cert->extensions, elem.beg, elem.end);
782 const char *beg, const char *end)
788 beg = Curl_getASN1Element(&oid, beg, end);
791 param->beg = param->end = end;
792 if(beg < end)
793 Curl_getASN1Element(param, beg, end);
794 return OID2str(oid.beg, oid.end, TRUE);
828 Curl_getASN1Element(&pk, pubkey->beg + 1, pubkey->end);
831 p = Curl_getASN1Element(&elem, pk.beg, pk.end);
833 for(q = elem.beg; !*q && q < elem.end; q++)
835 len = (unsigned long)((elem.end - q) * 8);
852 Curl_getASN1Element(&elem, p, pk.end);
856 p = Curl_getASN1Element(&elem, param->beg, param->end);
858 p = Curl_getASN1Element(&elem, p, param->end);
860 Curl_getASN1Element(&elem, p, param->end);
865 p = Curl_getASN1Element(&elem, param->beg, param->end);
867 Curl_getASN1Element(&elem, param->beg, param->end);
881 const char *end)
902 if(Curl_parseX509(&cert, beg, end))
927 for(ccp = cert.version.beg; ccp < cert.version.end; ccp++)
951 cert.signatureAlgorithm.end);
982 cert.subjectPublicKeyAlgorithm.end);
1006 cert.certificate.end - cert.certificate.beg,
1016 -----END CERTIFICATE-----\n
1028 i += copySubstring(cp2 + i, "-----END CERTIFICATE-----");
1043 static const char *checkOID(const char *beg, const char *end,
1054 ccp = Curl_getASN1Element(&e, beg, end);
1058 p = OID2str(e.beg, e.end, FALSE);
1068 const char *beg, const char *end)
1094 `beg'..`end'. */
1099 if(Curl_parseX509(&cert, beg, end))
1112 for(p = cert.extensions.beg; p < cert.extensions.end && matched != 1;) {
1113 p = Curl_getASN1Element(&ext, p, cert.extensions.end);
1115 ext.beg = checkOID(ext.beg, ext.end, sanOID);
1117 ext.beg = Curl_getASN1Element(&elem, ext.beg, ext.end);
1120 ext.beg = Curl_getASN1Element(&elem, ext.beg, ext.end);
1122 end);
1124 for(q = elem.beg; matched != 1 && q < elem.end;) {
1125 q = Curl_getASN1Element(&name, q, elem.end);
1129 name.beg, name.end);
1138 matched = (size_t) (name.end - q) == addrlen &&
1160 name.beg = name.end = "";
1164 while(q < cert.subject.end) {
1165 q = Curl_getASN1Element(&dn, q, cert.subject.end);
1166 for(p = dn.beg; p < dn.end;) {
1167 p = Curl_getASN1Element(&elem, p, dn.end);
1169 elem.beg = checkOID(elem.beg, elem.end, cnOID);
1176 if(!Curl_getASN1Element(&elem, name.beg, name.end))
1179 len = utf8asn1str(&dnsname, elem.tag, elem.beg, elem.end);