SYMBOL INDEX (1685 symbols across 84 files) FILE: ip2net/ip2net.c function ucmp (line 41) | static int ucmp(const void * a, const void * b, void *arg) function mask_from_bitcount (line 50) | static uint32_t mask_from_bitcount(uint32_t zct) function unique (line 56) | static uint32_t unique(uint32_t *pu, uint32_t ct) function cmp6 (line 71) | __attribute__((optimize ("no-strict-aliasing"))) function unique6 (line 122) | static uint32_t unique6(struct in6_addr *pu, uint32_t ct) function mask_from_bitcount6_make (line 132) | static void mask_from_bitcount6_make(uint32_t zct, struct in6_addr *a) type in6_addr (line 144) | struct in6_addr function mask_from_bitcount6_prepare (line 145) | static void mask_from_bitcount6_prepare(void) type in6_addr (line 149) | struct in6_addr function ip6_and (line 179) | __attribute__((optimize ("no-strict-aliasing"))) function rtrim (line 192) | static void rtrim(char *s) type params_s (line 199) | struct params_s function exithelp (line 208) | static void exithelp(void) type opt_indices (line 228) | enum opt_indices { type option (line 239) | struct option function parse_params (line 250) | static void parse_params(int argc, char *argv[]) function main (line 314) | int main(int argc, char **argv) FILE: ip2net/qsort.c type stack_node (line 48) | typedef struct function gnu_quicksort (line 89) | void FILE: mdig/mdig.c function trimstr (line 36) | static void trimstr(char *s) function dom_valid (line 79) | static bool dom_valid(char *dom) function invalid_domain_beautify (line 88) | static void invalid_domain_beautify(char *dom) function interlocked_get_dom (line 110) | static char interlocked_get_dom(char *dom, size_t size) function interlocked_fprintf (line 120) | static void interlocked_fprintf(FILE *stream, const char * format, ...) function print_addrinfo (line 136) | static void print_addrinfo(struct addrinfo *ai) function stat_print (line 156) | static void stat_print(int ct, int ct_ok) function stat_plus (line 165) | static void stat_plus(bool is_ok) function GetAddrFamily (line 179) | static uint16_t GetAddrFamily(const char *saddr) type addrinfo (line 197) | struct addrinfo type timespec (line 198) | struct timespec type addrinfo (line 203) | struct addrinfo function run_threads (line 284) | static int run_threads(void) function dns_mk_query_blob (line 330) | size_t dns_mk_query_blob(uint8_t op, const char *dname, uint8_t class, u... function dns_make_query (line 365) | int dns_make_query(const char *dom, char family) function dns_parse_print (line 385) | bool dns_parse_print(const uint8_t *a, size_t len) function dns_parse_query (line 431) | int dns_parse_query() function exithelp (line 453) | static void exithelp(void) type opt_indices (line 480) | enum opt_indices { type option (line 495) | struct option function main (line 510) | int main(int argc, char **argv) FILE: nfq/checksum.c function from64to16 (line 8) | static uint16_t from64to16(uint64_t x) function do_csum (line 17) | static uint16_t do_csum(const uint8_t * buff, size_t len) function csum_partial (line 96) | uint16_t csum_partial(const void *buff, size_t len) function csum_tcpudp_magic (line 101) | uint16_t csum_tcpudp_magic(uint32_t saddr, uint32_t daddr, size_t len, u... function ip4_compute_csum (line 106) | uint16_t ip4_compute_csum(const void *buff, size_t len) function ip4_fix_checksum (line 110) | void ip4_fix_checksum(struct ip *ip) function csum_ipv6_magic (line 116) | uint16_t csum_ipv6_magic(const void *saddr, const void *daddr, size_t le... function tcp4_fix_checksum (line 125) | void tcp4_fix_checksum(struct tcphdr *tcp,size_t len, const struct in_ad... function tcp6_fix_checksum (line 130) | void tcp6_fix_checksum(struct tcphdr *tcp,size_t len, const struct in6_a... function tcp_fix_checksum (line 135) | void tcp_fix_checksum(struct tcphdr *tcp,size_t len,const struct ip *ip,... function udp4_fix_checksum (line 143) | void udp4_fix_checksum(struct udphdr *udp,size_t len, const struct in_ad... function udp6_fix_checksum (line 148) | void udp6_fix_checksum(struct udphdr *udp,size_t len, const struct in6_a... function udp_fix_checksum (line 153) | void udp_fix_checksum(struct udphdr *udp,size_t len,const struct ip *ip,... FILE: nfq/checksum.h type ip (line 19) | struct ip type tcphdr (line 21) | struct tcphdr type in_addr (line 21) | struct in_addr type in_addr (line 21) | struct in_addr type tcphdr (line 22) | struct tcphdr type in6_addr (line 22) | struct in6_addr type in6_addr (line 22) | struct in6_addr type tcphdr (line 23) | struct tcphdr type ip (line 23) | struct ip type ip6_hdr (line 23) | struct ip6_hdr type udphdr (line 25) | struct udphdr type in_addr (line 25) | struct in_addr type in_addr (line 25) | struct in_addr type udphdr (line 26) | struct udphdr type in6_addr (line 26) | struct in6_addr type in6_addr (line 26) | struct in6_addr type udphdr (line 27) | struct udphdr type ip (line 27) | struct ip type ip6_hdr (line 27) | struct ip6_hdr FILE: nfq/conntrack.c function ut_oom_recover (line 10) | static void ut_oom_recover(void *elem) function connswap (line 17) | static void connswap(const t_conn *c, t_conn *c2) function ConntrackClearHostname (line 28) | void ConntrackClearHostname(t_ctrack *track) function ConntrackClearTrack (line 34) | static void ConntrackClearTrack(t_ctrack *track) function ConntrackFreeElem (line 41) | static void ConntrackFreeElem(t_conntrack_pool *elem) function ConntrackPoolDestroyPool (line 47) | static void ConntrackPoolDestroyPool(t_conntrack_pool **pp) function ConntrackPoolDestroy (line 52) | void ConntrackPoolDestroy(t_conntrack *p) function ConntrackPoolInit (line 57) | void ConntrackPoolInit(t_conntrack *p, time_t purge_interval, uint32_t t... function ConntrackExtractConn (line 68) | void ConntrackExtractConn(t_conn *c, bool bReverse, const struct ip *ip,... function t_conntrack_pool (line 89) | static t_conntrack_pool *ConntrackPoolSearch(t_conntrack_pool *p, const ... function ConntrackInitTrack (line 96) | static void ConntrackInitTrack(t_ctrack *t) function ConntrackReInitTrack (line 103) | static void ConntrackReInitTrack(t_ctrack *t) function t_conntrack_pool (line 109) | static t_conntrack_pool *ConntrackNew(t_conntrack_pool **pp, const t_con... function ConntrackFeedPacket (line 122) | static void ConntrackFeedPacket(t_ctrack *t, bool bReverse, const struct... function ConntrackPoolDoubleSearchPool (line 202) | static bool ConntrackPoolDoubleSearchPool(t_conntrack_pool **pp, const s... function ConntrackPoolDoubleSearch (line 226) | bool ConntrackPoolDoubleSearch(t_conntrack *p, const struct ip *ip, cons... function ConntrackPoolFeedPool (line 231) | static bool ConntrackPoolFeedPool(t_conntrack_pool **pp, const struct ip... function ConntrackPoolFeed (line 267) | bool ConntrackPoolFeed(t_conntrack *p, const struct ip *ip, const struct... function ConntrackPoolDropPool (line 272) | static bool ConntrackPoolDropPool(t_conntrack_pool **pp, const struct ip... function ConntrackPoolDrop (line 286) | bool ConntrackPoolDrop(t_conntrack *p, const struct ip *ip, const struct... function ConntrackPoolPurge (line 291) | void ConntrackPoolPurge(t_conntrack *p) function taddr2str (line 315) | static void taddr2str(uint8_t l3proto, const t_addr *a, char *buf, size_... function ConntrackPoolDump (line 320) | void ConntrackPoolDump(const t_conntrack *p) function ReasmClear (line 351) | void ReasmClear(t_reassemble *reasm) function ReasmInit (line 357) | bool ReasmInit(t_reassemble *reasm, size_t size_requested, uint32_t seq_... function ReasmResize (line 366) | bool ReasmResize(t_reassemble *reasm, size_t new_size) function ReasmFeed (line 375) | bool ReasmFeed(t_reassemble *reasm, uint32_t seq, const void *payload, s... function ReasmHasSpace (line 388) | bool ReasmHasSpace(t_reassemble *reasm, size_t len) FILE: nfq/conntrack.h type t_addr (line 31) | typedef union { type t_conn (line 35) | typedef struct type t_reassemble (line 44) | typedef struct { type t_connstate (line 54) | typedef enum {SYN=0, ESTABLISHED, FIN} t_connstate; type t_ctrack (line 56) | typedef struct type t_conntrack_pool (line 99) | typedef struct type t_conntrack (line 105) | typedef struct type ip (line 115) | struct ip type ip6_hdr (line 115) | struct ip6_hdr type tcphdr (line 115) | struct tcphdr type udphdr (line 115) | struct udphdr type ip (line 117) | struct ip type ip6_hdr (line 117) | struct ip6_hdr type tcphdr (line 117) | struct tcphdr type udphdr (line 117) | struct udphdr type ip (line 118) | struct ip type ip6_hdr (line 118) | struct ip6_hdr type tcphdr (line 118) | struct tcphdr type udphdr (line 118) | struct udphdr type ip (line 119) | struct ip type ip6_hdr (line 119) | struct ip6_hdr type tcphdr (line 119) | struct tcphdr type udphdr (line 119) | struct udphdr function ReasmIsEmpty (line 131) | inline static bool ReasmIsEmpty(t_reassemble *reasm) {return !reasm->size;} function ReasmIsFull (line 132) | inline static bool ReasmIsFull(t_reassemble *reasm) {return !ReasmIsEmpt... FILE: nfq/crypto/aes-gcm.c function aes_gcm_crypt (line 3) | int aes_gcm_crypt(int mode, uint8_t *output, const uint8_t *input, size_... FILE: nfq/crypto/aes.c function aes_init_keygen_tables (line 144) | void aes_init_keygen_tables(void) function aes_set_encryption_key (line 220) | int aes_set_encryption_key(aes_context *ctx, function aes_set_decryption_key (line 305) | int aes_set_decryption_key(aes_context *ctx, function aes_setkey (line 347) | int aes_setkey(aes_context *ctx, // AES context provided by our caller function aes_cipher (line 386) | int aes_cipher(aes_context *ctx, FILE: nfq/crypto/aes.h type UINT32 (line 36) | typedef UINT32 uint32_t; type uchar (line 41) | typedef unsigned char uchar; type uint (line 42) | typedef unsigned int uint; type aes_context (line 54) | typedef struct { FILE: nfq/crypto/gcm.c function gcm_initialize (line 111) | int gcm_initialize(void) function gcm_mult (line 127) | static void gcm_mult(gcm_context *ctx, // pointer to established con... function gcm_setkey (line 174) | int gcm_setkey(gcm_context *ctx, // pointer to caller-provided gcm con... function gcm_start (line 248) | int gcm_start(gcm_context *ctx, // pointer to user-provided GCM context function gcm_update (line 318) | int gcm_update(gcm_context *ctx, // pointer to user-provided GCM c... function gcm_finish (line 385) | int gcm_finish(gcm_context *ctx, // pointer to user-provided GCM context function gcm_crypt_and_tag (line 431) | int gcm_crypt_and_tag( function gcm_auth_decrypt (line 469) | int gcm_auth_decrypt( function gcm_zero_ctx (line 517) | void gcm_zero_ctx(gcm_context *ctx) FILE: nfq/crypto/gcm.h type UINT32 (line 32) | typedef UINT32 uint32_t; type UINT64 (line 33) | typedef UINT64 uint64_t; type gcm_context (line 42) | typedef struct { FILE: nfq/crypto/hkdf.c function hkdf (line 56) | int hkdf(SHAversion whichSha, function hkdfExtract (line 95) | int hkdfExtract(SHAversion whichSha, function hkdfExpand (line 142) | int hkdfExpand(SHAversion whichSha, const uint8_t prk[], size_t prk_len, function hkdfReset (line 205) | int hkdfReset(HKDFContext *context, enum SHAversion whichSha, function hkdfInput (line 242) | int hkdfInput(HKDFContext *context, const unsigned char *ikm, function hkdfFinalBits (line 271) | int hkdfFinalBits(HKDFContext *context, uint8_t ikm_bits, function hkdfResult (line 310) | int hkdfResult(HKDFContext *context, FILE: nfq/crypto/hmac.c function hmac (line 46) | int hmac(SHAversion whichSha, function hmacReset (line 79) | int hmacReset(HMACContext *context, enum SHAversion whichSha, function hmacInput (line 162) | int hmacInput(HMACContext *context, const unsigned char *text, function hmacFinalBits (line 192) | int hmacFinalBits(HMACContext *context, function hmacResult (line 221) | int hmacResult(HMACContext *context, uint8_t *digest) FILE: nfq/crypto/sha.h type SHAversion (line 116) | typedef enum SHAversion { type SHA256Context (line 124) | typedef struct SHA256Context { type SHA224Context (line 142) | typedef struct SHA256Context SHA224Context; type USHAContext (line 148) | typedef struct USHAContext { type HMACContext (line 160) | typedef struct HMACContext { type HKDFContext (line 176) | typedef struct HKDFContext { type SHAversion (line 217) | enum SHAversion type SHAversion (line 218) | enum SHAversion type SHAversion (line 237) | enum SHAversion type SHAversion (line 269) | enum SHAversion FILE: nfq/crypto/sha224-256.c function SHA224_256AddLength (line 67) | static int SHA224_256AddLength(SHA256Context *context, uint32_t length) function SHA224Reset (line 110) | int SHA224Reset(SHA224Context *context) function SHA224Input (line 135) | int SHA224Input(SHA224Context *context, const uint8_t *message_array, function SHA224FinalBits (line 160) | int SHA224FinalBits(SHA224Context *context, function SHA224Result (line 185) | int SHA224Result(SHA224Context *context, function SHA256Reset (line 205) | int SHA256Reset(SHA256Context *context) function SHA256Input (line 229) | int SHA256Input(SHA256Context *context, const uint8_t *message_array, function SHA256FinalBits (line 272) | int SHA256FinalBits(SHA256Context *context, function SHA256Result (line 320) | int SHA256Result(SHA256Context *context, function SHA224_256Reset (line 342) | static int SHA224_256Reset(SHA256Context *context, uint32_t *H0) function SHA224_256ProcessMessageBlock (line 383) | static void SHA224_256ProcessMessageBlock(SHA256Context *context) function SHA224_256Finalize (line 470) | static void SHA224_256Finalize(SHA256Context *context, function SHA224_256PadMessage (line 507) | static void SHA224_256PadMessage(SHA256Context *context, function SHA224_256ResultN (line 563) | static int SHA224_256ResultN(SHA256Context *context, FILE: nfq/crypto/usha.c function USHAReset (line 31) | int USHAReset(USHAContext *context, enum SHAversion whichSha) function USHAInput (line 62) | int USHAInput(USHAContext *context, function USHAFinalBits (line 96) | int USHAFinalBits(USHAContext *context, function USHAResult (line 130) | int USHAResult(USHAContext *context, function USHABlockSize (line 160) | int USHABlockSize(enum SHAversion whichSha) function USHAHashSize (line 184) | int USHAHashSize(enum SHAversion whichSha) FILE: nfq/darkmagic.c function net32_add (line 42) | uint32_t net32_add(uint32_t netorder_value, uint32_t cpuorder_increment) function net16_add (line 46) | uint32_t net16_add(uint16_t netorder_value, uint16_t cpuorder_increment) function ip_has_df (line 51) | bool ip_has_df(const struct ip *ip) type tcphdr (line 56) | struct tcphdr type tcphdr (line 80) | struct tcphdr function tcp_find_scale_factor (line 85) | uint8_t tcp_find_scale_factor(const struct tcphdr *tcp) function tcp_has_fastopen (line 91) | bool tcp_has_fastopen(const struct tcphdr *tcp) function tcp_find_mss (line 101) | uint16_t tcp_find_mss(struct tcphdr *tcp) function tcp_has_sack (line 106) | bool tcp_has_sack(struct tcphdr *tcp) function fill_tcphdr (line 113) | static void fill_tcphdr( function tcpopt_len (line 189) | static uint16_t tcpopt_len(bool sack, bool mss, uint32_t fooling, const ... function fill_udphdr (line 201) | static void fill_udphdr(struct udphdr *udp, uint16_t nsport, uint16_t nd... function fill_iphdr (line 209) | static void fill_iphdr(struct ip *ip, const struct in_addr *src, const s... function fill_ip6hdr (line 223) | static void fill_ip6hdr(struct ip6_hdr *ip6, const struct in6_addr *src,... function prepare_tcp_segment4 (line 233) | bool prepare_tcp_segment4( function prepare_tcp_segment6 (line 273) | bool prepare_tcp_segment6( function prepare_tcp_segment (line 360) | bool prepare_tcp_segment( function prepare_udp_segment4 (line 390) | bool prepare_udp_segment4( function prepare_udp_segment6 (line 433) | bool prepare_udp_segment6( function prepare_udp_segment (line 522) | bool prepare_udp_segment( function ip6_insert_simple_hdr (line 542) | bool ip6_insert_simple_hdr(uint8_t type, uint8_t *data_pkt, size_t len_p... function ip_frag4 (line 561) | bool ip_frag4( function ip_frag6 (line 593) | bool ip_frag6( function ip_frag (line 646) | bool ip_frag( function rewrite_ttl (line 660) | bool rewrite_ttl(struct ip *ip, struct ip6_hdr *ip6, uint8_t ttl) function apply_tcp_flags (line 685) | void apply_tcp_flags(struct tcphdr *tcp, uint16_t fl) function get_tcp_flags (line 693) | uint16_t get_tcp_flags(const struct tcphdr *tcp) function extract_ports (line 700) | void extract_ports(const struct tcphdr *tcphdr, const struct udphdr *udp... function extract_endpoints (line 707) | void extract_endpoints(const struct ip *ip,const struct ip6_hdr *ip6hdr,... function str_proto_name (line 789) | static void str_proto_name(char *s, size_t s_len, uint8_t proto) function family_from_proto (line 797) | uint16_t family_from_proto(uint8_t l3proto) function str_srcdst_ip (line 807) | static void str_srcdst_ip(char *s, size_t s_len, const void *saddr,const... function str_ip (line 815) | void str_ip(char *s, size_t s_len, const struct ip *ip) function print_ip (line 822) | void print_ip(const struct ip *ip) function str_srcdst_ip6 (line 828) | void str_srcdst_ip6(char *s, size_t s_len, const void *saddr,const void ... function str_ip6hdr (line 836) | void str_ip6hdr(char *s, size_t s_len, const struct ip6_hdr *ip6hdr, uin... function print_ip6hdr (line 843) | void print_ip6hdr(const struct ip6_hdr *ip6hdr, uint8_t proto) function str_tcphdr (line 849) | void str_tcphdr(char *s, size_t s_len, const struct tcphdr *tcphdr) function print_tcphdr (line 861) | void print_tcphdr(const struct tcphdr *tcphdr) function str_udphdr (line 867) | void str_udphdr(char *s, size_t s_len, const struct udphdr *udphdr) function print_udphdr (line 871) | void print_udphdr(const struct udphdr *udphdr) function proto_check_ipv4 (line 881) | bool proto_check_ipv4(const uint8_t *data, size_t len) function proto_skip_ipv4 (line 887) | void proto_skip_ipv4(uint8_t **data, size_t *len) function proto_check_tcp (line 895) | bool proto_check_tcp(const uint8_t *data, size_t len) function proto_skip_tcp (line 899) | void proto_skip_tcp(uint8_t **data, size_t *len) function proto_check_udp (line 906) | bool proto_check_udp(const uint8_t *data, size_t len) function proto_skip_udp (line 910) | void proto_skip_udp(uint8_t **data, size_t *len) function proto_check_ipv6 (line 916) | bool proto_check_ipv6(const uint8_t *data, size_t len) function proto_skip_ipv6 (line 923) | void proto_skip_ipv6(uint8_t **data, size_t *len, uint8_t *proto_type, u... function proto_dissect_l3l4 (line 972) | void proto_dissect_l3l4(uint8_t *data, size_t len,struct dissect *dis) function tcp_synack_segment (line 1019) | bool tcp_synack_segment(const struct tcphdr *tcphdr) function tcp_syn_segment (line 1024) | bool tcp_syn_segment(const struct tcphdr *tcphdr) function tcp_ack_segment (line 1029) | bool tcp_ack_segment(const struct tcphdr *tcphdr) function tcp_rewrite_wscale (line 1035) | void tcp_rewrite_wscale(struct tcphdr *tcp, uint8_t scale_factor) function tcp_rewrite_winsize (line 1057) | void tcp_rewrite_winsize(struct tcphdr *tcp, uint16_t winsize, uint8_t s... type str_list_head (line 1073) | struct str_list_head function guid2str (line 1078) | static void guid2str(const GUID *guid, char *str) function str2guid (line 1082) | static bool str2guid(const char* str, GUID *guid) function AdapterID2Name (line 1102) | static bool AdapterID2Name(const GUID *guid,char *name,DWORD name_len) function win_dark_init (line 1158) | bool win_dark_init(const struct str_list_head *ssid_filter, const struct... function win_dark_deinit (line 1180) | bool win_dark_deinit(void) function nlm_list (line 1192) | bool nlm_list(bool bAll) function nlm_filter_match (line 1293) | static bool nlm_filter_match(const struct str_list_head *nlm_list) function wlan_filter_match (line 1350) | static bool wlan_filter_match(const struct str_list_head *ssid_list) function logical_net_filter_match (line 1415) | bool logical_net_filter_match(void) function logical_net_filter_match_rate_limited (line 1420) | static bool logical_net_filter_match_rate_limited(void) function HANDLE (line 1428) | static HANDLE windivert_init_filter(const char *filter, UINT64 flags) function rawsend_cleanup (line 1459) | void rawsend_cleanup(void) function windivert_init (line 1473) | bool windivert_init(const char *filter) function windivert_recv_filter (line 1491) | static bool windivert_recv_filter(HANDLE hFilter, uint8_t *packet, size_... function windivert_recv (line 1552) | bool windivert_recv(uint8_t *packet, size_t *len, WINDIVERT_ADDRESS *wa) function windivert_send_filter (line 1557) | static bool windivert_send_filter(HANDLE hFilter, const uint8_t *packet,... function windivert_send (line 1563) | bool windivert_send(const uint8_t *packet, size_t len, const WINDIVERT_A... function rawsend (line 1568) | bool rawsend(const struct sockaddr* dst,uint32_t fwmark,const char *ifou... function rawsend_clean_sock (line 1592) | static void rawsend_clean_sock(int *sock) function rawsend_cleanup (line 1600) | void rawsend_cleanup(void) function socket_divert (line 1616) | int socket_divert(sa_family_t family) function rawsend_socket_divert (line 1630) | static int rawsend_socket_divert(sa_family_t family) function rawsend_sendto_divert (line 1646) | static int rawsend_sendto_divert(sa_family_t family, int sock, const voi... function rawsend_socket_raw (line 1675) | static int rawsend_socket_raw(int domain, int proto) function set_socket_fwmark (line 1696) | static bool set_socket_fwmark(int sock, uint32_t fwmark) function rawsend_socket (line 1717) | static int rawsend_socket(sa_family_t family) function rawsend_preinit (line 1772) | bool rawsend_preinit(bool bind_fix4, bool bind_fix6) function rawsend (line 1779) | bool rawsend(const struct sockaddr* dst,uint32_t fwmark,const char *ifou... function rawsend_rp (line 1855) | bool rawsend_rp(const struct rawpacket *rp) function rawsend_queue (line 1859) | bool rawsend_queue(struct rawpacket_tailhead *q) type nlmsghdr (line 1874) | struct nlmsghdr function netlink_genl_simple_transact (line 1876) | static bool netlink_genl_simple_transact(struct mnl_socket* nl, uint16_t... function wlan_id_prepare (line 1915) | static void wlan_id_prepare(struct nlmsghdr *nlh, void *param) function wlan_id_attr_cb (line 1919) | static int wlan_id_attr_cb(const struct nlattr *attr, void *data) function wlan_id_cb (line 1940) | static int wlan_id_cb(const struct nlmsghdr *nlh, void *data) function wlan_get_family_id (line 1944) | static uint16_t wlan_get_family_id(struct mnl_socket* nl) function wlan_info_attr_cb (line 1950) | static int wlan_info_attr_cb(const struct nlattr *attr, void *data) type wlan_info_req (line 1982) | struct wlan_info_req function wlan_info_cb (line 1987) | static int wlan_info_cb(const struct nlmsghdr *nlh, void *data) function wlan_info (line 1998) | static bool wlan_info(struct mnl_socket* nl, uint16_t wlan_family_id, st... function scan_prepare (line 2005) | static void scan_prepare(struct nlmsghdr *nlh, void *param) function scan_info_attr_cb (line 2020) | static int scan_info_attr_cb(const struct nlattr *attr, void *data) function scan_info_cb (line 2082) | static int scan_info_cb(const struct nlmsghdr *nlh, void *data) function scan_info (line 2093) | static bool scan_info(struct mnl_socket* nl, uint16_t wlan_family_id, st... function wlan_init80211 (line 2107) | static bool wlan_init80211(struct mnl_socket** nl) function wlan_deinit80211 (line 2122) | static void wlan_deinit80211(struct mnl_socket** nl) function wlan_info_rate_limited (line 2132) | static bool wlan_info_rate_limited(struct mnl_socket* nl, uint16_t wlan_... type mnl_socket (line 2146) | struct mnl_socket type wlan_interface_collection (line 2148) | struct wlan_interface_collection function wlan_info_deinit (line 2150) | void wlan_info_deinit(void) function wlan_info_init (line 2154) | bool wlan_info_init(void) function wlan_info_get_rate_limited (line 2166) | bool wlan_info_get_rate_limited(void) type wlan_interface_collection (line 2175) | struct wlan_interface_collection type wlan_interface_collection (line 2186) | struct wlan_interface_collection function hop_count_guess (line 2207) | uint8_t hop_count_guess(uint8_t ttl) function autottl_eval (line 2228) | uint8_t autottl_eval(uint8_t hop_count, const autottl *attl) function do_nat (line 2244) | void do_nat(bool bOutbound, struct ip *ip, struct ip6_hdr *ip6, struct t... function verdict_tcp_csum_fix (line 2287) | void verdict_tcp_csum_fix(uint8_t verdict, struct tcphdr *tcphdr, size_t... function verdict_udp_csum_fix (line 2304) | void verdict_udp_csum_fix(uint8_t verdict, struct udphdr *udphdr, size_t... function dbgprint_socket_buffers (line 2322) | void dbgprint_socket_buffers(int fd) function set_socket_buffers (line 2336) | bool set_socket_buffers(int fd, int rcvbuf, int sndbuf) FILE: nfq/darkmagic.h type sockaddr_in (line 71) | struct sockaddr_in type sockaddr_in (line 71) | struct sockaddr_in type sockaddr_in6 (line 90) | struct sockaddr_in6 type sockaddr_in6 (line 90) | struct sockaddr_in6 type sockaddr (line 107) | struct sockaddr type sockaddr (line 107) | struct sockaddr type sockaddr_in (line 129) | struct sockaddr_in type sockaddr_in (line 129) | struct sockaddr_in type sockaddr_in6 (line 140) | struct sockaddr_in6 type sockaddr_in6 (line 140) | struct sockaddr_in6 type sockaddr (line 149) | struct sockaddr type sockaddr (line 149) | struct sockaddr type ip (line 180) | struct ip type ip6_hdr (line 180) | struct ip6_hdr type tcphdr (line 181) | struct tcphdr type tcphdr (line 182) | struct tcphdr type tcphdr (line 184) | struct tcphdr type udphdr (line 184) | struct udphdr type ip (line 185) | struct ip type ip6_hdr (line 185) | struct ip6_hdr type tcphdr (line 185) | struct tcphdr type udphdr (line 185) | struct udphdr type sockaddr_storage (line 185) | struct sockaddr_storage type sockaddr_storage (line 185) | struct sockaddr_storage type tcphdr (line 186) | struct tcphdr type tcphdr (line 187) | struct tcphdr type tcphdr (line 188) | struct tcphdr type tcphdr (line 189) | struct tcphdr type tcphdr (line 190) | struct tcphdr type tcphdr (line 192) | struct tcphdr type ip (line 194) | struct ip type str_list_head (line 199) | struct str_list_head type str_list_head (line 199) | struct str_list_head type sockaddr (line 212) | struct sockaddr type rawpacket (line 213) | struct rawpacket type rawpacket_tailhead (line 215) | struct rawpacket_tailhead type ip (line 225) | struct ip type ip6_hdr (line 226) | struct ip6_hdr type tcphdr (line 227) | struct tcphdr type udphdr (line 228) | struct udphdr type ip (line 229) | struct ip type ip6_hdr (line 230) | struct ip6_hdr type tcphdr (line 232) | struct tcphdr type udphdr (line 233) | struct udphdr type dissect (line 243) | struct dissect type dissect (line 256) | struct dissect type tcphdr (line 258) | struct tcphdr type tcphdr (line 259) | struct tcphdr type tcphdr (line 260) | struct tcphdr type tcphdr (line 262) | struct tcphdr type tcphdr (line 263) | struct tcphdr type autottl (line 265) | typedef struct type ip (line 274) | struct ip type ip6_hdr (line 274) | struct ip6_hdr type tcphdr (line 274) | struct tcphdr type udphdr (line 274) | struct udphdr type sockaddr_in (line 274) | struct sockaddr_in type sockaddr_in6 (line 274) | struct sockaddr_in6 type tcphdr (line 276) | struct tcphdr type ip (line 276) | struct ip type ip6_hdr (line 276) | struct ip6_hdr type udphdr (line 277) | struct udphdr type ip (line 277) | struct ip type ip6_hdr (line 277) | struct ip6_hdr type wlan_interface (line 285) | struct wlan_interface type wlan_interface_collection (line 291) | struct wlan_interface_collection type wlan_interface_collection (line 297) | struct wlan_interface_collection FILE: nfq/desync.c function TLSDebugHandshake (line 86) | static void TLSDebugHandshake(const uint8_t *tls, size_t sz) function TLSDebug (line 147) | static void TLSDebug(const uint8_t *tls, size_t sz) function desync_valid_zero_stage (line 161) | bool desync_valid_zero_stage(enum dpi_desync_mode mode) function desync_valid_first_stage (line 165) | bool desync_valid_first_stage(enum dpi_desync_mode mode) function desync_only_first_stage (line 169) | bool desync_only_first_stage(enum dpi_desync_mode mode) function desync_valid_second_stage_tcp (line 173) | bool desync_valid_second_stage_tcp(enum dpi_desync_mode mode) function desync_valid_second_stage_udp (line 179) | bool desync_valid_second_stage_udp(enum dpi_desync_mode mode) function desync_valid_second_stage (line 183) | bool desync_valid_second_stage(enum dpi_desync_mode mode) function desync_mode_from_string (line 187) | enum dpi_desync_mode desync_mode_from_string(const char *s) function dp_match (line 228) | static bool dp_match( type desync_profile (line 281) | struct desync_profile type desync_profile_list_head (line 282) | struct desync_profile_list_head type sockaddr (line 283) | struct sockaddr type desync_profile_list (line 286) | struct desync_profile_list function rawsend_rep (line 307) | static bool rawsend_rep(int repeats, const struct sockaddr* dst, uint32_... function cutoff_get_limit (line 316) | static uint64_t cutoff_get_limit(const t_ctrack *ctrack, char mode) function cutoff_test (line 326) | static bool cutoff_test(const t_ctrack *ctrack, uint64_t cutoff, char mode) function maybe_cutoff (line 330) | static void maybe_cutoff(t_ctrack *ctrack, uint8_t proto) function wssize_cutoff (line 355) | static void wssize_cutoff(t_ctrack *ctrack) function forced_wssize_cutoff (line 363) | static void forced_wssize_cutoff(t_ctrack *ctrack) function ctrack_stop_retrans_counter (line 372) | static void ctrack_stop_retrans_counter(t_ctrack *ctrack) function auto_hostlist_reset_fail_counter (line 381) | static void auto_hostlist_reset_fail_counter(struct desync_profile *dp, ... function auto_hostlist_retrans (line 398) | static bool auto_hostlist_retrans(t_ctrack *ctrack, uint8_t l4proto, int... function auto_hostlist_failed (line 425) | static void auto_hostlist_failed(struct desync_profile *dp, const char *... function process_retrans_fail (line 474) | static void process_retrans_fail(t_ctrack *ctrack, uint8_t proto, const ... function send_delayed (line 488) | static bool send_delayed(t_ctrack *ctrack) function reasm_start (line 499) | static bool reasm_start(t_ctrack *ctrack, t_reassemble *reasm, uint8_t p... function reasm_orig_start (line 518) | static bool reasm_orig_start(t_ctrack *ctrack, uint8_t proto, size_t sz,... function reasm_feed (line 522) | static bool reasm_feed(t_ctrack *ctrack, t_reassemble *reasm, uint8_t pr... function reasm_orig_feed (line 541) | static bool reasm_orig_feed(t_ctrack *ctrack, uint8_t proto, const uint8... function reasm_orig_stop (line 545) | static void reasm_orig_stop(t_ctrack *ctrack, const char *dlog_msg) function reasm_orig_cancel (line 557) | static void reasm_orig_cancel(t_ctrack *ctrack) function reasm_orig_fin (line 561) | static void reasm_orig_fin(t_ctrack *ctrack) function ct_new_postnat_fix (line 567) | static uint8_t ct_new_postnat_fix(const t_ctrack *ctrack, struct ip *ip,... function check_desync_interval (line 595) | static bool check_desync_interval(const struct desync_profile *dp, const... function process_desync_interval (line 636) | static bool process_desync_interval(const struct desync_profile *dp, t_c... function check_dup_interval (line 646) | static bool check_dup_interval(const struct desync_profile *dp, const t_... function check_orig_mod_interval (line 687) | static bool check_orig_mod_interval(const struct desync_profile *dp, con... type rawpacket_tailhead (line 729) | struct rawpacket_tailhead function pos_normalize (line 731) | static size_t pos_normalize(size_t split_pos, size_t reasm_offset, size_... function autottl_guess (line 736) | static uint8_t autottl_guess(autottl *attl, uint8_t hop_count, const cha... function autottl_discover (line 750) | static void autottl_discover(t_ctrack *ctrack, const struct in_addr *a4,... function autottl_rediscover (line 781) | static void autottl_rediscover(t_ctrack *ctrack, const struct in_addr *a... function ipcache_put_hostname (line 790) | static bool ipcache_put_hostname(const struct in_addr *a4, const struct ... function ipcache_get_hostname (line 813) | static bool ipcache_get_hostname(const struct in_addr *a4, const struct ... function IP4_IP_ID_FIX (line 838) | static uint16_t IP4_IP_ID_FIX(const struct ip *ip, t_ip_id_mode mode) function IP4_IP_ID_ADD (line 857) | static uint16_t IP4_IP_ID_ADD(uint16_t ip_id, uint16_t inc, t_ip_id_mode... function runtime_tls_mod (line 883) | static bool runtime_tls_mod(int fake_n, const struct fake_tls_mod_cache ... function rewrite_tcp_flags (line 935) | static bool rewrite_tcp_flags(uint16_t *flags, uint16_t unset, uint16_t ... function orig_mod (line 950) | static uint8_t orig_mod(const struct desync_profile *dp, const t_ctrack ... function orig_send_rewrite (line 981) | static bool orig_send_rewrite( function tcp_orig_send (line 1009) | static bool tcp_orig_send(uint8_t verdict, uint32_t fwmark, const char *... function udp_orig_send (line 1090) | static bool udp_orig_send(uint8_t verdict, uint32_t fwmark, const char *... function dpi_desync_tcp_packet_play (line 1161) | static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offs... FILE: nfq/desync.h type dpi_desync_mode (line 22) | enum dpi_desync_mode { type dpi_desync_mode (line 48) | enum dpi_desync_mode type dpi_desync_mode (line 49) | enum dpi_desync_mode type dpi_desync_mode (line 50) | enum dpi_desync_mode type dpi_desync_mode (line 51) | enum dpi_desync_mode type dpi_desync_mode (line 52) | enum dpi_desync_mode type dpi_desync_mode (line 53) | enum dpi_desync_mode type dpi_desync_mode (line 54) | enum dpi_desync_mode FILE: nfq/gzip.c function z_readfile (line 10) | int z_readfile(FILE *F, char **buf, size_t *size) function is_gzip (line 73) | bool is_gzip(FILE* F) FILE: nfq/helpers.c function unique_size_t (line 14) | int unique_size_t(size_t *pu, int ct) function cmp_size_t (line 25) | static int cmp_size_t(const void * a, const void * b) function qsort_size_t (line 29) | void qsort_size_t(size_t *array,size_t ct) function rtrim (line 35) | void rtrim(char *s) function replace_char (line 41) | void replace_char(char *s, char from, char to) function load_file (line 68) | bool load_file(const char *filename, void *buffer, size_t *buffer_size) function load_file_nonempty (line 85) | bool load_file_nonempty(const char *filename, void *buffer, size_t *buff... function save_file (line 90) | bool save_file(const char *filename, const void *buffer, size_t buffer_s... function append_to_list_file (line 107) | bool append_to_list_file(const char *filename, const char *s) function expand_bits (line 116) | void expand_bits(void *target, const void *source, unsigned int source_b... function strip_host_to_ip (line 133) | bool strip_host_to_ip(char *host) function ntop46 (line 182) | void ntop46(const struct sockaddr *sa, char *str, size_t len) function ntop46_port (line 198) | void ntop46_port(const struct sockaddr *sa, char *str, size_t len) function print_sockaddr (line 214) | void print_sockaddr(const struct sockaddr *sa) function pton4_port (line 222) | bool pton4_port(const char *s, struct sockaddr_in *sa) function pton6_port (line 242) | bool pton6_port(const char *s, struct sockaddr_in6 *sa) function saport (line 266) | uint16_t saport(const struct sockaddr *sa) function pntoh64 (line 273) | uint64_t pntoh64(const void *p) function phton64 (line 284) | void phton64(uint8_t *p, uint64_t v) function seq_within (line 296) | bool seq_within(uint32_t s, uint32_t s1, uint32_t s2) function ipv6_addr_is_zero (line 301) | bool ipv6_addr_is_zero(const struct in6_addr *a) function parse_hex_digit (line 308) | static inline uint8_t parse_hex_digit(char c) function parse_hex_byte (line 312) | static inline bool parse_hex_byte(const char *s, uint8_t *pbyte) function parse_hex_str (line 328) | bool parse_hex_str(const char *s, uint8_t *pbuf, size_t *size) function fill_pattern (line 341) | void fill_pattern(uint8_t *buf,size_t bufsize,const void *pattern,size_t... function fprint_localtime (line 362) | int fprint_localtime(FILE *F) function time_t (line 372) | time_t file_mod_time(const char *filename) function file_mod_signature (line 377) | bool file_mod_signature(const char *filename, file_mod_sig *ms) function file_open_test (line 390) | bool file_open_test(const char *filename, int flags) function pf_in_range (line 401) | bool pf_in_range(uint16_t port, const port_filter *pf) function pf_parse (line 405) | bool pf_parse(const char *s, port_filter *pf) function pf_is_empty (line 440) | bool pf_is_empty(const port_filter *pf) function fill_random_bytes (line 445) | void fill_random_bytes(uint8_t *p,size_t sz) function fill_random_az (line 451) | void fill_random_az(uint8_t *p,size_t sz) function fill_random_az09 (line 456) | void fill_random_az09(uint8_t *p,size_t sz) function set_console_io_buffering (line 467) | void set_console_io_buffering(void) function set_env_exedir (line 473) | bool set_env_exedir(const char *argv0) function str_cidr4 (line 487) | void str_cidr4(char *s, size_t s_len, const struct cidr4 *cidr) function print_cidr4 (line 494) | void print_cidr4(const struct cidr4 *cidr) function str_cidr6 (line 500) | void str_cidr6(char *s, size_t s_len, const struct cidr6 *cidr) function print_cidr6 (line 507) | void print_cidr6(const struct cidr6 *cidr) function parse_cidr4 (line 513) | bool parse_cidr4(char *s, struct cidr4 *cidr) function parse_cidr6 (line 532) | bool parse_cidr6(char *s, struct cidr6 *cidr) FILE: nfq/helpers.h type sockaddr_in46 (line 15) | typedef union type sockaddr (line 38) | struct sockaddr type sockaddr (line 39) | struct sockaddr type sockaddr (line 40) | struct sockaddr type sockaddr_in (line 41) | struct sockaddr_in type sockaddr_in6 (line 42) | struct sockaddr_in6 type sockaddr (line 44) | struct sockaddr type in6_addr (line 51) | struct in6_addr function pntoh16 (line 53) | static inline uint16_t pntoh16(const uint8_t *p) { function phton16 (line 56) | static inline void phton16(uint8_t *p, uint16_t v) { function pntoh24 (line 60) | static inline uint32_t pntoh24(const uint8_t *p) { function phton24 (line 63) | static inline void phton24(uint8_t *p, uint32_t v) { function pntoh32 (line 68) | static inline uint32_t pntoh32(const uint8_t *p) { type file_mod_sig (line 77) | typedef struct type port_filter (line 88) | typedef struct type cidr4 (line 105) | struct cidr4 type cidr6 (line 110) | struct cidr6 type cidr4 (line 115) | struct cidr4 type cidr4 (line 116) | struct cidr4 type cidr6 (line 117) | struct cidr6 type cidr6 (line 118) | struct cidr6 type cidr4 (line 119) | struct cidr4 type cidr6 (line 120) | struct cidr6 FILE: nfq/hostlist.c function addpool (line 7) | static bool addpool(hostlist_pool **hostlist, char **s, const char *end,... function AppendHostlistItem (line 41) | bool AppendHostlistItem(hostlist_pool **hostlist, char *s) function AppendHostList (line 46) | bool AppendHostList(hostlist_pool **hostlist, const char *filename) function LoadHostList (line 110) | static bool LoadHostList(struct hostlist_file *hfile) function LoadHostLists (line 133) | static bool LoadHostLists(struct hostlist_files_head *list) function NonEmptyHostlist (line 147) | bool NonEmptyHostlist(hostlist_pool **hostlist) function MakeAutolistsNonEmpty (line 153) | static void MakeAutolistsNonEmpty() function LoadAllHostLists (line 163) | bool LoadAllHostLists() function SearchHostList (line 173) | static bool SearchHostList(hostlist_pool *hostlist, const char *host, bo... function HostlistsReloadCheck (line 208) | static bool HostlistsReloadCheck(const struct hostlist_collection_head *... function HostlistsReloadCheckForProfile (line 219) | bool HostlistsReloadCheckForProfile(const struct desync_profile *dp) function HostlistCheck_ (line 224) | static bool HostlistCheck_(const struct hostlist_collection_head *hostli... function HostlistCheck (line 259) | bool HostlistCheck(const struct desync_profile *dp, const char *host, bo... type hostlist_file (line 266) | struct hostlist_file type hostlist_files_head (line 266) | struct hostlist_files_head type hostlist_collection_head (line 266) | struct hostlist_collection_head type hostlist_file (line 268) | struct hostlist_file type hostlist_file (line 289) | struct hostlist_file type desync_profile (line 289) | struct desync_profile function HostlistsDebug (line 304) | void HostlistsDebug() FILE: nfq/hostlist.h type desync_profile (line 12) | struct desync_profile type hostlist_file (line 13) | struct hostlist_file type desync_profile (line 13) | struct desync_profile type desync_profile (line 14) | struct desync_profile FILE: nfq/ipset.c function addpool (line 8) | static bool addpool(ipset *ips, char **s, const char *end, int *ct) function AppendIpsetItem (line 56) | bool AppendIpsetItem(ipset *ips, char *ip) function AppendIpset (line 61) | static bool AppendIpset(ipset *ips, const char *filename) function LoadIpset (line 125) | static bool LoadIpset(struct ipset_file *hfile) function LoadIpsets (line 148) | static bool LoadIpsets(struct ipset_files_head *list) function LoadAllIpsets (line 162) | bool LoadAllIpsets() function SearchIpset (line 167) | static bool SearchIpset(const ipset *ips, const struct in_addr *ipv4, co... function IpsetsReloadCheck (line 193) | static bool IpsetsReloadCheck(const struct ipset_collection_head *ipsets) function IpsetsReloadCheckForProfile (line 203) | bool IpsetsReloadCheckForProfile(const struct desync_profile *dp) function IpsetCheck_ (line 208) | static bool IpsetCheck_(const struct ipset_collection_head *ips, const s... function IpsetCheck (line 235) | bool IpsetCheck(const struct desync_profile *dp, const struct in_addr *i... type ipset_file (line 243) | struct ipset_file type ipset_files_head (line 243) | struct ipset_files_head type ipset_collection_head (line 243) | struct ipset_collection_head type ipset_file (line 245) | struct ipset_file type ipset_file (line 264) | struct ipset_file type desync_profile (line 264) | struct desync_profile function IpsetsDebug (line 290) | void IpsetsDebug() FILE: nfq/ipset.h type desync_profile (line 9) | struct desync_profile type in_addr (line 9) | struct in_addr type in6_addr (line 9) | struct in6_addr type ipset_file (line 10) | struct ipset_file type desync_profile (line 10) | struct desync_profile FILE: nfq/nfqws.c type params_s (line 56) | struct params_s function onhup (line 62) | static void onhup(int sig) function ReloadCheck (line 67) | static void ReloadCheck() function onusr1 (line 87) | static void onusr1(int sig) function onusr2 (line 93) | static void onusr2(int sig) function pre_desync (line 111) | static void pre_desync(void) function processPacketData (line 119) | static uint8_t processPacketData(uint32_t *mark, const char *ifin, const... function test_list_files (line 132) | static bool test_list_files() function nfq_cb (line 156) | static int nfq_cb(struct nfq_q_handle *qh, struct nfgenmsg *nfmsg, struc... function nfq_deinit (line 198) | static void nfq_deinit(struct nfq_handle **h, struct nfq_q_handle **qh) function nfq_init (line 213) | static bool nfq_init(struct nfq_handle **h, struct nfq_q_handle **qh) function notify_ready (line 278) | static void notify_ready(void) function nfq_main (line 287) | static int nfq_main(void) function dvt_main (line 383) | static int dvt_main(void) function win_main (line 547) | static int win_main(const char *windivert_filter) function exit_clean (line 673) | static void exit_clean(int code) function parse_uid (line 680) | static bool parse_uid(const char *opt, uid_t *uid, gid_t *gid, int *gid_... function parse_ws_scale_factor (line 708) | static bool parse_ws_scale_factor(char *s, uint16_t *wsize, uint8_t *wsc... function parse_cutoff (line 734) | static bool parse_cutoff(const char *opt, unsigned int *value, char *mode) function parse_net32_signed (line 739) | static bool parse_net32_signed(const char *opt, uint32_t *value) function load_file_or_exit (line 751) | static void load_file_or_exit(const char *filename, void *buf, size_t *s... function parse_autottl (line 804) | static bool parse_autottl(const char *s, autottl *t, int8_t def_delta, u... function parse_l7_list (line 847) | static bool parse_l7_list(char *opt, uint32_t *l7) function parse_pf_list (line 883) | static bool parse_pf_list(char *opt, struct port_filters_head *pfl) function wf_make_l3 (line 906) | static bool wf_make_l3(char *opt, bool *ipv4, bool *ipv6) function parse_httpreqpos (line 930) | static bool parse_httpreqpos(const char *s, struct proto_pos *sp) function parse_tlspos (line 946) | static bool parse_tlspos(const char *s, struct proto_pos *sp) function parse_int16 (line 968) | static bool parse_int16(const char *p, int16_t *v) function parse_posmarker (line 978) | static bool parse_posmarker(const char *opt, uint8_t *posmarker) function parse_split_pos (line 998) | static bool parse_split_pos(char *opt, struct proto_pos *split) function parse_split_pos_list (line 1022) | static bool parse_split_pos_list(char *opt, struct proto_pos *splits, in... function parse_domain_list (line 1041) | static bool parse_domain_list(char *opt, hostlist_pool **pp) function parse_ip_list (line 1061) | static bool parse_ip_list(char *opt, ipset *pp) function parse_tlsmod_list (line 1081) | static bool parse_tlsmod_list(char *opt, struct fake_tls_mod *tls_mod) function parse_hostfakesplit_mod (line 1134) | static bool parse_hostfakesplit_mod(char *opt, struct hostfakesplit_mod ... function parse_fakedsplit_mod (line 1183) | static bool parse_fakedsplit_mod(char *opt, struct fakedsplit_mod *fs_mod) function parse_tcpmod (line 1226) | static bool parse_tcpmod(char *opt, struct tcp_mod *tcp_mod) function parse_fooling (line 1266) | static bool parse_fooling(char *opt, unsigned int *fooling_mode) function parse_strlist (line 1294) | static bool parse_strlist(char *opt, struct str_list_head *list) function parse_tcpflags (line 1308) | static bool parse_tcpflags(char *opt, uint16_t *fl) function split_compat (line 1365) | static void split_compat(struct desync_profile *dp) function SplitDebug (line 1380) | static void SplitDebug(void) function onetime_tls_mod_blob (line 1394) | static bool onetime_tls_mod_blob(int profile_n, int fake_n, const struct... function onetime_tls_mod (line 1529) | static bool onetime_tls_mod(struct desync_profile *dp) type blob_item (line 1566) | struct blob_item type blob_collection_head (line 1566) | struct blob_collection_head type blob_item (line 1568) | struct blob_item type blob_item (line 1588) | struct blob_item type blob_collection_head (line 1588) | struct blob_collection_head type blob_item (line 1595) | struct blob_item function wf_make_pf (line 1610) | static bool wf_make_pf(char *opt, const char *l4, const char *portname, ... function wf_make_filter (line 1678) | static bool wf_make_filter( function hash_jen (line 1744) | static unsigned int hash_jen(const void *data, unsigned int len) function exithelp (line 1754) | static void exithelp(void) function exithelp_clean (line 1927) | static void exithelp_clean(void) function config_from_file (line 1935) | void config_from_file(const char *filename) function check_dp (line 1960) | void check_dp(const struct desync_profile *dp) type opt_indices (line 2001) | enum opt_indices { type option (line 2142) | struct option function main (line 2283) | int main(int argc, char **argv) FILE: nfq/packet_queue.c function rawpacket_queue_init (line 7) | void rawpacket_queue_init(struct rawpacket_tailhead *q) function rawpacket_free (line 11) | void rawpacket_free(struct rawpacket *rp) type rawpacket (line 16) | struct rawpacket type rawpacket_tailhead (line 16) | struct rawpacket_tailhead type rawpacket (line 18) | struct rawpacket function rawpacket_queue_destroy (line 23) | void rawpacket_queue_destroy(struct rawpacket_tailhead *q) type rawpacket (line 29) | struct rawpacket type rawpacket_tailhead (line 29) | struct rawpacket_tailhead type sockaddr_storage (line 29) | struct sockaddr_storage type rawpacket (line 31) | struct rawpacket type rawpacket (line 31) | struct rawpacket function rawpacket_queue_count (line 60) | unsigned int rawpacket_queue_count(const struct rawpacket_tailhead *q) function rawpacket_queue_empty (line 67) | bool rawpacket_queue_empty(const struct rawpacket_tailhead *q) FILE: nfq/packet_queue.h type rawpacket (line 9) | struct rawpacket type rawpacket_tailhead (line 20) | struct rawpacket_tailhead type rawpacket_tailhead (line 21) | struct rawpacket_tailhead type rawpacket_tailhead (line 22) | struct rawpacket_tailhead type rawpacket_tailhead (line 23) | struct rawpacket_tailhead type rawpacket (line 24) | struct rawpacket type rawpacket_tailhead (line 24) | struct rawpacket_tailhead type sockaddr_storage (line 24) | struct sockaddr_storage type rawpacket (line 25) | struct rawpacket type rawpacket_tailhead (line 25) | struct rawpacket_tailhead type rawpacket (line 26) | struct rawpacket FILE: nfq/params.c function DLOG_FILE (line 25) | int DLOG_FILE(FILE *F, const char *format, va_list args) function DLOG_CON (line 29) | int DLOG_CON(const char *format, int syslog_priority, va_list args) function DLOG_FILENAME (line 33) | int DLOG_FILENAME(const char *filename, const char *format, va_list args) function syslog_log_function (line 51) | static void syslog_log_function(int priority, const char *line) function syslog_priority_to_android (line 56) | static enum android_LogPriority syslog_priority_to_android(int priority) function android_log_function (line 73) | static void android_log_function(int priority, const char *line) function log_buffered (line 78) | static void log_buffered(f_log_function log_function, int syslog_priorit... function DLOG_VA (line 92) | static int DLOG_VA(const char *format, int syslog_priority, bool condup,... function DLOG (line 132) | int DLOG(const char *format, ...) function DLOG_CONDUP (line 141) | int DLOG_CONDUP(const char *format, ...) function DLOG_ERR (line 150) | int DLOG_ERR(const char *format, ...) function DLOG_PERROR (line 159) | int DLOG_PERROR(const char *s) function LOG_APPEND (line 165) | int LOG_APPEND(const char *filename, const char *format, va_list args) function HOSTLIST_DEBUGLOG_APPEND (line 182) | int HOSTLIST_DEBUGLOG_APPEND(const char *format, ...) function hexdump_limited_dlog (line 198) | void hexdump_limited_dlog(const uint8_t *data, size_t size, size_t limit) function dp_init (line 214) | void dp_init(struct desync_profile *dp) function dp_fake_defaults (line 245) | bool dp_fake_defaults(struct desync_profile *dp) type desync_profile_list (line 284) | struct desync_profile_list type desync_profile_list_head (line 284) | struct desync_profile_list_head type desync_profile_list (line 286) | struct desync_profile_list type desync_profile_list (line 286) | struct desync_profile_list type desync_profile_list (line 292) | struct desync_profile_list function dp_clear_dynamic (line 303) | static void dp_clear_dynamic(struct desync_profile *dp) function dp_clear (line 320) | void dp_clear(struct desync_profile *dp) function dp_entry_destroy (line 325) | void dp_entry_destroy(struct desync_profile_list *entry) function dp_list_destroy (line 330) | void dp_list_destroy(struct desync_profile_list_head *head) function dp_list_have_autohostlist (line 339) | bool dp_list_have_autohostlist(struct desync_profile_list_head *head) function dp_list_need_all_out (line 348) | bool dp_list_need_all_out(struct desync_profile_list_head *head) function cleanup_args (line 359) | void cleanup_args(struct params_s *params) function cleanup_params (line 365) | void cleanup_params(struct params_s *params) FILE: nfq/params.h type log_target (line 74) | enum log_target { LOG_TARGET_CONSOLE=0, LOG_TARGET_FILE, LOG_TARGET_SYSL... type fake_tls_mod_cache (line 76) | struct fake_tls_mod_cache type fake_tls_mod (line 80) | struct fake_tls_mod type hostfakesplit_mod (line 85) | struct hostfakesplit_mod type fakedsplit_mod (line 91) | struct fakedsplit_mod type tcp_mod (line 95) | struct tcp_mod type t_synack_split (line 100) | typedef enum {SS_NONE=0,SS_SYN,SS_SYNACK,SS_ACKSYN} t_synack_split; type t_ip_id_mode (line 101) | typedef enum {IPID_SEQ=0,IPID_SEQ_GROUP,IPID_RND,IPID_ZERO,IPID_SAME} t_... type desync_profile (line 103) | struct desync_profile type desync_profile_list (line 195) | struct desync_profile_list { type desync_profile_list (line 200) | struct desync_profile_list type desync_profile_list_head (line 200) | struct desync_profile_list_head type desync_profile_list (line 201) | struct desync_profile_list type desync_profile_list_head (line 202) | struct desync_profile_list_head type desync_profile_list_head (line 203) | struct desync_profile_list_head type desync_profile_list_head (line 204) | struct desync_profile_list_head type desync_profile (line 205) | struct desync_profile type desync_profile (line 206) | struct desync_profile type desync_profile (line 207) | struct desync_profile type params_s (line 209) | struct params_s type params_s (line 264) | struct params_s type params_s (line 267) | struct params_s type params_s (line 269) | struct params_s FILE: nfq/pools.c function ut_oom_recover (line 46) | static void ut_oom_recover(void *elem) function HostlistPoolAddStrLen (line 52) | bool HostlistPoolAddStrLen(hostlist_pool **pp, const char *s, size_t sle... function HostlistPoolAddStr (line 58) | bool HostlistPoolAddStr(hostlist_pool **pp, const char *s, uint32_t flags) function hostlist_pool (line 63) | hostlist_pool *HostlistPoolGetStr(hostlist_pool *p, const char *s) function HostlistPoolCheckStr (line 69) | bool HostlistPoolCheckStr(hostlist_pool *p, const char *s) function HostlistPoolDestroy (line 74) | void HostlistPoolDestroy(hostlist_pool **pp) function HostFailPoolDestroy (line 81) | void HostFailPoolDestroy(hostfail_pool **pp) function hostfail_pool (line 85) | hostfail_pool * HostFailPoolAdd(hostfail_pool **pp,const char *s,int fai... function hostfail_pool (line 93) | hostfail_pool *HostFailPoolFind(hostfail_pool *p,const char *s) function HostFailPoolDel (line 99) | void HostFailPoolDel(hostfail_pool **p, hostfail_pool *elem) function HostFailPoolPurge (line 105) | void HostFailPoolPurge(hostfail_pool **pp) function HostFailPoolPurgeRateLimited (line 116) | void HostFailPoolPurgeRateLimited(hostfail_pool **pp) function HostFailPoolDump (line 126) | void HostFailPoolDump(hostfail_pool *p) function strlist_add (line 135) | bool strlist_add(struct str_list_head *head, const char *filename) function strlist_entry_destroy (line 148) | static void strlist_entry_destroy(struct str_list *entry) function strlist_destroy (line 153) | void strlist_destroy(struct str_list_head *head) function strlist_search (line 162) | bool strlist_search(const struct str_list_head *head, const char *str) type hostlist_file (line 178) | struct hostlist_file type hostlist_files_head (line 178) | struct hostlist_files_head type hostlist_file (line 180) | struct hostlist_file type hostlist_file (line 180) | struct hostlist_file function hostlist_files_entry_destroy (line 199) | static void hostlist_files_entry_destroy(struct hostlist_file *entry) function hostlist_files_destroy (line 205) | void hostlist_files_destroy(struct hostlist_files_head *head) type hostlist_file (line 214) | struct hostlist_file type hostlist_files_head (line 214) | struct hostlist_files_head type hostlist_file (line 216) | struct hostlist_file function hostlist_files_reset_modtime (line 225) | void hostlist_files_reset_modtime(struct hostlist_files_head *list) type hostlist_item (line 233) | struct hostlist_item type hostlist_collection_head (line 233) | struct hostlist_collection_head type hostlist_file (line 233) | struct hostlist_file type hostlist_item (line 235) | struct hostlist_item type hostlist_item (line 235) | struct hostlist_item function hostlist_collection_destroy (line 243) | void hostlist_collection_destroy(struct hostlist_collection_head *head) type hostlist_item (line 252) | struct hostlist_item type hostlist_collection_head (line 252) | struct hostlist_collection_head type hostlist_item (line 254) | struct hostlist_item function hostlist_collection_is_empty (line 263) | bool hostlist_collection_is_empty(const struct hostlist_collection_head ... function kavl_bit_cmp (line 276) | static int kavl_bit_cmp(const struct kavl_bit_elem *p, const struct kavl... function kavl_bit_destroy_elem (line 289) | static void kavl_bit_destroy_elem(struct kavl_bit_elem *e) function kavl_bit_delete (line 297) | void kavl_bit_delete(struct kavl_bit_elem **hdr, const void *data, unsig... function kavl_bit_destroy (line 304) | void kavl_bit_destroy(struct kavl_bit_elem **hdr) type kavl_bit_elem (line 314) | struct kavl_bit_elem type kavl_bit_elem (line 314) | struct kavl_bit_elem type kavl_bit_elem (line 316) | struct kavl_bit_elem type kavl_bit_elem (line 318) | struct kavl_bit_elem type kavl_bit_elem (line 333) | struct kavl_bit_elem type kavl_bit_elem (line 333) | struct kavl_bit_elem type kavl_bit_elem (line 335) | struct kavl_bit_elem function ipset_kavl_add (line 341) | static bool ipset_kavl_add(struct kavl_bit_elem **ipset, const void *a, ... function ipset4Check (line 356) | bool ipset4Check(const struct kavl_bit_elem *ipset, const struct in_addr... function ipset4Add (line 360) | bool ipset4Add(struct kavl_bit_elem **ipset, const struct in_addr *a, ui... function ipset4Print (line 365) | void ipset4Print(struct kavl_bit_elem *ipset) function ipset6Check (line 384) | bool ipset6Check(const struct kavl_bit_elem *ipset, const struct in6_add... function ipset6Add (line 388) | bool ipset6Add(struct kavl_bit_elem **ipset, const struct in6_addr *a, u... function ipset6Print (line 393) | void ipset6Print(struct kavl_bit_elem *ipset) function ipsetDestroy (line 412) | void ipsetDestroy(ipset *ipset) function ipsetPrint (line 417) | void ipsetPrint(ipset *ipset) type ipset_file (line 424) | struct ipset_file type ipset_files_head (line 424) | struct ipset_files_head type ipset_file (line 426) | struct ipset_file type ipset_file (line 426) | struct ipset_file function ipset_files_entry_destroy (line 445) | static void ipset_files_entry_destroy(struct ipset_file *entry) function ipset_files_destroy (line 451) | void ipset_files_destroy(struct ipset_files_head *head) type ipset_file (line 460) | struct ipset_file type ipset_files_head (line 460) | struct ipset_files_head type ipset_file (line 462) | struct ipset_file function ipset_files_reset_modtime (line 471) | void ipset_files_reset_modtime(struct ipset_files_head *list) type ipset_item (line 479) | struct ipset_item type ipset_collection_head (line 479) | struct ipset_collection_head type ipset_file (line 479) | struct ipset_file type ipset_item (line 481) | struct ipset_item type ipset_item (line 481) | struct ipset_item function ipset_collection_destroy (line 489) | void ipset_collection_destroy(struct ipset_collection_head *head) type ipset_item (line 498) | struct ipset_item type ipset_collection_head (line 498) | struct ipset_collection_head type ipset_item (line 500) | struct ipset_item function ipset_collection_is_empty (line 509) | bool ipset_collection_is_empty(const struct ipset_collection_head *head) function port_filter_add (line 522) | bool port_filter_add(struct port_filters_head *head, const port_filter *pf) function port_filters_destroy (line 532) | void port_filters_destroy(struct port_filters_head *head) function port_filters_in_range (line 541) | bool port_filters_in_range(const struct port_filters_head *head, uint16_... function port_filters_deny_if_empty (line 553) | bool port_filters_deny_if_empty(struct port_filters_head *head) type blob_item (line 562) | struct blob_item type blob_collection_head (line 562) | struct blob_collection_head type blob_item (line 564) | struct blob_item type blob_item (line 564) | struct blob_item type blob_item (line 568) | struct blob_item type blob_item (line 579) | struct blob_item type blob_collection_head (line 579) | struct blob_collection_head type blob_item (line 582) | struct blob_item type blob_item (line 582) | struct blob_item type blob_item (line 595) | struct blob_item function blob_collection_destroy (line 607) | void blob_collection_destroy(struct blob_collection_head *head) function blob_collection_empty (line 619) | bool blob_collection_empty(const struct blob_collection_head *head) function ipcache_item_touch (line 626) | static void ipcache_item_touch(ip_cache_item *item) function ipcache_item_init (line 630) | static void ipcache_item_init(ip_cache_item *item) function ipcache_item_destroy (line 637) | static void ipcache_item_destroy(ip_cache_item *item) function ipcache4Destroy (line 642) | static void ipcache4Destroy(ip_cache4 **ipcache) function ipcache4Key (line 652) | static void ipcache4Key(ip4if *key, const struct in_addr *a, const char ... function ip_cache4 (line 658) | static ip_cache4 *ipcache4Find(ip_cache4 *ipcache, const struct in_addr ... function ip_cache4 (line 667) | static ip_cache4 *ipcache4Add(ip_cache4 **ipcache, const struct in_addr ... function ipcache4Print (line 685) | static void ipcache4Print(ip_cache4 *ipcache) function ipcache6Destroy (line 700) | static void ipcache6Destroy(ip_cache6 **ipcache) function ipcache6Key (line 710) | static void ipcache6Key(ip6if *key, const struct in6_addr *a, const char... function ip_cache6 (line 716) | static ip_cache6 *ipcache6Find(ip_cache6 *ipcache, const struct in6_addr... function ip_cache6 (line 725) | static ip_cache6 *ipcache6Add(ip_cache6 **ipcache, const struct in6_addr... function ipcache6Print (line 743) | static void ipcache6Print(ip_cache6 *ipcache) function ipcacheDestroy (line 758) | void ipcacheDestroy(ip_cache *ipcache) function ipcachePrint (line 763) | void ipcachePrint(ip_cache *ipcache) function ip_cache_item (line 769) | ip_cache_item *ipcacheTouch(ip_cache *ipcache, const struct in_addr *a4,... function ipcache4_purge (line 792) | static void ipcache4_purge(ip_cache4 **ipcache, time_t lifetime) function ipcache6_purge (line 806) | static void ipcache6_purge(ip_cache6 **ipcache, time_t lifetime) function ipcache_purge (line 820) | static void ipcache_purge(ip_cache *ipcache, time_t lifetime) function ipcachePurgeRateLimited (line 829) | void ipcachePurgeRateLimited(ip_cache *ipcache, time_t lifetime) FILE: nfq/pools.h type hostlist_pool (line 20) | typedef struct hostlist_pool { type str_list (line 31) | struct str_list { type str_list_head (line 37) | struct str_list_head type str_list_head (line 38) | struct str_list_head type str_list_head (line 39) | struct str_list_head type hostfail_pool (line 42) | typedef struct hostfail_pool { type hostlist_file (line 58) | struct hostlist_file { type hostlist_file (line 66) | struct hostlist_file type hostlist_files_head (line 66) | struct hostlist_files_head type hostlist_files_head (line 67) | struct hostlist_files_head type hostlist_file (line 68) | struct hostlist_file type hostlist_files_head (line 68) | struct hostlist_files_head type hostlist_files_head (line 69) | struct hostlist_files_head type hostlist_item (line 71) | struct hostlist_item { type hostlist_item (line 76) | struct hostlist_item type hostlist_collection_head (line 76) | struct hostlist_collection_head type hostlist_file (line 76) | struct hostlist_file type hostlist_collection_head (line 77) | struct hostlist_collection_head type hostlist_item (line 78) | struct hostlist_item type hostlist_collection_head (line 78) | struct hostlist_collection_head type hostlist_collection_head (line 79) | struct hostlist_collection_head type kavl_bit_elem (line 82) | struct kavl_bit_elem type kavl_bit_elem (line 89) | struct kavl_bit_elem type kavl_bit_elem (line 89) | struct kavl_bit_elem type kavl_bit_elem (line 90) | struct kavl_bit_elem type kavl_bit_elem (line 90) | struct kavl_bit_elem type kavl_bit_elem (line 91) | struct kavl_bit_elem type kavl_bit_elem (line 92) | struct kavl_bit_elem type ipset (line 95) | typedef struct ipset { type kavl_bit_elem (line 101) | struct kavl_bit_elem type in_addr (line 101) | struct in_addr function ipset4AddCidr (line 102) | static inline bool ipset4AddCidr(struct kavl_bit_elem **ipset, const str... type kavl_bit_elem (line 106) | struct kavl_bit_elem type in_addr (line 106) | struct in_addr type kavl_bit_elem (line 107) | struct kavl_bit_elem type kavl_bit_elem (line 109) | struct kavl_bit_elem type in6_addr (line 109) | struct in6_addr function ipset6AddCidr (line 110) | static inline bool ipset6AddCidr(struct kavl_bit_elem **ipset, const str... type kavl_bit_elem (line 114) | struct kavl_bit_elem type in6_addr (line 114) | struct in6_addr type kavl_bit_elem (line 115) | struct kavl_bit_elem type ipset_file (line 121) | struct ipset_file { type ipset_file (line 129) | struct ipset_file type ipset_files_head (line 129) | struct ipset_files_head type ipset_files_head (line 130) | struct ipset_files_head type ipset_file (line 131) | struct ipset_file type ipset_files_head (line 131) | struct ipset_files_head type ipset_files_head (line 132) | struct ipset_files_head type ipset_item (line 134) | struct ipset_item { type ipset_item (line 139) | struct ipset_item type ipset_collection_head (line 139) | struct ipset_collection_head type ipset_file (line 139) | struct ipset_file type ipset_collection_head (line 140) | struct ipset_collection_head type ipset_item (line 141) | struct ipset_item type ipset_collection_head (line 141) | struct ipset_collection_head type ipset_collection_head (line 142) | struct ipset_collection_head type port_filter_item (line 145) | struct port_filter_item { type port_filters_head (line 150) | struct port_filters_head type port_filters_head (line 151) | struct port_filters_head type port_filters_head (line 152) | struct port_filters_head type port_filters_head (line 153) | struct port_filters_head type blob_item (line 156) | struct blob_item { type blob_item (line 166) | struct blob_item type blob_collection_head (line 166) | struct blob_collection_head type blob_item (line 167) | struct blob_item type blob_collection_head (line 167) | struct blob_collection_head type blob_collection_head (line 168) | struct blob_collection_head type blob_collection_head (line 169) | struct blob_collection_head type ip4if (line 172) | typedef struct ip4if type ip6if (line 177) | typedef struct ip6if type ip_cache_item (line 182) | typedef struct ip_cache_item type ip_cache4 (line 189) | typedef struct ip_cache4 type ip_cache6 (line 195) | typedef struct ip_cache6 type ip_cache (line 201) | typedef struct ip_cache type in_addr (line 207) | struct in_addr type in6_addr (line 207) | struct in6_addr FILE: nfq/protocol.c function FindNLD (line 13) | static bool FindNLD(const uint8_t *dom, size_t dlen, int level, const ui... function l7_proto_match (line 43) | bool l7_proto_match(t_l7proto l7proto, uint32_t filter_l7) function IsHostMarker (line 55) | bool IsHostMarker(uint8_t posmarker) function CheckPos (line 85) | static size_t CheckPos(size_t sz, ssize_t offset) function AnyProtoPos (line 89) | size_t AnyProtoPos(uint8_t posmarker, int16_t pos, const uint8_t *data, ... function HostPos (line 101) | static size_t HostPos(uint8_t posmarker, int16_t pos, const uint8_t *dat... function ResolvePos (line 126) | size_t ResolvePos(const uint8_t *data, size_t sz, t_l7proto l7proto, con... function ResolveMultiPos (line 138) | void ResolveMultiPos(const uint8_t *data, size_t sz, t_l7proto l7proto, ... function IsHttp (line 165) | bool IsHttp(const uint8_t *data, size_t len) function IsHostAt (line 170) | static bool IsHostAt(const uint8_t *p) function HttpFindHost (line 203) | bool HttpFindHost(uint8_t **pHost,uint8_t *buf,size_t bs) function HttpFindHostConst (line 212) | bool HttpFindHostConst(const uint8_t **pHost,const uint8_t *buf,size_t bs) function IsHttpReply (line 222) | bool IsHttpReply(const uint8_t *data, size_t len) function HttpReplyCode (line 230) | int HttpReplyCode(const uint8_t *data, size_t len) function HttpExtractHeader (line 234) | bool HttpExtractHeader(const uint8_t *data, size_t len, const char *head... function HttpExtractHost (line 257) | bool HttpExtractHost(const uint8_t *data, size_t len, char *host, size_t... function HttpReplyLooksLikeDPIRedirect (line 262) | bool HttpReplyLooksLikeDPIRedirect(const uint8_t *data, size_t len, cons... function HttpPos (line 298) | size_t HttpPos(uint8_t posmarker, int16_t pos, const uint8_t *data, size... function TLSRecordDataLen (line 354) | uint16_t TLSRecordDataLen(const uint8_t *data) function TLSRecordLen (line 358) | size_t TLSRecordLen(const uint8_t *data) function IsTLSRecordFull (line 362) | bool IsTLSRecordFull(const uint8_t *data, size_t len) function IsTLSClientHello (line 366) | bool IsTLSClientHello(const uint8_t *data, size_t len, bool bPartialIsOK) function TLSHandshakeLen (line 371) | size_t TLSHandshakeLen(const uint8_t *data) function IsTLSHandshakeClientHello (line 375) | bool IsTLSHandshakeClientHello(const uint8_t *data, size_t len) function IsTLSHandshakeFull (line 379) | bool IsTLSHandshakeFull(const uint8_t *data, size_t len) function TLSFindExtLenOffsetInHandshake (line 385) | bool TLSFindExtLenOffsetInHandshake(const uint8_t *data, size_t len, siz... function TLSFindExtLen (line 417) | bool TLSFindExtLen(const uint8_t *data, size_t len, size_t *off) function TLSFindExtInHandshake (line 426) | bool TLSFindExtInHandshake(const uint8_t *data, size_t len, uint16_t typ... function TLSFindExt (line 480) | bool TLSFindExt(const uint8_t *data, size_t len, uint16_t type, const ui... function TLSAdvanceToHostInSNI (line 492) | bool TLSAdvanceToHostInSNI(const uint8_t **ext, size_t *elen, size_t *slen) function TLSExtractHostFromExt (line 502) | static bool TLSExtractHostFromExt(const uint8_t *ext, size_t elen, char ... function TLSHelloExtractHost (line 518) | bool TLSHelloExtractHost(const uint8_t *data, size_t len, char *host, si... function TLSHelloExtractHostFromHandshake (line 526) | bool TLSHelloExtractHostFromHandshake(const uint8_t *data, size_t len, c... function TLSPos (line 535) | size_t TLSPos(uint8_t posmarker, int16_t pos, const uint8_t *data, size_... function tvb_get_varint (line 572) | static uint8_t tvb_get_varint(const uint8_t *tvb, uint64_t *value) function tvb_get_size (line 593) | static uint8_t tvb_get_size(uint8_t tvb) function IsQUICCryptoHello (line 598) | bool IsQUICCryptoHello(const uint8_t *data, size_t len, size_t *hello_of... function QUICDraftVersion (line 615) | uint8_t QUICDraftVersion(uint32_t version) function is_quic_draft_max (line 651) | static bool is_quic_draft_max(uint32_t draft_version, uint8_t max_version) function is_quic_v2 (line 655) | static bool is_quic_v2(uint32_t version) function quic_hkdf_expand_label (line 660) | static bool quic_hkdf_expand_label(const uint8_t *secret, uint8_t secret... function quic_derive_initial_secret (line 676) | static bool quic_derive_initial_secret(const quic_cid_t *cid, uint8_t *c... function QUICIsLongHeader (line 762) | bool QUICIsLongHeader(const uint8_t *data, size_t len) function QUICExtractVersion (line 766) | uint32_t QUICExtractVersion(const uint8_t *data, size_t len) function QUICExtractDCID (line 771) | bool QUICExtractDCID(const uint8_t *data, size_t len, quic_cid_t *cid) function QUICDecryptInitial (line 778) | bool QUICDecryptInitial(const uint8_t *data, size_t data_len, uint8_t *c... type range64 (line 847) | struct range64 function cmp_range64 (line 852) | static int cmp_range64(const void * a, const void * b) function QUICDefragCrypto (line 856) | bool QUICDefragCrypto(const uint8_t *clean,size_t clean_len, uint8_t *de... function IsQUICInitial (line 977) | bool IsQUICInitial(const uint8_t *data, size_t len) function IsWireguardHandshakeInitiation (line 1018) | bool IsWireguardHandshakeInitiation(const uint8_t *data, size_t len) function IsDhtD1 (line 1022) | bool IsDhtD1(const uint8_t *data, size_t len) function IsDiscordIpDiscoveryRequest (line 1026) | bool IsDiscordIpDiscoveryRequest(const uint8_t *data, size_t len) function IsStunMessage (line 1034) | bool IsStunMessage(const uint8_t *data, size_t len) FILE: nfq/protocol.h type t_l7proto (line 10) | typedef enum {UNKNOWN=0, HTTP, TLS, QUIC, WIREGUARD, DHT, DISCORD, STUN}... type proto_pos (line 31) | struct proto_pos type proto_pos (line 42) | struct proto_pos type proto_pos (line 43) | struct proto_pos type quic_cid_t (line 82) | typedef struct quic_cid { FILE: nfq/sec.c function set_filter (line 147) | static void set_filter(struct sock_filter *filter, __u16 code, __u8 jt, ... function set_seccomp (line 155) | static bool set_seccomp(void) function sec_harden (line 193) | bool sec_harden(void) function checkpcap (line 215) | bool checkpcap(uint64_t caps) function setpcap (line 226) | bool setpcap(uint64_t caps) function getmaxcap (line 238) | int getmaxcap(void) function dropcaps (line 250) | bool dropcaps(void) function sec_harden (line 280) | bool sec_harden(void) function can_drop_root (line 287) | bool can_drop_root(void) function droproot (line 298) | bool droproot(uid_t uid, const char *user, const gid_t *gid, int gid_count) function print_id (line 343) | void print_id(void) function daemonize (line 364) | void daemonize(void) function writepid (line 401) | bool writepid(const char *filename) FILE: nfq/uthash.h type UT_hash_bucket (line 1068) | typedef struct UT_hash_bucket { type UT_hash_table (line 1092) | typedef struct UT_hash_table { type UT_hash_handle (line 1125) | typedef struct UT_hash_handle { FILE: nfq/win.c function service_run (line 17) | bool service_run(int argc, char *argv[]) function service_set_status (line 30) | static void service_set_status(DWORD state) function service_controlhandler (line 37) | void service_controlhandler(DWORD request) function service_main (line 50) | void service_main(int argc __attribute__((unused)), char *argv[] __attri... FILE: nfq/windows/windivert/windivert.h type WINDIVERT_LAYER (line 75) | typedef enum type WINDIVERT_DATA_NETWORK (line 87) | typedef struct type WINDIVERT_DATA_FLOW (line 96) | typedef struct type WINDIVERT_DATA_SOCKET (line 111) | typedef struct type WINDIVERT_DATA_REFLECT (line 126) | typedef struct type WINDIVERT_ADDRESS (line 142) | typedef struct type WINDIVERT_EVENT (line 173) | typedef enum type WINDIVERT_PARAM (line 203) | typedef enum type WINDIVERT_SHUTDOWN (line 216) | typedef enum type WINDIVERT_IPHDR (line 341) | typedef struct type WINDIVERT_IPV6HDR (line 394) | typedef struct type WINDIVERT_ICMPHDR (line 428) | typedef struct type WINDIVERT_ICMPV6HDR (line 436) | typedef struct type WINDIVERT_TCPHDR (line 444) | typedef struct type WINDIVERT_UDPHDR (line 464) | typedef struct FILE: tpws/andr/getifaddrs.c type sockaddr_ll_hack (line 18) | struct sockaddr_ll_hack { type sockaddr (line 27) | struct sockaddr type sockaddr_ll_hack (line 28) | struct sockaddr_ll_hack type sockaddr_in (line 29) | struct sockaddr_in type sockaddr_in6 (line 30) | struct sockaddr_in6 type ifaddrs_storage (line 33) | struct ifaddrs_storage { type ifaddrs_ctx (line 41) | struct ifaddrs_ctx { function freeifaddrs (line 47) | void freeifaddrs(struct ifaddrs *ifp) function copy_addr (line 57) | static void copy_addr(struct sockaddr **r, int af, union sockany *sa, vo... function gen_netmask (line 82) | static void gen_netmask(struct sockaddr **r, int af, union sockany *sa, ... function copy_lladdr (line 94) | static void copy_lladdr(struct sockaddr **r, union sockany *sa, void *ad... function netlink_msg_to_ifaddr (line 105) | static int netlink_msg_to_ifaddr(void *pctx, struct nlmsghdr *h) function getifaddrs (line 207) | int getifaddrs(struct ifaddrs **ifap) FILE: tpws/andr/ifaddrs.h type ifaddrs (line 6) | struct ifaddrs type ifaddrs (line 7) | struct ifaddrs FILE: tpws/andr/netlink.c function __netlink_enumerate (line 9) | static int __netlink_enumerate(int fd, unsigned int seq, int type, int af, function __rtnetlink_enumerate (line 44) | int __rtnetlink_enumerate(int link_af, int addr_af, int (*cb)(void *ctx,... FILE: tpws/andr/netlink.h type nlmsghdr (line 7) | struct nlmsghdr { type rtattr (line 36) | struct rtattr { type rtgenmsg (line 41) | struct rtgenmsg { type ifinfomsg (line 45) | struct ifinfomsg { type ifaddrmsg (line 63) | struct ifaddrmsg { type nlmsghdr (line 94) | struct nlmsghdr FILE: tpws/epoll-shim/include/sys/epoll.h type EPOLL_EVENTS (line 21) | enum EPOLL_EVENTS { __EPOLL_DUMMY } type epoll_data_t (line 43) | typedef union epoll_data { type epoll_event (line 50) | struct epoll_event { type epoll_event (line 62) | struct epoll_event type epoll_event (line 63) | struct epoll_event type epoll_event (line 64) | struct epoll_event FILE: tpws/epoll-shim/src/epoll.c function errno_t (line 35) | static errno_t function FDContextMapNode (line 47) | static FDContextMapNode * function epoll_create_common (line 73) | static int function epoll_create (line 88) | int function epoll_create1 (line 99) | int function errno_t (line 110) | static errno_t function epoll_ctl (line 126) | int function is_no_wait_deadline (line 138) | static bool function errno_t (line 144) | static errno_t function errno_t (line 234) | static errno_t function errno_t (line 262) | static errno_t function epoll_pwait (line 286) | int function epoll_wait (line 301) | int FILE: tpws/epoll-shim/src/epoll_shim_ctx.c function fd_context_map_node_init (line 10) | static void function FDContextMapNode (line 17) | static FDContextMapNode * function errno_t (line 32) | static errno_t function errno_t (line 44) | errno_t function errno_t (line 54) | errno_t function errno_t (line 66) | errno_t function fd_context_map_node_cmp (line 80) | static int function FDContextMapNode (line 96) | static FDContextMapNode * function FDContextMapNode (line 136) | FDContextMapNode * function FDContextMapNode (line 158) | static FDContextMapNode * function FDContextMapNode (line 172) | FDContextMapNode * function FDContextMapNode (line 184) | FDContextMapNode * function epoll_shim_ctx_remove_node_explicit (line 200) | void function epoll_shim_close (line 212) | int function epoll_shim_read (line 231) | ssize_t function epoll_shim_write (line 257) | ssize_t FILE: tpws/epoll-shim/src/epoll_shim_ctx.h type fd_context_map_node_ (line 15) | struct fd_context_map_node_ type FDContextMapNode (line 16) | typedef struct fd_context_map_node_ FDContextMapNode; type errno_t (line 18) | typedef errno_t (*fd_context_read_fun)(FDContextMapNode *node, /**/ type errno_t (line 20) | typedef errno_t (*fd_context_write_fun)(FDContextMapNode *node, /**/ type errno_t (line 22) | typedef errno_t (*fd_context_close_fun)(FDContextMapNode *node); type FDContextVTable (line 24) | typedef struct { type fd_context_map_node_ (line 35) | struct fd_context_map_node_ { type FDContextMap (line 52) | typedef RB_HEAD(fd_context_map_, fd_context_map_node_) FDContextMap; type EpollShimCtx (line 54) | typedef struct { FILE: tpws/epoll-shim/src/epollfd_ctx.c function RegisteredFDsNode (line 28) | static RegisteredFDsNode * function registered_fds_node_destroy (line 43) | static void type NeededFilters (line 54) | typedef struct { function NeededFilters (line 60) | static NeededFilters function registered_fds_node_update_flags_from_epoll_event (line 214) | static void function errno_t (line 229) | static errno_t function registered_fds_node_trigger_self (line 261) | static void type kevent (line 281) | struct kevent type pollfd (line 296) | struct pollfd type kevent (line 326) | struct kevent type pollfd (line 360) | struct pollfd function else (line 378) | else if (kev->filter == EVFILT_EXCEPT) { function else (line 506) | else if (kev->filter == EVFILT_EXCEPT) { function registered_fds_node_register_for_completion (line 513) | static void function registered_fds_node_complete (line 550) | static void function fd_cmp (line 574) | static int function errno_t (line 583) | errno_t function errno_t (line 616) | errno_t function errno_t (line 648) | static errno_t function errno_t (line 673) | static errno_t function errno_t (line 698) | static errno_t function epollfd_ctx__trigger_self (line 728) | static void function epollfd_ctx__trigger_repoll (line 744) | static void function epollfd_ctx__remove_node_from_kq (line 771) | static void function errno_t (line 822) | static errno_t function epollfd_ctx_remove_node (line 980) | static void function modify_fifo_rights_from_capabilities (line 993) | static void function errno_t (line 1021) | static errno_t function errno_t (line 1103) | static errno_t function errno_t (line 1120) | static errno_t function epollfd_ctx_fill_pollfds (line 1183) | void function errno_t (line 1201) | errno_t function errno_t (line 1213) | static errno_t function errno_t (line 1375) | errno_t FILE: tpws/epoll-shim/src/epollfd_ctx.h type registered_fds_node_ (line 19) | struct registered_fds_node_ type RegisteredFDsNode (line 20) | typedef struct registered_fds_node_ RegisteredFDsNode; type EOFState (line 22) | typedef enum { type NodeType (line 27) | typedef enum { type registered_fds_node_ (line 35) | struct registered_fds_node_ { type PollFDList (line 72) | typedef TAILQ_HEAD(pollfds_list_, registered_fds_node_) PollFDList; type RegisteredFDsSet (line 73) | typedef RB_HEAD(registered_fds_set_, registered_fds_node_) RegisteredFDs... type EpollFDCtx (line 75) | typedef struct { type pollfd (line 101) | struct pollfd type epoll_event (line 104) | struct epoll_event type epoll_event (line 105) | struct epoll_event FILE: tpws/epoll-shim/src/eventfd_ctx.h type EventFDCtx (line 14) | typedef struct { FILE: tpws/epoll-shim/src/fix.c function ppoll (line 7) | int ppoll(struct pollfd *fds, nfds_t nfds,const struct timespec *tmo_p, ... FILE: tpws/epoll-shim/src/fix.h type errno_t (line 5) | typedef int errno_t; type itimerspec (line 14) | struct itimerspec { type pollfd (line 18) | struct pollfd type timespec (line 18) | struct timespec FILE: tpws/epoll-shim/src/signalfd_ctx.h type SignalFDCtx (line 10) | typedef struct { FILE: tpws/epoll-shim/src/timerfd_ctx.h type TimerFDCtx (line 14) | typedef struct { type itimerspec (line 33) | struct itimerspec type itimerspec (line 33) | struct itimerspec type itimerspec (line 34) | struct itimerspec FILE: tpws/gzip.c function z_readfile (line 10) | int z_readfile(FILE *F, char **buf, size_t *size) function is_gzip (line 73) | bool is_gzip(FILE* F) FILE: tpws/helpers.c function unique_size_t (line 28) | int unique_size_t(size_t *pu, int ct) function cmp_size_t (line 39) | static int cmp_size_t(const void * a, const void * b) function qsort_size_t (line 43) | void qsort_size_t(size_t *array, size_t ct) function rtrim (line 49) | void rtrim(char *s) function replace_char (line 55) | void replace_char(char *s, char from, char to) function str_ends_with (line 81) | bool str_ends_with(const char *s, const char *suffix) function load_file (line 88) | bool load_file(const char *filename, void *buffer, size_t *buffer_size) function append_to_list_file (line 106) | bool append_to_list_file(const char *filename, const char *s) function expand_bits (line 115) | void expand_bits(void *target, const void *source, unsigned int source_b... function strip_host_to_ip (line 132) | bool strip_host_to_ip(char *host) function ntop46 (line 181) | void ntop46(const struct sockaddr *sa, char *str, size_t len) function ntop46_port (line 197) | void ntop46_port(const struct sockaddr *sa, char *str, size_t len) function print_sockaddr (line 213) | void print_sockaddr(const struct sockaddr *sa) function check_local_ip (line 222) | bool check_local_ip(const struct sockaddr *saddr) function print_addrinfo (line 246) | void print_addrinfo(const struct addrinfo *ai) function saismapped (line 268) | bool saismapped(const struct sockaddr_in6 *sa) function samappedcmp (line 273) | bool samappedcmp(const struct sockaddr_in *sa1, const struct sockaddr_in... function sacmp (line 277) | bool sacmp(const struct sockaddr *sa1, const struct sockaddr *sa2) function saport (line 284) | uint16_t saport(const struct sockaddr *sa) function saconvmapped (line 289) | bool saconvmapped(struct sockaddr_storage *a) function sacopy (line 303) | void sacopy(struct sockaddr_storage *sa_dest, const struct sockaddr *sa) function sa46copy (line 317) | void sa46copy(sockaddr_in46 *sa_dest, const struct sockaddr *sa) function is_localnet (line 322) | bool is_localnet(const struct sockaddr *a) function is_linklocal (line 332) | bool is_linklocal(const struct sockaddr_in6 *a) function is_private6 (line 337) | bool is_private6(const struct sockaddr_in6* a) function set_keepalive (line 345) | bool set_keepalive(int fd) function set_ttl (line 350) | bool set_ttl(int fd, int ttl) function set_hl (line 354) | bool set_hl(int fd, int hl) function set_ttl_hl (line 358) | bool set_ttl_hl(int fd, int ttl) function get_so_error (line 366) | int get_so_error(int fd) function fprint_localtime (line 376) | int fprint_localtime(FILE *F) function time_t (line 386) | time_t file_mod_time(const char *filename) function file_mod_signature (line 391) | bool file_mod_signature(const char *filename, file_mod_sig *ms) function file_open_test (line 404) | bool file_open_test(const char *filename, int flags) function pf_in_range (line 415) | bool pf_in_range(uint16_t port, const port_filter *pf) function pf_parse (line 419) | bool pf_parse(const char *s, port_filter *pf) function pf_is_empty (line 454) | bool pf_is_empty(const port_filter *pf) function set_console_io_buffering (line 459) | void set_console_io_buffering(void) function set_env_exedir (line 465) | bool set_env_exedir(const char *argv0) function str_cidr4 (line 479) | void str_cidr4(char *s, size_t s_len, const struct cidr4 *cidr) function print_cidr4 (line 486) | void print_cidr4(const struct cidr4 *cidr) function str_cidr6 (line 492) | void str_cidr6(char *s, size_t s_len, const struct cidr6 *cidr) function print_cidr6 (line 499) | void print_cidr6(const struct cidr6 *cidr) function parse_cidr4 (line 505) | bool parse_cidr4(char *s, struct cidr4 *cidr) function parse_cidr6 (line 524) | bool parse_cidr6(char *s, struct cidr6 *cidr) function msleep (line 545) | void msleep(unsigned int ms) function socket_supports_notsent (line 555) | bool socket_supports_notsent() function socket_has_notsent (line 573) | bool socket_has_notsent(int sfd) function socket_wait_notsent (line 588) | bool socket_wait_notsent(int sfd, unsigned int delay_ms, unsigned int *w... function is_wsl (line 614) | int is_wsl(void) FILE: tpws/helpers.h type sockaddr_in46 (line 13) | typedef union type sockaddr (line 36) | struct sockaddr type sockaddr (line 37) | struct sockaddr type sockaddr (line 38) | struct sockaddr type addrinfo (line 39) | struct addrinfo type sockaddr (line 40) | struct sockaddr type sockaddr_in6 (line 42) | struct sockaddr_in6 type sockaddr_in (line 43) | struct sockaddr_in type sockaddr_in6 (line 43) | struct sockaddr_in6 type sockaddr (line 44) | struct sockaddr type sockaddr (line 44) | struct sockaddr type sockaddr (line 45) | struct sockaddr type sockaddr_storage (line 47) | struct sockaddr_storage type sockaddr_storage (line 49) | struct sockaddr_storage type sockaddr (line 49) | struct sockaddr type sockaddr (line 50) | struct sockaddr type sockaddr (line 52) | struct sockaddr type sockaddr_in6 (line 53) | struct sockaddr_in6 type sockaddr_in6 (line 54) | struct sockaddr_in6 function pntoh16 (line 63) | static inline uint16_t pntoh16(const uint8_t *p) { function phton16 (line 66) | static inline void phton16(uint8_t *p, uint16_t v) { type file_mod_sig (line 73) | typedef struct type port_filter (line 84) | typedef struct type cidr4 (line 110) | struct cidr4 type cidr6 (line 115) | struct cidr6 type cidr4 (line 120) | struct cidr4 type cidr4 (line 121) | struct cidr4 type cidr6 (line 122) | struct cidr6 type cidr6 (line 123) | struct cidr6 type cidr4 (line 124) | struct cidr4 type cidr6 (line 125) | struct cidr6 FILE: tpws/hostlist.c function addpool (line 7) | static bool addpool(hostlist_pool **hostlist, char **s, const char *end,... function AppendHostlistItem (line 41) | bool AppendHostlistItem(hostlist_pool **hostlist, char *s) function AppendHostList (line 46) | bool AppendHostList(hostlist_pool **hostlist, const char *filename) function LoadHostList (line 110) | static bool LoadHostList(struct hostlist_file *hfile) function LoadHostLists (line 133) | static bool LoadHostLists(struct hostlist_files_head *list) function NonEmptyHostlist (line 147) | bool NonEmptyHostlist(hostlist_pool **hostlist) function MakeAutolistsNonEmpty (line 153) | static void MakeAutolistsNonEmpty() function LoadAllHostLists (line 163) | bool LoadAllHostLists() function SearchHostList (line 173) | static bool SearchHostList(hostlist_pool *hostlist, const char *host, bo... function HostlistsReloadCheck (line 208) | static bool HostlistsReloadCheck(const struct hostlist_collection_head *... function HostlistsReloadCheckForProfile (line 219) | bool HostlistsReloadCheckForProfile(const struct desync_profile *dp) function HostlistCheck_ (line 224) | static bool HostlistCheck_(const struct hostlist_collection_head *hostli... function HostlistCheck (line 259) | bool HostlistCheck(const struct desync_profile *dp, const char *host, bo... type hostlist_file (line 266) | struct hostlist_file type hostlist_files_head (line 266) | struct hostlist_files_head type hostlist_collection_head (line 266) | struct hostlist_collection_head type hostlist_file (line 268) | struct hostlist_file type hostlist_file (line 289) | struct hostlist_file type desync_profile (line 289) | struct desync_profile function HostlistsDebug (line 304) | void HostlistsDebug() FILE: tpws/hostlist.h type desync_profile (line 12) | struct desync_profile type hostlist_file (line 13) | struct hostlist_file type desync_profile (line 13) | struct desync_profile type desync_profile (line 14) | struct desync_profile FILE: tpws/ipset.c function addpool (line 8) | static bool addpool(ipset *ips, char **s, const char *end, int *ct) function AppendIpsetItem (line 56) | bool AppendIpsetItem(ipset *ips, char *ip) function AppendIpset (line 61) | static bool AppendIpset(ipset *ips, const char *filename) function LoadIpset (line 125) | static bool LoadIpset(struct ipset_file *hfile) function LoadIpsets (line 148) | static bool LoadIpsets(struct ipset_files_head *list) function LoadAllIpsets (line 162) | bool LoadAllIpsets() function SearchIpset (line 167) | static bool SearchIpset(const ipset *ips, const struct in_addr *ipv4, co... function IpsetsReloadCheck (line 193) | static bool IpsetsReloadCheck(const struct ipset_collection_head *ipsets) function IpsetsReloadCheckForProfile (line 203) | bool IpsetsReloadCheckForProfile(const struct desync_profile *dp) function IpsetCheck_ (line 208) | static bool IpsetCheck_(const struct ipset_collection_head *ips, const s... function IpsetCheck (line 235) | bool IpsetCheck(const struct desync_profile *dp, const struct in_addr *i... type ipset_file (line 243) | struct ipset_file type ipset_files_head (line 243) | struct ipset_files_head type ipset_collection_head (line 243) | struct ipset_collection_head type ipset_file (line 245) | struct ipset_file type ipset_file (line 264) | struct ipset_file type desync_profile (line 264) | struct desync_profile function IpsetsDebug (line 290) | void IpsetsDebug() FILE: tpws/ipset.h type desync_profile (line 9) | struct desync_profile type in_addr (line 9) | struct in_addr type in6_addr (line 9) | struct in6_addr type ipset_file (line 10) | struct ipset_file type desync_profile (line 10) | struct desync_profile FILE: tpws/linux_compat.h type tcp_info_new (line 19) | struct tcp_info_new { FILE: tpws/macos/net/pfvar.h type pf_addr (line 13) | struct pf_addr { type pfioc_natlook (line 34) | struct pfioc_natlook { FILE: tpws/macos/sys/tree.h type type (line 79) | struct type type type (line 128) | struct type type name (line 129) | struct name type type (line 129) | struct type type type (line 139) | struct type type name (line 140) | struct name type type (line 140) | struct type type type (line 153) | struct type type name (line 154) | struct name function _SPLAY_MINMAX (line 247) | void name##_SPLAY_MINMAX(struct name *head, int __comp) \ type type (line 315) | struct type type type (line 316) | struct type FILE: tpws/params.c function DLOG_FILE (line 11) | int DLOG_FILE(FILE *F, const char *format, va_list args) function DLOG_CON (line 15) | int DLOG_CON(const char *format, int syslog_priority, va_list args) function DLOG_FILENAME (line 19) | int DLOG_FILENAME(const char *filename, const char *format, va_list args) function syslog_log_function (line 37) | static void syslog_log_function(int priority, const char *line) function syslog_priority_to_android (line 42) | static enum android_LogPriority syslog_priority_to_android(int priority) function android_log_function (line 59) | static void android_log_function(int priority, const char *line) function log_buffered (line 64) | static void log_buffered(f_log_function log_function, int syslog_priorit... function DLOG_VA (line 78) | static int DLOG_VA(const char *format, int syslog_priority, bool condup,... function DLOG (line 118) | int DLOG(const char *format, int level, ...) function DLOG_CONDUP (line 127) | int DLOG_CONDUP(const char *format, ...) function DLOG_ERR (line 136) | int DLOG_ERR(const char *format, ...) function DLOG_PERROR (line 145) | int DLOG_PERROR(const char *s) function LOG_APPEND (line 151) | int LOG_APPEND(const char *filename, const char *format, va_list args) function HOSTLIST_DEBUGLOG_APPEND (line 168) | int HOSTLIST_DEBUGLOG_APPEND(const char *format, ...) function hexdump_limited_dlog (line 184) | void hexdump_limited_dlog(const uint8_t *data, size_t size, size_t limit) function dp_init (line 200) | void dp_init(struct desync_profile *dp) type desync_profile_list (line 214) | struct desync_profile_list type desync_profile_list_head (line 214) | struct desync_profile_list_head type desync_profile_list (line 216) | struct desync_profile_list type desync_profile_list (line 216) | struct desync_profile_list type desync_profile_list (line 222) | struct desync_profile_list function dp_clear_dynamic (line 233) | static void dp_clear_dynamic(struct desync_profile *dp) function dp_clear (line 242) | void dp_clear(struct desync_profile *dp) function dp_entry_destroy (line 247) | void dp_entry_destroy(struct desync_profile_list *entry) function dp_list_destroy (line 252) | void dp_list_destroy(struct desync_profile_list_head *head) function cleanup_args (line 264) | void cleanup_args(struct params_s *params) function cleanup_params (line 269) | void cleanup_params(struct params_s *params) FILE: tpws/params.h type bindll (line 29) | enum bindll { unwanted=0, no, prefer, force } type bind_s (line 32) | struct bind_s type log_target (line 42) | enum log_target { LOG_TARGET_CONSOLE=0, LOG_TARGET_FILE, LOG_TARGET_SYSL... type desync_profile (line 44) | struct desync_profile type desync_profile_list (line 86) | struct desync_profile_list { type desync_profile_list (line 91) | struct desync_profile_list type desync_profile_list_head (line 91) | struct desync_profile_list_head type desync_profile_list (line 92) | struct desync_profile_list type desync_profile_list_head (line 93) | struct desync_profile_list_head type desync_profile (line 94) | struct desync_profile type desync_profile (line 95) | struct desync_profile type params_s (line 97) | struct params_s type params_s (line 157) | struct params_s type params_s (line 160) | struct params_s type params_s (line 162) | struct params_s FILE: tpws/pools.c function ut_oom_recover (line 46) | static void ut_oom_recover(void *elem) function HostlistPoolAddStrLen (line 52) | bool HostlistPoolAddStrLen(hostlist_pool **pp, const char *s, size_t sle... function HostlistPoolAddStr (line 58) | bool HostlistPoolAddStr(hostlist_pool **pp, const char *s, uint32_t flags) function hostlist_pool (line 63) | hostlist_pool *HostlistPoolGetStr(hostlist_pool *p, const char *s) function HostlistPoolCheckStr (line 69) | bool HostlistPoolCheckStr(hostlist_pool *p, const char *s) function HostlistPoolDestroy (line 74) | void HostlistPoolDestroy(hostlist_pool **pp) function HostFailPoolDestroy (line 81) | void HostFailPoolDestroy(hostfail_pool **pp) function hostfail_pool (line 85) | hostfail_pool * HostFailPoolAdd(hostfail_pool **pp,const char *s,int fai... function hostfail_pool (line 93) | hostfail_pool *HostFailPoolFind(hostfail_pool *p,const char *s) function HostFailPoolDel (line 99) | void HostFailPoolDel(hostfail_pool **p, hostfail_pool *elem) function HostFailPoolPurge (line 105) | void HostFailPoolPurge(hostfail_pool **pp) function HostFailPoolPurgeRateLimited (line 116) | void HostFailPoolPurgeRateLimited(hostfail_pool **pp) function HostFailPoolDump (line 126) | void HostFailPoolDump(hostfail_pool *p) function strlist_add (line 135) | bool strlist_add(struct str_list_head *head, const char *filename) function strlist_entry_destroy (line 148) | static void strlist_entry_destroy(struct str_list *entry) function strlist_destroy (line 153) | void strlist_destroy(struct str_list_head *head) type hostlist_file (line 165) | struct hostlist_file type hostlist_files_head (line 165) | struct hostlist_files_head type hostlist_file (line 167) | struct hostlist_file type hostlist_file (line 167) | struct hostlist_file function hostlist_files_entry_destroy (line 186) | static void hostlist_files_entry_destroy(struct hostlist_file *entry) function hostlist_files_destroy (line 192) | void hostlist_files_destroy(struct hostlist_files_head *head) type hostlist_file (line 201) | struct hostlist_file type hostlist_files_head (line 201) | struct hostlist_files_head type hostlist_file (line 203) | struct hostlist_file function hostlist_files_reset_modtime (line 212) | void hostlist_files_reset_modtime(struct hostlist_files_head *list) type hostlist_item (line 220) | struct hostlist_item type hostlist_collection_head (line 220) | struct hostlist_collection_head type hostlist_file (line 220) | struct hostlist_file type hostlist_item (line 222) | struct hostlist_item type hostlist_item (line 222) | struct hostlist_item function hostlist_collection_destroy (line 230) | void hostlist_collection_destroy(struct hostlist_collection_head *head) type hostlist_item (line 239) | struct hostlist_item type hostlist_collection_head (line 239) | struct hostlist_collection_head type hostlist_item (line 241) | struct hostlist_item function hostlist_collection_is_empty (line 250) | bool hostlist_collection_is_empty(const struct hostlist_collection_head ... function kavl_bit_cmp (line 263) | static int kavl_bit_cmp(const struct kavl_bit_elem *p, const struct kavl... function kavl_bit_destroy_elem (line 276) | static void kavl_bit_destroy_elem(struct kavl_bit_elem *e) function kavl_bit_delete (line 284) | void kavl_bit_delete(struct kavl_bit_elem **hdr, const void *data, unsig... function kavl_bit_destroy (line 291) | void kavl_bit_destroy(struct kavl_bit_elem **hdr) type kavl_bit_elem (line 301) | struct kavl_bit_elem type kavl_bit_elem (line 301) | struct kavl_bit_elem type kavl_bit_elem (line 303) | struct kavl_bit_elem type kavl_bit_elem (line 305) | struct kavl_bit_elem type kavl_bit_elem (line 320) | struct kavl_bit_elem type kavl_bit_elem (line 320) | struct kavl_bit_elem type kavl_bit_elem (line 322) | struct kavl_bit_elem function ipset_kavl_add (line 328) | static bool ipset_kavl_add(struct kavl_bit_elem **ipset, const void *a, ... function ipset4Check (line 343) | bool ipset4Check(const struct kavl_bit_elem *ipset, const struct in_addr... function ipset4Add (line 347) | bool ipset4Add(struct kavl_bit_elem **ipset, const struct in_addr *a, ui... function ipset4Print (line 352) | void ipset4Print(struct kavl_bit_elem *ipset) function ipset6Check (line 371) | bool ipset6Check(const struct kavl_bit_elem *ipset, const struct in6_add... function ipset6Add (line 375) | bool ipset6Add(struct kavl_bit_elem **ipset, const struct in6_addr *a, u... function ipset6Print (line 380) | void ipset6Print(struct kavl_bit_elem *ipset) function ipsetDestroy (line 399) | void ipsetDestroy(ipset *ipset) function ipsetPrint (line 404) | void ipsetPrint(ipset *ipset) type ipset_file (line 411) | struct ipset_file type ipset_files_head (line 411) | struct ipset_files_head type ipset_file (line 413) | struct ipset_file type ipset_file (line 413) | struct ipset_file function ipset_files_entry_destroy (line 432) | static void ipset_files_entry_destroy(struct ipset_file *entry) function ipset_files_destroy (line 438) | void ipset_files_destroy(struct ipset_files_head *head) type ipset_file (line 447) | struct ipset_file type ipset_files_head (line 447) | struct ipset_files_head type ipset_file (line 449) | struct ipset_file function ipset_files_reset_modtime (line 458) | void ipset_files_reset_modtime(struct ipset_files_head *list) type ipset_item (line 466) | struct ipset_item type ipset_collection_head (line 466) | struct ipset_collection_head type ipset_file (line 466) | struct ipset_file type ipset_item (line 468) | struct ipset_item type ipset_item (line 468) | struct ipset_item function ipset_collection_destroy (line 476) | void ipset_collection_destroy(struct ipset_collection_head *head) type ipset_item (line 485) | struct ipset_item type ipset_collection_head (line 485) | struct ipset_collection_head type ipset_item (line 487) | struct ipset_item function ipset_collection_is_empty (line 496) | bool ipset_collection_is_empty(const struct ipset_collection_head *head) function port_filter_add (line 509) | bool port_filter_add(struct port_filters_head *head, const port_filter *pf) function port_filters_destroy (line 519) | void port_filters_destroy(struct port_filters_head *head) function port_filters_in_range (line 528) | bool port_filters_in_range(const struct port_filters_head *head, uint16_... function port_filters_deny_if_empty (line 540) | bool port_filters_deny_if_empty(struct port_filters_head *head) type blob_item (line 549) | struct blob_item type blob_collection_head (line 549) | struct blob_collection_head type blob_item (line 551) | struct blob_item type blob_item (line 551) | struct blob_item type blob_item (line 555) | struct blob_item type blob_item (line 566) | struct blob_item type blob_collection_head (line 566) | struct blob_collection_head type blob_item (line 568) | struct blob_item type blob_item (line 568) | struct blob_item type blob_item (line 580) | struct blob_item function blob_collection_destroy (line 592) | void blob_collection_destroy(struct blob_collection_head *head) function blob_collection_empty (line 604) | bool blob_collection_empty(const struct blob_collection_head *head) function ipcache_item_touch (line 611) | static void ipcache_item_touch(ip_cache_item *item) function ipcache_item_init (line 615) | static void ipcache_item_init(ip_cache_item *item) function ipcache_item_destroy (line 621) | static void ipcache_item_destroy(ip_cache_item *item) function ipcache4Destroy (line 626) | static void ipcache4Destroy(ip_cache4 **ipcache) function ipcache4Key (line 636) | static void ipcache4Key(ip4if *key, const struct in_addr *a) function ip_cache4 (line 641) | static ip_cache4 *ipcache4Find(ip_cache4 *ipcache, const struct in_addr *a) function ip_cache4 (line 650) | static ip_cache4 *ipcache4Add(ip_cache4 **ipcache, const struct in_addr *a) function ipcache4Print (line 668) | static void ipcache4Print(ip_cache4 *ipcache) function ipcache6Destroy (line 683) | static void ipcache6Destroy(ip_cache6 **ipcache) function ipcache6Key (line 693) | static void ipcache6Key(ip6if *key, const struct in6_addr *a) function ip_cache6 (line 698) | static ip_cache6 *ipcache6Find(ip_cache6 *ipcache, const struct in6_addr... function ip_cache6 (line 707) | static ip_cache6 *ipcache6Add(ip_cache6 **ipcache, const struct in6_addr... function ipcache6Print (line 725) | static void ipcache6Print(ip_cache6 *ipcache) function ipcacheDestroy (line 740) | void ipcacheDestroy(ip_cache *ipcache) function ipcachePrint (line 745) | void ipcachePrint(ip_cache *ipcache) function ip_cache_item (line 751) | ip_cache_item *ipcacheTouch(ip_cache *ipcache, const struct in_addr *a4,... function ipcache4_purge (line 774) | static void ipcache4_purge(ip_cache4 **ipcache, time_t lifetime) function ipcache6_purge (line 788) | static void ipcache6_purge(ip_cache6 **ipcache, time_t lifetime) function ipcache_purge (line 802) | static void ipcache_purge(ip_cache *ipcache, time_t lifetime) function ipcachePurgeRateLimited (line 811) | void ipcachePurgeRateLimited(ip_cache *ipcache, time_t lifetime) FILE: tpws/pools.h type hostlist_pool (line 20) | typedef struct hostlist_pool { type str_list (line 31) | struct str_list { type hostfail_pool (line 37) | typedef struct hostfail_pool { type str_list_head (line 52) | struct str_list_head type str_list_head (line 53) | struct str_list_head type hostlist_file (line 57) | struct hostlist_file { type hostlist_file (line 65) | struct hostlist_file type hostlist_files_head (line 65) | struct hostlist_files_head type hostlist_files_head (line 66) | struct hostlist_files_head type hostlist_file (line 67) | struct hostlist_file type hostlist_files_head (line 67) | struct hostlist_files_head type hostlist_files_head (line 68) | struct hostlist_files_head type hostlist_item (line 70) | struct hostlist_item { type hostlist_item (line 75) | struct hostlist_item type hostlist_collection_head (line 75) | struct hostlist_collection_head type hostlist_file (line 75) | struct hostlist_file type hostlist_collection_head (line 76) | struct hostlist_collection_head type hostlist_item (line 77) | struct hostlist_item type hostlist_collection_head (line 77) | struct hostlist_collection_head type hostlist_collection_head (line 78) | struct hostlist_collection_head type kavl_bit_elem (line 81) | struct kavl_bit_elem type kavl_bit_elem (line 88) | struct kavl_bit_elem type kavl_bit_elem (line 88) | struct kavl_bit_elem type kavl_bit_elem (line 89) | struct kavl_bit_elem type kavl_bit_elem (line 89) | struct kavl_bit_elem type kavl_bit_elem (line 90) | struct kavl_bit_elem type kavl_bit_elem (line 91) | struct kavl_bit_elem type ipset (line 94) | typedef struct ipset { type kavl_bit_elem (line 100) | struct kavl_bit_elem type in_addr (line 100) | struct in_addr function ipset4AddCidr (line 101) | static inline bool ipset4AddCidr(struct kavl_bit_elem **ipset, const str... type kavl_bit_elem (line 105) | struct kavl_bit_elem type in_addr (line 105) | struct in_addr type kavl_bit_elem (line 106) | struct kavl_bit_elem type kavl_bit_elem (line 108) | struct kavl_bit_elem type in6_addr (line 108) | struct in6_addr function ipset6AddCidr (line 109) | static inline bool ipset6AddCidr(struct kavl_bit_elem **ipset, const str... type kavl_bit_elem (line 113) | struct kavl_bit_elem type in6_addr (line 113) | struct in6_addr type kavl_bit_elem (line 114) | struct kavl_bit_elem type ipset_file (line 120) | struct ipset_file { type ipset_file (line 128) | struct ipset_file type ipset_files_head (line 128) | struct ipset_files_head type ipset_files_head (line 129) | struct ipset_files_head type ipset_file (line 130) | struct ipset_file type ipset_files_head (line 130) | struct ipset_files_head type ipset_files_head (line 131) | struct ipset_files_head type ipset_item (line 133) | struct ipset_item { type ipset_item (line 138) | struct ipset_item type ipset_collection_head (line 138) | struct ipset_collection_head type ipset_file (line 138) | struct ipset_file type ipset_collection_head (line 139) | struct ipset_collection_head type ipset_item (line 140) | struct ipset_item type ipset_collection_head (line 140) | struct ipset_collection_head type ipset_collection_head (line 141) | struct ipset_collection_head type port_filter_item (line 144) | struct port_filter_item { type port_filters_head (line 149) | struct port_filters_head type port_filters_head (line 150) | struct port_filters_head type port_filters_head (line 151) | struct port_filters_head type port_filters_head (line 152) | struct port_filters_head type blob_item (line 155) | struct blob_item { type blob_item (line 164) | struct blob_item type blob_collection_head (line 164) | struct blob_collection_head type blob_item (line 165) | struct blob_item type blob_collection_head (line 165) | struct blob_collection_head type blob_collection_head (line 166) | struct blob_collection_head type blob_collection_head (line 167) | struct blob_collection_head type ip4if (line 170) | typedef struct ip4if type ip6if (line 174) | typedef struct ip6if type ip_cache_item (line 178) | typedef struct ip_cache_item type ip_cache4 (line 184) | typedef struct ip_cache4 type ip_cache6 (line 190) | typedef struct ip_cache6 type ip_cache (line 196) | typedef struct ip_cache type in_addr (line 202) | struct in_addr type in6_addr (line 202) | struct in6_addr FILE: tpws/protocol.c function FindNLD (line 11) | static bool FindNLD(const uint8_t *dom, size_t dlen, int level, const ui... function l7_proto_match (line 39) | bool l7_proto_match(t_l7proto l7proto, uint32_t filter_l7) function IsHostMarker (line 57) | bool IsHostMarker(uint8_t posmarker) function CheckPos (line 87) | static size_t CheckPos(size_t sz, ssize_t offset) function AnyProtoPos (line 91) | size_t AnyProtoPos(uint8_t posmarker, int16_t pos, const uint8_t *data, ... function HostPos (line 103) | static size_t HostPos(uint8_t posmarker, int16_t pos, const uint8_t *dat... function ResolvePos (line 128) | size_t ResolvePos(const uint8_t *data, size_t sz, t_l7proto l7proto, con... function ResolveMultiPos (line 140) | void ResolveMultiPos(const uint8_t *data, size_t sz, t_l7proto l7proto, ... function IsHttp (line 167) | bool IsHttp(const uint8_t *data, size_t len) function IsHostAt (line 172) | static bool IsHostAt(const uint8_t *p) function HttpFindHost (line 205) | bool HttpFindHost(uint8_t **pHost,uint8_t *buf,size_t bs) function HttpFindHostConst (line 214) | bool HttpFindHostConst(const uint8_t **pHost,const uint8_t *buf,size_t bs) function IsHttpReply (line 223) | bool IsHttpReply(const uint8_t *data, size_t len) function HttpReplyCode (line 231) | int HttpReplyCode(const uint8_t *data, size_t len) function HttpExtractHeader (line 235) | bool HttpExtractHeader(const uint8_t *data, size_t len, const char *head... function HttpExtractHost (line 258) | bool HttpExtractHost(const uint8_t *data, size_t len, char *host, size_t... function HttpReplyLooksLikeDPIRedirect (line 263) | bool HttpReplyLooksLikeDPIRedirect(const uint8_t *data, size_t len, cons... function HttpPos (line 299) | size_t HttpPos(uint8_t posmarker, int16_t pos, const uint8_t *data, size... function TLSRecordDataLen (line 356) | uint16_t TLSRecordDataLen(const uint8_t *data) function TLSRecordLen (line 360) | size_t TLSRecordLen(const uint8_t *data) function IsTLSRecordFull (line 364) | bool IsTLSRecordFull(const uint8_t *data, size_t len) function IsTLSClientHello (line 368) | bool IsTLSClientHello(const uint8_t *data, size_t len, bool bPartialIsOK) function TLSFindExtInHandshake (line 374) | bool TLSFindExtInHandshake(const uint8_t *data, size_t len, uint16_t typ... function TLSFindExt (line 442) | bool TLSFindExt(const uint8_t *data, size_t len, uint16_t type, const ui... function TLSAdvanceToHostInSNI (line 454) | static bool TLSAdvanceToHostInSNI(const uint8_t **ext, size_t *elen, siz... function TLSExtractHostFromExt (line 464) | static bool TLSExtractHostFromExt(const uint8_t *ext, size_t elen, char ... function TLSHelloExtractHost (line 480) | bool TLSHelloExtractHost(const uint8_t *data, size_t len, char *host, si... function TLSHelloExtractHostFromHandshake (line 488) | bool TLSHelloExtractHostFromHandshake(const uint8_t *data, size_t len, c... function TLSHelloFindNLDInSNI (line 498) | static bool TLSHelloFindNLDInSNI(const uint8_t *ext, size_t elen, int le... function TLSHelloFindMiddleOfSLDInSNI (line 505) | static bool TLSHelloFindMiddleOfSLDInSNI(const uint8_t *ext, size_t elen... function TLSPos (line 514) | size_t TLSPos(uint8_t posmarker, int16_t pos, const uint8_t *data, size_... FILE: tpws/protocol.h type t_l7proto (line 7) | typedef enum {UNKNOWN=0, HTTP, TLS, QUIC, WIREGUARD, DHT} t_l7proto; type proto_pos (line 26) | struct proto_pos type proto_pos (line 37) | struct proto_pos type proto_pos (line 38) | struct proto_pos FILE: tpws/redirect.c function redir_close (line 26) | void redir_close(void) function redir_open_private (line 35) | static bool redir_open_private(const char *fname, int flags) function redir_init (line 47) | bool redir_init(void) function destination_from_pf (line 52) | static bool destination_from_pf(const struct sockaddr *accept_sa, struct... function redir_init (line 166) | bool redir_init(void) {return true;} function redir_close (line 167) | void redir_close(void) {} type sockaddr (line 174) | struct sockaddr type sockaddr_storage (line 174) | struct sockaddr_storage type sockaddr (line 188) | struct sockaddr type sockaddr (line 190) | struct sockaddr type sockaddr (line 196) | struct sockaddr type sockaddr_in6 (line 203) | struct sockaddr_in6 type sockaddr_in (line 218) | struct sockaddr_in type sockaddr_in (line 219) | struct sockaddr_in type sockaddr_in6 (line 223) | struct sockaddr_in6 type sockaddr_in6 (line 224) | struct sockaddr_in6 FILE: tpws/redirect.h type sockaddr (line 7) | struct sockaddr type sockaddr_storage (line 7) | struct sockaddr_storage FILE: tpws/resolver.c type t_resolver (line 25) | typedef struct function resolver_clear_list (line 43) | static void resolver_clear_list(void) function resolver_thread_count (line 56) | int resolver_thread_count(void) type resolve_item (line 85) | struct resolve_item type addrinfo (line 95) | struct addrinfo type addrinfo (line 100) | struct addrinfo function sigbreak (line 140) | static void sigbreak(int sig) function resolver_deinit (line 144) | void resolver_deinit(void) function resolver_init (line 174) | bool resolver_init(int threads, int fd_signal_pipe) type resolve_item (line 250) | struct resolve_item type resolve_item (line 252) | struct resolve_item type resolve_item (line 252) | struct resolve_item FILE: tpws/resolver.h type resolve_item (line 11) | struct resolve_item type resolve_item (line 21) | struct resolve_item FILE: tpws/sec.c function set_filter (line 124) | static void set_filter(struct sock_filter *filter, __u16 code, __u8 jt, ... function set_seccomp (line 132) | static bool set_seccomp(void) function sec_harden (line 170) | bool sec_harden(void) function checkpcap (line 190) | bool checkpcap(uint64_t caps) function setpcap (line 201) | bool setpcap(uint64_t caps) function getmaxcap (line 213) | int getmaxcap(void) function dropcaps (line 225) | bool dropcaps(void) function sec_harden (line 251) | bool sec_harden(void) function can_drop_root (line 261) | bool can_drop_root(void) function droproot (line 272) | bool droproot(uid_t uid, const char *user, const gid_t *gid, int gid_count) function print_id (line 317) | void print_id(void) function daemonize (line 334) | void daemonize(void) function writepid (line 364) | bool writepid(const char *filename) FILE: tpws/socks.h type s4_req (line 10) | typedef struct type s4_rep (line 21) | typedef struct type s5_handshake (line 34) | typedef struct type s5_handshake_ack (line 39) | typedef struct type s5_req (line 50) | typedef struct type s5_rep (line 82) | typedef struct FILE: tpws/tamper.c function packet_debug (line 14) | void packet_debug(const uint8_t *data, size_t sz) function TLSDebugHandshake (line 19) | static void TLSDebugHandshake(const uint8_t *tls,size_t sz) function TLSDebug (line 80) | static void TLSDebug(const uint8_t *tls,size_t sz) function ipcache_put_hostname (line 94) | bool ipcache_put_hostname(const struct in_addr *a4, const struct in6_add... function ipcache_get_hostname (line 117) | static bool ipcache_get_hostname(const struct in_addr *a4, const struct ... function dp_match (line 141) | static bool dp_match(struct desync_profile *dp, const struct sockaddr *d... type desync_profile (line 176) | struct desync_profile type desync_profile_list_head (line 176) | struct desync_profile_list_head type sockaddr (line 176) | struct sockaddr type desync_profile_list (line 178) | struct desync_profile_list function apply_desync_profile (line 197) | void apply_desync_profile(t_ctrack *ctrack, const struct sockaddr *dest) function tamper_out (line 213) | void tamper_out(t_ctrack *ctrack, const struct sockaddr *dest, uint8_t *... function auto_hostlist_reset_fail_counter (line 533) | static void auto_hostlist_reset_fail_counter(struct desync_profile *dp, ... function auto_hostlist_failed (line 549) | static void auto_hostlist_failed(struct desync_profile *dp, const char *... function tamper_in (line 598) | void tamper_in(t_ctrack *ctrack, const struct sockaddr *client, uint8_t ... function rst_in (line 640) | void rst_in(t_ctrack *ctrack, const struct sockaddr *client) function hup_out (line 662) | void hup_out(t_ctrack *ctrack, const struct sockaddr *client) FILE: tpws/tamper.h type t_ctrack (line 12) | typedef struct type sockaddr (line 24) | struct sockaddr type in_addr (line 25) | struct in_addr type in6_addr (line 25) | struct in6_addr type sockaddr (line 27) | struct sockaddr type sockaddr (line 28) | struct sockaddr type sockaddr (line 30) | struct sockaddr type sockaddr (line 32) | struct sockaddr FILE: tpws/tpws.c type params_s (line 53) | struct params_s function onhup (line 56) | static void onhup(int sig) function ReloadCheck (line 61) | void ReloadCheck() function onusr2 (line 81) | static void onusr2(int sig) function block_sigpipe (line 102) | static int8_t block_sigpipe(void) function test_list_files (line 126) | static bool test_list_files() function is_interface_online (line 148) | static bool is_interface_online(const char *ifname) function get_default_ttl (line 162) | static int get_default_ttl(void) function exithelp_clean (line 293) | static void exithelp_clean(void) function exit_clean (line 298) | static void exit_clean(int code) function nextbind_clean (line 303) | static void nextbind_clean(void) function checkbind_clean (line 312) | static void checkbind_clean(void) function save_default_ttl (line 322) | void save_default_ttl(void) function parse_httpreqpos (line 335) | static bool parse_httpreqpos(const char *s, struct proto_pos *sp) function parse_tlspos (line 351) | static bool parse_tlspos(const char *s, struct proto_pos *sp) function parse_int16 (line 373) | static bool parse_int16(const char *p, int16_t *v) function parse_posmarker (line 383) | static bool parse_posmarker(const char *opt, uint8_t *posmarker) function parse_split_pos (line 403) | static bool parse_split_pos(char *opt, struct proto_pos *split) function parse_split_pos_list (line 427) | static bool parse_split_pos_list(char *opt, struct proto_pos *splits, in... function SplitDebug (line 445) | static void SplitDebug(void) function wf_make_l3 (line 460) | static bool wf_make_l3(char *opt, bool *ipv4, bool *ipv6) function parse_l7_list (line 484) | static bool parse_l7_list(char *opt, uint32_t *l7) function parse_pf_list (line 510) | static bool parse_pf_list(char *opt, struct port_filters_head *pfl) function parse_domain_list (line 533) | static bool parse_domain_list(char *opt, hostlist_pool **pp) function parse_ip_list (line 553) | static bool parse_ip_list(char *opt, ipset *pp) function parse_uid (line 573) | static bool parse_uid(const char *opt, uid_t *uid, gid_t *gid, int *gid_... function config_from_file (line 604) | void config_from_file(const char *filename) function check_oob_disorder (line 630) | static bool check_oob_disorder(const struct desync_profile *dp) type opt_indices (line 639) | enum opt_indices { type option (line 732) | struct option function parse_params (line 825) | void parse_params(int argc, char *argv[]) function find_listen_addr (line 1727) | static bool find_listen_addr(struct sockaddr_storage *salisten, const ch... function read_system_maxfiles (line 1780) | static bool read_system_maxfiles(rlim_t *maxfile) function write_system_maxfiles (line 1804) | static bool write_system_maxfiles(rlim_t maxfile) function set_ulimit (line 1824) | static bool set_ulimit(void) type salisten_s (line 1865) | struct salisten_s function main (line 1890) | int main(int argc, char *argv[]) FILE: tpws/tpws_conn.c function notify_ready (line 32) | static void notify_ready(void) function print_legs (line 54) | static void print_legs(void) function socks5_send_rep (line 60) | static bool socks5_send_rep(int fd,uint8_t rep) function socks5_send_rep_errno (line 69) | static bool socks5_send_rep_errno(int fd,int errn) function socks4_send_rep (line 88) | static bool socks4_send_rep(int fd, uint8_t rep) function socks4_send_rep_errno (line 95) | static bool socks4_send_rep_errno(int fd, int errn) function socks_send_rep (line 99) | static bool socks_send_rep(uint8_t ver, int fd, uint8_t rep5) function socks_send_rep_errno (line 103) | static bool socks_send_rep_errno(uint8_t ver, int fd, int errn) function cork (line 109) | static bool cork(int fd, int enable) function send_with_ttl (line 124) | ssize_t send_with_ttl(int fd, const void *buf, size_t len, int flags, in... function send_buffer_create (line 144) | static bool send_buffer_create(send_buffer_t *sb, const void *data, size... function send_buffer_realloc (line 164) | static bool send_buffer_realloc(send_buffer_t *sb, size_t extra_bytes) function send_buffer_free (line 183) | static void send_buffer_free(send_buffer_t *sb) function send_buffers_free (line 188) | static void send_buffers_free(send_buffer_t *sb_array, int count) function conn_free_buffers (line 193) | static void conn_free_buffers(tproxy_conn_t *conn) function send_buffer_present (line 197) | static bool send_buffer_present(send_buffer_t *sb) function send_buffers_present (line 201) | static bool send_buffers_present(send_buffer_t *sb_array, int count) function send_buffer_send (line 208) | static ssize_t send_buffer_send(send_buffer_t *sb, int fd) function send_buffers_send (line 226) | static ssize_t send_buffers_send(send_buffer_t *sb_array, int count, int... function conn_in_tcp_mode (line 250) | static bool conn_in_tcp_mode(tproxy_conn_t *conn) function conn_partner_alive (line 255) | static bool conn_partner_alive(tproxy_conn_t *conn) function conn_buffers_present (line 259) | static bool conn_buffers_present(tproxy_conn_t *conn) function conn_buffers_send (line 263) | static ssize_t conn_buffers_send(tproxy_conn_t *conn) function conn_has_unsent (line 270) | static bool conn_has_unsent(tproxy_conn_t *conn) function conn_bytes_unread (line 274) | static int conn_bytes_unread(tproxy_conn_t *conn) function conn_has_unsent_pair (line 280) | static bool conn_has_unsent_pair(tproxy_conn_t *conn) function conn_shutdown (line 285) | static bool conn_shutdown(tproxy_conn_t *conn) function send_or_buffer (line 296) | static ssize_t send_or_buffer(send_buffer_t *sb, int fd, const void *buf... function dbgprint_socket_buffers (line 312) | static void dbgprint_socket_buffers(int fd) function set_socket_buffers (line 327) | bool set_socket_buffers(int fd, int rcvbuf, int sndbuf) function proxy_remote_conn_ack (line 345) | static bool proxy_remote_conn_ack(tproxy_conn_t *conn, int sock_err) function set_user_timeout (line 367) | static void set_user_timeout(int fd, int timeout) function connect_remote (line 392) | static int connect_remote(const struct sockaddr *remote_addr, int mss) function connect_remote_conn (line 493) | static bool connect_remote_conn(tproxy_conn_t *conn) function free_conn (line 525) | static void free_conn(tproxy_conn_t *conn) function tproxy_conn_t (line 540) | static tproxy_conn_t *new_conn(int fd, bool remote) function epoll_set (line 569) | static bool epoll_set(tproxy_conn_t *conn, uint32_t events) function epoll_del (line 585) | static bool epoll_del(tproxy_conn_t *conn) function epoll_update_flow (line 600) | static bool epoll_update_flow(tproxy_conn_t *conn) function epoll_set_flow (line 613) | static bool epoll_set_flow(tproxy_conn_t *conn, bool bFlowIn, bool bFlow... function tproxy_conn_t (line 622) | static tproxy_conn_t* add_tcp_connection(int efd, struct tailhead *conn_... function check_connection_attempt (line 726) | static bool check_connection_attempt(tproxy_conn_t *conn, int efd) function epoll_set_flow_pair (line 771) | static bool epoll_set_flow_pair(tproxy_conn_t *conn) function handle_unsent (line 788) | static bool handle_unsent(tproxy_conn_t *conn) function proxy_mode_connect_remote (line 836) | static bool proxy_mode_connect_remote(tproxy_conn_t *conn, struct tailhe... function handle_proxy_mode (line 889) | static bool handle_proxy_mode(tproxy_conn_t *conn, struct tailhead *conn... function resolve_complete (line 1074) | static bool resolve_complete(struct resolve_item *ri, struct tailhead *c... function in_tamper_out_range (line 1110) | static bool in_tamper_out_range(tproxy_conn_t *conn) function tamper (line 1125) | static void tamper(tproxy_conn_t *conn, uint8_t *segment, size_t segment... function send_oob (line 1144) | static ssize_t send_oob(int fd, uint8_t *buf, size_t len, int ttl, bool ... function report_segfail (line 1164) | static void report_segfail(void) function handle_epoll (line 1180) | static bool handle_epoll(tproxy_conn_t *conn, struct tailhead *conn_list... function remove_closed_connections (line 1348) | static bool remove_closed_connections(int efd, struct tailhead *close_list) function close_tcp_conn (line 1368) | static void close_tcp_conn(struct tailhead *conn_list, struct tailhead *... function read_all_and_buffer (line 1379) | static bool read_all_and_buffer(tproxy_conn_t *conn, int buffer_number) function conn_timed_out (line 1411) | static bool conn_timed_out(tproxy_conn_t *conn) function conn_close_timed_out (line 1421) | static void conn_close_timed_out(struct tailhead *conn_list, struct tail... function conn_close_both (line 1440) | static void conn_close_both(struct tailhead *conn_list, struct tailhead ... function conn_close_with_partner_check (line 1445) | static void conn_close_with_partner_check(struct tailhead *conn_list, st... function handle_resolve_pipe (line 1459) | static bool handle_resolve_pipe(tproxy_conn_t **conn, struct tailhead *c... function event_loop (line 1484) | int event_loop(const int *listen_fd, size_t listen_fd_ct) FILE: tpws/tpws_conn.h type conn_state_t (line 29) | typedef uint8_t conn_state_t; type send_buffer (line 34) | struct send_buffer type send_buffer_t (line 40) | typedef struct send_buffer send_buffer_t; type conn_type_t (line 46) | typedef uint8_t conn_type_t; type tproxy_conn (line 48) | struct tproxy_conn type tproxy_conn_t (line 101) | typedef struct tproxy_conn tproxy_conn_t; FILE: tpws/uthash.h type UT_hash_bucket (line 1068) | typedef struct UT_hash_bucket { type UT_hash_table (line 1092) | typedef struct UT_hash_table { type UT_hash_handle (line 1125) | typedef struct UT_hash_handle {