![Guy Harris](/assets/img/avatar_default.png)
Use WTAP_MAX_PACKET_SIZE_STANDARD, set to 256KB, for everything except for D-Bus captures. Use WTAP_MAX_PACKET_SIZE_DBUS, set to 128MB, for them, because that's the largest possible D-Bus message size. See https://bugs.freedesktop.org/show_bug.cgi?id=100220 for an example of the problems caused by limiting the snapshot length to 256KB for D-Bus. Have a snapshot length of 0 in a capture_file structure mean "there is no snapshot length for the file"; we don't need the has_snap field in that case, a value of 0 mean "no, we don't have a snapshot length". In dumpcap, start out with a pipe buffer size of 2KB, and grow it as necessary. When checking for a too-big packet from a pipe, check against the appropriate maximum - 128MB for DLT_DBUS, 256KB for everything else. Change-Id: Ib2ce7a0cf37b971fbc0318024fd011e18add8b20 Reviewed-on: https://code.wireshark.org/review/21952 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
107 lines
4.2 KiB
C
107 lines
4.2 KiB
C
/* summary.h
|
|
* Definitions for capture file summary data
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* By Gerald Combs <gerald@wireshark.org>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef __SUMMARY_H__
|
|
#define __SUMMARY_H__
|
|
|
|
#ifdef HAVE_LIBPCAP
|
|
#include "ui/capture.h"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
typedef struct iface_options_tag {
|
|
char *name;
|
|
char *descr;
|
|
char *cfilter;
|
|
char *isb_comment;
|
|
guint64 drops; /**< number of packet drops */
|
|
gboolean drops_known; /**< TRUE if number of packet drops is known */
|
|
int snap; /**< Maximum captured packet length; 0 if not known */
|
|
int encap_type; /**< wiretap encapsulation type */
|
|
} iface_options;
|
|
|
|
typedef struct _summary_tally {
|
|
guint64 bytes; /**< total bytes */
|
|
double start_time; /**< seconds, with msec resolution */
|
|
double stop_time; /**< seconds, with msec resolution */
|
|
double elapsed_time; /**< seconds, with msec resolution,
|
|
includes time before first packet
|
|
and after last packet */
|
|
guint32 marked_count; /**< number of marked packets */
|
|
guint32 marked_count_ts; /**< number of time-stamped marked packets */
|
|
guint64 marked_bytes; /**< total bytes in the marked packets */
|
|
double marked_start; /**< time in seconds, with msec resolution */
|
|
double marked_stop; /**< time in seconds, with msec resolution */
|
|
guint32 ignored_count; /**< number of ignored packets */
|
|
guint32 packet_count; /**< total number of packets in trace */
|
|
guint32 packet_count_ts; /**< total number of time-stamped packets in trace */
|
|
guint32 filtered_count; /**< number of filtered packets */
|
|
guint32 filtered_count_ts; /**< number of time-stamped filtered packets */
|
|
guint64 filtered_bytes; /**< total bytes in the filtered packets */
|
|
double filtered_start; /**< time in seconds, with msec resolution */
|
|
double filtered_stop; /**< time in seconds, with msec resolution */
|
|
const char *filename;
|
|
gint64 file_length; /**< file length in bytes */
|
|
int file_type; /**< wiretap file type */
|
|
int iscompressed; /**< TRUE if file is compressed */
|
|
int file_encap_type; /**< wiretap encapsulation type for file */
|
|
GArray *packet_encap_types; /**< wiretap encapsulation types for packets */
|
|
int snap; /**< Maximum captured packet length; 0 if not known */
|
|
gboolean drops_known; /**< TRUE if number of packet drops is known */
|
|
guint64 drops; /**< number of packet drops */
|
|
const char *dfilter; /**< display filter */
|
|
gboolean is_tempfile;
|
|
/* capture related, use summary_fill_in_capture() to get values */
|
|
GArray *ifaces;
|
|
gboolean legacy;
|
|
} summary_tally;
|
|
|
|
extern void
|
|
summary_fill_in(capture_file *cf, summary_tally *st);
|
|
|
|
#ifdef HAVE_LIBPCAP
|
|
extern void
|
|
summary_fill_in_capture(capture_file *cf, capture_options *capture_opts, summary_tally *st);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* summary.h */
|
|
|
|
/*
|
|
* Editor modelines - http://www.wireshark.org/tools/modelines.html
|
|
*
|
|
* Local Variables:
|
|
* c-basic-offset: 2
|
|
* tab-width: 8
|
|
* indent-tabs-mode: nil
|
|
* End:
|
|
*
|
|
* vi: set shiftwidth=2 tabstop=8 expandtab:
|
|
* :indentSize=2:tabSize=8:noTabs=true:
|
|
*/
|