}
if ((result =
- asn1_der_decoding(&tmpasn, value, value_size,
+ _asn1_strict_der_decode(&tmpasn, value, value_size,
asn1_err)) != ASN1_SUCCESS) {
gnutls_assert();
- _gnutls_debug_log("asn1_der_decoding: %s\n", asn1_err);
+ _gnutls_debug_log("_asn1_strict_der_decode: %s\n", asn1_err);
asn1_delete_structure(&tmpasn);
return _gnutls_asn2err(result);
}
int _gnutls_check_if_sorted(gnutls_x509_crt_t * crt, int nr);
+inline static int _asn1_strict_der_decode (asn1_node * element, const void *ider,
+ int len, char *errorDescription)
+{
+ return asn1_der_decoding2(element, ider, &len, ASN1_DECODE_FLAG_STRICT_DER, errorDescription);
+}
+
#endif
crl->expanded = 1;
result =
- asn1_der_decoding(&crl->crl, crl->der.data, crl->der.size, NULL);
+ _asn1_strict_der_decode(&crl->crl, crl->der.data, crl->der.size, NULL);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret = asn1_der_decoding(c2, id.data, id.size, NULL);
+ ret = _asn1_strict_der_decode(c2, id.data, id.size, NULL);
_gnutls_free_datum(&id);
if (ret != ASN1_SUCCESS) {
}
result =
- asn1_der_decoding(&crq->crq, _data.data, _data.size, NULL);
+ _asn1_strict_der_decode(&crq->crq, _data.data, _data.size, NULL);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
goto cleanup;
}
- result = asn1_der_decoding(&c2, buf, buf_size, NULL);
+ result = _asn1_strict_der_decode(&c2, buf, buf_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
goto out;
}
- result = asn1_der_decoding(&c2, extensions, extensions_size, NULL);
+ result = _asn1_strict_der_decode(&c2, extensions, extensions_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&c2);
goto cleanup;
}
- result = asn1_der_decoding(&c2, extensions, extensions_size, NULL);
+ result = _asn1_strict_der_decode(&c2, extensions, extensions_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, dnsname.data, dnsname.size, NULL);
+ result = _asn1_strict_der_decode(&c2, dnsname.data, dnsname.size, NULL);
gnutls_free(dnsname.data);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, prev.data, prev.size, NULL);
+ result = _asn1_strict_der_decode(&c2, prev.data, prev.size, NULL);
gnutls_free(prev.data);
if (result != ASN1_SUCCESS) {
gnutls_assert();
/* decode it.
*/
result =
- asn1_der_decoding(&c2, prev.data, prev.size, NULL);
+ _asn1_strict_der_decode(&c2, prev.data, prev.size, NULL);
gnutls_free(prev.data);
if (result != ASN1_SUCCESS) {
gnutls_assert();
int result;
char err[ASN1_MAX_ERROR_DESCRIPTION_SIZE];
- result = asn1_der_decoding((ASN1_TYPE *) & dn,
+ result = _asn1_strict_der_decode((ASN1_TYPE *) & dn,
data->data, data->size, err);
if (result != ASN1_SUCCESS) {
/* couldn't decode DER */
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&dn, idn->data, idn->size, NULL);
+ result = _asn1_strict_der_decode(&dn, idn->data, idn->size, NULL);
if (result != ASN1_SUCCESS) {
/* couldn't decode DER */
gnutls_assert();
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&dn, idn->data, idn->size, NULL);
+ result = _asn1_strict_der_decode(&dn, idn->data, idn->size, NULL);
if (result != ASN1_SUCCESS) {
/* couldn't decode DER */
gnutls_assert();
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&dn, idn->data, idn->size, NULL);
+ result = _asn1_strict_der_decode(&dn, idn->data, idn->size, NULL);
if (result != ASN1_SUCCESS) {
/* couldn't decode DER */
gnutls_assert();
if (extensions_size > 0) {
result =
- asn1_der_decoding(&c2, extensions, extensions_size,
+ _asn1_strict_der_decode(&c2, extensions, extensions_size,
NULL);
gnutls_free(extensions);
if (result != ASN1_SUCCESS) {
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&ext, extnValue, extnValueLen, NULL);
+ result = _asn1_strict_der_decode(&ext, extnValue, extnValueLen, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&ext);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&spk, der, dersize, NULL);
+ result = _asn1_strict_der_decode(&spk, der, dersize, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
}
if (req->init) {
- /* Any earlier asn1_der_decoding will modify the ASN.1
+ /* Any earlier _asn1_strict_der_decode will modify the ASN.1
structure, so we need to replace it with a fresh
structure. */
asn1_delete_structure(&req->req);
}
req->init = 1;
- ret = asn1_der_decoding(&req->req, data->data, data->size, NULL);
+ ret = _asn1_strict_der_decode(&req->req, data->data, data->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
if (resp->init != 0) {
- /* Any earlier asn1_der_decoding will modify the ASN.1
+ /* Any earlier _asn1_strict_der_decode will modify the ASN.1
structure, so we need to replace it with a fresh
structure. */
asn1_delete_structure(&resp->resp);
}
resp->init = 1;
- ret = asn1_der_decoding(&resp->resp, data->data, data->size, NULL);
+ ret = _asn1_strict_der_decode(&resp->resp, data->data, data->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
ret =
- asn1_der_decoding(&resp->basicresp, resp->der.data, resp->der.size,
+ _asn1_strict_der_decode(&resp->basicresp, resp->der.data, resp->der.size,
NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
}
result =
- asn1_der_decoding(&pkey_asn, raw_key->data, raw_key->size,
+ _asn1_strict_der_decode(&pkey_asn, raw_key->data, raw_key->size,
NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
}
ret =
- asn1_der_decoding(pkey_asn, raw_key->data, raw_key->size,
+ _asn1_strict_der_decode(pkey_asn, raw_key->data, raw_key->size,
NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
pkey->params.algo = GNUTLS_PK_DSA;
result =
- asn1_der_decoding(&dsa_asn, raw_key->data, raw_key->size,
+ _asn1_strict_der_decode(&dsa_asn, raw_key->data, raw_key->size,
NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
/* Decode the parameters.
*/
result =
- asn1_der_decoding(&pbes2_asn, data, data_size, NULL);
+ _asn1_strict_der_decode(&pbes2_asn, data, data_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
/* Decode the parameters.
*/
result =
- asn1_der_decoding(&pbes2_asn, data, data_size, NULL);
+ _asn1_strict_der_decode(&pbes2_asn, data, data_size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
}
result =
- asn1_der_decoding(&pkcs8_asn, raw_key->data, raw_key->size,
+ _asn1_strict_der_decode(&pkcs8_asn, raw_key->data, raw_key->size,
NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
}
result =
- asn1_der_decoding(&pkcs8_asn, raw_key->data, raw_key->size,
+ _asn1_strict_der_decode(&pkcs8_asn, raw_key->data, raw_key->size,
NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
goto error;
}
- result = asn1_der_decoding(&pkcs8_asn, der->data, der->size, NULL);
+ result = _asn1_strict_der_decode(&pkcs8_asn, der->data, der->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
}
result =
- asn1_der_decoding(&pbkdf2_asn, &der->data[params_start],
+ _asn1_strict_der_decode(&pbkdf2_asn, &der->data[params_start],
params_len, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
}
result =
- asn1_der_decoding(&pbe_asn, &der->data[params_start],
+ _asn1_strict_der_decode(&pbe_asn, &der->data[params_start],
params_len, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
}
if (cert->expanded) {
- /* Any earlier asn1_der_decoding will modify the ASN.1
+ /* Any earlier _asn1_strict_der_decode will modify the ASN.1
structure, so we need to replace it with a fresh
structure. */
result = crt_reinit(cert);
cert->expanded = 1;
result =
- asn1_der_decoding(&cert->cert, cert->der.data, cert->der.size, NULL);
+ _asn1_strict_der_decode(&cert->cert, cert->der.data, cert->der.size, NULL);
if (result != ASN1_SUCCESS) {
result = _gnutls_asn2err(result);
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret = asn1_der_decoding(&c2, aia.data, aia.size, NULL);
+ ret = _asn1_strict_der_decode(&c2, aia.data, aia.size, NULL);
/* asn1_print_structure (stdout, c2, "", ASN1_PRINT_ALL); */
_gnutls_free_datum(&aia);
if (ret != ASN1_SUCCESS) {
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
return _gnutls_asn2err(ret);
}
- ret = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ ret = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
asn1_delete_structure(&c2);
goto cleanup;
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
result = _gnutls_asn2err(result);
goto cleanup;
}
- ret = asn1_der_decoding(&c2, data, size, NULL);
+ ret = _asn1_strict_der_decode(&c2, data, size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = GNUTLS_E_PARSING_ERROR;
goto cleanup;
}
- ret = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ ret = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(ret);
}
- ret = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ ret = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (ret != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(ret);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, ext->data, ext->size, NULL);
+ result = _asn1_strict_der_decode(&c2, ext->data, ext->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);
return _gnutls_asn2err(result);
}
- result = asn1_der_decoding(&c2, der->data, der->size, NULL);
+ result = _asn1_strict_der_decode(&c2, der->data, der->size, NULL);
if (result != ASN1_SUCCESS) {
gnutls_assert();
ret = _gnutls_asn2err(result);