Commit Graph

228 Commits

Author SHA1 Message Date
Gerald Combs 8528fca055 Falco Bridge: Misc cleanup.
Remove unused header definitions in packet-falco-bridge.h and move the
remaining content to packet-falco-bridge.c and conversation-macros.h.
Explicitly set our header files in CMakeLists.txt.
2022-04-13 13:51:06 -07:00
Gerald Combs 57172fe4cd CMake: Finish splitting ADD_PLUGIN_LIBRARY.
Rename add_plugin_library to add_wireshark_plugin_library and add a
backward compatibility wrapper. Make Falco Bridge a Logwolf plugin.
2022-04-04 23:10:57 +00:00
Gerald Combs 23ed784ce1 Falco Bridge: Fix a function declaration.
Fix

../plugins/epan/falco_bridge/packet-falco-bridge.c: In function ‘register_conversation_filters_mappings’:
../plugins/epan/falco_bridge/packet-falco-bridge.c:105:1: error: old-style function definition [-Werror=old-style-definition]
 register_conversation_filters_mappings()
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-04-04 21:21:10 +00:00
Matthias Dietrich ea39653c8d PROFINET: Support PROFIsafe 5 byte safety trailer
Calculate the safety IO data length based on the
safety trailer length, which is given by the
F-Parameter F_CRC_Seed.
2022-04-03 18:49:20 +00:00
Vahap Emin Agaogullari 7f2e996193 PROFINET: TimeAware Dissection and RSI FREQ block fix
TimeAware bit dissected for ARProperties
and cyclic frames updated accordingly.
Also small length problem fixed in RSI FREQ block dissection.
2022-03-24 18:06:06 +00:00
Gerald Combs 0a351fb6ba Falco Bridge: Update the README.
Update the Licensing section of the README.
2022-03-22 17:51:32 +00:00
Gerald Combs e06864e777 Falco Bridge: Miscellaneous fixes.
Fix some issues found by the pre-commit script. Add a missing Debian
symbol. Update the README.
2022-03-22 17:51:32 +00:00
Gerald Combs 34cb45c743 Falco Bridge: Remove some unused code. 2022-03-22 17:51:32 +00:00
Gerald Combs 110dbffbe9 Rename Sysdig Bridge to Falco Bridge.
The Sysdig Bridge plugin loads Falco plugins, so rename it to Falco
Bridge.

Make it optional and dependent on libsinsp+libscap, similar to our codec
plugins.

Remove some unused code.
2022-03-22 17:51:32 +00:00
Gerald Combs be03aa1a4d CMake+Sysdig Bridge: Add a FindSinsp module.
Add a FindSinsp CMake module, and use it in the Sysdig Bridge plugin
CMakeLists.txt. It still needs work, but should at least be usable on
more machines.

Conflicts:
	plugins/epan/sysdig_bridge/CMakeLists.txt
2022-03-22 17:51:32 +00:00
Gerald Combs 90bd33e4e2 Sysdig Bridge: Make sure we fetch the correct field info.
Fetch the current field number's type and format instead of the first
field's.
2022-03-22 17:51:32 +00:00
Gerald Combs b9946577d6 Sysdig Bridge: Remove old code.
Remove commented & ifdef0'd code that loaded plugins directly. Destroy
our libsinsp instance on exit.
2022-03-22 17:51:32 +00:00
Gerald Combs 349c067414 Sysdig Bridge: Handle info and conversation fields.
Fix our field length display as well.
2022-03-22 17:51:32 +00:00
Gerald Combs bee0393a94 Sysdig Bridge: Switch to libsinsp/libscap.
Switch from loading the cloudtrail plugin directly to doing so
indirectly via libsinsp. This should let us start leveraging the rich
functionality offered by libsinsp.
2022-03-22 17:51:32 +00:00
Gerald Combs 9b106b500c Sysdig Bridge: Update the Sysdig Plugin fields.
Update the Sysdig Plugin fields to match falcosecurity/libs scap.c.
2022-03-22 17:51:32 +00:00
Gerald Combs a075ce1be7 Sysdig bridge: Update a struct.
Update ss_plugin_extract_field to match

https://github.com/falcosecurity/plugin-sdk-go/blob/main/pkg/sdk/plugin_info.h
2022-03-22 17:51:32 +00:00
Gerald Combs 24aa07281a Sysdig bridge: Fix a couple of offsets.
It looks like the source ID and event data are 4 bytes further into each
block. Quick fix pending more details about the block format.
2022-03-22 17:51:32 +00:00
Gerald Combs 9a889e9546 Sysdig bridge: Set our plugin API version to 0.2.0. 2022-03-22 17:51:32 +00:00
Gerald Combs 70aed62c86 Sysdig bridge: Fix compilation.
Fix

logshark/plugins/epan/sysdig_bridge/packet-sysdig-bridge.c:86:39: error: this old-style function definition is not preceded by a prototype [-Werror,-Wstrict-prototypes]
register_conversation_filters_mappings()
                                      ^
1 error generated.
2022-03-22 17:51:32 +00:00
Mark Stemm 58e3976910 Use the plugin name as the protocol short name
Prior versions had a dedicated plugin API function for this, but we
removed it from the plugin API, so just use the plugin name.

Signed-off-by: Mark Stemm <mark.stemm@gmail.com>
2022-03-22 17:51:32 +00:00
Loris Degioanni 0555c413d1 Sysdig Bridge: Fix a memory allocation crash.
avoid moving plugin states around the address space by mallocing all of the memory at the beginning instead of using realloc every time a plugin is detected. This prevents crashes and other types of bad behavior that were caused by plugins accessing garbage memory.
2022-03-22 17:51:32 +00:00
Mark Stemm 39c8e1ac2c Use register_shutdown_routine, not cleanup_routine
register_cleanup_routine is called after reading a single capture
file. Since the async extraction is set up per plugin instead of
per-instance, we want register_shutdown_routine().

Signed-off-by: Mark Stemm <mark.stemm@gmail.com>
2022-03-22 17:51:32 +00:00
Mark Stemm 5fdc4142b9 Update to use single extract_fields func
Update to reflect newest API changes (single extract_fields
func). This simplifies dissect_plg_bridge a bit, as the setup/calling
plugin function can mostly be unified based on the field type, with
just looking at the res_str/res_u64 part of the field struct
afterward.
2022-03-22 17:51:32 +00:00
Mark Stemm c34693bb20 Update to reflect latest plugins api changes
Although not used by wireshark directly, update
plugin_next/plugin_next_batch to note they return structs for events
instead of pointers + lens + timestamps.

Extract functions now use field names, so no need to extract or keep
track of field ids. The a "abbrev" property of header_field_info
contains the field name e.g. ct.xxx.
2022-03-22 17:51:32 +00:00
Loris Degioanni 8c3f436cc0 load the plugins from the wireshark directory 2022-03-22 17:51:32 +00:00
Loris Degioanni d226a7aa98 separate list of conversation filters for logshark
Conflicts:
	CMakeLists.txt
2022-03-22 17:51:32 +00:00
Loris Degioanni 2d6b0e8885 conversation-like filtering and coloring for sysdig plugins 2022-03-22 17:51:32 +00:00
Loris Degioanni de5f59d7a4 sysdig: initial implementation of sysdig plugins support
This commit introduces a new wireshark plugin which is able to act as proxy to sysdig plugins, loading them into Wireshark and transforming their output into dissectors that Wireshark can use to display the data.
2022-03-22 17:51:32 +00:00
Loris Degioanni 625a042ff8 initial skeleton for sysdig plugins experiments 2022-03-22 17:51:32 +00:00
Dirk Ziegelmeier dc5cb69409 Profinet plugin: Decode more r/w indexes 2022-02-11 20:16:07 +00:00
Dirk Ziegelmeier a17037de4b Profinet plugin: Update several enums
According to PN AL Protocol, Oct 2020
Indices, user structure identifier, channel error type, ext channel error types
2022-02-11 20:16:07 +00:00
Martin Mathieson 1f22c7e04c Trivial: change some formatting in hf item definitions 2022-02-04 11:56:24 +00:00
Martin Mathieson 3466798ed0 More mask/field-length fixes 2022-02-03 22:13:43 +00:00
John Thacker e0a11d0607 PROFINET: Fix incorrect API call, assertion
Fix two calls of proto_tree_add_item() when proto_tree_add_uint()
was meant. Passing the actual value of a field instead of an encoding
into proto_tree_add_item() has unexpected results. Fix #17909.

(The whole area of this dissector would probably be cleaner with
more calls to add_item(), but this is a smaller change consistent
with the rest.)
2022-01-29 23:39:20 -05:00
Martin Mathieson 19ec126687 check_typed_item_calls.py - Find all (but 3) items from calls. 2022-01-29 15:54:19 +00:00
Dirk Ziegelmeier de0fde6e46 Profinet Plugin: Improve dissecting PDPortDataReal block 2022-01-20 05:07:08 +00:00
Dirk Ziegelmeier 74255a072f Profinet plugin: Dissect Neighbors block 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier c1a2cbcf05 Profinet Plugin: Dissect OwnPort block 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier 74d522d8d3 Profinet Plugin: Decode PDPortDataRealExtended block 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier bb34f30d56 Profinet Plugin: Cleanup diagnosis data decoding 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier 5b666b874a Profinet Plugin: Add 10BASET1L and APL MAU Type 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier 6100e284cf Profinet Plugin: Update Block Type List
According to PN AL Protocol d24MU2 Oct 2020
2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier 7efd80327d Profinet Plugin: Decode ControlBlockPlug 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier 239d9de7ad Profinet plugin: Correctly name ModuleDiffBlock bits 2022-01-20 05:07:07 +00:00
Dirk Ziegelmeier 6db8b0e4cc Profinet plugin: Decode QualifiedChannelDiagnosis 2022-01-20 05:07:07 +00:00
Moshe Kaplan 67f05835ca Fix more repeated words throughout
Fixes more repeated words seen throughout
the code base.
2021-12-31 22:50:40 +00:00
Moshe Kaplan 69d54d6f8e Corrects repeated words throughout the code.
Repeated words were found with:
egrep "(\b[a-zA-Z]+) +\1\b" . -Ir
and then manually reviewed.
Non-displayed strings (e.g., in comments)
were also corrected, to ease future review.
2021-12-22 11:01:11 +00:00
João Valverde 0ccd69e530 Replace g_strdup_printf() with ws_strdup_printf()
Use macros from inttypes.h.
2021-12-19 21:21:58 +00:00
João Valverde fe5248717f Replace g_snprintf() with snprintf()
Use macros from inttypes.h with format strings.
2021-12-19 20:06:13 +00:00
cacamille3 03224385b8 Added Invalid value to BrowseDirection enum 2021-12-06 05:39:29 +00:00