diff options
| author | liuxueli <[email protected]> | 2021-11-10 11:55:22 +0300 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2021-11-10 11:55:22 +0300 |
| commit | 11c3aa538a3d7e73e1f1f29269ffdf2900d20803 (patch) | |
| tree | 871d5da2e2f0de3aa6fa6318e0824bca60377884 /include | |
| parent | fa5af896903efb7dc2c73c26c555167f5eed7a0e (diff) | |
TSG-8364: 重构代码,只解QUIC链接的第一个数据包
Diffstat (limited to 'include')
| -rw-r--r-- | include/quic.h | 55 |
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__ */ |
