openssl/crypto/x509v3
Fraser Tweedale c23e497da7 Support GeneralSubtrees with minimum = 0
The Name Constraints extension contains GeneralSubtree values
indicating included or excluded subtrees.  It is defined as:

  GeneralSubtree ::= SEQUENCE {
    base                    GeneralName,
    minimum         [0]     BaseDistance DEFAULT 0,
    maximum         [1]     BaseDistance OPTIONAL }

RFC 5280 further specifies:

  Within this profile, the minimum and maximum fields are not used with
  any name forms, thus, the minimum MUST be zero, and maximum MUST be
  absent.

Because the minimum fields has DEFAULT 0, and certificates should be
encoded using DER, the situation where minimum = 0 occurs in a
certificate should not arise.  Nevertheless, it does arise.  For
example, I have seen certificates issued by Microsoft programs that
contain GeneralSubtree values encoded thus.

Enhance the Name Constraints matching routine to handle the case
where minimum is specified.  If present, it must be zero.  The
maximum field remains prohibited.

Reviewed-by: Paul Yang <yang.yang@baishancloud.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7039)
2018-10-27 12:11:41 +08:00
..
build.info Declare a new x509v3 extension: x509ExtAdmission 2017-06-20 09:25:30 -04:00
ext_dat.h Declare a new x509v3 extension: x509ExtAdmission 2017-06-20 09:25:30 -04:00
pcy_cache.c Harmonize use of sk_TYPE_find's return value. 2018-08-07 08:56:54 +02:00
pcy_data.c Update copyright year 2018-05-01 13:34:30 +01:00
pcy_int.h Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
pcy_lib.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
pcy_map.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
pcy_node.c Harmonize use of sk_TYPE_find's return value. 2018-08-07 08:56:54 +02:00
pcy_tree.c Harmonize use of sk_TYPE_find's return value. 2018-08-07 08:56:54 +02:00
standard_exts.h Declare a new x509v3 extension: x509ExtAdmission 2017-06-20 09:25:30 -04:00
v3_addr.c Avoid out-of-bounds read 2017-08-28 13:26:26 -04:00
v3_admis.c Update copyright year 2018-02-13 13:59:25 +00:00
v3_admis.h Remove __cplusplus preamble from internal headers 2018-06-22 12:24:59 +02:00
v3_akey.c Don't leak memory in v2i_AUTHORITY_KEYID 2016-06-01 18:00:53 +01:00
v3_akeya.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
v3_alt.c remove magic number 2017-11-13 07:52:35 -05:00
v3_asid.c Update copyright year 2018-02-27 13:59:42 +00:00
v3_bcons.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
v3_bitst.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
v3_conf.c Update copyright year 2018-02-27 13:59:42 +00:00
v3_cpols.c Update copyright year 2018-05-01 13:34:30 +01:00
v3_crld.c Simplify the stack reservation 2017-10-26 14:34:35 -04:00
v3_enum.c Remove trailing whitespace from some files. 2016-10-10 23:36:21 +01:00
v3_extku.c Simplify the stack reservation 2017-10-26 14:34:35 -04:00
v3_genn.c Fix memory leak in GENERAL_NAME_set0_othername. 2017-10-23 17:46:02 +02:00
v3_ia5.c Specify array sizes 2016-06-11 16:43:49 +02:00
v3_info.c Consistent formatting for sizeof(foo) 2017-12-07 19:11:49 -05:00
v3_int.c Constify input buffers of some X509V3 and X509_PURPOSE -related methods 2016-06-15 13:22:38 -04:00
v3_lib.c Update copyright year 2018-09-11 13:45:17 +01:00
v3_ncons.c Support GeneralSubtrees with minimum = 0 2018-10-27 12:11:41 +08:00
v3_pci.c Standardize Levitte's dual-license 2017-06-15 14:16:16 -04:00
v3_pcia.c Standardize Levitte's dual-license 2017-06-15 14:16:16 -04:00
v3_pcons.c Copyright consolidation 07/10 2016-05-17 14:51:26 -04:00
v3_pku.c Remove some commented out code in libcrypto 2017-02-28 16:02:11 +00:00
v3_pmaps.c Simplify the stack reservation 2017-10-26 14:34:35 -04:00
v3_prn.c Convert X509_CRL* functions to use const getters 2016-08-17 13:38:03 +01:00
v3_purp.c x509v3/v3_purp.c: refine lock-free check in x509v3_cache_extensions. 2018-08-26 17:47:49 +02:00
v3_skey.c Remove trailing whitespace from some files. 2016-10-10 23:36:21 +01:00
v3_sxnet.c Constify SXNET_add_id_* 2016-07-25 08:20:00 -04:00
v3_tlsf.c Update copyright year 2018-09-11 13:45:17 +01:00
v3_utl.c Pretty-print large INTEGERs and ENUMERATEDs in hex. 2017-11-25 09:23:34 -05:00
v3err.c Add missing error code when alloc-return-null 2018-04-26 12:27:46 -04:00