@@ -49,105 +49,103 @@
* of output.
*/
-#define M_VERB0 LOGLEV(0, 0, 0) /* Messages displayed even at --verb 0 (fatal errors only) */
+#define M_VERB0 LOGLEV(0, 0, 0) /* Messages displayed even at --verb 0 (fatal errors only) */
-#define M_INFO LOGLEV(1, 0, 0) /* default informational messages */
+#define M_INFO LOGLEV(1, 0, 0) /* default informational messages */
-#define D_LINK_ERRORS LOGLEV(1, 1, M_NONFATAL) /* show link errors from main event loop */
-#define D_CRYPT_ERRORS LOGLEV(1, 2, M_NONFATAL) /* show errors from encrypt/decrypt */
-#define D_TLS_ERRORS LOGLEV(1, 3, M_NONFATAL) /* show TLS control channel errors */
-#define D_RESOLVE_ERRORS LOGLEV(1, 4, M_NONFATAL) /* show hostname resolve errors */
-#define D_COMP_ERRORS LOGLEV(1, 5, M_NONFATAL) /* show compression errors */
-#define D_REPLAY_ERRORS LOGLEV(1, 6, M_NONFATAL) /* show packet replay errors */
-#define D_STREAM_ERRORS LOGLEV(1, 7, M_NONFATAL) /* TCP stream error requiring restart */
-#define D_IMPORT_ERRORS LOGLEV(1, 8, M_NONFATAL) /* show server import option errors */
-#define D_MULTI_ERRORS LOGLEV(1, 9, M_NONFATAL) /* show multi-client server errors */
-#define D_EVENT_ERRORS LOGLEV(1, 10, M_NONFATAL) /* show event.[ch] errors */
-#define D_PUSH_ERRORS LOGLEV(1, 11, M_NONFATAL) /* show push/pull errors */
-#define D_PID_PERSIST LOGLEV(1, 12, M_NONFATAL) /* show packet_id persist errors */
-#define D_FRAG_ERRORS LOGLEV(1, 13, M_NONFATAL) /* show fragmentation errors */
-#define D_ALIGN_ERRORS LOGLEV(1, 14, M_NONFATAL) /* show bad struct alignments */
+#define D_LINK_ERRORS LOGLEV(1, 1, M_NONFATAL) /* show link errors from main event loop */
+#define D_CRYPT_ERRORS LOGLEV(1, 2, M_NONFATAL) /* show errors from encrypt/decrypt */
+#define D_TLS_ERRORS LOGLEV(1, 3, M_NONFATAL) /* show TLS control channel errors */
+#define D_RESOLVE_ERRORS LOGLEV(1, 4, M_NONFATAL) /* show hostname resolve errors */
+#define D_COMP_ERRORS LOGLEV(1, 5, M_NONFATAL) /* show compression errors */
+#define D_REPLAY_ERRORS LOGLEV(1, 6, M_NONFATAL) /* show packet replay errors */
+#define D_STREAM_ERRORS LOGLEV(1, 7, M_NONFATAL) /* TCP stream error requiring restart */
+#define D_IMPORT_ERRORS LOGLEV(1, 8, M_NONFATAL) /* show server import option errors */
+#define D_MULTI_ERRORS LOGLEV(1, 9, M_NONFATAL) /* show multi-client server errors */
+#define D_EVENT_ERRORS LOGLEV(1, 10, M_NONFATAL) /* show event.[ch] errors */
+#define D_PUSH_ERRORS LOGLEV(1, 11, M_NONFATAL) /* show push/pull errors */
+#define D_PID_PERSIST LOGLEV(1, 12, M_NONFATAL) /* show packet_id persist errors */
+#define D_FRAG_ERRORS LOGLEV(1, 13, M_NONFATAL) /* show fragmentation errors */
+#define D_ALIGN_ERRORS LOGLEV(1, 14, M_NONFATAL) /* show bad struct alignments */
-#define D_HANDSHAKE LOGLEV(2, 20, 0) /* show data & control channel handshakes */
-#define D_CLOSE LOGLEV(2, 22, 0) /* show socket and TUN/TAP close */
-#define D_PROXY LOGLEV(2, 24, 0) /* show http proxy control packets */
-#define D_ARGV LOGLEV(2, 25, 0) /* show struct argv errors */
+#define D_HANDSHAKE LOGLEV(2, 20, 0) /* show data & control channel handshakes */
+#define D_CLOSE LOGLEV(2, 22, 0) /* show socket and TUN/TAP close */
+#define D_PROXY LOGLEV(2, 24, 0) /* show http proxy control packets */
+#define D_ARGV LOGLEV(2, 25, 0) /* show struct argv errors */
-#define D_TLS_DEBUG_LOW LOGLEV(3, 20, 0) /* low frequency info from tls_session routines */
-#define D_GREMLIN LOGLEV(3, 30, 0) /* show simulated outage info from gremlin module */
-#define D_GENKEY LOGLEV(3, 31, 0) /* print message after key generation */
-#define D_ROUTE LOGLEV(3, 0, 0) /* show routes added and deleted (don't mute) */
-#define D_TUNTAP_INFO LOGLEV(3, 32, 0) /* show debugging info from TUN/TAP driver */
-#define D_RESTART LOGLEV(3, 33, 0) /* show certain restart messages */
-#define D_PUSH LOGLEV(3, 34, 0) /* show push/pull info */
-#define D_IFCONFIG_POOL LOGLEV(3, 35, 0) /* show ifconfig pool info */
-#define D_AUTH LOGLEV(3, 37, 0) /* show user/pass auth info */
-#define D_MULTI_LOW LOGLEV(3, 38, 0) /* show point-to-multipoint low-freq debug info */
-#define D_PLUGIN LOGLEV(3, 39, 0) /* show plugin calls */
-#define D_MANAGEMENT LOGLEV(3, 40, 0) /* show --management info */
-#define D_SCHED_EXIT LOGLEV(3, 41, 0) /* show arming of scheduled exit */
-#define D_ROUTE_QUOTA LOGLEV(3, 42, 0) /* show route quota exceeded messages */
-#define D_OSBUF LOGLEV(3, 43, 0) /* show socket/tun/tap buffer sizes */
-#define D_PS_PROXY LOGLEV(3, 44, 0) /* messages related to --port-share option */
-#define D_IFCONFIG LOGLEV(3, 0, 0) /* show ifconfig info (don't mute) */
-#define D_DCO LOGLEV(3, 0, 0) /* show DCO related messages */
+#define D_TLS_DEBUG_LOW LOGLEV(3, 20, 0) /* low frequency info from tls_session routines */
+#define D_GREMLIN LOGLEV(3, 30, 0) /* show simulated outage info from gremlin module */
+#define D_GENKEY LOGLEV(3, 31, 0) /* print message after key generation */
+#define D_ROUTE LOGLEV(3, 0, 0) /* show routes added and deleted (don't mute) */
+#define D_TUNTAP_INFO LOGLEV(3, 32, 0) /* show debugging info from TUN/TAP driver */
+#define D_RESTART LOGLEV(3, 33, 0) /* show certain restart messages */
+#define D_PUSH LOGLEV(3, 34, 0) /* show push/pull info */
+#define D_IFCONFIG_POOL LOGLEV(3, 35, 0) /* show ifconfig pool info */
+#define D_AUTH LOGLEV(3, 37, 0) /* show user/pass auth info */
+#define D_MULTI_LOW LOGLEV(3, 38, 0) /* show point-to-multipoint low-freq debug info */
+#define D_PLUGIN LOGLEV(3, 39, 0) /* show plugin calls */
+#define D_MANAGEMENT LOGLEV(3, 40, 0) /* show --management info */
+#define D_SCHED_EXIT LOGLEV(3, 41, 0) /* show arming of scheduled exit */
+#define D_ROUTE_QUOTA LOGLEV(3, 42, 0) /* show route quota exceeded messages */
+#define D_OSBUF LOGLEV(3, 43, 0) /* show socket/tun/tap buffer sizes */
+#define D_PS_PROXY LOGLEV(3, 44, 0) /* messages related to --port-share option */
+#define D_IFCONFIG LOGLEV(3, 0, 0) /* show ifconfig info (don't mute) */
+#define D_DCO LOGLEV(3, 0, 0) /* show DCO related messages */
-#define D_SHOW_PARMS LOGLEV(4, 50, 0) /* show all parameters on program initiation */
-#define D_LOW LOGLEV(4, 52, 0) /* miscellaneous low-frequency debug info */
-#define D_DHCP_OPT LOGLEV(4, 53, 0) /* show DHCP options binary string */
-#define D_MBUF LOGLEV(4, 54, 0) /* mbuf.[ch] routines */
-#define D_PACKET_TRUNC_ERR LOGLEV(4, 55, 0) /* PACKET_TRUNCATION_CHECK */
-#define D_MULTI_DROPPED LOGLEV(4, 57, 0) /* show point-to-multipoint packet drops */
-#define D_MULTI_MEDIUM LOGLEV(4, 58, 0) /* show medium frequency multi messages */
-#define D_X509_ATTR LOGLEV(4, 59, 0) /* show x509-track attributes on connection */
-#define D_INIT_MEDIUM LOGLEV(4, 60, 0) /* show medium frequency init messages */
-#define D_MTU_INFO LOGLEV(4, 61, 0) /* show terse MTU info */
-#define D_PID_DEBUG_LOW LOGLEV(4, 63, 0) /* show low-freq packet-id debugging info */
-#define D_PID_DEBUG_MEDIUM LOGLEV(4, 64, 0) /* show medium-freq packet-id debugging info */
-#define D_CIPHER_INIT LOGLEV(4, 65, 0) /* show messages about cipher init */
+#define D_SHOW_PARMS LOGLEV(4, 50, 0) /* show all parameters on program initiation */
+#define D_LOW LOGLEV(4, 52, 0) /* miscellaneous low-frequency debug info */
+#define D_DHCP_OPT LOGLEV(4, 53, 0) /* show DHCP options binary string */
+#define D_MBUF LOGLEV(4, 54, 0) /* mbuf.[ch] routines */
+#define D_MULTI_DROPPED LOGLEV(4, 57, 0) /* show point-to-multipoint packet drops */
+#define D_MULTI_MEDIUM LOGLEV(4, 58, 0) /* show medium frequency multi messages */
+#define D_X509_ATTR LOGLEV(4, 59, 0) /* show x509-track attributes on connection */
+#define D_INIT_MEDIUM LOGLEV(4, 60, 0) /* show medium frequency init messages */
+#define D_MTU_INFO LOGLEV(4, 61, 0) /* show terse MTU info */
+#define D_PID_DEBUG_LOW LOGLEV(4, 63, 0) /* show low-freq packet-id debugging info */
+#define D_PID_DEBUG_MEDIUM LOGLEV(4, 64, 0) /* show medium-freq packet-id debugging info */
+#define D_CIPHER_INIT LOGLEV(4, 65, 0) /* show messages about cipher init */
-#define D_LOG_RW LOGLEV(5, 0, 0) /* Print 'R' or 'W' to stdout for read/write */
+#define D_LOG_RW LOGLEV(5, 0, 0) /* Print 'R' or 'W' to stdout for read/write */
-#define D_RTNL LOGLEV(6, 68, M_DEBUG) /* show RTNL low level operations */
-#define D_LINK_RW LOGLEV(6, 69, M_DEBUG) /* show TCP/UDP reads/writes (terse) */
-#define D_TUN_RW LOGLEV(6, 69, M_DEBUG) /* show TUN/TAP reads/writes */
-#define D_TAP_WIN_DEBUG LOGLEV(6, 69, M_DEBUG) /* show TAP-Windows driver debug info */
-#define D_CLIENT_NAT LOGLEV(6, 69, M_DEBUG) /* show client NAT debug info */
-#define D_XKEY LOGLEV(6, 69, M_DEBUG) /* show xkey-provider debug info */
-#define D_DCO_DEBUG LOGLEV(6, 69, M_DEBUG) /* show DCO related lowlevel debug messages */
-#define D_SIGNAL_DEBUG LOGLEV(6, 69, M_DEBUG) /* show signal related debug messages */
+#define D_RTNL LOGLEV(6, 68, M_DEBUG) /* show RTNL low level operations */
+#define D_LINK_RW LOGLEV(6, 69, M_DEBUG) /* show TCP/UDP reads/writes (terse) */
+#define D_TUN_RW LOGLEV(6, 69, M_DEBUG) /* show TUN/TAP reads/writes */
+#define D_TAP_WIN_DEBUG LOGLEV(6, 69, M_DEBUG) /* show TAP-Windows driver debug info */
+#define D_CLIENT_NAT LOGLEV(6, 69, M_DEBUG) /* show client NAT debug info */
+#define D_XKEY LOGLEV(6, 69, M_DEBUG) /* show xkey-provider debug info */
+#define D_DCO_DEBUG LOGLEV(6, 69, M_DEBUG) /* show DCO related lowlevel debug messages */
+#define D_SIGNAL_DEBUG LOGLEV(6, 69, M_DEBUG) /* show signal related debug messages */
-#define D_SHOW_KEYS LOGLEV(7, 70, M_DEBUG) /* show data channel encryption keys */
-#define D_SHOW_KEY_SOURCE LOGLEV(7, 70, M_DEBUG) /* show data channel key source entropy */
-#define D_REL_LOW LOGLEV(7, 70, M_DEBUG) /* show low frequency info from reliable layer */
-#define D_FRAG_DEBUG LOGLEV(7, 70, M_DEBUG) /* show fragment debugging info */
-#define D_WIN32_IO_LOW LOGLEV(7, 70, M_DEBUG) /* low freq win32 I/O debugging info */
-#define D_MTU_DEBUG LOGLEV(7, 70, M_DEBUG) /* show MTU debugging info */
-#define D_MULTI_DEBUG LOGLEV(7, 70, M_DEBUG) /* show medium-freq multi debugging info */
-#define D_MSS LOGLEV(7, 70, M_DEBUG) /* show MSS adjustments */
-#define D_COMP_LOW LOGLEV(7, 70, M_DEBUG) /* show adaptive compression state changes */
-#define D_CONNECTION_LIST LOGLEV(7, 70, M_DEBUG) /* show <connection> list info */
-#define D_SCRIPT LOGLEV(7, 70, M_DEBUG) /* show parms & env vars passed to scripts */
-#define D_SHOW_NET LOGLEV(7, 70, M_DEBUG) /* show routing table and adapter list */
-#define D_ROUTE_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose route.[ch] output */
-#define D_TLS_STATE_ERRORS LOGLEV(7, 70, M_DEBUG) /* no TLS state for client */
-#define D_SEMAPHORE_LOW LOGLEV(7, 70, M_DEBUG) /* show Win32 semaphore waits (low freq) */
-#define D_SEMAPHORE LOGLEV(7, 70, M_DEBUG) /* show Win32 semaphore waits */
-#define D_TEST_FILE LOGLEV(7, 70, M_DEBUG) /* show test_file() calls */
-#define D_MANAGEMENT_DEBUG LOGLEV(3, 70, M_DEBUG) /* show --management debug info */
-#define D_PLUGIN_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose plugin calls */
-#define D_SOCKET_DEBUG LOGLEV(7, 70, M_DEBUG) /* show socket.[ch] debugging info */
-#define D_SHOW_PKCS11 LOGLEV(7, 70, M_DEBUG) /* show PKCS#11 actions */
-#define D_ALIGN_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose struct alignment info */
-#define D_PACKET_TRUNC_DEBUG LOGLEV(7, 70, M_DEBUG) /* PACKET_TRUNCATION_CHECK verbose */
-#define D_PING LOGLEV(7, 70, M_DEBUG) /* PING send/receive messages */
-#define D_PS_PROXY_DEBUG LOGLEV(7, 70, M_DEBUG) /* port share proxy debug */
-#define D_TLS_KEYSELECT LOGLEV(7, 70, M_DEBUG) /* show key selection for data channel */
-#define D_ARGV_PARSE_CMD LOGLEV(7, 70, M_DEBUG) /* show parse_line() errors in argv_parse_cmd */
-#define D_CRYPTO_DEBUG LOGLEV(7, 70, M_DEBUG) /* show detailed info from crypto.c routines */
-#define D_PID_DEBUG LOGLEV(7, 70, M_DEBUG) /* show packet-id debugging info */
-#define D_PUSH_DEBUG LOGLEV(7, 73, M_DEBUG) /* show push/pull debugging info */
-#define D_SHOW_OCC LOGLEV(7, 74, M_DEBUG) /* show options compatibility string */
+#define D_SHOW_KEYS LOGLEV(7, 70, M_DEBUG) /* show data channel encryption keys */
+#define D_SHOW_KEY_SOURCE LOGLEV(7, 70, M_DEBUG) /* show data channel key source entropy */
+#define D_REL_LOW LOGLEV(7, 70, M_DEBUG) /* show low frequency info from reliable layer */
+#define D_FRAG_DEBUG LOGLEV(7, 70, M_DEBUG) /* show fragment debugging info */
+#define D_WIN32_IO_LOW LOGLEV(7, 70, M_DEBUG) /* low freq win32 I/O debugging info */
+#define D_MTU_DEBUG LOGLEV(7, 70, M_DEBUG) /* show MTU debugging info */
+#define D_MULTI_DEBUG LOGLEV(7, 70, M_DEBUG) /* show medium-freq multi debugging info */
+#define D_MSS LOGLEV(7, 70, M_DEBUG) /* show MSS adjustments */
+#define D_COMP_LOW LOGLEV(7, 70, M_DEBUG) /* show adaptive compression state changes */
+#define D_CONNECTION_LIST LOGLEV(7, 70, M_DEBUG) /* show <connection> list info */
+#define D_SCRIPT LOGLEV(7, 70, M_DEBUG) /* show parms & env vars passed to scripts */
+#define D_SHOW_NET LOGLEV(7, 70, M_DEBUG) /* show routing table and adapter list */
+#define D_ROUTE_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose route.[ch] output */
+#define D_TLS_STATE_ERRORS LOGLEV(7, 70, M_DEBUG) /* no TLS state for client */
+#define D_SEMAPHORE_LOW LOGLEV(7, 70, M_DEBUG) /* show Win32 semaphore waits (low freq) */
+#define D_SEMAPHORE LOGLEV(7, 70, M_DEBUG) /* show Win32 semaphore waits */
+#define D_TEST_FILE LOGLEV(7, 70, M_DEBUG) /* show test_file() calls */
+#define D_MANAGEMENT_DEBUG LOGLEV(3, 70, M_DEBUG) /* show --management debug info */
+#define D_PLUGIN_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose plugin calls */
+#define D_SOCKET_DEBUG LOGLEV(7, 70, M_DEBUG) /* show socket.[ch] debugging info */
+#define D_SHOW_PKCS11 LOGLEV(7, 70, M_DEBUG) /* show PKCS#11 actions */
+#define D_ALIGN_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose struct alignment info */
+#define D_PING LOGLEV(7, 70, M_DEBUG) /* PING send/receive messages */
+#define D_PS_PROXY_DEBUG LOGLEV(7, 70, M_DEBUG) /* port share proxy debug */
+#define D_TLS_KEYSELECT LOGLEV(7, 70, M_DEBUG) /* show key selection for data channel */
+#define D_ARGV_PARSE_CMD LOGLEV(7, 70, M_DEBUG) /* show parse_line() errors in argv_parse_cmd */
+#define D_CRYPTO_DEBUG LOGLEV(7, 70, M_DEBUG) /* show detailed info from crypto.c routines */
+#define D_PID_DEBUG LOGLEV(7, 70, M_DEBUG) /* show packet-id debugging info */
+#define D_PUSH_DEBUG LOGLEV(7, 73, M_DEBUG) /* show push/pull debugging info */
+#define D_SHOW_OCC LOGLEV(7, 74, M_DEBUG) /* show options compatibility string */
#define D_VLAN_DEBUG LOGLEV(7, 74, M_DEBUG) /* show VLAN tagging/untagging debug info */
@@ -1159,12 +1159,6 @@
}
#endif
-#ifdef PACKET_TRUNCATION_CHECK
- /* if (c->c2.buf.len > 1) --c->c2.buf.len; */
- ipv4_packet_size_verify(BPTR(&c->c2.buf), BLEN(&c->c2.buf), TUNNEL_TYPE(c->c1.tuntap),
- "POST_DECRYPT", &c->c2.n_trunc_post_decrypt);
-#endif
-
/*
* Set our "official" outgoing address, since
* if buf.len is non-zero, we know the packet
@@ -1347,11 +1341,6 @@
}
#endif /* ifdef _WIN32 */
-#ifdef PACKET_TRUNCATION_CHECK
- ipv4_packet_size_verify(BPTR(&c->c2.buf), BLEN(&c->c2.buf), TUNNEL_TYPE(c->c1.tuntap),
- "READ_TUN", &c->c2.n_trunc_tun_read);
-#endif
-
/* Was TUN/TAP interface stopped? */
if (tuntap_stop(c->c2.buf.len))
{
@@ -1527,12 +1516,6 @@
unsigned int flags =
PIPV4_PASSTOS | PIP_MSSFIX | PIPV4_CLIENT_NAT | PIPV6_ICMP_NOHOST_CLIENT;
process_ip_header(c, flags, &c->c2.buf, out_sock);
-
-#ifdef PACKET_TRUNCATION_CHECK
- /* if (c->c2.buf.len > 1) --c->c2.buf.len; */
- ipv4_packet_size_verify(BPTR(&c->c2.buf), BLEN(&c->c2.buf), TUNNEL_TYPE(c->c1.tuntap),
- "PRE_ENCRYPT", &c->c2.n_trunc_pre_encrypt);
-#endif
}
if (c->c2.buf.len > 0)
{
@@ -1932,11 +1915,6 @@
#endif
dmsg(D_TUN_RW, "TUN WRITE [%d]", BLEN(&c->c2.to_tun));
-#ifdef PACKET_TRUNCATION_CHECK
- ipv4_packet_size_verify(BPTR(&c->c2.to_tun), BLEN(&c->c2.to_tun), TUNNEL_TYPE(c->c1.tuntap),
- "WRITE_TUN", &c->c2.n_trunc_tun_write);
-#endif
-
#ifdef _WIN32
size = tun_write_win32(c->c1.tuntap, &c->c2.to_tun);
#else
@@ -979,31 +979,6 @@
status_printf(so, "ERROR: bad status format version number");
}
-#ifdef PACKET_TRUNCATION_CHECK
- {
- status_printf(so, "HEADER,ERRORS,Common Name,TUN Read Trunc,TUN Write Trunc,Pre-encrypt Trunc,Post-decrypt Trunc");
- hash_iterator_init(m->hash, &hi);
- while ((he = hash_iterator_next(&hi)))
- {
- struct gc_arena gc = gc_new();
- const struct multi_instance *mi = (struct multi_instance *)he->value;
-
- if (!mi->halt)
- {
- status_printf(so,
- "ERRORS,%s," counter_format "," counter_format "," counter_format
- "," counter_format,
- tls_common_name(mi->context.c2.tls_multi, false),
- m->top.c2.n_trunc_tun_read, mi->context.c2.n_trunc_tun_write,
- mi->context.c2.n_trunc_pre_encrypt,
- mi->context.c2.n_trunc_post_decrypt);
- }
- gc_free(&gc);
- }
- hash_iterator_free(&hi);
- }
-#endif /* ifdef PACKET_TRUNCATION_CHECK */
-
status_flush(so);
gc_free(&gc_top);
@@ -269,12 +269,6 @@
counter_type link_read_bytes_auth;
counter_type link_write_bytes;
counter_type dco_write_bytes;
-#ifdef PACKET_TRUNCATION_CHECK
- counter_type n_trunc_tun_read;
- counter_type n_trunc_tun_write;
- counter_type n_trunc_pre_encrypt;
- counter_type n_trunc_post_decrypt;
-#endif
/*
* Timer objects for ping and inactivity
@@ -163,52 +163,3 @@
/* Take the one's complement of sum */
return ((uint16_t)~sum);
}
-
-#ifdef PACKET_TRUNCATION_CHECK
-
-void
-ipv4_packet_size_verify(const uint8_t *data, const int size, const int tunnel_type,
- const char *prefix, counter_type *errors)
-{
- if (size > 0)
- {
- struct buffer buf;
-
- buf_set_read(&buf, data, size);
-
- if (is_ipv4(tunnel_type, &buf))
- {
- const struct openvpn_iphdr *pip;
- int hlen;
- int totlen;
- const char *msgstr = "PACKET SIZE INFO";
- msglvl_t msglevel = D_PACKET_TRUNC_DEBUG;
-
- if (BLENZ(&buf) < sizeof(struct openvpn_iphdr))
- {
- return;
- }
-
- verify_align_4(&buf);
- pip = (struct openvpn_iphdr *)BPTR(&buf);
-
- hlen = OPENVPN_IPH_GET_LEN(pip->version_len);
- totlen = ntohs(pip->tot_len);
-
- if (BLEN(&buf) != totlen)
- {
- msgstr = "PACKET TRUNCATION ERROR";
- msglevel = D_PACKET_TRUNC_ERR;
- if (errors)
- {
- ++(*errors);
- }
- }
-
- msg(msglevel, "%s %s: size=%d totlen=%d hlen=%d errcount=" counter_format, msgstr,
- prefix, BLEN(&buf), totlen, hlen, errors ? *errors : (counter_type)0);
- }
- }
-}
-
-#endif /* ifdef PACKET_TRUNCATION_CHECK */
@@ -307,11 +307,6 @@
uint16_t ip_checksum(const sa_family_t af, const uint8_t *payload, const int len_payload,
const uint8_t *src_addr, const uint8_t *dest_addr, const int proto);
-#ifdef PACKET_TRUNCATION_CHECK
-void ipv4_packet_size_verify(const uint8_t *data, const int size, const int tunnel_type,
- const char *prefix, counter_type *errors);
-
-#endif
#define OPENVPN_8021Q_MIN_VID 1
#define OPENVPN_8021Q_MAX_VID 4094
@@ -504,12 +504,6 @@
comp_print_stats(c->c2.comp_context, so);
}
#endif
-#ifdef PACKET_TRUNCATION_CHECK
- status_printf(so, "TUN read truncations," counter_format, c->c2.n_trunc_tun_read);
- status_printf(so, "TUN write truncations," counter_format, c->c2.n_trunc_tun_write);
- status_printf(so, "Pre-encrypt truncations," counter_format, c->c2.n_trunc_pre_encrypt);
- status_printf(so, "Post-decrypt truncations," counter_format, c->c2.n_trunc_post_decrypt);
-#endif
#ifdef _WIN32
if (tuntap_defined(c->c1.tuntap))
{