wireshark/epan
Guy Harris 3960474089 socketcan: support the CANFD_FDF flag for identifying CAN FD frames.
The Linux SocketCAN header now uses the formerly-reserved byte in the
SocketCAN header after the "payload length" field as an "FD flags"
field, with a flag bit reserved to indicate whether the frame is a
classic CAN frame or a CAN FD frame, with two other bits giving frame
information for FD frames.

For LINKTYPE_CAN_SOCKETCAN, use that flag bit to determine whether the
frame is classic CAN or CAN FD.  As some older LINKTYPE_CAN_SOCKETCAN
captures have SocketCAN headers in which the fields after the "payload
length" field were uninitialized, so trust that thge "FD flags" was
filled in, rather than possibly randomly uninitialized, only if the only
bits set in that field are the bits defined to be in that field and the
two reserved bytes after it are zero.

This will be needed when the current main-branch libpcap is released, as
it uses LINKTYPE_CAN_SOCKETCAN rather than LINKTYPE_LINUX_SLL for
ARPHRD_CAN devices; we add it now to future-proof the Wireshark releases
to which this is being committed.  It also handles what existing CAN FD
captures using LINKTYPE_CAN_SOCKETCAN exist.

For LINKTYPE_LINUX_SLL frames, we have the protocol field to distinguish
between classic CAN and CAN FD, so we use that to determine the frame
type, rather than looking at the CANFD_FDF flag.

dissect_socketcan_common() now handles both classic CAN and CAN FD
frames.
2021-10-14 19:15:07 -07:00
..
crypt Fix some spelling errors. 2021-09-28 09:50:58 +00:00
dfilter dfilter: Fix crash with duplicated syntax node 2021-10-14 23:49:39 +01:00
dissectors socketcan: support the CANFD_FDF flag for identifying CAN FD frames. 2021-10-14 19:15:07 -07:00
ftypes ftypes: Rewrite FT_PROTOCOL comparison operator 2021-10-10 20:48:29 +00:00
wslua Lua: Make FileHandler seek_read() optional 2021-10-03 11:04:29 +02:00
.editorconfig
CMakeLists.txt rdp: add dissector for the egfx channel 2021-10-02 11:15:32 +02:00
addr_and_mask.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
addr_and_mask.h
addr_resolv.c Move more numerical functions to wsutil/to_str.h 2021-09-16 20:55:03 +01:00
addr_resolv.h
address.h iwarp_mpa: fix iWarp MPA for NFS-over-RDMA 2021-08-31 08:14:31 +00:00
address_types.c wsutil: Remove ip6_to_str_buf_with_pfx() 2021-09-17 00:08:41 +01:00
address_types.h
afn.c
afn.h
aftypes.c
aftypes.h
app_mem_usage.c
app_mem_usage.h
arcnet_pids.h
arptypes.h
asn1.c epan: remove a few more uses of wmem_packet_scope 2021-08-29 11:38:25 +00:00
asn1.h
ax25_pids.h
bridged_pids.h
capture_dissectors.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
capture_dissectors.h
charsets.c epan: remove a few more uses of wmem_packet_scope 2021-08-29 11:38:25 +00:00
charsets.h
chdlctypes.h
cisco_pid.h
color_filters.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
color_filters.h Move more headers outside extern "C". 2021-03-16 02:36:10 -07:00
column-info.h
column-utils.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
column-utils.h
column.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
column.h
conv_id.h
conversation.c iwarp_mpa: fix iWarp MPA for NFS-over-RDMA 2021-08-31 08:14:31 +00:00
conversation.h BT-uTP: Track conversations 2021-10-13 04:37:21 +00:00
conversation_debug.h
conversation_filter.c
conversation_filter.h
conversation_table.c TCP: Conversations Statistics loyalty to connections initiators 2021-02-21 13:12:35 +00:00
conversation_table.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
crc6-tvb.c
crc6-tvb.h
crc8-tvb.c Move some variables inside the block where they're used. 2021-01-20 00:44:31 -08:00
crc8-tvb.h
crc10-tvb.c
crc10-tvb.h
crc16-tvb.c
crc16-tvb.h
crc32-tvb.c
crc32-tvb.h
dccpservicecodes.h Added IANA-assigned DCCP Service Codes. 2021-02-19 13:50:35 +01:00
decode_as.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
decode_as.h
diam_dict.h
diam_dict.l
disabled_protos.c Replace g_log() calls with ws_log() 2021-06-16 12:50:27 +00:00
disabled_protos.h
dtd.h
dtd_grammar.lemon
dtd_parse.h
dtd_parse.l
dtd_preparse.l
dvb_chartbl.c dvb_chartbl: remove wmem_packet_scope 2021-09-07 17:06:08 +00:00
dvb_chartbl.h
eap.h
eapol_keydes_types.h
epan.c COSE dissector from dtn-wireshark project 2021-09-29 08:51:13 +00:00
epan.h epan: export epan_set_always_visible() 2021-09-08 14:40:24 +00:00
epan_dissect.h Move more headers outside extern "C". 2021-03-16 02:36:10 -07:00
etypes.h IEEE 1722 AVTP: Fix name 2021-09-02 16:23:09 +00:00
ex-opt.c Use the musl in-tree getopt_long() everywhere 2021-09-17 00:43:54 +01:00
ex-opt.h Use the musl in-tree getopt_long() everywhere 2021-09-17 00:43:54 +01:00
except.c Add ws_debug() and use it 2021-05-24 01:13:19 +00:00
except.h
exceptions.h Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
exntest.c
expert.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
expert.h
export_object.c
export_object.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
exported_pdu.c iwarp_mpa: fix iWarp MPA for NFS-over-RDMA 2021-08-31 08:14:31 +00:00
exported_pdu.h Move LINKTYPE_WIRESHARK_UPPER_PDU definitions to a separate header. 2021-08-20 02:18:19 -07:00
filter_expressions.c Qt: Undo MR 3422 (filter button separator hint) 2021-06-23 05:12:08 +00:00
filter_expressions.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
follow.c HTTP2, QUIC: fix "Follow Stream" 2021-09-13 15:13:10 +00:00
follow.h HTTP2, QUIC: fix "Follow Stream" 2021-09-13 15:13:10 +00:00
frame_data.c wiretap: always allocate a block for a record. 2021-08-29 19:12:13 -07:00
frame_data.h wiretap: always allocate a block for a record. 2021-08-29 19:12:13 -07:00
frame_data_sequence.c Fix null pointer 2021-06-21 18:12:45 +00:00
frame_data_sequence.h
funnel.c wsutils: add local implementation of g_memdup2. 2021-03-25 09:38:10 +00:00
funnel.h lua: dialog with prefilled values 2021-07-13 06:52:55 +00:00
garrayfix.h
golay.c
golay.h
guid-utils.c guids: wmem-scope lookups 2021-09-28 15:07:55 -04:00
guid-utils.h guids: wmem-scope lookups 2021-09-28 15:07:55 -04:00
iana_charsets.c
iana_charsets.h
iax2_codec_type.h
in_cksum.c
in_cksum.h
ip_opts.h
ipproto.c Eth: Segment routing over IPv6 2021-10-05 13:29:55 +00:00
ipproto.h Eth: Segment routing over IPv6 2021-10-05 13:29:55 +00:00
ipv4.h
ipv6.h
lapd_sapi.h
llcsaps.h
maxmind_db.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
maxmind_db.h maxmind: add optional synchronous lookups 2021-04-02 06:48:42 +00:00
media_params.c
media_params.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
next_tvb.c tvblist: explicitly scope memory 2021-09-08 01:37:07 +00:00
next_tvb.h tvblist: explicitly scope memory 2021-09-08 01:37:07 +00:00
nlpid.h osi/nlpid: Update Avaya proprietary NLPID 2021-04-01 15:45:38 +02:00
oids.c oids: remove global scopes from debug code 2021-09-07 17:39:22 +00:00
oids.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
oids_test.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
osi-utils.c osi: avoid global memory scopes 2021-09-14 19:05:11 +00:00
osi-utils.h osi: avoid global memory scopes 2021-09-14 19:05:11 +00:00
oui.h ieee80211: Add dissector for Ruckus vendor specific IE 2021-09-30 05:38:13 +00:00
packet.c proto: Delay deleting heur_dtbl_entry_t in heur_dissector_delete 2021-09-29 07:08:52 +00:00
packet.h Use wtap_blocks for packet comments 2021-07-07 18:40:24 +00:00
packet_info.h
params.h
pci-ids.c NCSI: Squash commits of NCSI and PCI-IDS 2021-02-17 07:10:31 +00:00
pci-ids.h NCSI: Squash commits of NCSI and PCI-IDS 2021-02-17 07:10:31 +00:00
plugin_if.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
plugin_if.h
ppptypes.h
prefs-int.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
prefs.c IO Graph: Add checkbox to prevent automatic rescans 2021-09-21 12:58:55 +00:00
prefs.h IO Graph: Add checkbox to prevent automatic rescans 2021-09-21 12:58:55 +00:00
print.c MinGW-w64: Replace incompatible format for strftime() 2021-09-22 14:28:49 +01:00
print.h
print.ps
print_stream.c
print_stream.h
proto.c proto: Check for reserved keywords in filter names 2021-10-11 19:15:26 +01:00
proto.h proto: Delay deleting heur_dtbl_entry_t in heur_dissector_delete 2021-09-29 07:08:52 +00:00
proto_data.c proto_data: use pinfo->pool not the global scope 2021-10-04 15:52:10 +00:00
proto_data.h Move more headers outside extern "C". 2021-03-16 02:36:10 -07:00
protobuf-helper.c
protobuf-helper.h
protobuf_lang_parser.lemon Add missing prototypes to lemon-generated code. 2021-04-16 18:38:26 +00:00
protobuf_lang_scanner.l protobuf: fix leaking tokens 2021-03-27 17:23:07 +00:00
protobuf_lang_tree.c protobuf: Fix leaking nodes and strings 2021-04-02 07:25:31 +00:00
protobuf_lang_tree.h Move more headers outside extern "C". 2021-03-16 02:36:10 -07:00
ps.h
ptvcursor.h ptvcursor: add explicit memory scope 2021-09-16 07:12:20 +00:00
radius_dict.l
range.c
range.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
reassemble.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
reassemble.h
reassemble_test.c reassemble_test: Add an explicit cast [-Wformat=] 2021-09-25 21:30:20 +01:00
reedsolomon.c Refactor our logging and extend the wslog API 2021-06-11 09:40:28 +00:00
reedsolomon.h
register-int.h
register.c
register.h
req_resp_hdrs.c First pass pinfo->pool conversion 2021-07-21 05:38:29 +00:00
req_resp_hdrs.h
rtd_table.c
rtd_table.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
rtp_pt.h Move more headers outside extern "C". 2021-03-16 02:36:10 -07:00
sctpppids.c Added decoding of ProtocolID and PPID into Component Status Protocol dissector. 2021-02-26 15:31:44 +00:00
sctpppids.h Added decoding of ProtocolID and PPID into Component Status Protocol dissector. 2021-02-26 15:31:44 +00:00
secrets.c Replace g_log() calls with ws_log() 2021-06-16 12:50:27 +00:00
secrets.h
sequence_analysis.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
sequence_analysis.h Replace g_log() calls with ws_log() 2021-06-16 12:50:27 +00:00
show_exception.c Remove uninteresting information from REPORT_DISSECTOR_BUG() etc. messages. 2021-06-19 04:37:26 -07:00
show_exception.h
slow_protocol_subtypes.h
sminmpec.h
srt_table.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
srt_table.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
stat_groups.h Added statistics group for RSerPool protocols. 2021-04-08 09:36:23 +02:00
stat_tap_ui.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
stat_tap_ui.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
stats_tree.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
stats_tree.h
stats_tree_priv.h Use the musl in-tree getopt_long() everywhere 2021-09-17 00:43:54 +01:00
stream.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
stream.h Remove lingering circuit API from stream.h 2021-06-13 11:51:44 +00:00
strutil.c Remove duplicate format_size() function 2021-07-26 14:56:11 +00:00
strutil.h Remove duplicate format_size() function 2021-07-26 14:56:11 +00:00
t35.c
t35.h
tap-voip.h
tap.c Replace g_log() calls with ws_log() 2021-06-16 12:50:27 +00:00
tap.h Avoid exposing HAVE_PLUGINS in the public API 2021-02-06 16:35:51 +00:00
tfs.c
tfs.h
time_fmt.h
timestamp.c
timestamp.h
timestats.c
timestats.h
to_str.c to_str: scope decode_bits_in_field 2021-10-05 04:42:13 +00:00
to_str.h to_str: scope tvb_ip6_to_str 2021-10-07 13:31:23 -04:00
tvbparse.c tvbparse: explicitly memory-scope parser 2021-09-16 06:54:42 +00:00
tvbparse.h tvbparse: explicitly memory-scope parser 2021-09-16 06:54:42 +00:00
tvbtest.c tvbtest: Test offsets returned by tvb_find on subsets. 2021-04-03 15:12:20 +00:00
tvbuff-int.h
tvbuff.c USB HID: Parse bit fields with correct bit order 2021-09-26 18:16:28 +02:00
tvbuff.h USB HID: Parse bit fields with correct bit order 2021-09-26 18:16:28 +02:00
tvbuff_base64.c epan: more work to avoid global memory pool 2021-09-08 21:25:40 +00:00
tvbuff_brotli.c
tvbuff_composite.c
tvbuff_lz77.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
tvbuff_lz77huff.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
tvbuff_lznt1.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
tvbuff_rdp.c rdp: Fix compile errors 2021-10-03 10:31:07 +02:00
tvbuff_rdp.h rdp: add dissector for the egfx channel 2021-10-02 11:15:32 +02:00
tvbuff_real.c
tvbuff_subset.c tvbuff_subset: fix its implementation of string scanning. 2021-03-29 01:02:47 +00:00
tvbuff_zlib.c Refactor our logging and extend the wslog API 2021-06-11 09:40:28 +00:00
uat-int.h
uat.c Replace g_assert() with ws_assert() 2021-06-19 01:23:31 +00:00
uat.h wsutils: add local implementation of g_memdup2. 2021-03-25 09:38:10 +00:00
uat_load.l
unit_strings.c
unit_strings.h
value_string.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
value_string.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
wmem_scopes.c Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
wmem_scopes.h Move epan/wmem/wmem_scopes.h to epan/ 2021-07-26 14:56:11 +00:00
ws_printf.h Add ws_debug() and use it 2021-05-24 01:13:19 +00:00
wscbor.c COSE: Handle indefinite tstr/bstr encodings 2021-10-05 21:11:36 +00:00
wscbor.h COSE: Handle indefinite tstr/bstr encodings 2021-10-05 21:11:36 +00:00
wscbor_test.c COSE: Handle indefinite tstr/bstr encodings 2021-10-05 21:11:36 +00:00
x264_prt_id.h
xdlc.c First pass pinfo->pool conversion 2021-07-21 05:38:29 +00:00
xdlc.h