From 168949e119104ca1c916b3e3593ef11235380e1f Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 8 Oct 2018 11:41:33 +0200 Subject: client: Set snaplen to MAXIMUM_SNAPLEN Despite this value not being exported publicly, the truth is that tcpdump and wireshark nowadays avoid processing any file with snaplen bigger than this value: "tcpdump: pcap_loop: invalid packet capture length 861244, bigger than snaplen of 262144" It also fails to set snaplen to values bigger than that: "tcpdump -s 262145" --> "tcpdump: invalid snaplen 262145" pcapfix also warns about wrong packet length if bigger than same value (defined as PCAP_MAX_SNAPLEN there). MAXIMUM_SPANPLEN is defined in tcpdump's netdissect.h and libpcap's pcap-int.h. It is also defined as WTAP_MAX_PACKET_SIZE in wireshark/wiretap/wtap.h (this one being the only publicly available). Change-Id: Ib7449d5aba9da342c150704ebd0e1f09e7f7276c --- src/osmo_client_network.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c index 3d741a8..e900ef4 100644 --- a/src/osmo_client_network.c +++ b/src/osmo_client_network.c @@ -42,7 +42,6 @@ #include #include - static void _osmo_client_connect(void *_data) { osmo_client_connect((struct osmo_pcap_client_conn *) _data); @@ -257,7 +256,7 @@ void osmo_client_send_link(struct osmo_pcap_client_conn *conn) hdr->version_minor = 4; hdr->thiszone = 0; hdr->sigfigs = 0; - hdr->snaplen = UINT_MAX; + hdr->snaplen = MAXIMUM_SNAPLEN; hdr->linktype = pcap_datalink(conn->client->handle); write_data(conn, msg); -- cgit v1.2.3