Update from 1.0.0-stable.
This commit is contained in:
parent
43e12b6f1c
commit
8132d3ac40
@ -173,16 +173,16 @@ int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Ensure canonical encoding is present */
|
/* Ensure canonical encoding is present and up to date */
|
||||||
|
|
||||||
if (!a->canon_enc)
|
if (!a->canon_enc || a->modified)
|
||||||
{
|
{
|
||||||
ret = i2d_X509_NAME((X509_NAME *)a, NULL);
|
ret = i2d_X509_NAME((X509_NAME *)a, NULL);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!b->canon_enc)
|
if (!b->canon_enc || b->modified)
|
||||||
{
|
{
|
||||||
ret = i2d_X509_NAME((X509_NAME *)b, NULL);
|
ret = i2d_X509_NAME((X509_NAME *)b, NULL);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -376,6 +376,11 @@ static int nc_match_single(GENERAL_NAME *gen, GENERAL_NAME *base)
|
|||||||
|
|
||||||
static int nc_dn(X509_NAME *nm, X509_NAME *base)
|
static int nc_dn(X509_NAME *nm, X509_NAME *base)
|
||||||
{
|
{
|
||||||
|
/* Ensure canonical encodings are up to date. */
|
||||||
|
if (nm->modified && i2d_X509_NAME(nm, NULL) < 0)
|
||||||
|
return X509_V_ERR_OUT_OF_MEM;
|
||||||
|
if (base->modified && i2d_X509_NAME(base, NULL) < 0)
|
||||||
|
return X509_V_ERR_OUT_OF_MEM;
|
||||||
if (base->canon_enclen > nm->canon_enclen)
|
if (base->canon_enclen > nm->canon_enclen)
|
||||||
return X509_V_ERR_PERMITTED_VIOLATION;
|
return X509_V_ERR_PERMITTED_VIOLATION;
|
||||||
if (memcmp(base->canon_enc, nm->canon_enc, base->canon_enclen))
|
if (memcmp(base->canon_enc, nm->canon_enc, base->canon_enclen))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user