diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c index 723449f701..e8d6fcf10b 100644 --- a/capchild/capture_sync.c +++ b/capchild/capture_sync.c @@ -75,7 +75,6 @@ #include #include -#include "globals.h" #include "file.h" #include "ui/capture.h" diff --git a/epan/exported_pdu.h b/epan/exported_pdu.h index cda931397e..95019c402b 100644 --- a/epan/exported_pdu.h +++ b/epan/exported_pdu.h @@ -30,6 +30,9 @@ #include +#include +#include + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ diff --git a/epan/tap.h b/epan/tap.h index edaaa31474..395bf19ce8 100644 --- a/epan/tap.h +++ b/epan/tap.h @@ -24,6 +24,7 @@ #define __TAP_H__ #include +#include #include "ws_symbol_export.h" #ifdef __cplusplus diff --git a/file.c b/file.c index d0080c4802..438ca5508d 100644 --- a/file.c +++ b/file.c @@ -1103,7 +1103,9 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf, } /* Dissect the frame. */ - epan_dissect_run_with_taps(edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, buf), fdata, cinfo); + epan_dissect_run_with_taps(edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, buf), + fdata, cinfo); /* If we don't have a display filter, set "passed_dfilter" to 1. */ if (dfcode != NULL) { @@ -1177,7 +1179,9 @@ read_packet(capture_file *cf, dfilter_t *dfcode, epan_dissect_t *edt, epan_dissect_init(&rf_edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&rf_edt, cf->rfcode); - epan_dissect_run(&rf_edt, cf->cd_t, phdr, frame_tvbuff_new(&fdlocal, buf), &fdlocal, NULL); + epan_dissect_run(&rf_edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, &fdlocal, buf), + &fdlocal, NULL); passed = dfilter_apply_edt(cf->rfcode, &rf_edt); epan_dissect_cleanup(&rf_edt); } @@ -2072,7 +2076,9 @@ retap_packet(capture_file *cf, frame_data *fdata, { retap_callback_args_t *args = (retap_callback_args_t *)argsp; - epan_dissect_run_with_taps(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, args->cinfo); + epan_dissect_run_with_taps(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), + fdata, args->cinfo); epan_dissect_reset(&args->edt); return TRUE; @@ -2182,10 +2188,13 @@ print_packet(capture_file *cf, frame_data *fdata, information. */ if (args->print_args->print_summary) { col_custom_prime_edt(&args->edt, &cf->cinfo); - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, &cf->cinfo); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), + fdata, &cf->cinfo); epan_dissect_fill_in_columns(&args->edt, FALSE, TRUE); } else - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, NULL); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), fdata, NULL); if (args->print_formfeed) { if (!new_page(args->print_args->stream)) @@ -2501,7 +2510,8 @@ write_pdml_packet(capture_file *cf, frame_data *fdata, write_packet_callback_args_t *args = (write_packet_callback_args_t *)argsp; /* Create the protocol tree, but don't fill in the column information. */ - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, NULL); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), fdata, NULL); /* Write out the information in that tree. */ write_pdml_proto_tree(NULL, NULL, PF_NONE, &args->edt, args->fh, FALSE); @@ -2577,7 +2587,9 @@ write_psml_packet(capture_file *cf, frame_data *fdata, /* Fill in the column information */ col_custom_prime_edt(&args->edt, &cf->cinfo); - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, &cf->cinfo); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), + fdata, &cf->cinfo); epan_dissect_fill_in_columns(&args->edt, FALSE, TRUE); /* Write out the column information. */ @@ -2660,7 +2672,9 @@ write_csv_packet(capture_file *cf, frame_data *fdata, /* Fill in the column information */ col_custom_prime_edt(&args->edt, &cf->cinfo); - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, &cf->cinfo); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), + fdata, &cf->cinfo); epan_dissect_fill_in_columns(&args->edt, FALSE, TRUE); /* Write out the column information. */ @@ -2733,7 +2747,8 @@ carrays_write_packet(capture_file *cf, frame_data *fdata, { write_packet_callback_args_t *args = (write_packet_callback_args_t *)argsp; - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, NULL); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), fdata, NULL); write_carrays_hex_data(fdata->num, args->fh, &args->edt); epan_dissect_reset(&args->edt); @@ -2795,7 +2810,8 @@ write_json_packet(capture_file *cf, frame_data *fdata, write_packet_callback_args_t *args = (write_packet_callback_args_t *)argsp; /* Create the protocol tree, but don't fill in the column information. */ - epan_dissect_run(&args->edt, cf->cd_t, phdr, frame_tvbuff_new(fdata, pd), fdata, NULL); + epan_dissect_run(&args->edt, cf->cd_t, phdr, + frame_tvbuff_new(&cf->provider, fdata, pd), fdata, NULL); /* Write out the information in that tree. */ write_json_proto_tree(NULL, args->print_args->print_dissections, @@ -2902,7 +2918,9 @@ match_protocol_tree(capture_file *cf, frame_data *fdata, void *criterion) /* Construct the protocol tree, including the displayed text */ epan_dissect_init(&edt, cf->epan, TRUE, TRUE); /* We don't need the column information */ - epan_dissect_run(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + epan_dissect_run(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); /* Iterate through all the nodes, seeing if they have text that matches. */ mdata->cf = cf; @@ -3014,8 +3032,9 @@ match_summary_line(capture_file *cf, frame_data *fdata, void *criterion) /* Don't bother constructing the protocol tree */ epan_dissect_init(&edt, cf->epan, FALSE, FALSE); /* Get the column information */ - epan_dissect_run(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, - &cf->cinfo); + epan_dissect_run(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, &cf->cinfo); /* Find the Info column */ for (colx = 0; colx < cf->cinfo.num_cols; colx++) { @@ -3360,7 +3379,9 @@ match_dfilter(capture_file *cf, frame_data *fdata, void *criterion) epan_dissect_init(&edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); - epan_dissect_run(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + epan_dissect_run(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); result = dfilter_apply_edt(sfcode, &edt) ? MR_MATCHED : MR_NOTMATCHED; epan_dissect_cleanup(&edt); return result; @@ -3646,7 +3667,8 @@ cf_select_packet(capture_file *cf, int row) cf->edt = epan_dissect_new(cf->epan, TRUE, TRUE); tap_build_interesting(cf->edt); - epan_dissect_run(cf->edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(cf->current_frame, &cf->buf), + epan_dissect_run(cf->edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, cf->current_frame, &cf->buf), cf->current_frame, NULL); dfilter_macro_build_ftv_cache(cf->edt->tree); diff --git a/fileset.c b/fileset.c index 88d6996682..6e8ea01575 100644 --- a/fileset.c +++ b/fileset.c @@ -21,7 +21,6 @@ #include #include -#include "globals.h" #include diff --git a/frame_tvbuff.c b/frame_tvbuff.c index f2ad3e606b..e5309bd134 100644 --- a/frame_tvbuff.c +++ b/frame_tvbuff.c @@ -17,7 +17,6 @@ #include #include "frame_tvbuff.h" -#include "globals.h" #include "wiretap/wtap-int.h" /* for ->random_fh */ @@ -26,7 +25,7 @@ struct tvb_frame { Buffer *buf; /* Packet data */ - wtap *wth; /**< Wiretap session */ + const struct packet_provider_data *prov; /* provider of packet information */ gint64 file_off; /**< File offset */ guint offset; @@ -38,14 +37,10 @@ frame_read(struct tvb_frame *frame_tvb, struct wtap_pkthdr *phdr, Buffer *buf) int err; gchar *err_info; - /* sanity check, capture file was closed? */ - if (cfile.provider.wth != frame_tvb->wth) - return FALSE; - /* XXX, what if phdr->caplen isn't equal to * frame_tvb->tvb.length + frame_tvb->offset? */ - if (!wtap_seek_read(frame_tvb->wth, frame_tvb->file_off, phdr, buf, &err, &err_info)) { + if (!wtap_seek_read(frame_tvb->prov->wth, frame_tvb->file_off, phdr, buf, &err, &err_info)) { /* XXX - report error! */ switch (err) { case WTAP_ERR_BAD_FILE: @@ -165,7 +160,8 @@ static const struct tvb_ops tvb_frame_ops = { /* based on tvb_new_real_data() */ tvbuff_t * -frame_tvbuff_new(const frame_data *fd, const guint8 *buf) +frame_tvbuff_new(const struct packet_provider_data *prov, const frame_data *fd, + const guint8 *buf) { struct tvb_frame *frame_tvb; tvbuff_t *tvb; @@ -208,12 +204,12 @@ frame_tvbuff_new(const frame_data *fd, const guint8 *buf) frame_tvb = (struct tvb_frame *) tvb; /* XXX, wtap_can_seek() */ - if (cfile.provider.wth && cfile.provider.wth->random_fh) { - frame_tvb->wth = cfile.provider.wth; + if (prov->wth && prov->wth->random_fh) { + frame_tvb->prov = prov; frame_tvb->file_off = fd->file_off; frame_tvb->offset = 0; } else - frame_tvb->wth = NULL; + frame_tvb->prov = NULL; frame_tvb->buf = NULL; @@ -221,9 +217,10 @@ frame_tvbuff_new(const frame_data *fd, const guint8 *buf) } tvbuff_t * -frame_tvbuff_new_buffer(const frame_data *fd, Buffer *buf) +frame_tvbuff_new_buffer(const struct packet_provider_data *prov, + const frame_data *fd, Buffer *buf) { - return frame_tvbuff_new(fd, ws_buffer_start_ptr(buf)); + return frame_tvbuff_new(prov, fd, ws_buffer_start_ptr(buf)); } static tvbuff_t * @@ -235,7 +232,7 @@ frame_clone(tvbuff_t *tvb, guint abs_offset, guint abs_length) struct tvb_frame *cloned_frame_tvb; /* file not seekable */ - if (!frame_tvb->wth) + if (!frame_tvb->prov) return NULL; abs_offset += frame_tvb->offset; @@ -255,7 +252,7 @@ frame_clone(tvbuff_t *tvb, guint abs_offset, guint abs_length) cloned_tvb->ds_tvb = cloned_tvb; cloned_frame_tvb = (struct tvb_frame *) cloned_tvb; - cloned_frame_tvb->wth = frame_tvb->wth; + cloned_frame_tvb->prov = frame_tvb->prov; cloned_frame_tvb->file_off = frame_tvb->file_off; cloned_frame_tvb->offset = abs_offset; cloned_frame_tvb->buf = NULL; @@ -266,7 +263,8 @@ frame_clone(tvbuff_t *tvb, guint abs_offset, guint abs_length) /* based on tvb_new_real_data() */ tvbuff_t * -file_tvbuff_new(const frame_data *fd, const guint8 *buf) +file_tvbuff_new(const struct packet_provider_data *prov, const frame_data *fd, + const guint8 *buf) { struct tvb_frame *frame_tvb; tvbuff_t *tvb; @@ -309,12 +307,12 @@ file_tvbuff_new(const frame_data *fd, const guint8 *buf) frame_tvb = (struct tvb_frame *) tvb; /* XXX, wtap_can_seek() */ - if (cfile.provider.wth && cfile.provider.wth->random_fh) { - frame_tvb->wth = cfile.provider.wth; + if (prov->wth && prov->wth->random_fh) { + frame_tvb->prov = prov; frame_tvb->file_off = fd->file_off; frame_tvb->offset = 0; } else - frame_tvb->wth = NULL; + frame_tvb->prov = NULL; frame_tvb->buf = NULL; @@ -322,9 +320,10 @@ file_tvbuff_new(const frame_data *fd, const guint8 *buf) } tvbuff_t * -file_tvbuff_new_buffer(const frame_data *fd, Buffer *buf) +file_tvbuff_new_buffer(const struct packet_provider_data *prov, + const frame_data *fd, Buffer *buf) { - return frame_tvbuff_new(fd, ws_buffer_start_ptr(buf)); + return frame_tvbuff_new(prov, fd, ws_buffer_start_ptr(buf)); } /* diff --git a/frame_tvbuff.h b/frame_tvbuff.h index d9428e709d..5b8edb4dd4 100644 --- a/frame_tvbuff.h +++ b/frame_tvbuff.h @@ -11,19 +11,25 @@ #ifndef __FRAME_TVBUFF_H__ #define __FRAME_TVBUFF_H__ +#include "cfile.h" + +#include + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -#include +extern tvbuff_t *frame_tvbuff_new(const struct packet_provider_data *prov, + const frame_data *fd, const guint8 *buf); -extern tvbuff_t *frame_tvbuff_new(const frame_data *fd, const guint8 *buf); +extern tvbuff_t *frame_tvbuff_new_buffer(const struct packet_provider_data *prov, + const frame_data *fd, Buffer *buf); -extern tvbuff_t *frame_tvbuff_new_buffer(const frame_data *fd, Buffer *buf); +extern tvbuff_t *file_tvbuff_new(const struct packet_provider_data *prov, + const frame_data *fd, const guint8 *buf); -extern tvbuff_t *file_tvbuff_new(const frame_data *fd, const guint8 *buf); - -extern tvbuff_t *file_tvbuff_new_buffer(const frame_data *fd, Buffer *buf); +extern tvbuff_t *file_tvbuff_new_buffer(const struct packet_provider_data *prov, + const frame_data *fd, Buffer *buf); #ifdef __cplusplus } diff --git a/rawshark.c b/rawshark.c index eb382fd5ba..68dedaddd4 100644 --- a/rawshark.c +++ b/rawshark.c @@ -1037,7 +1037,9 @@ process_packet(capture_file *cf, epan_dissect_t *edt, gint64 offset, /* We only need the columns if we're printing packet info but we're *not* verbose; in verbose mode, we print the protocol tree, not the protocol summary. */ - epan_dissect_run_with_taps(edt, cf->cd_t, whdr, frame_tvbuff_new(&fdata, pd), &fdata, &cf->cinfo); + epan_dissect_run_with_taps(edt, cf->cd_t, whdr, + frame_tvbuff_new(&cf->provider, &fdata, pd), + &fdata, &cf->cinfo); frame_data_set_after_dissect(&fdata, &cum_bytes); prev_dis_frame = fdata; diff --git a/sharkd.c b/sharkd.c index d2be886e30..903d9bd540 100644 --- a/sharkd.c +++ b/sharkd.c @@ -301,7 +301,9 @@ process_packet(capture_file *cf, epan_dissect_t *edt, cf->provider.ref = &ref_frame; } - epan_dissect_run(edt, cf->cd_t, whdr, frame_tvbuff_new(&fdlocal, pd), &fdlocal, NULL); + epan_dissect_run(edt, cf->cd_t, whdr, + frame_tvbuff_new(&cf->provider, &fdlocal, pd), + &fdlocal, NULL); /* Run the read filter if we have one. */ if (cf->rfcode) @@ -569,7 +571,9 @@ sharkd_dissect_request(unsigned int framenum, void (*cb)(epan_dissect_t *, proto * XXX - need to catch an OutOfMemoryError exception and * attempt to recover from it. */ - epan_dissect_run(&edt, cfile.cd_t, &phdr, frame_tvbuff_new_buffer(fdata, &buf), fdata, cinfo); + epan_dissect_run(&edt, cfile.cd_t, &phdr, + frame_tvbuff_new_buffer(&cfile.provider, fdata, &buf), + fdata, cinfo); if (cinfo) { /* "Stringify" non frame_data vals */ @@ -621,7 +625,9 @@ sharkd_dissect_columns(frame_data *fdata, column_info *cinfo, gboolean dissect_c * XXX - need to catch an OutOfMemoryError exception and * attempt to recover from it. */ - epan_dissect_run(&edt, cfile.cd_t, &phdr, frame_tvbuff_new_buffer(fdata, &buf), fdata, cinfo); + epan_dissect_run(&edt, cfile.cd_t, &phdr, + frame_tvbuff_new_buffer(&cfile.provider, fdata, &buf), + fdata, cinfo); if (cinfo) { /* "Stringify" non frame_data vals */ @@ -678,7 +684,9 @@ sharkd_retap(void) if (!wtap_seek_read(cfile.provider.wth, fdata->file_off, &phdr, &buf, &err, &err_info)) break; - epan_dissect_run_with_taps(&edt, cfile.cd_t, &phdr, frame_tvbuff_new(fdata, ws_buffer_start_ptr(&buf)), fdata, cinfo); + epan_dissect_run_with_taps(&edt, cfile.cd_t, &phdr, + frame_tvbuff_new(&cfile.provider, fdata, ws_buffer_start_ptr(&buf)), + fdata, cinfo); epan_dissect_reset(&edt); } @@ -736,7 +744,9 @@ sharkd_filter(const char *dftext, guint8 **result) /* frame_data_set_before_dissect */ epan_dissect_prime_with_dfilter(&edt, dfcode); - epan_dissect_run(&edt, cfile.cd_t, &phdr, frame_tvbuff_new_buffer(fdata, &buf), fdata, NULL); + epan_dissect_run(&edt, cfile.cd_t, &phdr, + frame_tvbuff_new_buffer(&cfile.provider, fdata, &buf), + fdata, NULL); if (dfilter_apply_edt(dfcode, &edt)) passed_bits |= (1 << (framenum % 8)); diff --git a/sharkd.h b/sharkd.h index b08754c97a..d351cea71b 100644 --- a/sharkd.h +++ b/sharkd.h @@ -13,7 +13,6 @@ #define __SHARKD_H #include -#include /* sharkd.c */ cf_status_t sharkd_cf_open(const char *fname, unsigned int type, gboolean is_tempfile, int *err); diff --git a/sharkd_session.c b/sharkd_session.c index 1a165a9fa2..e9c9f702b2 100644 --- a/sharkd_session.c +++ b/sharkd_session.c @@ -69,6 +69,8 @@ #include #include +#include "globals.h" + #include "sharkd.h" static gboolean diff --git a/tfshark.c b/tfshark.c index d8cdfcbc04..3b69005802 100644 --- a/tfshark.c +++ b/tfshark.c @@ -1101,7 +1101,9 @@ process_packet_first_pass(capture_file *cf, epan_dissect_t *edt, cf->provider.ref = &ref_frame; } - epan_dissect_file_run(edt, whdr, file_tvbuff_new(&fdlocal, pd), &fdlocal, NULL); + epan_dissect_file_run(edt, whdr, + file_tvbuff_new(&cf->provider, &fdlocal, pd), + &fdlocal, NULL); /* Run the read filter if we have one. */ if (cf->rfcode) @@ -1180,7 +1182,8 @@ process_packet_second_pass(capture_file *cf, epan_dissect_t *edt, cf->provider.ref = &ref_frame; } - epan_dissect_file_run_with_taps(edt, phdr, file_tvbuff_new_buffer(fdata, buf), fdata, cinfo); + epan_dissect_file_run_with_taps(edt, phdr, + file_tvbuff_new_buffer(&cf->provider, fdata, buf), fdata, cinfo); /* Run the read/display filter if we have one. */ if (cf->dfcode) @@ -1623,7 +1626,9 @@ process_packet_single_pass(capture_file *cf, epan_dissect_t *edt, gint64 offset, cf->provider.ref = &ref_frame; } - epan_dissect_file_run_with_taps(edt, whdr, frame_tvbuff_new(&fdata, pd), &fdata, cinfo); + epan_dissect_file_run_with_taps(edt, whdr, + frame_tvbuff_new(&cf->provider, &fdata, pd), + &fdata, cinfo); /* Run the filter if we have it. */ if (cf->dfcode) diff --git a/tshark.c b/tshark.c index 099f49ff97..a8fefc2682 100644 --- a/tshark.c +++ b/tshark.c @@ -2912,7 +2912,9 @@ process_packet_first_pass(capture_file *cf, epan_dissect_t *edt, cf->provider.ref = &ref_frame; } - epan_dissect_run(edt, cf->cd_t, whdr, frame_tvbuff_new(&fdlocal, pd), &fdlocal, NULL); + epan_dissect_run(edt, cf->cd_t, whdr, + frame_tvbuff_new(&cf->provider, &fdlocal, pd), + &fdlocal, NULL); /* Run the read filter if we have one. */ if (cf->rfcode) @@ -3002,7 +3004,9 @@ process_packet_second_pass(capture_file *cf, epan_dissect_t *edt, fdata->flags.need_colorize = 1; } - epan_dissect_run_with_taps(edt, cf->cd_t, phdr, frame_tvbuff_new_buffer(fdata, buf), fdata, cinfo); + epan_dissect_run_with_taps(edt, cf->cd_t, phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, buf), + fdata, cinfo); /* Run the read/display filter if we have one. */ if (cf->dfcode) @@ -3517,7 +3521,9 @@ process_packet_single_pass(capture_file *cf, epan_dissect_t *edt, gint64 offset, fdata.flags.need_colorize = 1; } - epan_dissect_run_with_taps(edt, cf->cd_t, whdr, frame_tvbuff_new(&fdata, pd), &fdata, cinfo); + epan_dissect_run_with_taps(edt, cf->cd_t, whdr, + frame_tvbuff_new(&cf->provider, &fdata, pd), + &fdata, cinfo); /* Run the filter if we have it. */ if (cf->dfcode) diff --git a/ui/gtk/addr_resolution_dlg.c b/ui/gtk/addr_resolution_dlg.c index a8fe7a2c87..77580470cb 100644 --- a/ui/gtk/addr_resolution_dlg.c +++ b/ui/gtk/addr_resolution_dlg.c @@ -37,6 +37,8 @@ #include "ui/gtk/main.h" #include "ui/gtk/addr_resolution_dlg.h" +#include "globals.h" + static GtkWidget *addr_resolution_dlg_w = NULL; diff --git a/ui/gtk/capture_dlg.c b/ui/gtk/capture_dlg.c index 5f1516695e..7e0e2a4496 100644 --- a/ui/gtk/capture_dlg.c +++ b/ui/gtk/capture_dlg.c @@ -89,6 +89,8 @@ #include "ui/gtk/extcap_gtk.h" #endif +#include "globals.h" + /* * Symbolic names for column indices. */ diff --git a/ui/gtk/capture_file_dlg.h b/ui/gtk/capture_file_dlg.h index 02d544abc4..deda5f8943 100644 --- a/ui/gtk/capture_file_dlg.h +++ b/ui/gtk/capture_file_dlg.h @@ -23,6 +23,8 @@ #ifndef __CAPTURE_FILE_DLG_H__ #define __CAPTURE_FILE_DLG_H__ +#include "cfile.h" + /** @file * "Open" / "Close" / "Save" / "Save As" / etc dialog boxes. * @ingroup dialog_group diff --git a/ui/gtk/conversations_table.c b/ui/gtk/conversations_table.c index f6acef1a8f..790a132130 100644 --- a/ui/gtk/conversations_table.c +++ b/ui/gtk/conversations_table.c @@ -29,7 +29,6 @@ #include - #include #include "ui/simple_dialog.h" @@ -49,6 +48,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + #define COL_STR_LEN 16 #define CONV_PTR_KEY "conversations-pointer" #define NB_PAGES_KEY "notebook-pages" diff --git a/ui/gtk/dcerpc_stat.c b/ui/gtk/dcerpc_stat.c index d4d3a9956a..bf5006d39d 100644 --- a/ui/gtk/dcerpc_stat.c +++ b/ui/gtk/dcerpc_stat.c @@ -39,7 +39,6 @@ #include #include - #include "ui/simple_dialog.h" #include "ui/gtk/gui_stat_menu.h" @@ -54,6 +53,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + void register_tap_listener_gtkdcerpcstat(void); /* used to keep track of the statistics for an entire program interface */ diff --git a/ui/gtk/decode_as_dlg.c b/ui/gtk/decode_as_dlg.c index b7c6808baa..5f615e8721 100644 --- a/ui/gtk/decode_as_dlg.c +++ b/ui/gtk/decode_as_dlg.c @@ -47,6 +47,8 @@ #include "ui/gtk/packet_win.h" #include "ui/gtk/stock_icons.h" +#include "globals.h" + #undef DEBUG /**************************************************/ diff --git a/ui/gtk/drag_and_drop.c b/ui/gtk/drag_and_drop.c index 8c4f30fbb4..963e503023 100644 --- a/ui/gtk/drag_and_drop.c +++ b/ui/gtk/drag_and_drop.c @@ -45,6 +45,7 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" enum { DND_TARGET_STRING, DND_TARGET_ROOTWIN, DND_TARGET_URL }; diff --git a/ui/gtk/edit_packet_comment_dlg.c b/ui/gtk/edit_packet_comment_dlg.c index 95caa6cc83..a1e6cba7ed 100644 --- a/ui/gtk/edit_packet_comment_dlg.c +++ b/ui/gtk/edit_packet_comment_dlg.c @@ -27,7 +27,6 @@ #include - #include "ui/main_statusbar.h" #include "ui/gtk/dlg_utils.h" @@ -37,6 +36,8 @@ #include "ui/gtk/packet_list.h" #include "ui/gtk/edit_packet_comment_dlg.h" +#include "globals.h" + static GtkWidget *edit_or_add_pkt_comment_dlg = NULL; static GtkWidget *edit_or_add_capture_comment_dlg = NULL; diff --git a/ui/gtk/expert_comp_dlg.c b/ui/gtk/expert_comp_dlg.c index 6bfed3112d..8f6e1270a9 100644 --- a/ui/gtk/expert_comp_dlg.c +++ b/ui/gtk/expert_comp_dlg.c @@ -49,6 +49,8 @@ #include "ui/gtk/edit_packet_comment_dlg.h" #include "ui/gtk/gtkglobals.h" +#include "globals.h" + void register_tap_listener_expert_comp(void); enum diff --git a/ui/gtk/expert_comp_table.c b/ui/gtk/expert_comp_table.c index 53bd0c3dac..beb07bc719 100644 --- a/ui/gtk/expert_comp_table.c +++ b/ui/gtk/expert_comp_table.c @@ -51,6 +51,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + const char *packet = "Packet:"; enum diff --git a/ui/gtk/export_object_dlg.c b/ui/gtk/export_object_dlg.c index ee0783827e..d56acd9f2b 100644 --- a/ui/gtk/export_object_dlg.c +++ b/ui/gtk/export_object_dlg.c @@ -35,6 +35,8 @@ #include #include +#include "globals.h" + #include "dlg_utils.h" #include "file_dlg.h" #include "gui_utils.h" diff --git a/ui/gtk/export_pdu_dlg.c b/ui/gtk/export_pdu_dlg.c index 929cce92d4..a9a239683d 100644 --- a/ui/gtk/export_pdu_dlg.c +++ b/ui/gtk/export_pdu_dlg.c @@ -24,7 +24,6 @@ #include -#include "globals.h" #include #include diff --git a/ui/gtk/export_sslkeys.c b/ui/gtk/export_sslkeys.c index 4ac2c51b43..be52722645 100644 --- a/ui/gtk/export_sslkeys.c +++ b/ui/gtk/export_sslkeys.c @@ -25,6 +25,7 @@ #include "config.h" #include +#include #include #include diff --git a/ui/gtk/fileset_dlg.c b/ui/gtk/fileset_dlg.c index aa2945edfc..e684583309 100644 --- a/ui/gtk/fileset_dlg.c +++ b/ui/gtk/fileset_dlg.c @@ -27,7 +27,7 @@ #include "ui/gtk/fileset_dlg.h" #include "ui/gtk/old-gtk-compat.h" - +#include "globals.h" /* * Keep a static pointer to the current "File Set" window, if diff --git a/ui/gtk/filter_expression_save_dlg.c b/ui/gtk/filter_expression_save_dlg.c index f02037df90..f9da20e3d0 100644 --- a/ui/gtk/filter_expression_save_dlg.c +++ b/ui/gtk/filter_expression_save_dlg.c @@ -41,6 +41,7 @@ #include "ui/gtk/filter_autocomplete.h" #include "ui/gtk/help_dlg.h" +#include "globals.h" #include "main.h" diff --git a/ui/gtk/filter_expression_save_dlg.h b/ui/gtk/filter_expression_save_dlg.h index 5730b693aa..319e49f76f 100644 --- a/ui/gtk/filter_expression_save_dlg.h +++ b/ui/gtk/filter_expression_save_dlg.h @@ -23,7 +23,6 @@ #ifndef __FILTER_EXPRESSIONS_SAVE_DLG_H__ #define __FILTER_EXPRESSIONS_SAVE_DLG_H__ -#include "globals.h" #include "epan/filter_expressions.h" enum { diff --git a/ui/gtk/filter_utils.c b/ui/gtk/filter_utils.c index d5dc2da64f..1eca642d8c 100644 --- a/ui/gtk/filter_utils.c +++ b/ui/gtk/filter_utils.c @@ -32,6 +32,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + void apply_selected_filter (guint callback_action, const char *filter) { diff --git a/ui/gtk/firewall_dlg.c b/ui/gtk/firewall_dlg.c index 1de148d7f6..f671465c17 100644 --- a/ui/gtk/firewall_dlg.c +++ b/ui/gtk/firewall_dlg.c @@ -50,6 +50,8 @@ #include "ui/gtk/old-gtk-compat.h" #include "ui/gtk/firewall_dlg.h" +#include "globals.h" + #define MAX_RULE_LEN 200 /* Copied from packet_info struct */ diff --git a/ui/gtk/flow_graph.c b/ui/gtk/flow_graph.c index 018138efaf..0b79053a03 100644 --- a/ui/gtk/flow_graph.c +++ b/ui/gtk/flow_graph.c @@ -26,7 +26,6 @@ #include "config.h" #include - #include #include @@ -39,6 +38,8 @@ #include "ui/gtk/old-gtk-compat.h" #include "ui/gtk/gtkglobals.h" +#include "globals.h" + void register_tap_listener_flow_graph(void); static seq_analysis_info_t *graph_analysis = NULL; diff --git a/ui/gtk/follow_stream.c b/ui/gtk/follow_stream.c index fe8578347c..e172d67556 100644 --- a/ui/gtk/follow_stream.c +++ b/ui/gtk/follow_stream.c @@ -63,6 +63,8 @@ #include "ui/win32/print_win32.h" #endif +#include "globals.h" + /* static variable declarations to speed up the performance * of follow_load_text and follow_add_to_gtk_text */ diff --git a/ui/gtk/funnel_stat.c b/ui/gtk/funnel_stat.c index d9c3f2fd21..a17ebef0d6 100644 --- a/ui/gtk/funnel_stat.c +++ b/ui/gtk/funnel_stat.c @@ -56,6 +56,8 @@ #include "ui/gtk/gtkglobals.h" #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + void register_tap_listener_gtkfunnel(void); struct _funnel_text_window_t { diff --git a/ui/gtk/graph_analysis.c b/ui/gtk/graph_analysis.c index 407eb3c1ab..e85a044a87 100644 --- a/ui/gtk/graph_analysis.c +++ b/ui/gtk/graph_analysis.c @@ -64,6 +64,8 @@ #include "ui/gtk/old-gtk-compat.h" #include "ui/gtk/stock_icons.h" +#include "globals.h" + /****************************************************************************/ #define MAX_LABEL 50 diff --git a/ui/gtk/hostlist_table.c b/ui/gtk/hostlist_table.c index 25aa75e99e..7e593cdc21 100644 --- a/ui/gtk/hostlist_table.c +++ b/ui/gtk/hostlist_table.c @@ -56,6 +56,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + #define HOST_PTR_KEY "hostlist-pointer" #define NB_PAGES_KEY "notebook-pages" #define HL_DLG_HEIGHT 550 diff --git a/ui/gtk/iax2_analysis.c b/ui/gtk/iax2_analysis.c index a4d3b5b8a4..b52d996586 100644 --- a/ui/gtk/iax2_analysis.c +++ b/ui/gtk/iax2_analysis.c @@ -79,6 +79,8 @@ #include "frame_tvbuff.h" +#include "globals.h" + void register_tap_listener_iax2_analysis(void); enum @@ -3568,7 +3570,8 @@ void iax2_analysis_cb(GtkAction *action _U_, gpointer user_data _U_) epan_dissect_init(&edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); epan_dissect_run(&edt, cf->cd_t, &cf->phdr, - frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); /* if it is not an iax2 packet, show an error dialog */ if (!dfilter_apply_edt(sfcode, &edt)) { diff --git a/ui/gtk/io_stat.c b/ui/gtk/io_stat.c index a5afd6fcbe..b4c54ce600 100644 --- a/ui/gtk/io_stat.c +++ b/ui/gtk/io_stat.c @@ -46,6 +46,7 @@ #include "ui/gtk/filter_autocomplete.h" #include "ui/main_statusbar.h" +#include "globals.h" void register_tap_listener_gtk_iostat(void); diff --git a/ui/gtk/mac_lte_stat_dlg.c b/ui/gtk/mac_lte_stat_dlg.c index 6986a53c00..ed3e957fec 100644 --- a/ui/gtk/mac_lte_stat_dlg.c +++ b/ui/gtk/mac_lte_stat_dlg.c @@ -44,6 +44,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + void register_tap_listener_mac_lte_stat(void); /**********************************************/ diff --git a/ui/gtk/main.c b/ui/gtk/main.c index 79b8c05882..6c0e1c1466 100644 --- a/ui/gtk/main.c +++ b/ui/gtk/main.c @@ -533,7 +533,8 @@ get_ip_address_list_from_packet_list_row(gpointer data) col_custom_prime_edt(&edt, &cfile.cinfo); epan_dissect_run(&edt, cfile.cd_t, &cfile.phdr, - frame_tvbuff_new_buffer(fdata, &cfile.buf), fdata, &cfile.cinfo); + frame_tvbuff_new_buffer(&cfile.provider, fdata, &cfile.buf), + fdata, &cfile.cinfo); epan_dissect_fill_in_columns(&edt, TRUE, TRUE); /* First check selected column */ @@ -574,7 +575,7 @@ get_filter_from_packet_list_row_and_column(gpointer data) col_custom_prime_edt(&edt, &cfile.cinfo); epan_dissect_run(&edt, cfile.cd_t, &cfile.phdr, - frame_tvbuff_new_buffer(fdata, &cfile.buf), + frame_tvbuff_new_buffer(&cfile.provider, fdata, &cfile.buf), fdata, &cfile.cinfo); epan_dissect_fill_in_columns(&edt, TRUE, TRUE); diff --git a/ui/gtk/main.h b/ui/gtk/main.h index 4c3064f5cd..6444dfad6b 100644 --- a/ui/gtk/main.h +++ b/ui/gtk/main.h @@ -23,7 +23,7 @@ #ifndef __MAIN_H__ #define __MAIN_H__ -#include "globals.h" +#include "cfile.h" #include "capture_opts.h" /** @defgroup main_window_group Main window diff --git a/ui/gtk/main_filter_toolbar.c b/ui/gtk/main_filter_toolbar.c index b555cd55c4..24b8c862d4 100644 --- a/ui/gtk/main_filter_toolbar.c +++ b/ui/gtk/main_filter_toolbar.c @@ -51,6 +51,8 @@ #include "main_filter_toolbar.h" #include "filter_expression_save_dlg.h" +#include "globals.h" + #define MENU_BAR_PATH_FILE_OPEN "/Menubar/FileMenu/Open" #define MENU_BAR_PATH_EDIT_COPY_AS_FLT "/Menubar/EditMenu/Copy/AsFilter" #define MENU_BAR_PATH_ANALYZE_DISPLAY_FLT "/Menubar/AnalyzeMenu/DisplayFilters" diff --git a/ui/gtk/main_statusbar.c b/ui/gtk/main_statusbar.c index 4974a25e83..45f1ef0129 100644 --- a/ui/gtk/main_statusbar.c +++ b/ui/gtk/main_statusbar.c @@ -65,6 +65,8 @@ #include "ui/gtk/menus.h" #include "ui/gtk/edit_packet_comment_dlg.h" +#include "globals.h" + /* * The order below defines the priority of info bar contexts. */ diff --git a/ui/gtk/main_toolbar.c b/ui/gtk/main_toolbar.c index 3d107a82dd..bec7e1ec84 100644 --- a/ui/gtk/main_toolbar.c +++ b/ui/gtk/main_toolbar.c @@ -59,6 +59,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + static gboolean toolbar_init = FALSE; #ifdef HAVE_LIBPCAP diff --git a/ui/gtk/main_welcome.c b/ui/gtk/main_welcome.c index 27b0f21434..8ab92a6f4a 100644 --- a/ui/gtk/main_welcome.c +++ b/ui/gtk/main_welcome.c @@ -21,6 +21,7 @@ #include "config.h" +#include #include @@ -79,6 +80,8 @@ #include "airpcap_gui_utils.h" #endif +#include "file.h" + /* XXX */ static GtkWidget *welcome_hb = NULL; static GtkWidget *header_lb = NULL; diff --git a/ui/gtk/manual_addr_resolv.c b/ui/gtk/manual_addr_resolv.c index 085dc0637c..fbb28d3782 100644 --- a/ui/gtk/manual_addr_resolv.c +++ b/ui/gtk/manual_addr_resolv.c @@ -39,6 +39,8 @@ #include "ui/gtk/packet_win.h" #include "simple_dialog.h" +#include "globals.h" + GtkWidget *man_addr_resolv_dlg = NULL; static void diff --git a/ui/gtk/packet_history.c b/ui/gtk/packet_history.c index 3b7dfefc0d..9e5b7a05b7 100644 --- a/ui/gtk/packet_history.c +++ b/ui/gtk/packet_history.c @@ -22,13 +22,12 @@ #include "config.h" - #include - #include "ui/gtk/main.h" #include "ui/gtk/packet_history.h" +#include "globals.h" static GList *history_current = NULL; static GList *history_list = NULL; diff --git a/ui/gtk/packet_list.c b/ui/gtk/packet_list.c index 5504c7db07..566e2e4abf 100644 --- a/ui/gtk/packet_list.c +++ b/ui/gtk/packet_list.c @@ -61,6 +61,8 @@ #include +#include "globals.h" + #define COLUMN_WIDTH_MIN 40 #define MAX_COMMENTS_TO_FETCH 20000000 /* Arbitrary */ diff --git a/ui/gtk/packet_list_store.c b/ui/gtk/packet_list_store.c index 5af1dd4df1..57f2ba1bdc 100644 --- a/ui/gtk/packet_list_store.c +++ b/ui/gtk/packet_list_store.c @@ -1176,7 +1176,9 @@ packet_list_dissect_and_cache_record(PacketList *packet_list, PacketListRecord * * XXX - need to catch an OutOfMemoryError exception and * attempt to recover from it. */ - epan_dissect_run(&edt, cfile.cd_t, &phdr, frame_tvbuff_new_buffer(fdata, &buf), fdata, cinfo); + epan_dissect_run(&edt, cfile.cd_t, &phdr, + frame_tvbuff_new_buffer(&cfile.provider, fdata, &buf), + fdata, cinfo); if (dissect_columns) { /* "Stringify" non frame_data vals */ diff --git a/ui/gtk/packet_panes.c b/ui/gtk/packet_panes.c index ac6e7b582e..37b875a887 100644 --- a/ui/gtk/packet_panes.c +++ b/ui/gtk/packet_panes.c @@ -71,6 +71,7 @@ #include "ui/gtk/old-gtk-compat.h" #endif +#include "globals.h" #define E_BYTE_VIEW_TREE_PTR "byte_view_tree_ptr" #define E_BYTE_VIEW_TREE_VIEW_PTR "byte_view_tree_view_ptr" diff --git a/ui/gtk/packet_win.c b/ui/gtk/packet_win.c index 98d8bab527..6cf084ac2c 100644 --- a/ui/gtk/packet_win.c +++ b/ui/gtk/packet_win.c @@ -68,6 +68,8 @@ #include "frame_tvbuff.h" +#include "globals.h" + #define BV_SIZE 75 #define TV_SIZE 95 @@ -157,7 +159,9 @@ redissect_packet_window(gpointer object, gpointer user_data _U_) proto_tree_draw(NULL, DataPtr->tree_view); epan_dissect_cleanup(&(DataPtr->edt)); epan_dissect_init(&(DataPtr->edt), cfile.epan, TRUE, TRUE); - epan_dissect_run(&(DataPtr->edt), cfile.cd_t, &DataPtr->phdr, frame_tvbuff_new(DataPtr->frame, DataPtr->pd), DataPtr->frame, NULL); + epan_dissect_run(&(DataPtr->edt), cfile.cd_t, &DataPtr->phdr, + frame_tvbuff_new(&cfile.provider, DataPtr->frame, DataPtr->pd), + DataPtr->frame, NULL); add_byte_views(&(DataPtr->edt), DataPtr->tree_view, DataPtr->bv_nb_ptr); proto_tree_draw(DataPtr->edt.tree, DataPtr->tree_view); @@ -226,7 +230,7 @@ void new_packet_window(GtkWidget *w _U_, gboolean reference, gboolean editable _ epan_dissect_init(&(DataPtr->edt), cfile.epan, TRUE, TRUE); epan_dissect_run(&(DataPtr->edt), cfile.cd_t, &DataPtr->phdr, - frame_tvbuff_new(DataPtr->frame, DataPtr->pd), + frame_tvbuff_new(&cfile.provider, DataPtr->frame, DataPtr->pd), DataPtr->frame, &cfile.cinfo); epan_dissect_fill_in_columns(&(DataPtr->edt), FALSE, TRUE); diff --git a/ui/gtk/prefs_dlg.c b/ui/gtk/prefs_dlg.c index d597365837..99098eb230 100644 --- a/ui/gtk/prefs_dlg.c +++ b/ui/gtk/prefs_dlg.c @@ -66,6 +66,8 @@ #endif #endif +#include "globals.h" + static void prefs_main_ok_cb(GtkWidget *, gpointer); static void prefs_main_apply_cb(GtkWidget *, gpointer); static void prefs_main_save_cb(GtkWidget *, gpointer); diff --git a/ui/gtk/prefs_gui.c b/ui/gtk/prefs_gui.c index 072d177fa1..72ae5ec5c2 100644 --- a/ui/gtk/prefs_gui.c +++ b/ui/gtk/prefs_gui.c @@ -43,6 +43,7 @@ #include "ui/gtk/webbrowser.h" #include "ui/gtk/main_welcome.h" +#include "globals.h" static gint fetch_enum_value(gpointer control, const enum_val_t *enumvals); static gboolean fileopen_dir_changed_cb(GtkWidget *myentry, GdkEvent *event _U_, gpointer parent_w _U_); diff --git a/ui/gtk/print_dlg.c b/ui/gtk/print_dlg.c index e8f7b5814a..ed88fea9e5 100644 --- a/ui/gtk/print_dlg.c +++ b/ui/gtk/print_dlg.c @@ -35,6 +35,8 @@ #include "ui/util.h" #include +#include "globals.h" + #include "ui/gtk/gtkglobals.h" #include "ui/gtk/keys.h" #include "ui/gtk/gui_utils.h" diff --git a/ui/gtk/profile_dlg.c b/ui/gtk/profile_dlg.c index 9f51c79812..d6ee0bb2ff 100644 --- a/ui/gtk/profile_dlg.c +++ b/ui/gtk/profile_dlg.c @@ -23,6 +23,8 @@ #include "config.h" +#include + #include #include #if GTK_CHECK_VERSION(3,0,0) diff --git a/ui/gtk/proto_dlg.c b/ui/gtk/proto_dlg.c index 012e128be8..e2a03588fe 100644 --- a/ui/gtk/proto_dlg.c +++ b/ui/gtk/proto_dlg.c @@ -29,10 +29,12 @@ # include #endif +#include #include -#include #include +#include + #include "ui/util.h" #include "ui/gtk/main.h" @@ -42,6 +44,8 @@ #include "ui/gtk/help_dlg.h" #include "simple_dialog.h" +#include "globals.h" + static gboolean set_proto_selection(GtkWidget *); static gboolean revert_proto_selection(void); diff --git a/ui/gtk/response_time_delay_table.c b/ui/gtk/response_time_delay_table.c index e7d8b94ca4..7e4f934299 100644 --- a/ui/gtk/response_time_delay_table.c +++ b/ui/gtk/response_time_delay_table.c @@ -42,6 +42,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + enum { TYPE_COLUMN, diff --git a/ui/gtk/rlc_lte_stat_dlg.c b/ui/gtk/rlc_lte_stat_dlg.c index fde6cf5276..134661d996 100644 --- a/ui/gtk/rlc_lte_stat_dlg.c +++ b/ui/gtk/rlc_lte_stat_dlg.c @@ -54,6 +54,7 @@ #include "ui/recent.h" +#include "globals.h" void register_tap_listener_rlc_lte_stat(void); diff --git a/ui/gtk/rpc_stat.c b/ui/gtk/rpc_stat.c index 175460c590..4f1b456878 100644 --- a/ui/gtk/rpc_stat.c +++ b/ui/gtk/rpc_stat.c @@ -51,6 +51,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + void register_tap_listener_gtkrpcstat(void); /* used to keep track of the statistics for an entire program interface */ diff --git a/ui/gtk/rtp_analysis.c b/ui/gtk/rtp_analysis.c index a3f3435631..3f05f46f4a 100644 --- a/ui/gtk/rtp_analysis.c +++ b/ui/gtk/rtp_analysis.c @@ -62,7 +62,6 @@ #include "ui/simple_dialog.h" #include - #include "ui/gtk/gtkglobals.h" #include "ui/gtk/dlg_utils.h" #include "ui/gtk/file_dlg.h" @@ -85,6 +84,8 @@ #include "frame_tvbuff.h" +#include "globals.h" + void register_tap_listener_rtp_analysis(void); enum @@ -3899,7 +3900,9 @@ rtp_analysis_cb(GtkAction *action _U_, gpointer user_data _U_) epan_dissect_init(&edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); epan_dissect_prime_with_hfid(&edt, hfid_rtp_ssrc); - epan_dissect_run(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + epan_dissect_run(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); /* * Packet must be an RTPv2 packet with an SSRC; we use the filter to diff --git a/ui/gtk/sctp_assoc_analyse.c b/ui/gtk/sctp_assoc_analyse.c index b942cf3b72..4d6d98fed1 100644 --- a/ui/gtk/sctp_assoc_analyse.c +++ b/ui/gtk/sctp_assoc_analyse.c @@ -39,6 +39,8 @@ #include "frame_tvbuff.h" +#include "globals.h" + static sctp_assoc_info_t static_assoc; void @@ -1001,7 +1003,9 @@ sctp_analyse_cb(struct sctp_analyse *u_data, gboolean ext) epan_dissect_init(&edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); - epan_dissect_run(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + epan_dissect_run(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); /* if it is not an sctp packet, show the dialog */ if (!dfilter_apply_edt(sfcode, &edt)) { diff --git a/ui/gtk/sctp_byte_graph_dlg.c b/ui/gtk/sctp_byte_graph_dlg.c index 2cef094fe5..8970e011c8 100644 --- a/ui/gtk/sctp_byte_graph_dlg.c +++ b/ui/gtk/sctp_byte_graph_dlg.c @@ -40,6 +40,8 @@ #include "ui/gtk/stock_icons.h" #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + #define DEFAULT_PIXELS_PER_TICK 2 #define MAX_PIXELS_PER_TICK 4 #define AUTO_MAX_YSCALE 0 diff --git a/ui/gtk/sctp_chunk_stat.c b/ui/gtk/sctp_chunk_stat.c index edb5de543d..54b2b1af5d 100644 --- a/ui/gtk/sctp_chunk_stat.c +++ b/ui/gtk/sctp_chunk_stat.c @@ -27,7 +27,6 @@ #include - #include #include #include @@ -41,6 +40,8 @@ #include "ui/gtk/main.h" #include "ui/gtk/sctp_stat_gtk.h" +#include "globals.h" + void register_tap_listener_sctpstat(void); static void sctpstat_init(const char *opt_arg, void *userdata); diff --git a/ui/gtk/sctp_chunk_stat_dlg.c b/ui/gtk/sctp_chunk_stat_dlg.c index 7ff8fb32e4..8acf310d03 100644 --- a/ui/gtk/sctp_chunk_stat_dlg.c +++ b/ui/gtk/sctp_chunk_stat_dlg.c @@ -28,12 +28,13 @@ #include "epan/to_str.h" - #include "ui/gtk/gui_utils.h" #include "ui/gtk/main.h" #include "ui/gtk/sctp_stat_gtk.h" #include "ui/gtk/stock_icons.h" +#include "globals.h" + static GtkWidget *clist = NULL; static GList *last_list = NULL; static sctp_assoc_info_t *selected_stream = NULL; /* current selection */ diff --git a/ui/gtk/sctp_error_dlg.c b/ui/gtk/sctp_error_dlg.c index e9c72137f9..1e2df622f4 100644 --- a/ui/gtk/sctp_error_dlg.c +++ b/ui/gtk/sctp_error_dlg.c @@ -32,6 +32,8 @@ #include "ui/gtk/sctp_stat_gtk.h" #include "ui/gtk/stock_icons.h" +#include "globals.h" + static GtkWidget *sctp_error_dlg=NULL; static GtkWidget *clist = NULL; static GList *last_list = NULL; diff --git a/ui/gtk/sctp_graph_dlg.c b/ui/gtk/sctp_graph_dlg.c index 21809e7c0d..9fde663b14 100644 --- a/ui/gtk/sctp_graph_dlg.c +++ b/ui/gtk/sctp_graph_dlg.c @@ -39,6 +39,8 @@ #include "ui/gtk/stock_icons.h" #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + #define DEFAULT_PIXELS_PER_TICK 2 #define MAX_PIXELS_PER_TICK 4 #define AUTO_MAX_YSCALE 0 diff --git a/ui/gtk/sctp_stat_dlg.c b/ui/gtk/sctp_stat_dlg.c index de1362ac97..04ade4faa1 100644 --- a/ui/gtk/sctp_stat_dlg.c +++ b/ui/gtk/sctp_stat_dlg.c @@ -38,6 +38,8 @@ #include "ui/gtk/old-gtk-compat.h" #include "ui/gtk/stock_icons.h" +#include "globals.h" + static GtkWidget *sctp_stat_dlg = NULL; static GtkWidget *clist = NULL; static GList *last_list = NULL; diff --git a/ui/gtk/service_response_time_table.c b/ui/gtk/service_response_time_table.c index 590c01a2c7..1a3884e3cd 100644 --- a/ui/gtk/service_response_time_table.c +++ b/ui/gtk/service_response_time_table.c @@ -45,6 +45,8 @@ #include "epan/conversation.h" #include "epan/dissectors/packet-scsi.h" +#include "globals.h" + #define NANOSECS_PER_SEC 1000000000 enum diff --git a/ui/gtk/simple_stattable.c b/ui/gtk/simple_stattable.c index 7ba64658f0..3ab99ca084 100644 --- a/ui/gtk/simple_stattable.c +++ b/ui/gtk/simple_stattable.c @@ -42,6 +42,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + typedef struct _gtk_simplestat_t { GtkWidget *vbox; GtkWidget *win; diff --git a/ui/gtk/stats_tree_stat.c b/ui/gtk/stats_tree_stat.c index b2420fd96b..9be6bbdd07 100644 --- a/ui/gtk/stats_tree_stat.c +++ b/ui/gtk/stats_tree_stat.c @@ -62,6 +62,8 @@ #include "ui/win32/file_dlg_win32.h" #endif +#include "globals.h" + void register_tap_listener_stats_tree_stat(void); struct _st_node_pres { diff --git a/ui/gtk/summary_dlg.c b/ui/gtk/summary_dlg.c index 990b9df8e5..2a7bfe7f99 100644 --- a/ui/gtk/summary_dlg.c +++ b/ui/gtk/summary_dlg.c @@ -26,8 +26,6 @@ #include - - #include #include "../../file.h" @@ -45,6 +43,8 @@ #include "ui/gtk/help_dlg.h" #include "ui/gtk/packet_list.h" +#include "globals.h" + #define SUM_STR_MAX 1024 #define FILTER_SNIP_LEN 50 #define SHB_STR_SNIP_LEN 50 diff --git a/ui/gtk/supported_protos_dlg.c b/ui/gtk/supported_protos_dlg.c index d1eda40d52..e34aad9027 100644 --- a/ui/gtk/supported_protos_dlg.c +++ b/ui/gtk/supported_protos_dlg.c @@ -27,17 +27,14 @@ #include +#include #include -#include "../../globals.h" - #include "ui/gtk/supported_protos_dlg.h" #include "ui/gtk/gui_utils.h" #include "ui/gtk/dlg_utils.h" #include "ui/gtk/font_utils.h" - - static const char *proto_supported = "The following %d protocols (and packet types) are currently\n" "supported by Wireshark:\n\n"; diff --git a/ui/gtk/uat_gui.c b/ui/gtk/uat_gui.c index d18e840d62..0b67d38d26 100644 --- a/ui/gtk/uat_gui.c +++ b/ui/gtk/uat_gui.c @@ -68,6 +68,8 @@ #include "ui/gtk/old-gtk-compat.h" #include "ui/gtk/packet_win.h" +#include "globals.h" + # define BUTTON_SIZE_X -1 # define BUTTON_SIZE_Y -1 diff --git a/ui/gtk/wlan_stat_dlg.c b/ui/gtk/wlan_stat_dlg.c index e95254c2de..56e5d56306 100644 --- a/ui/gtk/wlan_stat_dlg.c +++ b/ui/gtk/wlan_stat_dlg.c @@ -50,6 +50,8 @@ #include "ui/gtk/old-gtk-compat.h" +#include "globals.h" + void register_tap_listener_wlanstat(void); enum { diff --git a/ui/proto_hier_stats.c b/ui/proto_hier_stats.c index e58c6f1ba5..66a550b491 100644 --- a/ui/proto_hier_stats.c +++ b/ui/proto_hier_stats.c @@ -165,7 +165,9 @@ process_record(capture_file *cf, frame_data *frame, column_info *cinfo, ph_stats epan_dissect_init(&edt, cf->epan, TRUE, FALSE); /* Don't fake protocols. We need them for the protocol hierarchy */ epan_dissect_fake_protocols(&edt, FALSE); - epan_dissect_run(&edt, cf->cd_t, &phdr, frame_tvbuff_new_buffer(frame, &buf), frame, cinfo); + epan_dissect_run(&edt, cf->cd_t, &phdr, + frame_tvbuff_new_buffer(&cf->provider, frame, &buf), + frame, cinfo); /* Get stats from this protocol tree */ process_tree(edt.tree, ps); diff --git a/ui/qt/address_editor_frame.cpp b/ui/qt/address_editor_frame.cpp index a56464b76e..45f4ad0ec2 100644 --- a/ui/qt/address_editor_frame.cpp +++ b/ui/qt/address_editor_frame.cpp @@ -83,7 +83,8 @@ void AddressEditorFrame::editAddresses(CaptureFile &cf, int column) col_custom_prime_edt(&edt, &cap_file_->cinfo); epan_dissect_run(&edt, cap_file_->cd_t, &cap_file_->phdr, - frame_tvbuff_new_buffer(cap_file_->current_frame, &cap_file_->buf), cap_file_->current_frame, &cap_file_->cinfo); + frame_tvbuff_new_buffer(&cap_file_->provider, cap_file_->current_frame, &cap_file_->buf), + cap_file_->current_frame, &cap_file_->cinfo); epan_dissect_fill_in_columns(&edt, TRUE, TRUE); /* First check selected column */ diff --git a/ui/qt/export_pdu_dialog.cpp b/ui/qt/export_pdu_dialog.cpp index 7316c680a7..98edce311f 100644 --- a/ui/qt/export_pdu_dialog.cpp +++ b/ui/qt/export_pdu_dialog.cpp @@ -25,7 +25,6 @@ #include "export_pdu_dialog.h" #include -#include "globals.h" #include #include diff --git a/ui/qt/gsm_map_summary_dialog.cpp b/ui/qt/gsm_map_summary_dialog.cpp index e32ee545f4..a7a00d62a1 100644 --- a/ui/qt/gsm_map_summary_dialog.cpp +++ b/ui/qt/gsm_map_summary_dialog.cpp @@ -30,7 +30,6 @@ #include -#include "globals.h" #include "summary.h" #include diff --git a/ui/qt/iax2_analysis_dialog.cpp b/ui/qt/iax2_analysis_dialog.cpp index 92707f8cd3..2958ad95ab 100644 --- a/ui/qt/iax2_analysis_dialog.cpp +++ b/ui/qt/iax2_analysis_dialog.cpp @@ -335,7 +335,8 @@ Iax2AnalysisDialog::Iax2AnalysisDialog(QWidget &parent, CaptureFile &cf) : epan_dissect_init(&edt, cap_file_.capFile()->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); epan_dissect_run(&edt, cap_file_.capFile()->cd_t, &cap_file_.capFile()->phdr, - frame_tvbuff_new_buffer(fdata, &cap_file_.capFile()->buf), fdata, NULL); + frame_tvbuff_new_buffer(&cap_file_.capFile()->provider, fdata, &cap_file_.capFile()->buf), + fdata, NULL); // This shouldn't happen (the menu item should be disabled) but check anyway if (!dfilter_apply_edt(sfcode, &edt)) { diff --git a/ui/qt/lte_rlc_graph_dialog.cpp b/ui/qt/lte_rlc_graph_dialog.cpp index 71478dddfb..922a9bcb37 100644 --- a/ui/qt/lte_rlc_graph_dialog.cpp +++ b/ui/qt/lte_rlc_graph_dialog.cpp @@ -40,8 +40,6 @@ #include "wireshark_application.h" #include "simple_dialog.h" -#include "globals.h" - #include #include diff --git a/ui/qt/models/packet_list_record.cpp b/ui/qt/models/packet_list_record.cpp index 8e1551071b..176e6d5998 100644 --- a/ui/qt/models/packet_list_record.cpp +++ b/ui/qt/models/packet_list_record.cpp @@ -185,7 +185,9 @@ void PacketListRecord::dissect(capture_file *cap_file, bool dissect_color) * XXX - need to catch an OutOfMemoryError exception and * attempt to recover from it. */ - epan_dissect_run(&edt, cap_file->cd_t, &phdr, frame_tvbuff_new_buffer(fdata_, &buf), fdata_, cinfo); + epan_dissect_run(&edt, cap_file->cd_t, &phdr, + frame_tvbuff_new_buffer(&cap_file->provider, fdata_, &buf), + fdata_, cinfo); if (dissect_columns) { /* "Stringify" non frame_data vals */ diff --git a/ui/qt/mtp3_summary_dialog.cpp b/ui/qt/mtp3_summary_dialog.cpp index b97294f78e..9b30cbd533 100644 --- a/ui/qt/mtp3_summary_dialog.cpp +++ b/ui/qt/mtp3_summary_dialog.cpp @@ -30,7 +30,6 @@ #include -#include "globals.h" #include "summary.h" #include diff --git a/ui/qt/packet_dialog.cpp b/ui/qt/packet_dialog.cpp index ea17a20cd4..bf3e481b58 100644 --- a/ui/qt/packet_dialog.cpp +++ b/ui/qt/packet_dialog.cpp @@ -63,7 +63,7 @@ PacketDialog::PacketDialog(QWidget &parent, CaptureFile &cf, frame_data *fdata) col_custom_prime_edt(&edt_, &(cap_file_.capFile()->cinfo)); epan_dissect_run(&edt_, cap_file_.capFile()->cd_t, &phdr_, - frame_tvbuff_new(fdata, packet_data_), + frame_tvbuff_new(&cap_file_.capFile()->provider, fdata, packet_data_), fdata, &(cap_file_.capFile()->cinfo)); epan_dissect_fill_in_columns(&edt_, TRUE, TRUE); diff --git a/ui/qt/packet_list.cpp b/ui/qt/packet_list.cpp index 7163a10a20..a7966b7f33 100644 --- a/ui/qt/packet_list.cpp +++ b/ui/qt/packet_list.cpp @@ -1024,7 +1024,9 @@ QString PacketList::getFilterFromRowAndColumn() epan_dissect_init(&edt, cap_file_->epan, have_custom_cols(&cap_file_->cinfo), FALSE); col_custom_prime_edt(&edt, &cap_file_->cinfo); - epan_dissect_run(&edt, cap_file_->cd_t, &cap_file_->phdr, frame_tvbuff_new_buffer(fdata, &cap_file_->buf), fdata, &cap_file_->cinfo); + epan_dissect_run(&edt, cap_file_->cd_t, &cap_file_->phdr, + frame_tvbuff_new_buffer(&cap_file_->provider, fdata, &cap_file_->buf), + fdata, &cap_file_->cinfo); epan_dissect_fill_in_columns(&edt, TRUE, TRUE); if ((cap_file_->cinfo.columns[ctx_column_].col_custom_occurrence) || diff --git a/ui/qt/rtp_analysis_dialog.cpp b/ui/qt/rtp_analysis_dialog.cpp index 145fad1f75..bdc8c44179 100644 --- a/ui/qt/rtp_analysis_dialog.cpp +++ b/ui/qt/rtp_analysis_dialog.cpp @@ -1607,7 +1607,8 @@ void RtpAnalysisDialog::findStreams() epan_dissect_prime_with_dfilter(&edt, sfcode); epan_dissect_prime_with_hfid(&edt, hfid_rtp_ssrc); epan_dissect_run(&edt, cap_file_.capFile()->cd_t, &cap_file_.capFile()->phdr, - frame_tvbuff_new_buffer(fdata, &cap_file_.capFile()->buf), fdata, NULL); + frame_tvbuff_new_buffer(&cap_file_.capFile()->provider, fdata, &cap_file_.capFile()->buf), + fdata, NULL); /* * Packet must be an RTPv2 packet with an SSRC; we use the filter to diff --git a/ui/qt/utils/frame_information.cpp b/ui/qt/utils/frame_information.cpp index c81b6736c2..5f2aa8277e 100644 --- a/ui/qt/utils/frame_information.cpp +++ b/ui/qt/utils/frame_information.cpp @@ -61,7 +61,7 @@ void FrameInformation::loadFrameTree() col_custom_prime_edt(&edt_, &(cap_file_->capFile()->cinfo)); epan_dissect_run(&edt_, cap_file_->capFile()->cd_t, &phdr_, - frame_tvbuff_new(fi_, packet_data_), + frame_tvbuff_new(&cap_file_->capFile()->provider, fi_, packet_data_), fi_, &(cap_file_->capFile()->cinfo)); epan_dissect_fill_in_columns(&edt_, TRUE, TRUE); } diff --git a/ui/tap-rlc-graph.c b/ui/tap-rlc-graph.c index 5ff9676e9d..817b4c08e9 100644 --- a/ui/tap-rlc-graph.c +++ b/ui/tap-rlc-graph.c @@ -146,7 +146,9 @@ rlc_lte_tap_info *select_rlc_lte_session(capture_file *cf, epan_dissect_init(&edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); - epan_dissect_run_with_taps(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + epan_dissect_run_with_taps(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); rel_ts = edt.pi.rel_ts; epan_dissect_cleanup(&edt); remove_tap_listener(&th); diff --git a/ui/tap-rtp-common.c b/ui/tap-rtp-common.c index 28fea44e24..2fd78d70b9 100644 --- a/ui/tap-rtp-common.c +++ b/ui/tap-rtp-common.c @@ -20,7 +20,6 @@ #include #include -#include "globals.h" #include #include diff --git a/ui/tap-tcp-stream.c b/ui/tap-tcp-stream.c index 69b7a87ee7..3f17c43896 100644 --- a/ui/tap-tcp-stream.c +++ b/ui/tap-tcp-stream.c @@ -319,7 +319,9 @@ select_tcpip_session(capture_file *cf, struct segment *hdrs) epan_dissect_init(&edt, cf->epan, TRUE, FALSE); epan_dissect_prime_with_dfilter(&edt, sfcode); - epan_dissect_run_with_taps(&edt, cf->cd_t, &cf->phdr, frame_tvbuff_new_buffer(fdata, &cf->buf), fdata, NULL); + epan_dissect_run_with_taps(&edt, cf->cd_t, &cf->phdr, + frame_tvbuff_new_buffer(&cf->provider, fdata, &cf->buf), + fdata, NULL); rel_ts = edt.pi.rel_ts; epan_dissect_cleanup(&edt); remove_tap_listener(&th); diff --git a/ui/tap_export_pdu.c b/ui/tap_export_pdu.c index d5e9b23a49..e538545140 100644 --- a/ui/tap_export_pdu.c +++ b/ui/tap_export_pdu.c @@ -22,8 +22,6 @@ #include "config.h" - -#include "globals.h" #include "wiretap/pcap-encap.h" #include "wsutil/os_version_info.h" #include "version_info.h" diff --git a/ui/win32/file_dlg_win32.c b/ui/win32/file_dlg_win32.c index 5ac3afecb9..ebfc575900 100644 --- a/ui/win32/file_dlg_win32.c +++ b/ui/win32/file_dlg_win32.c @@ -19,7 +19,7 @@ #include #include -#include "file.h" +#include "globals.h" #include "wsutil/file_util.h" #include "wsutil/str_util.h"