Commit Graph

150 Commits

Author SHA1 Message Date
Guy Harris 2d41b15495 Add a "failed" return for tap packet routines.
This allows taps that can fail to report an error and fail; a failed
tap's packet routine won't be called again, so they don't have to keep
track of whether they've failed themselves.

We make the return value from the packet routine an enum.

Don't have a separate type for the per-packet routine for "follow" taps;
they're expected to act like tap packet routines, so just use the type
for tap packet routines.

One tap packet routine returned -1; that's not a valid return value, and
wasn't one before this change (the return value was a boolean), so
presume the intent was "don't redraw".

Another tap routine's early return, without doing any work, returned
TRUE; this is presumably an error (no work done, no need to redraw), so
presumably it should be "don't redraw".

Clean up some white space while we're at it.

Change-Id: Ia7d2b717b2cace4b13c2b886e699aa4d79cc82c8
Reviewed-on: https://code.wireshark.org/review/31283
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-01-01 05:03:42 +00:00
Michael Mann c10c7737cc Allow floating point values for stats_tree
Bug: 4234
Change-Id: Ibd59809b2dd9890a7851eb57ef7af384e280a74b
Reviewed-on: https://code.wireshark.org/review/31222
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-12-28 14:50:45 +00:00
Guy Harris 7eb3e47fa4 Try to squeeze some bytes out of the frame_data structure.
Make the time stamp precision a 4-bit bitfield, so, when combined with
the other bitfields, we have 32 bits.  That means we put the flags at
the same structure level as the time stamp precision, so they can be
combined; that gets rid of an extra "flags." for references to the flags.

Put the two pointers next to each other, and after a multiple of 8 bytes
worth of other fields, so that there's no padding before or between them.

It's still not down to 64 bytes, which is the next lower power of 2, so
there's more work to do.

Change-Id: I6f3e9d9f6f48137bbee8f100c152d2c42adb8fbe
Reviewed-on: https://code.wireshark.org/review/31213
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-12-27 04:34:29 +00:00
Peter Wu 049d746495 sharkd: update documentation for some requests to match reality
Align comments and add two fixup notes while at it.

Change-Id: I977c1a6e55712414f7af042cb215bac49926a019
Reviewed-on: https://code.wireshark.org/review/30742
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-21 04:35:41 +00:00
Peter Wu fb9c6905ef wsutil: rename some wsjson functions
Rename wsjson_unescape_json_string to json_decode_string_inplace
(inspired by the g_base64_decode_inplace name). Rename
wsjson_is_valid_json to json_validate (inspired by g_unichar_validate).

Ideally json_parse is inlined with its user (sharkd_session.c), but that
requires exporting the jsmn_init and jsmn_parse functions... Hence the
dependency on jsmn.h remains in wsjson.h.

Change-Id: I7ecfe3565f15516e9115cbd7e025362df2da5416
Reviewed-on: https://code.wireshark.org/review/30731
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-20 05:03:26 +00:00
Jakub Zawadzki 74d64ed27d sharkd: prefer sharkd_json_value_string() over sharkd_json_value_stringf().
Don't use sharkd_json_value_stringf() if there is no need for it.

Change-Id: Ie375be1d91fc3bd20fae68df282ec14310055eba
Reviewed-on: https://code.wireshark.org/review/30075
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-10-08 15:58:15 +00:00
Dario Lombardo ce03200f56 sharkd: remove compiler warning.
../sharkd_session.c: In function ‘json_puts_string’:
../sharkd_session.c:125:20: warning: array subscript has type ‘char’ [-Wchar-subscripts]
    fputs(json_cntrl[str[i]], stdout);

Change-Id: I03a07b8cb42692f636491fad9b15ac71ac0c03f4
Reviewed-on: https://code.wireshark.org/review/29883
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-28 04:34:42 +00:00
Jakub Zawadzki f3e5618eb0 sharkd: cast string to be encoded to unsigned char *.
It should fix warning reported by Stig:
[...]/wireshark/sharkd_session.c:125:20: warning: array subscript is of type 'char' [-Wchar-subscripts]
                        fputs(json_cntrl[str[i]], stdout);
                                        ^~~~~~~

Change-Id: I9352174223644394ba2bf76f10ff3bf6b6abcad5
Reviewed-on: https://code.wireshark.org/review/29877
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-28 04:34:22 +00:00
Jakub Zawadzki 39791a55a8 sharkd: fix JSON generation
Fix JSON generation:
- add lookup table to encode all required control characters (0x00 - 0x1F),
- don't output comma just after opening object in iograph.

Change-Id: Ib53af9c37f4d7785cafc5f9a8d0e71b214c7f349
Reviewed-on: https://code.wireshark.org/review/29852
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-26 12:41:39 +00:00
Jakub Zawadzki 4ea91f2aee sharkd: cleanup printf() usage during JSON generation (part V).
Replace remaining printf()s.

Change-Id: I42e2e7f0cbc70612eea80efc0b5831702fc7ec7d
Reviewed-on: https://code.wireshark.org/review/29830
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-25 18:15:06 +00:00
Jakub Zawadzki 933de9fdbf sharkd: cleanup printf() usage during JSON generation (part IV).
Many printf()s generates only key, value is generated by
json_puts_string() or json_print_base64().

Add helper functions sharkd_json_value_string, sharkd_json_value_base64
to generate key with a string, or base64 as a value.

It lower number of printf() from 156 to 105 (32% reduction).

Change-Id: I22901d9759534a4fab7bcdefd66242fd6c5b20cc
Reviewed-on: https://code.wireshark.org/review/29821
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-25 10:05:14 +00:00
Jakub Zawadzki 5507d1b344 sharkd: cleanup printf() usage during JSON generation (part III).
Most of sharkd printf()'s are used to output formatted value with given key.
Add two formatting-function helpers: sharkd_json_value_anyf and sharkd_json_value_stringf.

Conversion printf to these function lower number of printf() from 300 to 156 (48% reduction).

Change-Id: Ied538cc5b84d48d942e2140ff6b93969579d6132
Reviewed-on: https://code.wireshark.org/review/29816
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-25 08:39:07 +00:00
Jakub Zawadzki 1c0d066e10 sharkd: cleanup printf() usage during JSON generation (part II).
Lot of printf()s in sharkd are caused from:
 - opening array with a key, like: printf(",\"eo\":[");
 - opening object with comma separator, like: printf("%s{", i ? "," : "");

Add argument to sharkd_json_{array,object}_open() to specify if there need to be a separator,
and key argument to sharkd_json_array_open().

Replace printf() with these functions.

This change lower number of printf() from 365 to 300 (17% reduction).

Change-Id: Id84259ae0fed47d9d7d84709e554a03c97d6ed98
Reviewed-on: https://code.wireshark.org/review/29811
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-24 19:38:59 +00:00
Jakub Zawadzki 95cf63f4d7 sharkd: cleanup printf() usage during JSON generation (part I).
Lower number of printf()s by adding some function wrappers.

Replace:
  printf("]");   with  sharkd_json_array_close();
  printf("}");   with  sharkd_json_object_close();
  printf("\[");  with  sharkd_json_array_open();
  printf("{");   with  sharkd_json_object_open();

These replaces lower number of printf() from 434 to 365 (15% reduction).

Change-Id: I44f2244a7c1f8992a38c56c64759ed039aafaedc
Reviewed-on: https://code.wireshark.org/review/29809
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-24 17:43:22 +00:00
Jakub Zawadzki ab26fa7757 sharkd: fix setting last reference frame number.
Change-Id: Ia1f60dbe9dfbbceff06a586bcfed68c8f848a390
Reviewed-on: https://code.wireshark.org/review/29802
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-24 09:15:42 +00:00
Jakub Zawadzki c5416e9b23 sharkd: add field checking in check request.
Change-Id: I5467dda6eaa931e0648ce178bf6412fcd1b9661c
Reviewed-on: https://code.wireshark.org/review/29801
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-24 08:21:16 +00:00
Jakub Zawadzki 1847b7d309 sharkd: minor code style fixes.
Change-Id: I0cb87f124fb9cb377250adab125a593ddcd9ba44
Reviewed-on: https://code.wireshark.org/review/29799
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-09-24 04:07:16 +00:00
Jakub Zawadzki a76d4da8bf sharkd: Fix check request for empty "" filter
For empty filters dfilter_compile() return success but with NULL dfcode.
NULL dfcode cannot be used in dfilter_deprecated_tokens().

Request: {"req":"check","filter":""} was crashing sharkd.

Change-Id: Id677fc84251ab27bf691ec8aaee4c5bdf55e4d6c
Reviewed-on: https://code.wireshark.org/review/29797
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-09-23 20:49:32 +00:00
Jakub Zawadzki 3ce847e39e sharkd: Fix frames request for empty "" filter
For empty filters dfilter_compile() return success but with NULL dfcode,
still if used dfilter_prime_proto_tree() crashed cause of NULL df pointer.

Change-Id: I0684abf8ef766a24d0c8150fef4e113813c490ea
Reviewed-on: https://code.wireshark.org/review/29390
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michal Labedzki <michal.labedzki@wireshark.org>
Tested-by: Michal Labedzki <michal.labedzki@wireshark.org>
2018-09-02 11:23:30 +00:00
Michał Łabędzki a7b56fff7e sharkd: Add support for hidden and generated fields
New json option for frame request to output hidden fields:
"hidden": true

Output has two new optional keys: "g" for generated fields and
"v" for hidden fields.

Change-Id: If51fa5601c1193a03fff378bbe37dc9ab8f5e66d
Reviewed-on: https://code.wireshark.org/review/28955
Petri-Dish: Michal Labedzki <michal.labedzki@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-08-09 04:59:22 +00:00
Michał Łabędzki a0814af296 sharkd: Return frame's color-filter colors
Return color-filter bg/fg colors for single frame if requested.
Also return marked/ignored fields for frame.

Change-Id: I4480b733f54991c72bea1664fa6e7337812e6231
Reviewed-on: https://code.wireshark.org/review/28304
Petri-Dish: Michal Labedzki <michal.labedzki@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michal Labedzki <michal.labedzki@wireshark.org>
2018-08-04 13:26:05 +00:00
Guy Harris 9b731e2b32 Add a tap "finish" callback, called when a listener is removed.
Change-Id: Ic6c23dbd39d1adf8f730f1c866e409f731947475
Reviewed-on: https://code.wireshark.org/review/28786
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-21 00:51:13 +00:00
Peter Wu c40c26c04c Follow Stream: ensure linear performance with many packets
Reverse the payload chunks list to achieve a running time of O(n) rather
than O(n²) for insertion of all chunks. Executing a RelWithDebInfo+ASAN
build with `tshark -r chargen-session.pcapng.gz -qz follow,tcp,hex,0`
previously took 11m5s to complete, but now finishes in 16 seconds.

Tested using a capture file with 152k TCP packets (from bug 11777).
Backport note: must update ui/gtk/follow_stream.c too.

Change-Id: Icf70d45f33d4399e53209fb6199d3809608c8d99
Reviewed-on: https://code.wireshark.org/review/28595
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-07-06 07:24:46 +00:00
Jiri Novak 3937f65e67 RTP: If multiple codecs are used in RTP stream flow, all are shown in codecs column
Change-Id: Ica8b3bc2b6b59790805764ec88c6f4e3f8689a85
Reviewed-on: https://code.wireshark.org/review/28435
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-06-28 00:46:39 +00:00
Jiri Novak d752f518cd RTP: Stats calculation unification
Changes:
    - rtpstream_info_calc_t created
    - rtpstream_info_calculate and rtpstream_info_calc_free functions created
    - RTP code updated to use such functions

Change-Id: I1053a46cbd0cdef9d70382135da46e732b5af8b8
Reviewed-on: https://code.wireshark.org/review/28361
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-21 13:34:09 +00:00
Jiri Novak 1b4b5e59e9 RTP: Encapsulation of comparsion of two rtpstreams
Changes:
- rtpstream_id_t is introduced and its related functions. It encapsulates comparsion of two rtpstreams.
- dest_* renamed to dst_*
- src_port and dst_port are 16bits only.
- sharkd_session.c use common id functions
- IAX2 part related to RTP updated to common *id* function

Change-Id: Id38728a4e5d80363480c7ce42ff9c6eaad069686
Reviewed-on: https://code.wireshark.org/review/28340
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-20 08:26:31 +00:00
Jiri Novak 27a1906c58 RTP: Code clean up
Changes:
- rtpstream_packet renamed to rtpstream_packet_cb to follow *_cb pattern
- variables/types used in iax2_analysis_dialog were created as copy of *rtp* ones, but names were left as *rtp* -> *iax2*
- struct _rtp_stream_info replaced with rtp_stream_info_t
- there was tap-rtp-analysis.h, but no tap-rtp-analysis.c - related content was moved from tap-rtp-common.c
- *rtp_stream* functions renamed to *rtpstream*
- renamed rtp_stream_info_t to rtpstream_info_t to follow *rtpstream* pattern.
- renamed ui/rtp_stream.c rtpstream_draw -> rtpstream_draw_cb

Change-Id: Ib11ff5367cc464ea1b0c73432bc50b0eb9cd203e
Reviewed-on: https://code.wireshark.org/review/28299
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-19 15:05:12 +00:00
Pascal Quantin 045f2aa173 sharkd_session.c: fix a size_t to int conversion warning emitted by MSVC2017 x64
Change-Id: I156e28359bd347e580966ea706884ab04e56d7f1
Reviewed-on: https://code.wireshark.org/review/27961
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-02 22:27:41 +00:00
Jakub Zawadzki de447c1544 sharkd: add support for io graph.
Change-Id: I8d23a2b55024e2ef8c644dcef9176c7e3050a703
Reviewed-on: https://code.wireshark.org/review/27376
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-05-31 18:43:50 +00:00
Guy Harris afad14dcfe Get rid of some GTK+-only stuff.
Change-Id: I85806476246a567f747e3911e3d15716e9cfe06b
Reviewed-on: https://code.wireshark.org/review/27514
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-13 20:21:14 +00:00
Guy Harris 3a0dd69d04 Get rid of some GTK+-only stuff.
Change-Id: I841a1cdb637f37673466e4d065474c0f7e2dfc56
Reviewed-on: https://code.wireshark.org/review/27512
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-13 19:46:45 +00:00
Guy Harris fb877ef5da Get rid of some GTK+-only stuff.
Change-Id: I6c14429d4d473464ad7bea18dee07c3adf34664d
Reviewed-on: https://code.wireshark.org/review/27479
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-12 23:01:14 +00:00
Pascal Quantin 7782cb8688 sharkd: fix IPv4 GeoIP lookup
maxmind_db_lookup_ipv4() expects an address in network byte order

Change-Id: Iaff404e370d8a171fa27bf63cb3d827863e6b0ac
Ping-Bug: 14656
Reviewed-on: https://code.wireshark.org/review/27390
Reviewed-by: Christopher Maynard
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2018-05-08 13:29:23 +00:00
Jakub Zawadzki 5cdff26107 sharkd: support for MaxMindDB.
Call maxmind_db_lookup_process() [via host_name_lookup_process()] before processing request.
It's still buggy, webshark needs a refresh to show endpoint or conversation ipmap,
but it's better than nothing.

It seems to need refresh, cause maxmind_db_lookup_ipv[46] works only for cached entries.

Also cause mmdbresolve is pipe-based, every sharkd need to have it own mmdbresolve process.

Change-Id: I3d588d1fa9e9ba645cc3d0bff3d276b202159d21
Reviewed-on: https://code.wireshark.org/review/27335
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-05-06 09:22:25 +00:00
Dario Lombardo 57fee051c6 wsutil: rename wsjsmn to wsjson.
This puts more distance between the caller and the underlying
library. At the moment we're using libjsmn, but other libraries
(like json-glib) could be used.

Change-Id: I1431424a998fc8188ad47b71d6d95afdc92a3f9e
Reviewed-on: https://code.wireshark.org/review/27055
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-21 07:13:31 +00:00
Anders bb81bef535 glib: Get rid of GLIB_CHECK_VERSION as we now require 2.32.0
Change-Id: Ie95cf37f9cd283545693e290340a7489cc989c95
Reviewed-on: https://code.wireshark.org/review/26970
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-16 16:07:46 +00:00
Gerald Combs 13e7c1229d Migrate sharkd to MaxMindDB.
Convert the IPv4 and IPv6 GeoIP lookups to their MaxMindDB equivalents.

Change-Id: I7f6bd697e7d4b09fdd1f4bfa17011fc6ea1aec26
Reviewed-on: https://code.wireshark.org/review/26446
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-14 06:17:35 +00:00
Guy Harris 7df07eb922 Print the right value for signed statistics tap table items.
Thanks and a tip of the Hatlo hat to Visual Studio Code Analysis for
finding this one.

Change-Id: If2312ba98d1c3060e525dd8b2afe3e0ff07fb5bd
Reviewed-on: https://code.wireshark.org/review/26194
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-28 21:55:39 +00:00
Guy Harris 9efce5c916 Don't unnecessarily cast away constness.
Change-Id: Ia7e6f55d4398ec2d1d35f3dc4ef5ff0c51b9746d
Reviewed-on: https://code.wireshark.org/review/25959
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-21 08:20:39 +00:00
Guy Harris c61b543e97 Get rid of more new_ prefixes for statistics functions and types.
There are no "old" versions of them that we're keeping around.

Change-Id: I3c76a14d0ec1a06df39c547da37f4dea9987df4d
Reviewed-on: https://code.wireshark.org/review/25892
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-19 00:12:51 +00:00
Guy Harris 1f5f63f8ef Generalize wtap_pkthdr into a structure for packet and non-packet records.
Separate the stuff that any record could have from the stuff that only
particular record types have; put the latter into a union, and put all
that into a wtap_rec structure.

Add some record-type checks as necessary.

Change-Id: Id6b3486858f826fce4b096c59231f463e44bfaa2
Reviewed-on: https://code.wireshark.org/review/25696
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-02-09 00:29:51 +00:00
Dario Lombardo 8cd389e161 replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.
The first is deprecated, as per https://spdx.org/licenses/.

Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed
Reviewed-on: https://code.wireshark.org/review/25661
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-08 14:57:36 +00:00
Jakub Zawadzki 958ef99edf sharkd: try to fix clang uninitialized value stored to field 'protocol'.
Instead of using g_memdup(), make it more C-like.

Change-Id: Ifde75801a261f9e269391fabf323f34a4e3508ac
Reviewed-on: https://code.wireshark.org/review/25395
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-01-24 02:15:49 +00:00
Guy Harris 3eb253b748 Use separate pointers for the input expert info and the copy we make.
That eliminates the need for qualifier-removing casts.

Change-Id: I90728858ec43ddabf663f30258df6e9c41aa191a
Reviewed-on: https://code.wireshark.org/review/25378
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-01-18 19:30:12 +00:00
Dario Lombardo d9158e680a sharkd: set uninitialized values (found by clang).
Change-Id: Ie68c23be4e40b815c995008a43e3c5443a9de5f6
Reviewed-on: https://code.wireshark.org/review/25353
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-01-18 06:07:29 +00:00
Dario Lombardo afcff2dcd1 sharkd: check for NULL before dereference (found by clang).
Change-Id: If49504b3360e325555a624b11a43ac30884748c9
Reviewed-on: https://code.wireshark.org/review/25337
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-01-18 06:07:13 +00:00
Jakub Zawadzki 2cfceb2700 sharkd: keep filtered data in GHashTable.
Change-Id: Ica0d953d93e35eab88b27a4d6bb8fbb75edb7e27
Reviewed-on: https://code.wireshark.org/review/25312
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2018-01-14 16:44:55 +00:00
Graham Bloice 3ab56e1c2a sharkd: Add narrowing cast
Needed on x86 windows as size_t < gint64

Change-Id: I2d5ca99c71a9f3a0138da786d10b111867337904
Reviewed-on: https://code.wireshark.org/review/25093
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2017-12-31 21:50:09 +00:00
Jakub Zawadzki 005ddc1d8b sharkd: support for reference and previous displayed frame number
Change-Id: Iced96044a8fc414d4cb1c62bcc67f61cf44c4515
Reviewed-on: https://code.wireshark.org/review/25033
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-12-28 17:08:02 +00:00
Guy Harris 8aa14236f8 Have the frame_tvbuff.c routines not use the global cfile.
Have the routines that create them take a pointer to a struct
packet_provider_data, store that in the tvbuff data, and use it to get
the wtap from which packets are being read.

While we're at it, don't include globals.h in any header files, and
include it in source files iff the source file actually uses cfile.  Add
whatever includes that requires.

Change-Id: I9f1ee391f951dc427ff62c80f67aa4877a37c229
Reviewed-on: https://code.wireshark.org/review/24733
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-08 08:31:41 +00:00
Guy Harris 797d2f6a87 Move the frame_set stuff back into the capture_file structure.
libwireshark now expects an epan_t to be created with a pointer to a
"packet provider" structure; that structure is opaque within
libwireshark, and a pointer to it is passed to the callbacks that
provide interface names, interface, descriptions, user comments, and
packet time stamps, and that set user comments.  The code that calls
epan_new() is expected to provide those callbacks, and to define the
structure, which can be used by the providers.  If none of the callbacks
need that extra information, the "packet provider" structure can be
null.

Have a "file" packet provider for all the programs that provide packets
from a file.

Change-Id: I4b5709a3dd7b098ebd7d2a7d95bcdd7b5903c1a0
Reviewed-on: https://code.wireshark.org/review/24731
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-08 03:32:25 +00:00
Jakub Zawadzki 0baa4458c5 sharkd: add sharkd_get_frame() to get frame_data, optimize.
Add sharkd_get_frame() wrapper to limit number of cfile usage.
Don't get frame_data when not needed.

Change-Id: I24b96b5b184196e9dbf632c0891b2954c8281eed
Reviewed-on: https://code.wireshark.org/review/24728
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-08 03:16:20 +00:00
Jakub Zawadzki 8687fca8a8 sharkd: fix coding style.
Change-Id: I62ff3f358d1efa3065077b0a913ba614f67f3fd7
Reviewed-on: https://code.wireshark.org/review/24727
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-12-07 20:10:24 +00:00
Jakub Zawadzki b59c39b271 frame user comments: move to epan, add support for user comments in sharkd.
Change-Id: Id15edc60177b160fd09cae99de1c9e01e17d9421
Reviewed-on: https://code.wireshark.org/review/24714
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-06 19:54:30 +00:00
Guy Harris 1834dca365 Move the parts of a capture_file used by libwireshark to a new structure.
Embed one of those structures in a capture_file, and have a struct
epan_session point to that structure rather than to a capture_file.
Pass that structure to the routines that fetch data that libwireshark
uses when dissecting.

That separates the stuff that libwireshark expects from the stuff that
it doesn't look at.

Change-Id: Ia3cd28efb9622476437a2ce32204597fae720877
Reviewed-on: https://code.wireshark.org/review/24692
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-12-04 05:02:18 +00:00
Gerald Combs 775bbbcded Start using SPDX license identifiers.
A while back Graham pointed out the SPDX project (spdx.org), which is
working on standardizing license specifications:

https://www.wireshark.org/lists/wireshark-dev/201509/msg00119.html

Appendix V of the specification describes a short identifier
(SPDX-License-Identifier) that you can use in place of boilerplate in
your source files:

https://spdx.org/spdx-specification-21-web-version#h.twlc0ztnng3b

Start the conversion process with our top-level C and C++ files.

Change-Id: Iba1d835776714deb6285e2181e8ca17f95221878
Reviewed-on: https://code.wireshark.org/review/24302
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Balint Reczey <balint@balintreczey.hu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-11-09 20:03:51 +00:00
Michael Mann 63966ec5d5 Use endpoint_type in conversation tables and hostlists
Follow up to having conversions use endpoint_type instead of
port_type.

Change-Id: Ifd59a33bd8b9a013c242bce5fcceb09533f02c17
Reviewed-on: https://code.wireshark.org/review/24172
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-10-29 20:17:03 +00:00
Guy Harris 458c3c026e Add a ws_in6_addr typedef for struct e_in6_addr.
That allows a parallel typedef of ws_in4_addr for guint32.

Change-Id: I03b230247065e0e3840eb87635315a8e523ef562
Reviewed-on: https://code.wireshark.org/review/24073
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-10-26 08:50:34 +00:00
Jakub Zawadzki 3c9f440ac6 sharkd: export field filter string.
This extra parameter allows to use wireshark functionality like: prepare as filter,
and also apply quick filter in protocol tree (for instance show only TCP protocol fields: tcp.),

Change-Id: I1f380b79e3802e6aaf646fdd4770c903ee9f3781
Reviewed-on: https://code.wireshark.org/review/23837
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-10-05 04:18:27 +00:00
Jakub Zawadzki 1961297a55 sharkd: check if JSON value is string or primitive (true/false/null/number).
Add extra check for token type, previously it was possible to pass for example:
{"columns":["one","two","three"]}. Such format is not supported.

Change-Id: I6ac2e3ca9eba868cd72ed886ad40745ebbc43d73
Reviewed-on: https://code.wireshark.org/review/23834
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-10-04 12:09:55 +00:00
Jakub Zawadzki ea6e4b577f sharkd: support for user column-set in "frames" request.
Change-Id: If6a10cc252f2ad362ba3a91318cedd15d954db2b
Reviewed-on: https://code.wireshark.org/review/23768
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-10-04 04:51:12 +00:00
Jakub Zawadzki 5ecfe0c565 sharkd: support for frame comments.
Change-Id: If51cd6a7f4989fee16563809a997dc2f46f67c22
Reviewed-on: https://code.wireshark.org/review/23759
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-09-27 01:56:33 +00:00
Michael Mann e7cc0279ab Have sequence analysis properly use filters from taps.
Sequence analysis has its own "filtering" system that required its
tap functions to look for some "filter flags".  register_tap_listener()
already comes with a filter argument, so use that to simplify logic
of tap functions in dissectors.
Also have Qt GUI for Flow Graph look like other dialogs that have a
"Limit to display filter" checkbox.

Change-Id: I91d9d9599309786892f5b50c98692e52651e7174
Reviewed-on: https://code.wireshark.org/review/23659
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-09-23 03:42:14 +00:00
Jakub Zawadzki 0d869dae1e Sequence (flow) analysis: fill timestamp when creating item.
Change-Id: Ie1b82d016b632162a91e2ed54a964662bc25e9d5
Reviewed-on: https://code.wireshark.org/review/23620
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-09-19 21:32:07 +00:00
Michael Mann dd5875c487 Sequence analysis (flow graph) optimizations for dissectors
1. Remove protocol member from seq_analysis_item_t.
It's not used by any GUI, so don't burden dissectors with populating it.

2. Allow any dissector to change colors display by flow graph

3. Provide helper functions that may be common if other dissectors
want to create sequence analysis.

Change-Id: I04fa3c9f3cf6879ab9a8d7d6f4896b4979d010d7
Reviewed-on: https://code.wireshark.org/review/23613
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-19 06:44:51 +00:00
Jakub Zawadzki b365a3e19a sharkd: support flows (sequence analysis)
Change-Id: Ie85295dbcfab3efe7ba05c5c9c7ae22d0c6eedec
Reviewed-on: https://code.wireshark.org/review/23572
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-09-18 21:24:21 +00:00
Jakub Zawadzki 1c6f6c691f sharkd: implement proper JSON string unescaping, based on JSON dissector.
Change-Id: I749b78b759f98c78526840b8bb1cbccfc17a5611
Reviewed-on: https://code.wireshark.org/review/23365
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-09-08 18:14:59 +00:00
Jakub Zawadzki b3f5700ed4 sharkd: handle PREF_SAVE_FILENAME, PREF_OPEN_FILENAME, PREF_DIRNAME in dumpconf.
Change-Id: I17c13c274ebd31da7d7a7ebe02821cf09f77f66c
Reviewed-on: https://code.wireshark.org/review/23268
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-08-28 23:38:44 +00:00
Jakub Zawadzki 50510a670d sharkd: minor changes in comments, fix style.
Change-Id: I72d856bf223cea966bd505031417bc2b4dd12f82
Reviewed-on: https://code.wireshark.org/review/23136
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-08-19 21:54:47 +00:00
Pascal Quantin b347ce62c9 sharkd: fix a shadow warning when compiling on RHEL/CentOS 6.x
Bug: 13424
Change-Id: I20e474180545d89599c346ad2c5994949d213cb0
Reviewed-on: https://code.wireshark.org/review/22045
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2017-06-08 21:17:46 +00:00
João Valverde 1a8991e875 sharkd: Fix build using system Speex library (autotools)
Change-Id: I1798f3dc76704c646d67d11533f8dc32ebab7401
Reviewed-on: https://code.wireshark.org/review/21793
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
2017-05-30 01:56:07 +00:00
Peter Wu c9b0e9c813 Report syntax errors in UAT prefs parsing
Add the cause for a syntax error while parsing UATs. Example output:

    $ tshark -ouat:ssl_keys:,
    tshark: Invalid -o flag "uat:ssl_keys:,": ssl_keys:1: No IP address given.
    $ tshark -ouat:unknown:,
    tshark: Invalid -o flag "uat:unknown:,": Unknown preference

Change-Id: I549406c4e31a81d29f487ef47bdb3c22da084947
Reviewed-on: https://code.wireshark.org/review/21748
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-05-26 17:31:01 +00:00
Jakub Zawadzki b1225fec99 sharkd: add more information about currently loaded file.
Change-Id: I59c34a0c92963822f02b16479e1ebb3bca6e64f6
Reviewed-on: https://code.wireshark.org/review/21678
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-05-16 16:25:12 +00:00
Jakub Zawadzki 400bff055f sharkd: export uat records.
Move gtk's fld_tostr() to epan API as uat_fld_tostr.

Change-Id: I01e3b66ca9ea3cd1e2e06e2122190ee42b9ad44b
Reviewed-on: https://code.wireshark.org/review/21664
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-05-16 04:27:05 +00:00
Jakub Zawadzki 60c8ada4c2 sharkd: output JSON for new_stat_ API.
Change-Id: I5b4b020029f3c1587f96ca1fcf5fbfa2ee78ac31
Reviewed-on: https://code.wireshark.org/review/21628
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-05-15 09:16:51 +00:00
Jakub Zawadzki ca29ec9e77 sharkd: support for "downloading" decoded RTP stream in wave-like format.
Change-Id: Ic6b241f9b7ed302e7b11644e63230474d5933a85
Reviewed-on: https://code.wireshark.org/review/20963
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-04-17 07:29:31 +00:00
Jakub Zawadzki c7e32fb09c sharkd: support for limits in sending information about rows (columns).
Suboptimal, but still much better than sending columns
for whole capture file. webshark by defaults requests for 120 rows.

Change-Id: I96188e0d2bc4539a57e5061c7784f8c44f318393
Reviewed-on: https://code.wireshark.org/review/20715
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-04-15 22:51:25 +00:00
Pascal Quantin eff51c6076 sharkd: reduce buffer put on stack from 16K to 2K
Change-Id: Ie86f68ed48b881f4803377a3e1ad94fcfe1947e3
Reviewed-on: https://code.wireshark.org/review/21079
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-04-13 22:38:41 +00:00
Jakub Zawadzki 99e0b39ba8 sharkd: add tap for RTP stream analysis.
Change-Id: Idf88a891b69e4d89b2d0c62d505059ab073e266e
Reviewed-on: https://code.wireshark.org/review/20816
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-04-08 07:29:44 +00:00
Guy Harris 25dc3ee9fd Squelch 64-to-32-bit narrowing warnings.
Change-Id: Ifc6938ab8deb62fc8b53c9d68504210b6fcc58f7
Reviewed-on: https://code.wireshark.org/review/20786
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-03-29 16:39:20 +00:00
Jakub Zawadzki 2de68eb47f sharkd: support exporting ssl secrets
Change-Id: Ie7db733d8aa7189b1ade6ef85d911653ed8c490f
Reviewed-on: https://code.wireshark.org/review/20703
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-03-29 05:13:47 +00:00
Michael Mann 2a8126c3ad sharkd_session.c: warning C6031: Return value ignored: 'sscanf'
Change-Id: I32f56b7b351d7096b4e97f7c61db1af8d0b3b6f0
Reviewed-on: https://code.wireshark.org/review/20729
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-03-27 10:57:28 +00:00
Michael Mann ebc6dfa6de sharkd_session.c: Match printf argument with datatype
Address complaints from vscodeanalysis.

Change-Id: I0943a635eb0904a5ee392f772aa21cc3b56bc3de
Reviewed-on: https://code.wireshark.org/review/20728
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-03-27 03:13:23 +00:00
Jakub Zawadzki 2affc00cf1 sharkd: support for SRT and RTD taps.
Change-Id: I60b9ece77f4795cd5208e53ccd18ab010646050f
Reviewed-on: https://code.wireshark.org/review/20614
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-03-26 14:59:38 +00:00
Jakub Zawadzki 0297e374b8 sharkd: support for expert tap.
Change-Id: I7e5b27b5c25c01f015dd8b33c541cbda2c426726
Reviewed-on: https://code.wireshark.org/review/20578
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-03-19 10:21:55 +00:00
Jakub Zawadzki 0501699a4e sharkd: fix tap memleaks & support for links to frame, url & cleanup
Change-Id: I08af04c7882802035344d0051055be05967fb089
Reviewed-on: https://code.wireshark.org/review/20502
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-03-12 13:30:51 +00:00
Jakub Zawadzki bccc2004df sharkd: support for export objects, following stream.
Change-Id: I364cb200e537ae07cbe831d8be1f217c5a15ee09
Reviewed-on: https://code.wireshark.org/review/20492
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2017-03-11 20:35:19 +00:00
Michael Mann 56aaa5b705 Switch conversations to use wmem_tree_t instead of (sorted) GSList.
Change-Id: Ifaf25ca5a7974f1d398ceebbb4c6733d4d3e001a
Reviewed-on: https://code.wireshark.org/review/20006
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-03-06 11:41:54 +00:00
Jakub Zawadzki 2534ec45c1 sharkd: support for rtp tap.
Change-Id: I84b542f8ace1e53f41be0b73a24aeb720c3c904a
Reviewed-on: https://code.wireshark.org/review/20271
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-02-28 06:10:24 +00:00
Jakub Zawadzki 762bf10834 Configuration dump for webshark.
Change-Id: Ideaedaaa7bf5f1244d7f6845a08e4dc36a2c798f
Reviewed-on: https://code.wireshark.org/review/20083
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-02-25 11:05:50 +00:00
Jakub Zawadzki eef1555610 Fix sharkd compilation on some <glibc-2.16 or <gcc-4.8
- use printf() instead of fwrite().
- don't shadow stat()

Bug: 13424
Change-Id: Idc8931bcc5b1387f0ce3a3bfa146ffeb5b4edc82
Reviewed-on: https://code.wireshark.org/review/20234
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: John Thacker <johnthacker@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-02-24 02:14:44 +00:00
Gerald Combs d84577fe1a Yell at the user less.
Our user-facing messages should have a helpful (or at the very least
neutral) tone. In English, exclamation points are neither. Replace a
bunch of them with periods.

Change-Id: I29c3b2f84c25e06aae5b559860224559053a0378
Reviewed-on: https://code.wireshark.org/review/20189
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-02-20 16:53:17 +00:00
Dario Lombardo f6e88944c3 sharkd: make it compile without libGeoIP.
Change-Id: Ief867ce8552136298bd6bd6879ec482cc5b38b6f
Reviewed-on: https://code.wireshark.org/review/19887
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-02-02 17:45:32 +00:00
Guy Harris 11ce17f0a6 Expand a comment to give more details.
(Dear Microsoft: why did you choose not to support line buffering in
the MSVC "standard I/O library" routines?)

Change-Id: I5add94d2c83e73e9845fea0f355a1923fddf2deb
Reviewed-on: https://code.wireshark.org/review/19890
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-02-01 04:43:04 +00:00
Jakub Zawadzki 2b91f04008 sharkd: windows support
Change-Id: I6581bacdea49416cc26431f66b093f36b39c5a67
Reviewed-on: https://code.wireshark.org/review/19829
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-02-01 04:36:32 +00:00
Alexis La Goutte 6d4e340de3 sharkd(session): Fix Value stored to 'frame' during its initialization is never read
Change-Id: Ia7e351167edc0ca5c48e284bee0c940bba12c6d7
Reviewed-on: https://code.wireshark.org/review/19812
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-01-27 08:39:24 +00:00
Peter Wu 9f600384e8 sharkd: fix potential division-by-zero issue
The interval parameter is user-supplied and is used as divisor.

Change-Id: I9cbbecb71da3991c1712cb87e93de072cc950224
Reviewed-on: https://code.wireshark.org/review/19787
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-01-27 02:41:00 +00:00
Guy Harris 1165dfc8f6 Make some variables 64-bit, to avoid overflows.
Assume that the relative milliseconds could be 64-bit, and make the
indices calculated from it 64-bit as well.

Change-Id: Ie1248c9440172b85ffbb05461ef1ee07c371fc3c
Reviewed-on: https://code.wireshark.org/review/19795
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>
2017-01-26 06:06:30 +00:00
Michael Mann 19028ebab4 Fix sharkd compiling on Windows
Change-Id: I8c614189159f1263d9452d495cee34d1a2c1bfcb
Reviewed-on: https://code.wireshark.org/review/19790
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-01-26 04:08:59 +00:00
Jakub Zawadzki e2930f3b78 Add sharkd - daemon variant
sharkd listens on UNIX socket and allows external clients
to run commands like: loading file, analysing frames or running TAP(s).

Change-Id: I443b2865e4adfd1c11f4f57d09ff7fce6b1e8766
Reviewed-on: https://code.wireshark.org/review/18208
Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
2017-01-25 07:19:05 +00:00