remove unnecessary cert list in st_ptls_client_hello_t
diff --git a/lib/picotls.c b/lib/picotls.c
index b77a525..445fa04 100644
--- a/lib/picotls.c
+++ b/lib/picotls.c
@@ -285,7 +285,7 @@
 
 #define MAX_UNKNOWN_EXTENSIONS 16
 #define MAX_CLIENT_CIPHERS 32
-#define MAX_SERVER_CERTIFICATE_TYPES 2
+
 struct st_ptls_client_hello_t {
     uint16_t legacy_version;
     const uint8_t *random_bytes;
@@ -336,10 +336,6 @@
         unsigned early_data_indication : 1;
         unsigned is_last_extension : 1;
     } psk;
-    struct {
-        uint8_t list[MAX_SERVER_CERTIFICATE_TYPES];
-        size_t count;
-    } supported_server_certificate_types;
     ptls_raw_extension_t unknown_extensions[MAX_UNKNOWN_EXTENSIONS + 1];
     unsigned status_request : 1;
 };
@@ -3316,14 +3312,14 @@
             break;
         case PTLS_EXTENSION_TYPE_SERVER_CERTIFICATE_TYPE:
             ptls_decode_block(src, end, 1, {
+                int found = 0;
                 for (size_t i = 0; i < end - src; i++) {
-                    if (*src == PTLS_CERTIFICATE_TYPE_X509 || *src == PTLS_CERTIFICATE_TYPE_RAW_PUBLIC_KEY)
-                        ch->supported_server_certificate_types.list[ch->supported_server_certificate_types.count++] = *src;
-                    if (ch->supported_server_certificate_types.count ==
-                        PTLS_ELEMENTSOF(ch->supported_server_certificate_types.list))
+                    if ((*src == PTLS_CERTIFICATE_TYPE_X509 && !tls->ctx->cert0_is_raw_certificate) || (*src == PTLS_CERTIFICATE_TYPE_RAW_PUBLIC_KEY && tls->ctx->cert0_is_raw_certificate)) {
+                        found = 1;
                         break;
+                    }
                 }
-                if (ch->supported_server_certificate_types.count == 0) {
+                if (!found) {
                     ret = PTLS_ALERT_UNSUPPORTED_CERTIFICATE;
                     goto Exit;
                 }
@@ -3681,7 +3677,7 @@
     }
 
     *ch = (struct st_ptls_client_hello_t){0,      NULL,   {NULL},     {NULL}, 0,     {NULL},   {NULL}, {NULL}, {{0}},
-                                          {NULL}, {NULL}, {{{NULL}}}, {{0}},  {{0}}, {{NULL}}, {NULL}, {{0}},  {{UINT16_MAX}}};
+                                          {NULL}, {NULL}, {{{NULL}}}, {{0}},  {{0}}, {{NULL}}, {NULL}, {{UINT16_MAX}}};
 
     /* decode ClientHello */
     if ((ret = decode_client_hello(tls, ch, message.base + PTLS_HANDSHAKE_HEADER_SIZE, message.base + message.len, properties)) !=