提交 7241a4c7 编写于 作者: V Viktor Dukhovni 提交者: Dr. Stephen Henson

Enforce _X509_CHECK_FLAG_DOT_SUBDOMAINS internal-only

上级 3b77f017
...@@ -584,13 +584,9 @@ static void skip_prefix(const unsigned char **p, size_t *plen, ...@@ -584,13 +584,9 @@ static void skip_prefix(const unsigned char **p, size_t *plen,
* If subject starts with a leading '.' followed by more octets, and * If subject starts with a leading '.' followed by more octets, and
* pattern is longer, compare just an equal-length suffix with the * pattern is longer, compare just an equal-length suffix with the
* full subject (starting at the '.'), provided the prefix contains * full subject (starting at the '.'), provided the prefix contains
* no NULs. (We check again that subject starts with '.' and * no NULs.
* contains at least one subsequent character, just in case the
* internal _X509_CHECK_FLAG_DOT_SUBDOMAINS flag was erroneously
* set by the user).
*/ */
if ((flags & _X509_CHECK_FLAG_DOT_SUBDOMAINS) == 0 || if ((flags & _X509_CHECK_FLAG_DOT_SUBDOMAINS) == 0)
subject_len <= 1 || subject[0] != '.')
return; return;
while (pattern_len > subject_len && *pattern) while (pattern_len > subject_len && *pattern)
...@@ -895,6 +891,9 @@ static int do_x509_check(X509 *x, const unsigned char *chk, size_t chklen, ...@@ -895,6 +891,9 @@ static int do_x509_check(X509 *x, const unsigned char *chk, size_t chklen,
int alt_type; int alt_type;
int san_present = 0; int san_present = 0;
equal_fn equal; equal_fn equal;
/* See below, this flag is internal-only */
flags &= ~_X509_CHECK_FLAG_DOT_SUBDOMAINS;
if (check_type == GEN_EMAIL) if (check_type == GEN_EMAIL)
{ {
cnid = NID_pkcs9_emailAddress; cnid = NID_pkcs9_emailAddress;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册