Commit graph

49 commits

Author SHA1 Message Date
Bill Meier
bfde04b845 ui/gtk/*.c: Add editor modelines; As needed: Fix indentation
Change-Id: I8cd9d9fe5f12c284f46b8f725766f681faccd753
Reviewed-on: https://code.wireshark.org/review/7138
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-02-15 19:02:30 +00:00
Michael Mann
531df02736 Remove se_ alloced memory from packet_list_store
Change-Id: I7aa2f5f8b433468ad2c2cd73cfce986d128a9ae0
Reviewed-on: https://code.wireshark.org/review/6565
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-16 16:03:58 +00:00
Martin Mathieson
43f09e67b4 Remove unneeded includes from ui folder
Change-Id: Ifd1eebff9080cd3867e44e4dcb2d2681370ed60a
Reviewed-on: https://code.wireshark.org/review/6128
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2015-01-01 23:11:10 +00:00
Guy Harris
846bb53948 Add a Buffer to wtap_pkthdr to hold file-type-specific packet metadata.
For example, this can be used for pcap-ng options not mapped to
file-type-independent metadata values.

Change-Id: I398b324c62c1cc1cc61eb5e9631de00481b4aadc
Reviewed-on: https://code.wireshark.org/review/5549
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-01 00:31:03 +00:00
Guy Harris
0734ac385f Rename buffer_ routines to ws_buffer_ to avoid name collisions.
In particular, epan/wslua/lrexlib.c has its own buffer_ routines,
causing some linker warnings on some platforms, as reported in bug
10332.

(Not to be backported to 1.12, as that would change the API and ABI of
libwsutil and libwiretap.  We should also make the buffer_ routines in
epan/wslua/lrexlib.c static, which should also address this problem, but
the name change avoids other potential namespace collisions.)

Change-Id: I1d42c7d1778c7e4c019deb2608d476c52001ce28
Reviewed-on: https://code.wireshark.org/review/3351
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-02 11:01:29 +00:00
Guy Harris
318cf8a678 Add support for dissecting non-packet records.
Add a dissector table indexed by the file type, and, for the
file-type-specific records, have the frame dissector skip the usual
pseudo-header processing, as the pseudo-header has a file-type-specific
record subtype in it, and call the dissector for that file type's
records.

Change-Id: Ibe97cf6340ffb0dabc08f355891bc346391b91f9
Reviewed-on: https://code.wireshark.org/review/1782
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-25 00:05:07 +00:00
Guy Harris
6db77b000f Allow wtap_read() and wtap_seek_read() to return records other than packets.
Add a "record type" field to "struct wtap_pkthdr"; currently, it can be
REC_TYPE_PACKET, for a record containing a packet, or
REC_TYPE_FILE_TYPE_SPECIFIC, for records containing file-type-specific
data.

Modify code that reads packets to be able to handle non-packet records,
even if that just means ignoring them.

Rename some routines to indicate that they handle more than just
packets.

We don't yet have any libwiretap code that supplies records other than
REC_TYPE_PACKET or that supporting writing records other than
REC_TYPE_PACKET, or any code to support plugins for handling
REC_TYPE_FILE_TYPE_SPECIFIC records; this is just the first step for bug
8590.

Change-Id: Idb40b78f17c2c3aea72031bcd252abf9bc11c813
Reviewed-on: https://code.wireshark.org/review/1773
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-24 18:31:25 +00:00
Guy Harris
a344c9736e Revert "Allow wtap_read() and wtap_seek_read() to return non-packet records."
This reverts commit c0c480d08c.

A better way to do this is to have the record type be part of struct wtap_pkthdr; that keeps the metadata for the record together and requires fewer API changes.  That is in-progress.

Change-Id: Ic558f163a48e2c6d0df7f55e81a35a5e24b53bc6
Reviewed-on: https://code.wireshark.org/review/1741
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-23 10:50:10 +00:00
Guy Harris
c0c480d08c Allow wtap_read() and wtap_seek_read() to return non-packet records.
This is the first step towards implementing the mechanisms requestd in
bug 8590; currently, we don't return any records other than packet
records from libwiretap, and just ignore non-packet records in the rest
of Wireshark, but this at least gets the ball rolling.

Change-Id: I34a45b54dd361f69fdad1a758d8ca4f42d67d574
Reviewed-on: https://code.wireshark.org/review/1736
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-23 03:02:32 +00:00
Alexis La Goutte
45143c6eac Fix Argument with 'nonnull' attribute passed null found by Clang
Change-Id: I9b8a6c37e4ed589ac3066ec9cbb1b63a9f30a12b
Reviewed-on: https://code.wireshark.org/review/1097
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-04-14 20:34:18 +00:00
Hadriel Kaplan
ca9c160933 Fix bug9931 'Encapsulated ethernet packets sometimes show invalid FCS'
This fixes part-1 of bug9931: the uninitialized use of a wtap_pkthdr
struct. The second part of the bug deals with dissectors calling
the Ethernet dissector for ecnapsulated Ethernet packets but using
the wrong dissector handle to do so. That's unrelated to the issue this
commit addresses, so I'm splitting them up.

Change-Id: I87be7b736f82dd74d8c261062f88143372b5344c
Reviewed-on: https://code.wireshark.org/review/848
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-27 21:39:57 +00:00
Alexis La Goutte
296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Jakub Zawadzki
ae59b09443 Add missing includes in order to remove exceptions.h from proto.h (next commit).
svn path=/trunk/; revision=53230
2013-11-10 15:59:37 +00:00
Jörg Mayer
662c7704f8 After looking for something in the column-*.h files and
not finding it, I finally found it in column_info.h
Renamed column_info.h to column-info.h to have consistency
with the column*h files.

svn path=/trunk/; revision=52667
2013-10-18 13:06:05 +00:00
Jakub Zawadzki
5d52e16734 Add helper function to epan_session which can be used to get absolute timestamp of given frame.
Remove ->prev_cap, for testing purpose also replace ->prev_dis with number of previously displayed frame number.

This patch reduce size of frame_data by 8B (amd64)
This is what (I think) was suggested by Guy in comment 13 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5821#c13)

svn path=/trunk/; revision=50765
2013-07-21 20:48:30 +00:00
Jakub Zawadzki
28e9dcc4a9 Some work on multi file dissection
- make init_dissection/cleanup_dissection private for libwireshark
- implement epan_new(), epan_free()
- pass epan_t to epan_dissect*

svn path=/trunk/; revision=50761
2013-07-21 18:38:03 +00:00
Jakub Zawadzki
ce81449ed9 packet dissection now takes pointer to tvb instead of guint8 data
implement frame_tvbuff, right now almost a copy of 'real' tvb.

svn path=/trunk/; revision=50497
2013-07-11 05:47:02 +00:00
Jeff Morriss
16fc2c5998 Remove a no-longer-used variable.
svn path=/trunk/; revision=50194
2013-06-27 18:44:11 +00:00
Jakub Zawadzki
1895c1c5a0 cleanup, use packet_list_iter_nth_child() in another place.
svn path=/trunk/; revision=50189
2013-06-27 17:12:23 +00:00
Jeff Morriss
a441793cba Move a couple of time-related modules into wsutil.
A bunch of files didn't really need to include these header files so remove
the include line rather than changing it.

svn path=/trunk/; revision=50154
2013-06-25 22:02:20 +00:00
Jakub Zawadzki
f0c9b34b55 Allocate memory for col_text[_len] when really needed
remove columnized bit, now the same can be done with col_text.

svn path=/trunk/; revision=50144
2013-06-25 18:27:31 +00:00
Jakub Zawadzki
f56d9b49b3 packet_list_iter_children() simplify, just call packet_list_iter_nth_child(..., 0)
svn path=/trunk/; revision=50143
2013-06-25 18:07:33 +00:00
Guy Harris
8c9edf1280 Have the seek-read routines take a Buffer rather than a guint8 pointer
as the "where to put the packet data" argument.

This lets more of the libwiretap code be common between the read and
seek-read code paths, and also allows for more flexibility in the "fill
in the data" path - we can expand the buffer as needed in both cases.

svn path=/trunk/; revision=49949
2013-06-16 00:20:00 +00:00
Bill Meier
8112ecc321 From beroset:
remove C++ incompatibilities
 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416 attachment #10404

Note: The following parts of the patch had been previously done:
 asn1/snmp/packet-snmp-template.c
 epan/dissectors/packet-snmp.c
 epan/dissectors/packet-x11.c

Also; hostlist_table.c: code under '#ifdef HAVE_GEOIP'
 didn't compile and needed a few additional patches.


svn path=/trunk/; revision=48447
2013-03-21 02:29:09 +00:00
Guy Harris
8ed7a73e22 Fix a bunch of warnings.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.

Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().

Change some data types to avoid those implicit conversion warnings.

When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.

Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers.  Cast
away those warnings in some cases where an API we don't control forces
us to do so.

Enable a bunch of additional warnings by default.  Note why at least
some of the other warnings aren't enabled.

randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.

If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.

svn path=/trunk/; revision=46748
2012-12-26 05:57:06 +00:00
Jakub Zawadzki
78631020b8 Add wtap_pseudo_header union to wtap_pkthdr structure.
Use pkthdr instead of pseudo_header as argument for dissecting.

svn path=/trunk/; revision=45601
2012-10-16 21:50:57 +00:00
Jakub Zawadzki
29235b9d10 Glib type checking might be cheap, but there's no need to do it twice.
(Actually many GtkTreeModel don't check types at all).

svn path=/trunk/; revision=45073
2012-09-23 18:20:42 +00:00
Jakub Zawadzki
2fc1cdeb74 Speedup loading capture files by about 20%-30% (wireshark only)
Right now packetlist model is used only by one treeview,
so we can check if packetlist->view has connected model if no, 
don't emit row-inserted signal.

svn path=/trunk/; revision=45063
2012-09-23 10:57:05 +00:00
Jeff Morriss
3729335973 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45016
2012-09-20 01:48:30 +00:00
Jörg Mayer
12a0aa4849 - Replace packet_list_recreate_visible_rows -> packet_list_recreate_visible_rows_list
- Replace new_packet_list_ -> packet_list_


svn path=/trunk/; revision=44765
2012-09-04 02:35:25 +00:00
Jakub Zawadzki
d151a822e3 When inserting row there's no need to call packet_list_get_iter.
Also, don't set iter.user_data[23] in packet_list_get_iter().
We don't use them in packet_list_store.

svn path=/trunk/; revision=44752
2012-09-03 15:21:38 +00:00
Jakub Zawadzki
d3537a8905 Use frame_data_compare() to compare frame numbers.
svn path=/trunk/; revision=44493
2012-08-14 16:57:32 +00:00
Jakub Zawadzki
b90fabe60d Make columnized and colorized bit field.
svn path=/trunk/; revision=44034
2012-07-26 09:36:15 +00:00
Jakub Zawadzki
d9b0f40749 Add checks if stamp values matches. Remove packet_list_visible_record
svn path=/trunk/; revision=44033
2012-07-26 09:20:05 +00:00
Jakub Zawadzki
937ea48213 physical_pos is now used only for checks, ifdef it in PACKET_PARANOID_CHECKS to save some memory
svn path=/trunk/; revision=44032
2012-07-26 09:19:52 +00:00
Jakub Zawadzki
c5bc6afb0c Exploit short-circuit evaluation, so first check variable, later call function
svn path=/trunk/; revision=44031
2012-07-26 09:19:37 +00:00
Jakub Zawadzki
83821d08b3 Move checks outside loop
svn path=/trunk/; revision=44030
2012-07-26 09:19:22 +00:00
Jakub Zawadzki
5d14f7e7f2 Pass record to packet_list_change_record() not physical_pos
svn path=/trunk/; revision=44029
2012-07-26 09:19:03 +00:00
Jakub Zawadzki
6349999757 Allocate col_text & col_text_len only for columns not based on frame_data
svn path=/trunk/; revision=44006
2012-07-25 18:01:42 +00:00
Jakub Zawadzki
59de6c3a8f Remove packet_list->column_types
svn path=/trunk/; revision=44005
2012-07-25 18:00:38 +00:00
Jakub Zawadzki
fce74c732b Make PacketListRecord structure private.
svn path=/trunk/; revision=44004
2012-07-25 17:59:56 +00:00
Jakub Zawadzki
7d900f7450 Fix bug #7347: "Resize All Columns" fails in Time Column
If column is based on frame data packet_list_get_widest_column_string() 
was constructing his own frame_data with biggest *value* for given column
(which might be not the longest string) and later fill column for it.

Which generally should work (time precision is fixed),
but in r41185 to lot col_*() function was added check if fd->flags.has_ts is set.
packet_list_get_widest_column_string() was passing frame_data with flags.has_ts unset.

To make maintaince easier, instead of fixing the problem with flags.has_ts,
generate column buffer for each frame, and find the one which has longest string.


svn path=/trunk/; revision=43991
2012-07-25 12:52:47 +00:00
Guy Harris
c5ccddaa25 Need old-gtk-compat.h for gtk_widget_get_window() in older versions of
GTK+.

svn path=/trunk/; revision=43838
2012-07-19 23:08:18 +00:00
Gerald Combs
0da59a0058 Pass {delayed_}create_progress_dlg a pointer the top level window
so that we can properly associate a widget with create, update, and
destroy events. Only used by Qt so far but it should be easy enough to
add to GTK+.

Rename ui/qt/progress_dialog.{h,cpp} to progress_bar.{h,cpp}. Show a
progress bar in the status bar of the main window instead of creating
a separate dialog. Note that we still need to add a "cancel" mechanism
and display the task and item titles somewhere.

Thus began the War Against Gratuitous Dialogs.

svn path=/trunk/; revision=43833
2012-07-19 21:49:52 +00:00
Jakub Zawadzki
39f1f0bcb7 Fix r43338 once again :(
svn path=/trunk/; revision=43342
2012-06-18 21:33:08 +00:00
Jakub Zawadzki
fc881f6f37 Fix r43338
svn path=/trunk/; revision=43339
2012-06-18 20:15:42 +00:00
Jakub Zawadzki
6d06c68247 Change record->col_text_len type to unsigned short.
Maximal length of column is defined as 256, for COL_INFO it's 4096, 
so limiting it to 65535 bytes in GUI is OK.

XXX To save memory more, we could make col_text_len[] member of PacketList, not PacketListRecord.

svn path=/trunk/; revision=43338
2012-06-18 19:35:34 +00:00
Guy Harris
d7b2aad043 Move some headers for UI stuff, and the alert_box.c UI-specific file, to
the ui directory.  (Perhaps some other files that would be used by all
flavors of Wireshark, for any GUI toolkit or for someting such as
ncurses, and not for any command-line tool such as TShark, should be
moved there as well.)

Shuffle some #includes to put the "ui/XXX.h" includes together.

svn path=/trunk/; revision=40529
2012-01-16 01:07:52 +00:00
Jörg Mayer
be706c6380 Move gtk to ui/gtk.
This looses the last checkin to gtk, will add this manually back.

svn path=/trunk/; revision=40518
2012-01-15 21:59:11 +00:00
Renamed from gtk/packet_list_store.c (Browse further)