removed obsolete init_rdn()/get_next_rdn() functions
authorMartin Willi <martin@strongswan.org>
Mon, 6 Jul 2009 10:47:18 +0000 (12:47 +0200)
committerMartin Willi <martin@strongswan.org>
Mon, 6 Jul 2009 11:15:29 +0000 (13:15 +0200)
src/libstrongswan/utils/identification.c

index f79fa79..bbfb1d8 100644 (file)
@@ -268,130 +268,6 @@ static enumerator_t* create_part_enumerator(private_identification_t *this)
 }
 
 /**
- * Pointer is set to the first RDN in a DN
- */
-static bool init_rdn(chunk_t dn, chunk_t *rdn, chunk_t *attribute, bool *next)
-{
-       *rdn = chunk_empty;
-       *attribute = chunk_empty;
-       
-       /* a DN is a SEQUENCE OF RDNs */
-       if (*dn.ptr != ASN1_SEQUENCE)
-       {
-               /* DN is not a SEQUENCE */
-               return FALSE;
-       }
-       
-       rdn->len = asn1_length(&dn);
-       
-       if (rdn->len == ASN1_INVALID_LENGTH)
-       {
-               /* Invalid RDN length */
-               return FALSE;
-       }
-       
-       rdn->ptr = dn.ptr;
-       
-       /* are there any RDNs ? */
-       *next = rdn->len > 0;
-       
-       return TRUE;
-}
-
-/**
- * Fetches the next RDN in a DN
- */
-static bool get_next_rdn(chunk_t *rdn, chunk_t * attribute, chunk_t *oid,
-                                                chunk_t *value, asn1_t *type, bool *next)
-{
-       chunk_t body;
-       
-       /* initialize return values */
-       *oid   = chunk_empty;
-       *value = chunk_empty;
-       
-       /* if all attributes have been parsed, get next rdn */
-       if (attribute->len <= 0)
-       {
-               /* an RDN is a SET OF attributeTypeAndValue */
-               if (*rdn->ptr != ASN1_SET)
-               {
-                       /* RDN is not a SET */
-                       return FALSE;
-               }
-               attribute->len = asn1_length(rdn);
-               if (attribute->len == ASN1_INVALID_LENGTH)
-               {
-                       /* Invalid attribute length */
-                       return FALSE;
-               }
-               attribute->ptr = rdn->ptr;
-               /* advance to start of next RDN */
-               rdn->ptr += attribute->len;
-               rdn->len -= attribute->len;
-       }
-       
-       /* an attributeTypeAndValue is a SEQUENCE */
-       if (*attribute->ptr != ASN1_SEQUENCE)
-       {
-               /* attributeTypeAndValue is not a SEQUENCE */
-               return FALSE;
-       }
-       
-       /* extract the attribute body */
-       body.len = asn1_length(attribute);
-       
-       if (body.len == ASN1_INVALID_LENGTH)
-       {
-               /* Invalid attribute body length */
-               return FALSE;
-       }
-       
-       body.ptr = attribute->ptr;
-       
-       /* advance to start of next attribute */
-       attribute->ptr += body.len;
-       attribute->len -= body.len;
-       
-       /* attribute type is an OID */
-       if (*body.ptr != ASN1_OID)
-       {
-               /* attributeType is not an OID */
-               return FALSE;
-       }
-       /* extract OID */
-       oid->len = asn1_length(&body);
-       
-       if (oid->len == ASN1_INVALID_LENGTH)
-       {
-               /* Invalid attribute OID length */
-               return FALSE;
-       }
-       oid->ptr = body.ptr;
-       
-       /* advance to the attribute value */
-       body.ptr += oid->len;
-       body.len -= oid->len;
-
-       /* extract string type */
-       *type = *body.ptr;
-       
-       /* extract string value */
-       value->len = asn1_length(&body);
-       
-       if (value->len == ASN1_INVALID_LENGTH)
-       {
-               /* Invalid attribute string length */
-               return FALSE;
-       }
-       value->ptr = body.ptr;
-       
-       /* are there any RDNs left? */
-       *next = rdn->len > 0 || attribute->len > 0;
-       return TRUE;
-}
-
-/**
  * Print a DN with all its RDN in a buffer to present it to the user
  */
 static void dntoa(chunk_t dn, char *buf, size_t len)