]> git.sur5r.net Git - openldap/commitdiff
ITS#6466
authorQuanah Gibson-Mount <quanah@openldap.org>
Wed, 14 Apr 2010 20:12:15 +0000 (20:12 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Wed, 14 Apr 2010 20:12:15 +0000 (20:12 +0000)
CHANGES
servers/slapd/schema_init.c

diff --git a/CHANGES b/CHANGES
index 15d4896d1c5410524b23620192155ee43c5dba3b..bcb099b4db24a582413369bf856416096000f6ad 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,7 @@ OpenLDAP 2.4 Change Log
 
 OpenLDAP 2.4.22 Engineering
        Added slapd SLAP_SCHEMA_EXPOSE flag for hidden schema elements (ITS#6435)
+       Fixed slapd certificateListValidate (ITS#6466)
        Fixed slapd REP_ENTRY flag handling (ITS#5340)
        Fixed slapd sasl auxprop_lookup (ITS#6441)
        Fixed slapo-collect REP_ENTRY flag handling (ITS#5340,ITS#6423)
index 9275d039a0802bfd4712e4ca5e783bf0a1681bbe..dc7fb9c5838b550c89fa17bc040c5235ded40f72 100644 (file)
@@ -326,9 +326,12 @@ certificateListValidate( Syntax *syntax, struct berval *in )
        /* revokedCertificates - Sequence of Sequence, Optional */
        if ( tag == LBER_SEQUENCE ) {
                ber_len_t seqlen;
-               if ( ber_peek_tag( ber, &seqlen ) == LBER_SEQUENCE ) {
-                       /* Should NOT be empty */
-                       ber_skip_data( ber, len );
+               ber_tag_t stag;
+               stag = ber_peek_tag( ber, &seqlen );
+               if ( stag == LBER_SEQUENCE || !len ) {
+                       /* RFC5280 requires non-empty, but X.509(2005) allows empty. */
+                       if ( len )
+                               ber_skip_data( ber, len );
                        tag = ber_skip_tag( ber, &len );
                }
        }