summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2021-11-10 11:55:22 +0300
committerliuxueli <[email protected]>2021-11-10 11:55:22 +0300
commit11c3aa538a3d7e73e1f1f29269ffdf2900d20803 (patch)
tree871d5da2e2f0de3aa6fa6318e0824bca60377884 /include
parentfa5af896903efb7dc2c73c26c555167f5eed7a0e (diff)
TSG-8364: 重构代码,只解QUIC链接的第一个数据包
Diffstat (limited to 'include')
-rw-r--r--include/quic.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/include/quic.h b/include/quic.h
new file mode 100644
index 0000000..33181cd
--- /dev/null
+++ b/include/quic.h
@@ -0,0 +1,55 @@
+/*
+ * quic.h
+ *
+ * Created on: 2021-11-08
+ * Author: liuxueli
+ */
+
+#ifndef __QUIC_H__
+#define __QUIC_H__
+
+#define QUIC_INTEREST_KEY (1<<QUIC_INTEREST_KEY_MASK)
+#define QUIC_CLIENT_HELLO (1<<QUIC_CLIENT_HELLO_MASK)
+#define QUIC_SERVER_HELLO (1<<QUIC_SERVER_HELLO_MASK)
+#define QUIC_CACHED_CERT (1<<QUIC_CACHED_CERT_MASK)
+#define QUIC_COMM_CERT (1<<QUIC_COMM_CERT_MASK)
+#define QUIC_CERT_CHAIN (1<<QUIC_CERT_CHAIN_MASK)
+#define QUIC_APPLICATION_DATA (1<<QUIC_APPLICATION_DATA_MASK)
+#define QUIC_USEING_VERSION (1<<QUIC_USEING_VERSION_MASK)
+#define QUIC_NEGOTIATION_VERSION (1<<QUIC_NEGOTIATION_VERSION_MASK)
+#define QUIC_REJECTION (1<<QUIC_REJECTION_MASK)
+
+
+enum quic_interested_region
+{
+ QUIC_INTEREST_KEY_MASK = 0,
+ QUIC_CLIENT_HELLO_MASK,
+ QUIC_SERVER_HELLO_MASK,
+ QUIC_CACHED_CERT_MASK,
+ QUIC_COMM_CERT_MASK,
+ QUIC_CERT_CHAIN_MASK,
+ QUIC_APPLICATION_DATA_MASK,
+ QUIC_USEING_VERSION_MASK,
+ QUIC_NEGOTIATION_VERSION_MASK,
+ QUIC_REJECTION_MASK
+};
+
+struct quic_client_hello
+{
+ char *sni;
+ char *user_agent;
+};
+
+struct quic_info
+{
+ unsigned int quic_version;
+ struct quic_client_hello *client_hello;
+};
+
+
+//buff_len minimun 32bytes
+int quic_version_int2string(unsigned int version, char *buff, int buff_len);
+//ret: 0: not quic, >0: quic version
+unsigned int quic_protocol_identify(struct streaminfo *a_stream, void *a_packet, char *out_sni, int *out_sni_len, char *out_ua, int *out_ua_len);
+
+#endif /* SRC__QUIC_H__ */