} __attribute__((packed));
// RFC7540 #11.3 : Settings Registry
-#define H2_SETTINGS_HEADER_TABLE_SIZE 0x0001
-#define H2_SETTINGS_ENABLE_PUSH 0x0002
-#define H2_SETTINGS_MAX_CONCURRENT_STREAMS 0x0003
-#define H2_SETTINGS_INITIAL_WINDOW_SIZE 0x0004
-#define H2_SETTINGS_MAX_FRAME_SIZE 0x0005
-#define H2_SETTINGS_MAX_HEADER_LIST_SIZE 0x0006
+#define H2_SETTINGS_HEADER_TABLE_SIZE 0x0001
+#define H2_SETTINGS_ENABLE_PUSH 0x0002
+#define H2_SETTINGS_MAX_CONCURRENT_STREAMS 0x0003
+#define H2_SETTINGS_INITIAL_WINDOW_SIZE 0x0004
+#define H2_SETTINGS_MAX_FRAME_SIZE 0x0005
+#define H2_SETTINGS_MAX_HEADER_LIST_SIZE 0x0006
+#define H2_SETTINGS_ENABLE_CONNECT_PROTOCOL 0x0008
/* some protocol constants */
chunk_memcat(&buf, "\x00\x02\x00\x00\x00\x00", 6);
}
+ /* rfc 8441 #3 SETTINGS_ENABLE_CONNECT_PROTOCOL=1
+ * sent automatically */
+ chunk_memcat(&buf, "\x00\x08\x00\x00\x00\x01", 6);
+
if (h2_settings_header_table_size != 4096) {
char str[6] = "\x00\x01"; /* header_table_size */
h2c->streams_limit = arg;
}
break;
+ case H2_SETTINGS_ENABLE_CONNECT_PROTOCOL:
+ /* nothing to do here as this settings is automatically
+ * transmits to the client */
+ break;
}
}