Solely use raw X.509 name data references including SEQUENCE header

So far, the CRT frame structure `mbedtls_x509_crt_frame` used
as `issuer_raw` and `subject_raw` the _content_ of the ASN.1
name structure for issuer resp. subject. This was in contrast
to the fields `issuer_raw` and `subject_raw` from the legacy
`mbedtls_x509_crt` structure, and caused some information
duplication by having both variants `xxx_no_hdr` and `xxx_with_hdr`
in `mbedtls_x509_crt` and `mbedtls_x509_crt_frame`.

This commit removes this mismatch by solely using the legacy
form of `issuer_raw` and `subject_raw`, i.e. those _including_
the ASN.1 name header.
diff --git a/library/x509_crt.c b/library/x509_crt.c
index fb5265a..bd452b6 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -126,8 +126,10 @@
     frame->serial.len = crt->serial.len;
     frame->pubkey_raw.p   = crt->pk_raw.p;
     frame->pubkey_raw.len = crt->pk_raw.len;
-    frame->issuer_raw = crt->issuer_raw_no_hdr;
-    frame->subject_raw = crt->subject_raw_no_hdr;
+    frame->issuer_raw.p = crt->issuer_raw.p;
+    frame->issuer_raw.len = crt->issuer_raw.len;
+    frame->subject_raw.p = crt->subject_raw.p;
+    frame->subject_raw.len = crt->subject_raw.len;
     frame->issuer_id.p   = crt->issuer_id.p;
     frame->issuer_id.len = crt->issuer_id.len;
     frame->subject_id.p   = crt->subject_id.p;
@@ -136,10 +138,6 @@
     frame->sig.len = crt->sig.len;
     frame->v3_ext.p   = crt->v3_ext.p;
     frame->v3_ext.len = crt->v3_ext.len;
-    frame->issuer_raw_with_hdr.p   = crt->issuer_raw.p;
-    frame->issuer_raw_with_hdr.len = crt->issuer_raw.len;
-    frame->subject_raw_with_hdr.p   = crt->subject_raw.p;
-    frame->subject_raw_with_hdr.len = crt->subject_raw.len;
 
     /* The legacy CRT structure doesn't explicitly contain
      * the `AlgorithmIdentifier` bounds; however, those can
@@ -1185,15 +1183,14 @@
      *
      * RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
      */
-    frame->issuer_raw_with_hdr.p = p;
+    frame->issuer_raw.p = p;
 
     ret = mbedtls_asn1_get_tag( &p, end, &len,
                        MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE );
     if( ret != 0 )
         return( ret + MBEDTLS_ERR_X509_INVALID_FORMAT );
-    frame->issuer_raw.p   = p;
-    frame->issuer_raw.len = len;
     p += len;
+    frame->issuer_raw.len = p - frame->issuer_raw.p;
 
     ret = mbedtls_x509_name_cmp_raw( &frame->issuer_raw,
                                      &frame->issuer_raw,
@@ -1201,8 +1198,6 @@
     if( ret != 0 )
         return( ret );
 
-    frame->issuer_raw_with_hdr.len = p - frame->issuer_raw_with_hdr.p;
-
     /*
      * Validity ::= SEQUENCE { ...
      */
@@ -1218,15 +1213,14 @@
      *
      * RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
      */
-    frame->subject_raw_with_hdr.p = p;
+    frame->subject_raw.p = p;
 
     ret = mbedtls_asn1_get_tag( &p, end, &len,
                        MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE );
     if( ret != 0 )
         return( ret + MBEDTLS_ERR_X509_INVALID_FORMAT );
-    frame->subject_raw.p   = p;
-    frame->subject_raw.len = len;
     p += len;
+    frame->subject_raw.len = p - frame->subject_raw.p;
 
     ret = mbedtls_x509_name_cmp_raw( &frame->subject_raw,
                                      &frame->subject_raw,
@@ -1234,8 +1228,6 @@
     if( ret != 0 )
         return( ret );
 
-    frame->subject_raw_with_hdr.len = p - frame->subject_raw_with_hdr.p;
-
     /*
      * SubjectPublicKeyInfo
      */
@@ -1317,19 +1309,17 @@
 static int x509_crt_subject_from_frame( mbedtls_x509_crt_frame *frame,
                                         mbedtls_x509_name *subject )
 {
-    unsigned char *p = frame->subject_raw.p;
-    unsigned char *end = p + frame->subject_raw.len;
-
-    return( mbedtls_x509_get_name( &p, end, subject ) );
+    return( mbedtls_x509_get_name( frame->subject_raw.p,
+                                   frame->subject_raw.len,
+                                   subject ) );
 }
 
 static int x509_crt_issuer_from_frame( mbedtls_x509_crt_frame *frame,
                                        mbedtls_x509_name *issuer )
 {
-    unsigned char *p = frame->issuer_raw.p;
-    unsigned char *end = p + frame->issuer_raw.len;
-
-    return( mbedtls_x509_get_name( &p, end, issuer ) );
+    return( mbedtls_x509_get_name( frame->issuer_raw.p,
+                                   frame->issuer_raw.len,
+                                   issuer ) );
 }
 
 static int x509_crt_subject_alt_from_frame( mbedtls_x509_crt_frame *frame,
@@ -1453,12 +1443,10 @@
     crt->tbs.len = frame->tbs.len;
     crt->serial.p   = frame->serial.p;
     crt->serial.len = frame->serial.len;
-    crt->issuer_raw.p   = frame->issuer_raw_with_hdr.p;
-    crt->issuer_raw.len = frame->issuer_raw_with_hdr.len;
-    crt->subject_raw.p   = frame->subject_raw_with_hdr.p;
-    crt->subject_raw.len = frame->subject_raw_with_hdr.len;
-    crt->issuer_raw_no_hdr = frame->issuer_raw;
-    crt->subject_raw_no_hdr = frame->subject_raw;
+    crt->issuer_raw.p   = frame->issuer_raw.p;
+    crt->issuer_raw.len = frame->issuer_raw.len;
+    crt->subject_raw.p   = frame->subject_raw.p;
+    crt->subject_raw.len = frame->subject_raw.len;
     crt->issuer_id.p   = frame->issuer_id.p;
     crt->issuer_id.len = frame->issuer_id.len;
     crt->subject_id.p   = frame->subject_id.p;
@@ -2561,7 +2549,7 @@
     while( crl_list != NULL )
     {
         if( crl_list->version == 0 ||
-            mbedtls_x509_name_cmp_raw( &crl_list->issuer_raw_no_hdr,
+            mbedtls_x509_name_cmp_raw( &crl_list->issuer_raw,
                                        &ca_subject, NULL, NULL ) != 0 )
         {
             crl_list = crl_list->next;