server: do not abort process on short conn message
conn_read_cb() used OSMO_ASSERT() to check that the received message holds at least a full osmo_pcap_data header. Although conn_segmentation_cb2() should only ever hand up complete frames, asserting on a length derived from network input means a framing anomaly would abort the entire server (taking down all other clients' captures). Close the offending connection gracefully instead, consistent with the other error paths in this function.
client: Fix 32-bit overflow when computing pcapng EPB timestamp
tv_sec * 1000 * 1000 was evaluated in int arithmetic. Where time_t / tv_sec is 32-bit, this overflows for any tv_sec > ~2147, corrupting the 64-bit timestamp_usec well before the year 2038. Cast tv_sec to uint64_t before the multiplication so the whole expression is computed in 64 bits.
zmq_msg_send() only transfers ownership of the message to ZeroMQ on success. On failure the caller retains ownership, so the previously init'd zmq_msg_t was leaked on every failed publish. Close it explicitly on the error path.
rx_link_hdr() takes ownership of msg on success (rx_link() only frees it on failure). Both branches that call update_conn_file_hdr_msg() free msg, but when an identical link header was already stored neither branch ran and msg was leaked.
This happens on every duplicate PKT_LINK_HDR, e.g. a client that periodically resends its header. Free msg explicitly in that case.